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.
- package/README.md +3 -3
- package/assets/{AudioTrackList-CQEd1SE2.js → AudioTrackList-BtCRG0W9.js} +1 -1
- package/assets/{BaseDrawer-F3GT0wol.js → BaseDrawer-D3uMjiL3.js} +1 -1
- package/assets/{CanvasAudioPlayer-BzrQPq21.js → CanvasAudioPlayer-UVBRzAXF.js} +2 -2
- package/assets/{ChatMessagesArea-BVWuc832.js → ChatMessagesArea-DJejf06U.js} +2 -2
- package/assets/{DeferredMediaLibraryModal-CIs0-iBb.js → DeferredMediaLibraryModal-DcsXW5VN.js} +1 -1
- package/assets/{DeferredSyncSettings-CYz23NFv.js → DeferredSyncSettings-CyaQpm3i.js} +1 -1
- package/assets/{DrawnixDeferredFeatures-D5KdFjk7.js → DrawnixDeferredFeatures-Dn7Xj0Z3.js} +1 -1
- package/assets/DrawnixDeferredRuntime-IAIlHrj-.js +2 -0
- package/assets/{FrameSlideshow-B5Sqi_uV.js → FrameSlideshow-BoTtxoO1.js} +1 -1
- package/assets/{KnowledgeBaseContent-CmYEJ68E.js → KnowledgeBaseContent-H9TbTJvp.js} +3 -3
- package/assets/{MVCreator-CiekRLRL.js → MVCreator-aXPJyopn.js} +1 -1
- package/assets/{MediaViewer-CSkzdABU.js → MediaViewer-DzoUeXBR.js} +1 -1
- package/assets/{ModelBenchmarkWorkbench-Cg3ZArhL.js → ModelBenchmarkWorkbench-BwWtsodh.js} +1 -1
- package/assets/{MusicAnalyzer-DKddmB8C.js → MusicAnalyzer-CDvA6t6F.js} +1 -1
- package/assets/{MusicAnalyzer-Ch6kc-VC.js → MusicAnalyzer-dSwp-5u_.js} +1 -1
- package/assets/{PerformancePanel-CG1_1lC_.js → PerformancePanel-DzTs2p1S.js} +1 -1
- package/assets/{ProjectDrawer-B05H2n8S.js → ProjectDrawer-DewT6n4a.js} +1 -1
- package/assets/{ResizableDivider-3ZzTVK5M.js → ResizableDivider-C2cq_TjJ.js} +1 -1
- package/assets/TaskQueuePanel-BeApAqO9.js +33 -0
- package/assets/{ToolWinBoxManager-CX4BFjZL.js → ToolWinBoxManager-Soe0apvc.js} +1 -1
- package/assets/{ToolboxDrawer-DVxfQUMA.js → ToolboxDrawer-Btme0xvj.js} +1 -1
- package/assets/{VideoAnalyzer-BZLeASAQ.js → VideoAnalyzer-CuzOgGcP.js} +1 -1
- package/assets/{_baseFlatten-DHT6_8EL.js → _baseFlatten-BCqnPdEZ.js} +1 -1
- package/assets/{_baseUnset-Cb5y6_CP.js → _baseUnset-CvjcxnsS.js} +1 -1
- package/assets/_flatRest-rR2Z0C6Y.js +1 -0
- package/assets/{ai-analyze-BvjohIET.js → ai-analyze-X7h-GOWX.js} +1 -1
- package/assets/{arc-wiKe35BQ.js → arc-DXO039Xm.js} +1 -1
- package/assets/{arc-8k3RC1rL.js → arc-pfqxEt0t.js} +1 -1
- package/assets/{backup-restore-dialog-Cyxi_Y_l.js → backup-restore-dialog-BtB57ttG.js} +1 -1
- package/assets/{batch-image-generation-7zLsAOoI.js → batch-image-generation-D-i-Clb3.js} +1 -1
- package/assets/{blockDiagram-38ab4fdb-C1eTyro1.js → blockDiagram-38ab4fdb-DaJgeJH3.js} +1 -1
- package/assets/{blockDiagram-38ab4fdb-B_Rlv1o7.js → blockDiagram-38ab4fdb-Ds5ygtJ4.js} +1 -1
- package/assets/{browser-BV_Vo8ib.js → browser-BanMklii.js} +1 -1
- package/assets/{c4Diagram-3d4e48cf-wWn-Dh3x.js → c4Diagram-3d4e48cf-DJiQAduw.js} +1 -1
- package/assets/{c4Diagram-3d4e48cf-DJ9zPKS5.js → c4Diagram-3d4e48cf-o7ZLfD1H.js} +1 -1
- package/assets/{canvas-search-C6q6eL16.js → canvas-search-B3cv-vBS.js} +1 -1
- package/assets/channel-B6SjUS7J.js +1 -0
- package/assets/channel-DmO21CjN.js +1 -0
- package/assets/{character-api-service-C-_8TuNT.js → character-api-service-Z5lj969r.js} +1 -1
- package/assets/{character-storage-service-C2yg9sZZ.js → character-storage-service-C15hxlXu.js} +1 -1
- package/assets/{chevron-right-Dz5PrqD9.js → chevron-right-JQJ6nsCM.js} +1 -1
- package/assets/{classDiagram-70f12bd4-ZR7RlD8j.js → classDiagram-70f12bd4-BuujyQDs.js} +1 -1
- package/assets/{classDiagram-70f12bd4-C98UuGfZ.js → classDiagram-70f12bd4-Ck4-oQ5D.js} +1 -1
- package/assets/{classDiagram-v2-f2320105-CRHLGmlc.js → classDiagram-v2-f2320105-DoNQx5aA.js} +1 -1
- package/assets/{classDiagram-v2-f2320105-DwdJcJnt.js → classDiagram-v2-f2320105-Dv6Fyw1T.js} +1 -1
- package/assets/{clipper-C-3Qh_LP.js → clipper-Mxx-YtU_.js} +1 -1
- package/assets/clone-B5TrWxil.js +1 -0
- package/assets/clone-BtBg_52f.js +1 -0
- package/assets/{cloud-upload-CUOtugCp.js → cloud-upload-BPCicte3.js} +1 -1
- package/assets/{command-palette-CFAIZcMn.js → command-palette-DtjyZO1K.js} +1 -1
- package/assets/{createText-2e5e7dd3-D5vBY76-.js → createText-2e5e7dd3-C1lbpLn5.js} +1 -1
- package/assets/{createText-2e5e7dd3-tEJFXclV.js → createText-2e5e7dd3-zEue2anl.js} +1 -1
- package/assets/{download-hxWX9Zug.js → download-DYHFFs_D.js} +1 -1
- package/assets/{edges-e0da2a9e-CZg0dJ7e.js → edges-e0da2a9e-6TFI6ri7.js} +1 -1
- package/assets/{edges-e0da2a9e-DdZcggFY.js → edges-e0da2a9e-DLDhf7N7.js} +1 -1
- package/assets/{erDiagram-9861fffd-Bmy_l1e2.js → erDiagram-9861fffd-BwNvQade.js} +1 -1
- package/assets/{erDiagram-9861fffd-BST5k6B4.js → erDiagram-9861fffd-D8gvypkQ.js} +1 -1
- package/assets/{flowDb-956e92f1-C1e0_b4D.js → flowDb-956e92f1-BjoO9lX3.js} +1 -1
- package/assets/{flowDb-956e92f1-DSmVZJdU.js → flowDb-956e92f1-DThEumt2.js} +1 -1
- package/assets/{flowDiagram-66a62f08-CGUWQVBs.js → flowDiagram-66a62f08-D_3eV3FW.js} +1 -1
- package/assets/{flowDiagram-66a62f08-DhtZQo8y.js → flowDiagram-66a62f08-Djar-0xH.js} +1 -1
- package/assets/flowDiagram-v2-96b9c2cf-D_o_l8mf.js +1 -0
- package/assets/flowDiagram-v2-96b9c2cf-DlX4O43J.js +1 -0
- package/assets/{flowchart-elk-definition-4a651766-3gPCxf8A.js → flowchart-elk-definition-4a651766-DRuIOBj4.js} +1 -1
- package/assets/{flowchart-elk-definition-4a651766-CHnG4qQD.js → flowchart-elk-definition-4a651766-jtxteXv9.js} +1 -1
- package/assets/{ganttDiagram-c361ad54-CdFUB0PH.js → ganttDiagram-c361ad54-CMUm4MNv.js} +1 -1
- package/assets/{ganttDiagram-c361ad54-BGYuN1kY.js → ganttDiagram-c361ad54-DHKw9_fl.js} +1 -1
- package/assets/{gitGraphDiagram-72cf32ee-89Sf2o_5.js → gitGraphDiagram-72cf32ee-BQLvVnfS.js} +1 -1
- package/assets/{gitGraphDiagram-72cf32ee-DmC20udR.js → gitGraphDiagram-72cf32ee-Bbv0LiBu.js} +1 -1
- package/assets/{graph-B7_YBdiF.js → graph-BrEvzXkm.js} +1 -1
- package/assets/{graph-czHcr1bG.js → graph-DjrCCbgI.js} +1 -1
- package/assets/{grid-image-BuvvMKxR.js → grid-image-CveytoVB.js} +1 -1
- package/assets/{has-aqa_Fwg4.js → has-CvGtAZQx.js} +1 -1
- package/assets/{hasIn-BDL07gxd.js → hasIn-nbpeC_Rj.js} +1 -1
- package/assets/{image-C--jLg-o.js → image-C9vXAEOB.js} +1 -1
- package/assets/{index-3862675e-dB13VUjK.js → index-3862675e-BPi9rMHp.js} +1 -1
- package/assets/{index-3862675e-DqCaYyno.js → index-3862675e-C7dRX1tW.js} +1 -1
- package/assets/{index-AlmVCHjU.js → index-9VQ_keH7.js} +1 -1
- package/assets/{index-B0oVxHhb.js → index-9eZTYsQ4.js} +1 -1
- package/assets/{index-BcO0jvMY.js → index-B4YlucHs.js} +3 -3
- package/assets/{index-H0kbbmQa.js → index-B9_izWqT.js} +1 -1
- package/assets/{index-Dh9eNp-v.js → index-BNDRjX-d.js} +1 -1
- package/assets/{index-BMU-_5bW.js → index-BPqPzEbH.js} +1 -1
- package/assets/{index-NgLyuYs6.js → index-BjfO-2FL.js} +1 -1
- package/assets/{index-Dn-qqFRl.js → index-BkVG2Gm-.js} +1 -1
- package/assets/{index-CGAblvb-.js → index-Bl3dSmrt.js} +1 -1
- package/assets/{index-BDQbV2jT.js → index-C-CsfKtF.js} +1 -1
- package/assets/{index-Cp9T70tQ.js → index-CD9kyN2v.js} +1 -1
- package/assets/{index-DClRjyu_.js → index-CEceAxXa.js} +1 -1
- package/assets/{index-DsUayqw4.js → index-CRwF9kqw.js} +1 -1
- package/assets/{index-BMDx01aS.js → index-CXL-MAju.js} +1 -1
- package/assets/{index-DO8EqZSl.js → index-CbaLEWkX.js} +1 -1
- package/assets/{index-B159qVyk.js → index-CexfuLbX.js} +2 -2
- package/assets/{index-B12ExW-F.js → index-CjN5gXVP.js} +1 -1
- package/assets/{index-D63ClKwx.js → index-Cpw9Vij_.js} +1 -1
- package/assets/{index-CkSVbc7G.js → index-CuwHJJO4.js} +1 -1
- package/assets/{index-DXQDvWCm.js → index-Cw2YKg1X.js} +1 -1
- package/assets/{index-CDzl3czx.js → index-CwNwP9Dz.js} +1 -1
- package/assets/{index-BzXnlXkO.js → index-D04A0IqG.js} +1 -1
- package/assets/{index-BrfFsgde.js → index-D3yA2Deq.js} +1 -1
- package/assets/{index-CLp1N2JZ.js → index-D5YSioyv.js} +446 -445
- package/assets/{index-C9YPl9-V.js → index-D5e1IjmG.js} +1 -1
- package/assets/{index-69uVWCdC.js → index-D6CsrbT9.js} +1 -1
- package/assets/{index-Bp7QPVjC.js → index-DGEeQ7HV.js} +1 -1
- package/assets/{index-CS5gukgf.js → index-DI85grSr.js} +1 -1
- package/assets/{index-lHFn9fJk.js → index-DT5jCbGv.js} +1 -1
- package/assets/{index-DZczd-Cs.js → index-DVeMBRmh.js} +1 -1
- package/assets/{index-CL20-Lcn.js → index-DVmfYR4F.js} +1 -1
- package/assets/{index-w5pQgeYM.js → index-Dl7bI3dX.js} +1 -1
- package/assets/{index-BtAZEAqz.js → index-DrbRZzbV.js} +1 -1
- package/assets/{index-B9-Ksy1Y.js → index-DurJrENV.js} +1 -1
- package/assets/{index-DOf52awh.js → index-DuziGvh-.js} +1 -1
- package/assets/{index-B_74mOb3.js → index-DvHo6b9D.js} +1 -1
- package/assets/{index-MJpNPXv1.js → index-JUrStxAi.js} +1 -1
- package/assets/{index-DQzqI7bu.js → index-adb9JY8F.js} +1 -1
- package/assets/{index-ByZKBjmp.js → index-ahgk9PwY.js} +1 -1
- package/assets/{index-CJoYIJX6.js → index-iluEOi_R.js} +1 -1
- package/assets/{index-C2BjB9jD.js → index-mLaJnBAA.js} +1 -1
- package/assets/{index-Cci1CSF_.js → index-oOX-Ov_6.js} +1 -1
- package/assets/{index-DRtMRiLt.js → index-rRAjaCK6.js} +1 -1
- package/assets/{infoDiagram-f8f76790-2cxTV6ND.js → infoDiagram-f8f76790-DrZHsJcU.js} +1 -1
- package/assets/{infoDiagram-f8f76790-ncuTC4ZY.js → infoDiagram-f8f76790-xt1FG5kQ.js} +1 -1
- package/assets/{inspiration-board-D82q1P-g.js → inspiration-board-BMLGXtqa.js} +1 -1
- package/assets/{isEmpty-B0mmAwLs.js → isEmpty-qhP_Neh1.js} +1 -1
- package/assets/{journeyDiagram-49397b02-DnlSIYWp.js → journeyDiagram-49397b02-BXRUGums.js} +1 -1
- package/assets/{journeyDiagram-49397b02-D8uY2urN.js → journeyDiagram-49397b02-HG6JHZLW.js} +1 -1
- package/assets/{layers-D8yoqIuj.js → layers-37JfnNNl.js} +1 -1
- package/assets/{layout-CNovTgcJ.js → layout-0pP-oOdd.js} +1 -1
- package/assets/{layout-a3RfPzuD.js → layout-DiM0C_oE.js} +1 -1
- package/assets/{line-CDzoo4WB.js → line-Cn0HzQ42.js} +1 -1
- package/assets/{line-DvT1zUiJ.js → line-mCdubqmQ.js} +1 -1
- package/assets/{linear-PVY0JHkj.js → linear-Bav735VS.js} +1 -1
- package/assets/{linear-DdU4qJ1G.js → linear-D-8dOoVw.js} +1 -1
- package/assets/{lock-on-CXR9jpJA.js → lock-on-Du4SUznS.js} +1 -1
- package/assets/{memoize-DRWJ2oTL.js → memoize-CUfUlF3P.js} +1 -1
- package/assets/{mermaid.core-DQGbcicL.js → mermaid.core-C90rcTNj.js} +3 -3
- package/assets/{mindmap-definition-fc14e90a-BsVSwvhh.js → mindmap-definition-fc14e90a-DrPVXCNG.js} +1 -1
- package/assets/{mindmap-definition-fc14e90a-nwzPUDis.js → mindmap-definition-fc14e90a-kvuxr1PD.js} +1 -1
- package/assets/{model-benchmark-launcher-mcvgVSuC.js → model-benchmark-launcher-D7-0vF6C.js} +1 -1
- package/assets/{move-DOixEjqO.js → move-CrZ5ZpJ2.js} +1 -1
- package/assets/{photo-wall-splitter-qUPnfBPY.js → photo-wall-splitter-DJyzIrKV.js} +1 -1
- package/assets/{pick-C6VtGb4t.js → pick-8ulasiIr.js} +1 -1
- package/assets/{pieDiagram-8a3498a8-9eGElA9h.js → pieDiagram-8a3498a8-BV4yujZi.js} +1 -1
- package/assets/{pieDiagram-8a3498a8-jvbiFkC_.js → pieDiagram-8a3498a8-COebT5dY.js} +1 -1
- package/assets/{quadrantDiagram-120e2f19-B78rPuqy.js → quadrantDiagram-120e2f19-D7Pf5tdd.js} +1 -1
- package/assets/{quadrantDiagram-120e2f19-BFZXHPpX.js → quadrantDiagram-120e2f19-DzzHIi2O.js} +1 -1
- package/assets/{refresh-Bh3E8vu6.js → refresh-DqZ7biGU.js} +1 -1
- package/assets/{requirementDiagram-deff3bca-Dwsj1NJQ.js → requirementDiagram-deff3bca-BBh4lHOB.js} +1 -1
- package/assets/{requirementDiagram-deff3bca-Dyve0zys.js → requirementDiagram-deff3bca-D4gYW6VD.js} +1 -1
- package/assets/{sankeyDiagram-04a897e0-Dqzsdxsz.js → sankeyDiagram-04a897e0-6qMEhCdC.js} +1 -1
- package/assets/{sankeyDiagram-04a897e0-BmtIc_Gd.js → sankeyDiagram-04a897e0-DZfZTWnU.js} +1 -1
- package/assets/{sequenceDiagram-704730f1-DynL_kQJ.js → sequenceDiagram-704730f1-CF1FgHNp.js} +1 -1
- package/assets/{sequenceDiagram-704730f1-B7x0Kpog.js → sequenceDiagram-704730f1-Ky4oD9iw.js} +1 -1
- package/assets/{settings-dialog-Sz7sfOrI.js → settings-dialog-DWewjQlv.js} +1 -1
- package/assets/{shard-sync-service-8YTrUOnK.js → shard-sync-service-DhnPeZid.js} +1 -1
- package/assets/{stateDiagram-587899a1-CJTsLZ1r.js → stateDiagram-587899a1-C8z4TA39.js} +1 -1
- package/assets/{stateDiagram-587899a1-DUJNQ1DY.js → stateDiagram-587899a1-DhG3pQnc.js} +1 -1
- package/assets/{stateDiagram-v2-d93cdb3a-CG_NTdTs.js → stateDiagram-v2-d93cdb3a-CZ40HHGj.js} +1 -1
- package/assets/{stateDiagram-v2-d93cdb3a-KVoAwaCx.js → stateDiagram-v2-d93cdb3a-WjPgMbps.js} +1 -1
- package/assets/{styles-6aaf32cf-DBt4ei8W.js → styles-6aaf32cf-BiffgEl9.js} +1 -1
- package/assets/{styles-6aaf32cf-Cba2lFIZ.js → styles-6aaf32cf-DvyqUWEr.js} +1 -1
- package/assets/{styles-9a916d00-DHlla0Yt.js → styles-9a916d00-FAscS3iZ.js} +1 -1
- package/assets/{styles-9a916d00-KLddCkwp.js → styles-9a916d00-L-cTkIzG.js} +1 -1
- package/assets/{styles-c10674c1-CRA4Rhbz.js → styles-c10674c1-CkrpQSst.js} +1 -1
- package/assets/{styles-c10674c1-COY2QM5h.js → styles-c10674c1-DEwIcJGE.js} +1 -1
- package/assets/{svgDrawCommon-08f97a94-g2Xfy9Cn.js → svgDrawCommon-08f97a94-ByDqcIPi.js} +1 -1
- package/assets/{svgDrawCommon-08f97a94-B-xiMCiD.js → svgDrawCommon-08f97a94-DuY5GSOk.js} +1 -1
- package/assets/{task.types-CLfkYpCd.js → task.types-CBk6eZLY.js} +1 -1
- package/assets/{throttle-rCTAR-V0.js → throttle-DggB2waX.js} +1 -1
- package/assets/{timeline-definition-85554ec2-K1ig-iz5.js → timeline-definition-85554ec2-D3RKFEj4.js} +1 -1
- package/assets/{timeline-definition-85554ec2-DzXbh9iM.js → timeline-definition-85554ec2-DScTS5ad.js} +1 -1
- package/assets/{ttd-dialog-DBgFfIa8.js → ttd-dialog-D0U4oJwF.js} +4 -4
- package/assets/{upload-DydsLM8-.js → upload-B9RKSZna.js} +1 -1
- package/assets/useCharacters-uSUTHHnh.js +6 -0
- package/assets/{version-update-prompt-BnY7MFFE.js → version-update-prompt-CN1vliv8.js} +1 -1
- package/assets/{video-UIyGGGOK.js → video-B4LwvF3Q.js} +1 -1
- package/assets/{video-recovery-service-DpIX-4Cn.js → video-recovery-service-QWvZ0c0j.js} +1 -1
- package/assets/{workflow-generation-utils-BFUZ8qwH.js → workflow-generation-utils-BOXsMshH.js} +2 -2
- package/assets/{xychartDiagram-e933f94c-DJXH3Qk3.js → xychartDiagram-e933f94c-8_HkrupM.js} +1 -1
- package/assets/{xychartDiagram-e933f94c-BHRiS9cZ.js → xychartDiagram-e933f94c-B6-zQO32.js} +1 -1
- package/changelog.json +30 -0
- package/idle-prefetch-manifest.json +2 -2
- package/package.json +1 -1
- package/precache-manifest.json +393 -393
- package/sw.js +1 -1
- package/version.json +5 -3
- package/assets/DrawnixDeferredRuntime-D-K_FUT-.js +0 -2
- package/assets/TaskQueuePanel-Dcg0DCDL.js +0 -33
- package/assets/_flatRest-CXdsvGPY.js +0 -1
- package/assets/channel-CBV8i3Jf.js +0 -1
- package/assets/channel-n9jkWJRh.js +0 -1
- package/assets/clone-DMkRnOiD.js +0 -1
- package/assets/clone-jEb1TSUN.js +0 -1
- package/assets/flowDiagram-v2-96b9c2cf-CAAw3p-z.js +0 -1
- package/assets/flowDiagram-v2-96b9c2cf-DVu2NCro.js +0 -1
- package/assets/useCharacters-B9XvF2GC.js +0 -6
package/version.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-BvpTiXWY.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{ab as S,b as G,O as Z,dM as xt,ac as A,eK as Ce,eL as te,c$ as P,dF as X,eM as ye,eN as Ne,eO as Bt,ax as tt,eP as Ke,eQ as Wt,eR as Ze,eS as wt,eT as Vt,eU as qt,eV as Kt,eW as Zt,eX as Ht,eY as D,eZ as Qt,e_ as Se,e$ as rt,f0 as Ot,f1 as M,f2 as Ut,f3 as Lt,f4 as Gt,f5 as jt,f6 as nt,f7 as Et,f8 as He,f9 as Le,fa as Yt,fb as yt,fc as St,fd as Ve,fe as Qe,ff as Xt,fg as At,fh as Pt,fi as vt,fj as Jt,fk as er,fl as tr,fm as rr,fn as Mt,fo as or,R as sr,fp as nr,er as ir,fq as ar,fr as cr}from"./index-CLp1N2JZ.js";import{c as ur}from"./character-api-service-C-_8TuNT.js";import{c as lr}from"./character-storage-service-C2yg9sZZ.js";import{r as je}from"./audio-task-result-utils-C9RziLY_.js";import"./task.types-CLfkYpCd.js";function Fe(){return S}const Ye=Object.freeze(Object.defineProperty({__proto__:null,getTaskQueueService:Fe,legacyTaskQueueService:S,taskQueueService:S},Symbol.toStringTag,{value:"Module"}));let kt=!1,Xe=null;function dr(r=100){return new Promise(e=>{"requestIdleCallback"in window?window.requestIdleCallback(()=>e(),{timeout:r}):setTimeout(e,0)})}function mr(){const[r,e]=G.useState(!1);return G.useEffect(()=>{let t=!0;const n=async()=>{await dr(50),console.warn("[useTaskStorage] Idle callback fired, starting init");try{const{migrateFromLegacyDB:o}=await Z(async()=>{const{migrateFromLegacyDB:a}=await import("./index-CLp1N2JZ.js").then(d=>d.ld);return{migrateFromLegacyDB:a}},__vite__mapDeps([0]),import.meta.url);await o();const s=await xt.getAllTasks();if(console.warn(`[useTaskStorage] Loaded ${s.length} tasks from IndexedDB`),s.length>0){S.restoreTasks(s),console.warn(`[useTaskStorage] Restored ${s.length} tasks to memory`);const a=s.filter(I=>I.status==="processing");a.length>0&&(console.warn(`[useTaskStorage] Found ${a.length} interrupted processing tasks`),a.forEach(I=>{var p;const i=I.type===A.IMAGE&&I.remoteId&&Ce((p=I.params)==null?void 0:p.model),c=I.type===A.VIDEO&&!!I.remoteId,u=I.type===A.AUDIO&&!!I.remoteId;if(console.warn(`[useTaskStorage] task=${I.id} type=${I.type} phase=${I.executionPhase||"unknown"} remoteId=${I.remoteId||"none"} → ${c||u||i?"KEEP":"MARK_FAILED"}`),!(c||u||i)){let h="任务被中断(页面刷新)",w="INTERRUPTED";I.type===A.VIDEO&&I.executionPhase===te.SUBMITTING&&(h="任务在提交过程中被中断,可能已在后台执行",w="INTERRUPTED_DURING_SUBMISSION"),S.updateTaskStatus(I.id,P.FAILED,{startedAt:void 0,executionPhase:void 0,error:{code:w,message:h,details:{originalError:`Task interrupted by page refresh before completion (phase: ${I.executionPhase||"unknown"})`,timestamp:Date.now()}}})}}));const d=s.filter(I=>{var i;return I.status==="failed"&&I.remoteId&&(I.type===A.VIDEO||I.type===A.AUDIO||I.type===A.IMAGE&&Ce((i=I.params)==null?void 0:i.model))}),f=s.filter(I=>I.status==="failed"&&I.type===A.VIDEO).length,m=s.filter(I=>I.status==="failed"&&I.type===A.VIDEO&&I.remoteId).length,l=s.filter(I=>I.status==="failed"&&I.type===A.AUDIO).length,k=s.filter(I=>I.status==="failed"&&I.type===A.AUDIO&&I.remoteId).length;if(console.warn(`[useTaskStorage] Recovery check: ${a.length} processing, ${f} failed video (${m} with remoteId), ${l} failed audio (${k} with remoteId), ${d.length} recoverable`),d.length>0){const I=new Set(["INTERRUPTED","INTERRUPTED_DURING_SUBMISSION","RESUME_FAILED"]);d.forEach(i=>{var u;const c=((u=i.error)==null?void 0:u.code)||"";if(!I.has(c)){console.warn(`[useTaskStorage] Skip recovery for task ${i.id}: terminal failure (${c||"no error code"})`);return}console.warn(`[useTaskStorage] Recovering interrupted task ${i.id} (error: ${c}, remoteId: ${i.remoteId})`),S.updateTaskStatus(i.id,P.PROCESSING,{error:void 0,executionPhase:te.POLLING})})}s.filter(I=>I.status==="processing"||I.status==="pending").length>0}}catch(o){console.error("[useTaskStorage] Failed to initialize storage:",o)}};return Xe||(Xe=(async()=>{kt||(kt=!0,await n())})()),Xe.then(()=>{t&&e(!0)}),()=>{t=!1}},[]),r}class fr{constructor(){this.abortControllers=new Map}async generate(e,t,n){const o=new AbortController;this.abortControllers.set(e,o);const s=Date.now(),a=n===A.IMAGE?"image":n===A.VIDEO?"video":"audio",d=!!t.uploadedImage||!!t.uploadedImages||!!t.referenceImages;X.trackModelCall({taskId:e,taskType:a,model:t.model||(a==="image"?"gemini-image":a==="video"?"gemini-video":ye),promptLength:t.prompt.length,hasUploadedImage:d,startTime:s,aspectRatio:t.size,duration:t.duration,resolution:t.width&&t.height?`${t.width}x${t.height}`:void 0,batchCount:t.count||1,hasReferenceImage:d});try{const f=Ne[n.toUpperCase()],m=new Promise((I,i)=>{setTimeout(()=>{i(new Error("TIMEOUT"))},f)}),l=n===A.IMAGE?this.generateImage(e,t,o.signal):n===A.VIDEO?this.generateVideo(e,t,o.signal):this.generateAudio(e,t,o.signal),k=await Promise.race([l,m]),E=Date.now()-s;return X.trackModelSuccess({taskId:e,taskType:a,model:a==="image"?"gemini-image":a==="video"?"gemini-video":ye,duration:E,resultSize:k.size}),k}catch(f){const m=Date.now()-s;throw console.error(`[GenerationAPI] Generation failed for task ${e}:`,f),f.message==="TIMEOUT"?(X.trackModelFailure({taskId:e,taskType:a,model:a==="image"?"gemini-image":a==="video"?"gemini-video":ye,duration:m,error:"TIMEOUT"}),new Error(`${n===A.IMAGE?"图片":n===A.VIDEO?"视频":"音频"}生成超时`)):f.name==="AbortError"?(X.trackTaskCancellation({taskId:e,taskType:a,duration:m}),new Error("任务已取消")):(X.trackModelFailure({taskId:e,taskType:a,model:a==="image"?"gemini-image":a==="video"?"gemini-video":ye,duration:m,error:f.message||"UNKNOWN_ERROR"}),f)}finally{this.abortControllers.delete(e)}}convertAspectRatioToSize(e){return Bt(e)}deriveAspectRatio(e){const t=n=>{if(!n.includes("x"))return;const[o,s]=n.split("x"),a=Number(o),d=Number(s);if(!a||!d)return;const f=(l,k)=>k===0?l:f(k,l%k),m=f(a,d);return`${a/m}:${d/m}`};if(e.size){const n=t(e.size);if(n)return n}if(e.width&&e.height){const n=(s,a)=>a===0?s:n(a,s%a),o=n(e.width,e.height);return`${e.width/o}:${e.height/o}`}}async extractReferenceImages(e){var o;const t=[],n=e.uploadedImages;if(Array.isArray(n)){for(const s of n)if(s!=null&&s.url)if(s.type==="url"){const a=await tt.getImageForAI(s.url);t.push(a.value)}else t.push(s.url)}return(o=e.uploadedImage)!=null&&o.url&&t.push(e.uploadedImage.url),Array.isArray(e.referenceImages)&&t.push(...e.referenceImages),t}async generateImage(e,t,n){try{const o=t.model,s=t.modelRef,a=Ke("image",o||Wt,s||null);if(!a||a.kind!=="image")throw new Error(`No image adapter for model: ${o}`);const d=await this.extractReferenceImages(t);let f=t.size;f||(f=this.convertAspectRatioToSize(t.aspectRatio)),!f&&Ce(o)&&(f=this.deriveAspectRatio(t)||"1:1");const m=await a.generateImage(Ze("image",s||o),{prompt:t.prompt,model:o,modelRef:s||null,size:f,referenceImages:d.length>0?d:void 0,params:{quality:t.quality,response_format:t.response_format,...t.params,onProgress:l=>{S.updateTaskProgress(e,l),S.updateTaskStatus(e,P.PROCESSING,{executionPhase:te.POLLING})},onSubmitted:l=>{S.updateTaskStatus(e,P.PROCESSING,{remoteId:l,executionPhase:te.POLLING})}}});return{url:m.url,urls:m.urls,format:m.format||"png",size:0}}catch(o){console.error("[GenerationAPI] Image generation error:",o);const s=new Error(o.message||"图片生成失败");throw o.apiErrorBody&&(s.apiErrorBody=o.apiErrorBody),o.httpStatus&&(s.httpStatus=o.httpStatus),o.fullResponse&&(s.fullResponse=o.fullResponse),s}}async resumeAsyncImageGeneration(e,t,n){const o=Ne.IMAGE,s=new Promise((a,d)=>{setTimeout(()=>d(new Error("TIMEOUT")),o)});try{const a=await Promise.race([wt.resumePolling(t,{interval:5e3,routeModel:n,onProgress:m=>{S.updateTaskProgress(e,m)}}),s]),{url:d,format:f}=wt.extractUrlAndFormat(a);return{url:d,format:f,size:0}}catch(a){const d=new Error(a.message||"图片生成失败");throw a.apiErrorBody&&(d.apiErrorBody=a.apiErrorBody),a.httpStatus&&(d.httpStatus=a.httpStatus),d}}async generateVideo(e,t,n){try{const o=t.model,s=t.modelRef,a=Ke("video",o||"veo3",s||null);if(!a||a.kind!=="video")throw new Error(`No video adapter for model: ${o}`);S.updateTaskStatus(e,"processing",{executionPhase:te.SUBMITTING});const d=await this.extractReferenceImages(t),f=t.duration??t.seconds,m=await a.generateVideo(Ze("video",s||o),{prompt:t.prompt,model:o,modelRef:s||null,size:t.size,duration:f!==void 0?Number(f):void 0,referenceImages:d.length>0?d:void 0,params:{...t.params,onProgress:l=>{S.updateTaskProgress(e,l)},onSubmitted:l=>{S.updateTaskStatus(e,"processing",{remoteId:l,executionPhase:te.POLLING})}}});return{url:m.url,format:m.format||"mp4",size:0,duration:m.duration||0}}catch(o){console.error("[GenerationAPI] Video generation error:",o);const s=new Error(o.message||"视频生成失败");throw o.apiErrorBody&&(s.apiErrorBody=o.apiErrorBody),o.httpStatus&&(s.httpStatus=o.httpStatus),s}}async generateAudio(e,t,n){try{const o=t.model,s=t.modelRef,a=Ke("audio",o||ye,s||null);if(!a||a.kind!=="audio")throw new Error(`No audio adapter for model: ${o}`);S.updateTaskStatus(e,P.PROCESSING,{executionPhase:te.SUBMITTING});const d=await a.generateAudio(Ze("audio",s||o),{prompt:t.prompt,model:o,modelRef:s||null,title:t.title,tags:t.tags,mv:t.mv,sunoAction:t.sunoAction,notifyHook:t.notifyHook,continueClipId:t.continueClipId,continueTaskId:t.continueTaskId,continueAt:t.continueAt,infillStartS:t.infillStartS,infillEndS:t.infillEndS,params:{...t.params,signal:n,onProgress:f=>{S.updateTaskProgress(e,f),S.updateTaskStatus(e,P.PROCESSING,{executionPhase:te.POLLING})},onSubmitted:f=>{S.updateTaskStatus(e,P.PROCESSING,{remoteId:f,executionPhase:te.POLLING})}}});return{url:d.url,urls:d.urls,format:d.format||(d.resultKind==="lyrics"?"lyrics":"mp3"),size:0,resultKind:d.resultKind,duration:typeof d.duration=="number"?d.duration:void 0,previewImageUrl:d.imageUrl,title:d.title,lyricsText:d.lyricsText,lyricsTitle:d.lyricsTitle,lyricsTags:d.lyricsTags,providerTaskId:d.providerTaskId,primaryClipId:d.primaryClipId,clipIds:d.clipIds,clips:d.clips}}catch(o){console.error("[GenerationAPI] Audio generation error:",o);const s=new Error(o.message||"音频生成失败");throw o.apiErrorBody&&(s.apiErrorBody=o.apiErrorBody),o.httpStatus&&(s.httpStatus=o.httpStatus),s}}async resumeVideoGeneration(e,t,n){const o=Date.now();X.trackModelCall({taskId:e,taskType:"video",model:"gemini-video",promptLength:0,hasUploadedImage:!1,startTime:o});try{const s=Ne.VIDEO,a=new Promise((k,E)=>{setTimeout(()=>{E(new Error("TIMEOUT"))},s)}),d=Vt.resumePolling(t,{interval:5e3,routeModel:n,onProgress:(k,E)=>{S.updateTaskProgress(e,k)}}),f=await Promise.race([d,a]),m=Date.now()-o;X.trackModelSuccess({taskId:e,taskType:"video",model:"gemini-video",duration:m,resultSize:0});const l=f.video_url||f.url;if(!l)throw new Error("API 未返回有效的视频 URL");return{url:l,format:"mp4",size:0,duration:parseInt(f.seconds)||8}}catch(s){const a=Date.now()-o;throw console.error(`[GenerationAPI] Resumed video generation failed for task ${e}:`,s),X.trackModelFailure({taskId:e,taskType:"video",model:"gemini-video",duration:a,error:s.message||"UNKNOWN_ERROR"}),s}}async resumeAudioGeneration(e,t,n){const o=Date.now();X.trackModelCall({taskId:e,taskType:"audio",model:ye,promptLength:0,hasUploadedImage:!1,startTime:o});try{const s=Ne.AUDIO,a=new Promise((k,E)=>{setTimeout(()=>{E(new Error("TIMEOUT"))},s)}),d=qt.resumePolling(t,{interval:5e3,routeModel:n,onProgress:k=>{S.updateTaskProgress(e,k)}}),f=await Promise.race([d,a]),m=Kt(f),l=Date.now()-o;return X.trackModelSuccess({taskId:e,taskType:"audio",model:ye,duration:l,resultSize:0}),{url:m.url,urls:m.urls,format:m.format||(m.resultKind==="lyrics"?"lyrics":"mp3"),size:0,resultKind:m.resultKind,duration:typeof m.duration=="number"?m.duration:void 0,previewImageUrl:m.imageUrl,title:m.title,lyricsText:m.lyricsText,lyricsTitle:m.lyricsTitle,lyricsTags:m.lyricsTags,providerTaskId:m.providerTaskId,primaryClipId:m.primaryClipId,clipIds:m.clipIds,clips:m.clips}}catch(s){const a=Date.now()-o;throw console.error(`[GenerationAPI] Resumed audio generation failed for task ${e}:`,s),X.trackModelFailure({taskId:e,taskType:"audio",model:ye,duration:a,error:s.message||"UNKNOWN_ERROR"}),s}}cancelRequest(e){const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))}hasActiveRequest(e){return this.abortControllers.has(e)}}const Ge=new fr;function pr(r){var e;if(!r)return null;try{const t=JSON.parse(r);if((e=t.error)!=null&&e.message)return t.error.message;if(t.message)return t.message;if(t.error&&typeof t.error=="string")return t.error;if(t.detail)return t.detail;if(t.msg)return t.msg}catch{return r}return null}function $e(r){const e=(r==null?void 0:r.message)||String(r),t=(r==null?void 0:r.apiErrorBody)||"",n=r==null?void 0:r.httpStatus,o=Ht(r),s=pr(t),a=`${e} ${t}`;return a.includes("insufficient_user_quota")||a.includes("预扣费额度失败")?"账户额度不足,请充值后重试":e.includes("PROHIBITED_CONTENT")||e.includes("has been blocked by Google Gemini")?e:e.includes("cannot")||e.includes("I cannot")||e.includes("I can't")?"AI 拒绝生成此内容":e.includes("unable to")||e.includes("not able to")?"AI 无法处理此请求":e.includes("signal")&&e.includes("timed out")?"请求超时,服务器响应过慢,正在自动重试":e.includes("TIMEOUT")||e.includes("超时")?"生成超时,请稍后重试":e.includes("network")||e.includes("Network")||e.includes("fetch")||e.includes("Failed to fetch")?"网络连接失败,请检查网络后重试":e.includes("rate limit")||e.includes("429")||n===429?"请求过于频繁,请稍后重试":o==="invalid"?"API Key 无效或已过期,请重新配置":o==="missing"?"缺少 API Key,请先在设置中配置":e.includes("401")||n===401?"接口返回 401,请检查鉴权方式、账号权限或服务端策略":(e.includes("403")||n===403)&&!t.includes("quota")?"API 访问被拒绝,请检查配置":e.includes("500")||n===500?s?`AI 服务器内部错误: ${s}`:"AI 服务器内部错误,正在自动重试":e.includes("502")||n===502?s?`AI 服务暂时不可用: ${s}`:"AI 服务暂时不可用(502),正在自动重试":e.includes("503")||n===503?s?`AI 服务繁忙: ${s}`:"AI 服务繁忙(503),正在自动重试":e.includes("504")||n===504?s?`AI 服务响应超时: ${s}`:"AI 服务响应超时(504),正在自动重试":s||e}const Rt=3,gr=2e3;function Ir(){const r=G.useRef(new Set),e=G.useRef([]),t=G.useRef(null);G.useEffect(()=>{let n=!0;const o=()=>{if(n)for(;e.current.length>0&&r.current.size<Rt;){const c=e.current.shift();c&&!r.current.has(c.id)&&m(c)}},s=c=>{r.current.delete(c),o()},a=async c=>{const u=c.id,p=c.remoteId;if(!r.current.has(u)){r.current.add(u);try{const h=await Ge.resumeAudioGeneration(u,p,c.params.modelRef||c.params.model||null);if(!n)return;S.updateTaskStatus(u,P.COMPLETED,{result:h})}catch(h){if(!n)return;const w=h.httpStatus?`HTTP_${h.httpStatus}`:h.name||"ERROR",C=$e(h),v=h.fullResponse||h.apiErrorBody||h.message||String(h);S.updateTaskStatus(u,P.FAILED,{error:{code:w,message:C,details:{originalError:v,timestamp:Date.now()}}})}finally{s(u)}}},d=async c=>{const u=c.id,p=c.remoteId;if(!r.current.has(u)){r.current.add(u);try{const h=await Ge.resumeAsyncImageGeneration(u,p,c.params.modelRef||c.params.model||null);if(!n)return;if(S.updateTaskStatus(u,P.COMPLETED,{result:h}),h.url)try{await tt.registerImageMetadata(h.url,{taskId:c.id,model:c.params.model,prompt:c.params.prompt,params:c.params})}catch(w){console.error(`[TaskExecutor] Failed to register metadata for resumed async image task ${u}:`,w)}}catch(h){if(!n)return;const w=h.httpStatus?`HTTP_${h.httpStatus}`:h.name||"ERROR",C=$e(h),v=h.fullResponse||h.apiErrorBody||h.message||String(h);S.updateTaskStatus(u,P.FAILED,{error:{code:w,message:C,details:{originalError:v,timestamp:Date.now()}}})}finally{s(u)}}},f=async c=>{const u=c.id;if(!r.current.has(u)){r.current.add(u);try{S.updateTaskStatus(u,P.PROCESSING);const{sourceVideoTaskId:p,characterTimestamps:h,model:w,prompt:C}=c.params;if(!p)throw new Error("缺少源视频任务ID");const v=await ur.createCharacterWithPolling({videoTaskId:p,characterTimestamps:h,localTaskId:c.params.sourceLocalTaskId,sourcePrompt:C,sourceModel:w},{onStatusChange:N=>{}});if(!n)return;await lr.saveCharacter({id:v.characterId,username:v.username,profilePictureUrl:v.profile_picture_url,permalink:v.permalink,sourceTaskId:c.params.sourceLocalTaskId||"",sourceVideoId:p,sourcePrompt:C,characterTimestamps:h,status:"completed",createdAt:c.createdAt,completedAt:Date.now()}),S.updateTaskStatus(u,P.COMPLETED,{result:{url:v.profile_picture_url,format:"character",size:0,characterUsername:v.username,characterProfileUrl:v.profile_picture_url,characterPermalink:v.permalink},remoteId:v.characterId})}catch(p){if(!n||(console.error(`[TaskExecutor] Character task ${u} failed:`,p),!S.getTask(u)))return;const w=p.httpStatus?`HTTP_${p.httpStatus}`:p.name||"ERROR",C=$e(p),N={originalError:p.fullResponse||p.apiErrorBody||p.message||String(p),timestamp:Date.now()};S.updateTaskStatus(u,P.FAILED,{error:{code:w,message:C,details:N}})}finally{s(u)}}},m=async c=>{const u=c.id;if(c.type===A.CHARACTER)return f(c);if(c.type===A.IMAGE&&c.remoteId&&c.status===P.PROCESSING&&Ce(c.params.model))return d(c);if(!(c.type===A.VIDEO&&c.remoteId&&c.status===P.PROCESSING)){if(c.type===A.AUDIO&&c.remoteId&&c.status===P.PROCESSING)return a(c);if(!r.current.has(u)){r.current.add(u);try{S.updateTaskStatus(u,P.PROCESSING);const p=await Ge.generate(u,c.params,c.type);if(!n)return;if(S.updateTaskStatus(u,P.COMPLETED,{result:p}),p.url)try{await tt.registerImageMetadata(p.url,{taskId:c.id,model:c.params.model,prompt:c.params.prompt,params:c.params})}catch(h){console.error(`[TaskExecutor] Failed to register metadata for task ${u}:`,h)}}catch(p){if(!n||(console.error(`[TaskExecutor] Task ${u} failed:`,p),!S.getTask(u)))return;const w=p.httpStatus?`HTTP_${p.httpStatus}`:p.name||"ERROR",C=$e(p),N={originalError:p.fullResponse||p.apiErrorBody||p.message||String(p),timestamp:Date.now()};S.updateTaskStatus(u,P.FAILED,{error:{code:w,message:C,details:N}})}finally{s(u)}}}},l=c=>{r.current.has(c.id)||e.current.some(u=>u.id===c.id)||(r.current.size<Rt?m(c):e.current.push(c))},k=()=>{if(!n)return;const c=S.getAllTasks(),u=c.filter(w=>w.status===P.PENDING),p=c.filter(w=>w.type===A.IMAGE&&w.remoteId&&w.status===P.PROCESSING&&Ce(w.params.model)),h=c.filter(w=>w.type===A.AUDIO&&w.remoteId&&w.status===P.PROCESSING);console.warn(`[TaskExecutor] processPendingTasks: ${c.length} total, ${u.length} pending, ${p.length} resumable-image, ${h.length} resumable-audio, ${r.current.size} executing`),u.forEach(w=>{l(w)}),p.forEach(w=>{l(w)}),h.forEach(w=>{l(w)})},E=()=>{if(!n)return;S.getAllTasks().filter(p=>p.status===P.PROCESSING).forEach(p=>{if(Zt(p)){console.warn(`[TaskExecutor] Task ${p.id} timed out`),Ge.cancelRequest(p.id);const h={originalError:`Task ${p.id} timed out after processing`,timestamp:Date.now()};S.updateTaskStatus(p.id,P.FAILED,{error:{code:"TIMEOUT",message:"任务执行超时",details:h}})}})},I=S.observeTaskUpdates().subscribe(c=>{if(n&&(c.type==="taskCreated"||c.type==="taskUpdated")){const u=c.task;(u.status===P.PENDING||!r.current.has(u.id)&&u.remoteId&&u.type===A.IMAGE&&u.status===P.PROCESSING&&Ce(u.params.model)||!r.current.has(u.id)&&u.remoteId&&u.type===A.AUDIO&&u.status===P.PROCESSING)&&l(u)}}),i=setTimeout(k,gr);return t.current=setInterval(E,1e4),()=>{n=!1,I.unsubscribe(),clearTimeout(i),e.current=[],t.current&&clearInterval(t.current),r.current.forEach(c=>{Ge.cancelRequest(c)}),r.current.clear()}},[])}function hr(r){return!!(r.gridImageRows&&r.gridImageCols)}function Tr(r){return!!(r.isInspirationBoard&&r.inspirationBoardLayoutStyle==="inspiration-board")}function wr(r=800){const e=Se();if(e)return Ot(e)}async function Er(r,e,t,n={}){const o=Se();if(!o)return{success:!1,count:0,error:"Board not available"};D.registerTask(r,t.batchId),D.startPostProcessing(r,"split_and_insert");try{const s=await Qt(o,e,{scrollToResult:n.scrollToResult??!0}),a=n.insertionPoint||wr();return s.success?(D.completePostProcessing(r,s.count,a),{success:!0,count:s.count}):(console.warn(`[MediaResultHandler] Split failed: ${s.error}, falling back to direct insert`),(await rt([e],a)).success?(D.completePostProcessing(r,1,a),{success:!0,count:1}):(D.failPostProcessing(r,s.error||"Split and insert failed"),{success:!1,count:0,error:s.error}))}catch(s){const a=String(s);return console.error("[MediaResultHandler] Split and insert error:",s),D.failPostProcessing(r,a),{success:!1,count:0,error:a}}}function ot(r){return Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"}function yr(r,e){return!r||!e?r===e:r[0]===e[0]&&r[1]===e[1]}function Ft(r){var e;return ot((e=r==null?void 0:r.points)==null?void 0:e[0])?r.points[0]:void 0}function Sr(r){const{anchor:e,workzoneExpectedInsertPosition:t}=r,n=Ft(e);if(n)return n;if(ot(t))return t;if(ot(e==null?void 0:e.expectedInsertPosition))return e.expectedInsertPosition}function Ar(r,e){if(typeof e=="string")return M.getAnchorByTaskId(r,e);const t=M.getAnchorByTaskId(r,e.id);if(t)return t;const n=Ut(e),o=Lt(e),s=Gt(e);if(o&&typeof s=="number"){const a=M.getAnchorByBatchSlot(r,{workflowId:n,batchId:o,batchIndex:s});if(a)return a;const d=M.getAllAnchors(r).find(f=>f.anchorType!=="stack"&&f.batchId===o&&f.batchIndex===s&&(!n||f.workflowId===n));if(d)return d}if(n){const a=M.getAnchorsByWorkflowId(r,n);return a.find(f=>!jt(f))||a[0]||null}return null}const Pr={enabled:!0,insertPrompt:!1,groupSimilarTasks:!0,groupTimeWindow:5e3},ze=new Set;function qe(r){var n;const e=Se();if(!e)return null;const t=nt.getAllWorkZones(e);for(const o of t)if((n=o.workflow.steps)==null?void 0:n.some(a=>{const d=a.result;return(d==null?void 0:d.taskId)===r}))return o;return null}function We(r){const e=Se();return e?Ar(e,r):null}function vr(r,e){const t=Se();if(!t)return;const n=r.taskIds.includes(e.id)?r.taskIds:[...r.taskIds,e.id];M.updateAnchor(t,r.id,{taskIds:n,primaryTaskId:r.primaryTaskId||e.id})}function kr(r){ze.add(r)}function ee(r){ze.delete(r)}function xe(r){ze.add(r),Fe().markAsInserted(r)}function st(r){return Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"}function Dt(r){return typeof r=="object"&&r!==null&&typeof r.width=="number"&&typeof r.height=="number"}function _t(r,e){if(e)return e;const t=r.result;return typeof(t==null?void 0:t.width)=="number"&&typeof(t==null?void 0:t.height)=="number"&&t.width>0&&t.height>0?{width:t.width,height:t.height}:Ve(r.params.size)}function bt(r,e){if(!r||r.anchorType!=="stack")return e}function be(r,e,t){if(!r||!e)return;const n={};t.position&&(n.expectedInsertPosition=t.position),t.transitionMode&&t.transitionMode!==e.transitionMode&&(n.transitionMode=t.transitionMode),Object.keys(n).length>0&&M.updateAnchor(r,e.id,n),(t.position||t.size)&&M.updateGeometry(r,e.id,{position:t.position,size:t.size})}function ke(r,e){const t=r==null?void 0:r.data;return st(t==null?void 0:t.firstElementPosition)?t.firstElementPosition:e}function Me(r,e,t,n){const o=r==null?void 0:r.data,s=(o==null?void 0:o.items.find(f=>n==null?void 0:n.includes(f.type)))??(o==null?void 0:o.items[0]),a=st(s==null?void 0:s.point)?s.point:st(o==null?void 0:o.firstElementPosition)?o.firstElementPosition:e,d=Dt(s==null?void 0:s.size)?s.size:Dt(o==null?void 0:o.firstElementSize)?o.firstElementSize:t;return{elementId:(s==null?void 0:s.elementId)??(o==null?void 0:o.firstElementId),position:a,size:d}}function Rr(r,e){var f;const t=qe(e.id),n=We(e);let o=Sr({anchor:n,workzoneExpectedInsertPosition:t==null?void 0:t.expectedInsertPosition}),s,a;const d=Ft(n);return n&&d&&!yr(n.expectedInsertPosition,d)&&M.updateAnchor(r,n.id,{expectedInsertPosition:d}),t!=null&&t.targetFrameId&&(t!=null&&t.targetFrameDimensions)&&(s=t.targetFrameId,a=t.targetFrameDimensions),!s&&(n!=null&&n.targetFrameId)&&(n!=null&&n.targetFrameDimensions)&&(s=n.targetFrameId,a=n.targetFrameDimensions),!s&&((f=e.params)!=null&&f.targetFrameId)&&(s=e.params.targetFrameId,a=e.params.targetFrameDimensions),n&&(vr(n,e),M.updateAnchor(r,n.id,Jt("inserting"))),o||(o=Ot(r)),{insertionPoint:o,targetFrameId:s,targetFrameDimensions:a,imageAnchor:n}}function Je(r,e,t,n){var d;const o=Se();if(!o)return;const s=qe(r);if(!s)return;const a=(d=s.workflow.steps)==null?void 0:d.map(f=>{const m=f.result;return(m==null?void 0:m.taskId)===r?(typeof f.result=="object"&&f.result!==null&&f.result,{...f,status:e,result:f.result,error:n}):f});a&&nt.updateWorkflow(o,s.id,{steps:a})}function Dr(r={}){const e={...Pr,...r},t=G.useRef(new Map),n=G.useRef(null);G.useEffect(()=>{if(!e.enabled)return;let o=!0;const s=async()=>{var p,h,w,C,v,N,Ae,V,$,Re,j,Oe,it,at,ct,ut,lt,dt,mt,ft,pt,gt;const i=Se();if(!i||!o)return;const c=t.current;if(c.size===0)return;const u=new Map(c);c.clear();for(const[zt,q]of u){if(!o)break;const K=(p=q[0])==null?void 0:p.task;if(!K)continue;const{insertionPoint:_,targetFrameId:Nt,targetFrameDimensions:$t,imageAnchor:It}=Rr(i,K);if(!_){for(const{task:g}of q)ee(g.id),D.failPostProcessing(g.id,"No insertion point available");continue}for(const{task:g}of q){const H=g.params.batchId;D.registerTask(g.id,H),D.startPostProcessing(g.id,q.length===1?"direct_insert":"group_insert")}try{if(q.length===1){const{task:g}=q[0],H=He(g),De=(h=g.result)==null?void 0:h.url,x=typeof De=="string"&&De.length>0,Pe=Array.isArray((w=g.result)==null?void 0:w.urls)&&g.result.urls.length>0;if(!x&&!Pe&&!H){ee(g.id),D.failPostProcessing(g.id,"No result URL");continue}const R=H?"text":g.type===A.VIDEO?"video":g.type===A.AUDIO?"audio":"image",Y=R==="audio"?{width:St,height:yt}:R==="text"?void 0:Ve(g.params.size),y=R==="audio"?{title:((C=g.result)==null?void 0:C.title)||g.params.title,duration:typeof((Ae=(N=(v=g.result)==null?void 0:v.clips)==null?void 0:N[0])==null?void 0:Ae.duration)=="number"?g.result.clips[0].duration||void 0:(V=g.result)==null?void 0:V.duration,previewImageUrl:($=g.result)==null?void 0:$.previewImageUrl,tags:typeof g.params.tags=="string"?g.params.tags:void 0,mv:typeof g.params.mv=="string"?g.params.mv:void 0,prompt:g.params.prompt,providerTaskId:((Re=g.result)==null?void 0:Re.providerTaskId)||g.remoteId,clipId:((j=g.result)==null?void 0:j.primaryClipId)||((at=(it=(Oe=g.result)==null?void 0:Oe.clips)==null?void 0:it[0])==null?void 0:at.clipId)||((lt=(ut=(ct=g.result)==null?void 0:ct.clips)==null?void 0:ut[0])==null?void 0:lt.id)||((mt=(dt=g.result)==null?void 0:dt.clipIds)==null?void 0:mt[0]),clipIds:(ft=g.result)==null?void 0:ft.clipIds}:void 0,Ue=R==="audio"?y:void 0,F=R==="text"?[Qe(g)]:R==="audio"?je(g.result):(gt=(pt=g.result)==null?void 0:pt.urls)!=null&>.length?g.result.urls:[De],T=Nt||g.params.targetFrameId,b=$t||g.params.targetFrameDimensions,O=R==="image"?It??We(g):null,B=R==="image"?_t(g,Y):void 0;let Q=_,re,J=B;if(T&&b&&i&&R!=="audio"&&R!=="text"&&F.length===1){const L=await Xt(i,F[0],R,T,b,Y);L&&(Q=L.point,re=L.elementId,J=L.size,be(i,O,{position:L.point,size:L.size,transitionMode:(O==null?void 0:O.anchorType)==="ghost"?"morph":"hold"}))}else if(e.insertPrompt&&R!=="text"){const L=await At(g.params.prompt,F.map((_e,U)=>{var ve,W,oe,se,ne,ie,ae,ce,ue,le,de,me,fe,pe,ge,Ie,he,Te,we,Ee;return{type:R,url:_e,dimensions:Y,metadata:R==="audio"?{...y,title:((oe=(W=(ve=g.result)==null?void 0:ve.clips)==null?void 0:W[U])==null?void 0:oe.title)||(F.length>1?`${(y==null?void 0:y.title)||g.params.title||"Audio"} ${U+1}`:y==null?void 0:y.title),previewImageUrl:((ie=(ne=(se=g.result)==null?void 0:se.clips)==null?void 0:ne[U])==null?void 0:ie.imageLargeUrl)||((ue=(ce=(ae=g.result)==null?void 0:ae.clips)==null?void 0:ce[U])==null?void 0:ue.imageUrl)||(y==null?void 0:y.previewImageUrl),duration:typeof((me=(de=(le=g.result)==null?void 0:le.clips)==null?void 0:de[U])==null?void 0:me.duration)=="number"?g.result.clips[U].duration||void 0:y==null?void 0:y.duration,clipId:((ge=(pe=(fe=g.result)==null?void 0:fe.clips)==null?void 0:pe[U])==null?void 0:ge.clipId)||((Te=(he=(Ie=g.result)==null?void 0:Ie.clips)==null?void 0:he[U])==null?void 0:Te.id)||((Ee=(we=g.result)==null?void 0:we.clipIds)==null?void 0:Ee[U])||(y==null?void 0:y.clipId)}:void 0}}),_),z=Me(L,_,B,["image"]);Q=z.position,re=z.elementId,J=z.size}else if(R==="image"&&F.length>1){O&&be(i,O,{position:_,size:bt(O,B),transitionMode:"morph"});const L=await rt(F,_,Y),z=Me(L,_,B,["image"]);Q=z.position,re=z.elementId,J=z.size}else if(R==="text"){const L=Pt(g.result,g.params.title||g.params.prompt)||(g.params.prompt||"").slice(0,20)||void 0,z=await Le({items:[{type:"text",content:F[0],label:L}],startPoint:_});Q=ke(z,_)}else if(R==="audio"&&F.length>1){const L=`audio-group-${g.id}`,z=await Le({items:F.map((_e,U)=>{var ve,W,oe,se,ne,ie,ae,ce,ue,le,de,me,fe,pe,ge,Ie,he,Te,we,Ee;return{type:"audio",content:_e,groupId:L,dimensions:Y,metadata:{...y,title:((oe=(W=(ve=g.result)==null?void 0:ve.clips)==null?void 0:W[U])==null?void 0:oe.title)||(F.length>1?`${(y==null?void 0:y.title)||g.params.title||"Audio"} ${U+1}`:y==null?void 0:y.title),previewImageUrl:((ie=(ne=(se=g.result)==null?void 0:se.clips)==null?void 0:ne[U])==null?void 0:ie.imageLargeUrl)||((ue=(ce=(ae=g.result)==null?void 0:ae.clips)==null?void 0:ce[U])==null?void 0:ue.imageUrl)||(y==null?void 0:y.previewImageUrl),duration:typeof((me=(de=(le=g.result)==null?void 0:le.clips)==null?void 0:de[U])==null?void 0:me.duration)=="number"?g.result.clips[U].duration||void 0:y==null?void 0:y.duration,clipId:((ge=(pe=(fe=g.result)==null?void 0:fe.clips)==null?void 0:pe[U])==null?void 0:ge.clipId)||((Te=(he=(Ie=g.result)==null?void 0:Ie.clips)==null?void 0:he[U])==null?void 0:Te.id)||((Ee=(we=g.result)==null?void 0:we.clipIds)==null?void 0:Ee[U])||(y==null?void 0:y.clipId)}}}),startPoint:_});Q=ke(z,_)}else{R==="image"&&O&&!e.insertPrompt&&B&&be(i,O,{position:_,size:B,transitionMode:O.anchorType==="ghost"?"morph":"hold"});const L=await vt(R,F[0],_,Y,Ue);if(R==="image"){const z=Me(L,_,B,["image"]);Q=z.position,re=z.elementId,J=z.size}else Q=ke(L,_)}R==="image"&&O&&J&&be(i,O,{position:Q,size:J,transitionMode:O.anchorType==="ghost"?"morph":"hold"}),D.completePostProcessing(g.id,F.length,Q,R==="image"?re:void 0,R==="image"?J:void 0),xe(g.id)}else{const g=He(K),H=g?q.map(({task:T})=>Qe(T)):q.flatMap(({task:T})=>{var b,O,B;return K.type===A.AUDIO?je(T.result):(O=(b=T.result)==null?void 0:b.urls)!=null&&O.length?T.result.urls:[(B=T.result)==null?void 0:B.url]}).filter(T=>!!T),De=K.type===A.AUDIO?q.flatMap(({task:T})=>{var B,Q,re,J,L,z,_e,U;const b=je(T.result),O={title:((B=T.result)==null?void 0:B.title)||T.params.title,duration:typeof((J=(re=(Q=T.result)==null?void 0:Q.clips)==null?void 0:re[0])==null?void 0:J.duration)=="number"?T.result.clips[0].duration||void 0:(L=T.result)==null?void 0:L.duration,previewImageUrl:(z=T.result)==null?void 0:z.previewImageUrl,tags:typeof T.params.tags=="string"?T.params.tags:void 0,mv:typeof T.params.mv=="string"?T.params.mv:void 0,prompt:T.params.prompt,providerTaskId:((_e=T.result)==null?void 0:_e.providerTaskId)||T.remoteId,clipIds:(U=T.result)==null?void 0:U.clipIds};return b.map((ve,W)=>{var oe,se,ne,ie,ae,ce,ue,le,de,me,fe,pe,ge,Ie,he,Te,we,Ee,ht,Tt;return{url:ve,metadata:{...O,title:((ne=(se=(oe=T.result)==null?void 0:oe.clips)==null?void 0:se[W])==null?void 0:ne.title)||(b.length>1?`${O.title||T.params.title||"Audio"} ${W+1}`:O.title),previewImageUrl:((ce=(ae=(ie=T.result)==null?void 0:ie.clips)==null?void 0:ae[W])==null?void 0:ce.imageLargeUrl)||((de=(le=(ue=T.result)==null?void 0:ue.clips)==null?void 0:le[W])==null?void 0:de.imageUrl)||O.previewImageUrl,duration:typeof((pe=(fe=(me=T.result)==null?void 0:me.clips)==null?void 0:fe[W])==null?void 0:pe.duration)=="number"?T.result.clips[W].duration||void 0:O.duration,clipId:((he=(Ie=(ge=T.result)==null?void 0:ge.clips)==null?void 0:Ie[W])==null?void 0:he.clipId)||((Ee=(we=(Te=T.result)==null?void 0:Te.clips)==null?void 0:we[W])==null?void 0:Ee.id)||((Tt=(ht=T.result)==null?void 0:ht.clipIds)==null?void 0:Tt[W])}}})}):[];if(H.length===0){for(const{task:T}of q)ee(T.id),D.failPostProcessing(T.id,"No result URL");continue}const x=g?"text":K.type===A.VIDEO?"video":K.type===A.AUDIO?"audio":"image",Pe=x==="audio"?{width:St,height:yt}:x==="text"?void 0:Ve(K.params.size),R=x==="image"?It??We(K):null,Y=x==="image"?_t(K,Pe):void 0;let y=_,Ue,F=Y;if(e.insertPrompt&&x!=="text"){const T=await At(K.params.prompt,H.map((b,O)=>{var B;return{type:x,url:b,dimensions:Pe,metadata:x==="audio"?{...(B=De[O])==null?void 0:B.metadata}:void 0}}),_);if(x==="image"){const b=Me(T,_,Y,["image"]);y=b.position,Ue=b.elementId,F=b.size}else y=ke(T,_)}else if(x==="image"){R&&be(i,R,{position:_,size:bt(R,Y),transitionMode:"morph"});const T=await rt(H,_,Pe),b=Me(T,_,Y,["image"]);y=b.position,Ue=b.elementId,F=b.size}else if(x==="text"){const T=await Le({items:q.map(({task:b})=>({type:"text",content:Qe(b),label:Pt(b.result,b.params.title||b.params.prompt)||(b.params.prompt||"").slice(0,20)||void 0,groupId:`lyrics-group-${K.id}`})),startPoint:_});y=ke(T,_)}else if(x==="audio"){const T=`audio-group-${K.id}`,b=await Le({items:De.map(O=>({type:"audio",content:O.url,groupId:T,dimensions:Pe,metadata:O.metadata})),startPoint:_});y=ke(b,_)}else for(const T of H){const b=await vt("video",T,_,Pe);y=ke(b,_)}x==="image"&&R&&F&&be(i,R,{position:y,size:F,transitionMode:"morph"});for(const{task:T}of q)D.completePostProcessing(T.id,1,y,x==="image"?Ue:void 0,x==="image"?F:void 0),xe(T.id)}}catch(g){console.error(`[AutoInsert] Failed to insert for prompt ${zt}:`,g);for(const{task:H}of q)ee(H.id),D.failPostProcessing(H.id,String(g))}}},a=()=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{s()},e.groupTimeWindow)},d=async i=>{var p;const c=(p=i.result)==null?void 0:p.url;if(!c){console.error("[AutoInsert] Split task has no result URL"),ee(i.id),D.failPostProcessing(i.id,"No result URL"),Je(i.id,"failed",void 0,"No result URL");return}const u=i.params;try{const h=await Er(i.id,c,u,{scrollToResult:!0});if(h.success){xe(i.id);return}ee(i.id),Je(i.id,"failed",void 0,h.error||"拆分失败")}catch(h){const w=String(h);ee(i.id),D.failPostProcessing(i.id,w),Je(i.id,"failed",void 0,w)}},f=i=>{var v,N,Ae,V,$;const c=qe(i.id),u=We(i);if(!(i.params.autoInsertToCanvas||!!c||!!u)||ze.has(i.id))return;if(i.insertedToCanvas){ze.add(i.id);return}if(i.type!==A.IMAGE&&i.type!==A.VIDEO&&i.type!==A.AUDIO&&i.type!==A.CHAT||!((v=i.result)!=null&&v.url)&&!((Ae=(N=i.result)==null?void 0:N.urls)!=null&&Ae.length)&&!He(i)&&!((V=i.result)!=null&&V.chatResponse))return;kr(i.id);const h=i.params;if(i.type===A.CHAT){const Re=(i.params.prompt||"").slice(0,20)||void 0;Le({items:[{type:"text",content:(($=i.result)==null?void 0:$.chatResponse)||"",label:Re}]}).then(()=>{D.completePostProcessing(i.id,1),xe(i.id)}).catch(j=>{ee(i.id),D.failPostProcessing(i.id,String(j))});return}if(Tr(h)){d(i);return}if(hr(h)){d(i);return}const w=Yt(i,u),C=t.current.get(w)||[];C.push({task:i,completedAt:Date.now()}),t.current.set(w,C),e.groupSimilarTasks?a():s()},m=i=>{},k=Fe().observeTaskUpdates().subscribe(i=>{o&&(i.type==="taskUpdated"||i.type==="taskCompleted"?i.task.status===P.COMPLETED?f(i.task):i.task.status===P.FAILED&&m(i.task):i.type==="taskFailed"?m(i.task):i.type==="taskSynced"&&i.task.status===P.COMPLETED&&f(i.task))}),E=D.observeCompletionEvents().subscribe(i=>{var c,u;if(i.type==="postProcessingCompleted"||i.type==="postProcessingFailed"){const p=Se();if(!p)return;const h=qe(i.taskId);h&&((c=h.workflow.steps)!=null&&c.every(C=>C.status==="completed"||C.status==="failed"||C.status==="skipped"))&&(u=h.workflow.steps)!=null&&u.every(v=>{const N=v.result;return N!=null&&N.taskId?D.isPostProcessingCompleted(N.taskId):!0})&&setTimeout(()=>{nt.removeWorkZone(p,h.id)},1500)}}),I=i=>{var h;const u=(h=i.detail)==null?void 0:h.taskId;if(!u)return;ee(u),D.clearTask(u);const p=Fe().getTask(u);if(p){if(p.status===P.FAILED||p.status===P.CANCELLED){Fe().retryTask(u);return}p.status===P.COMPLETED&&f({...p,insertedToCanvas:!1})}};return window.addEventListener(Et,I),()=>{o=!1,k.unsubscribe(),E.unsubscribe(),window.removeEventListener(Et,I),n.current&&clearTimeout(n.current)}},[e.enabled,e.insertPrompt,e.groupSimilarTasks,e.groupTimeWindow])}const _r=1600;function br(r){return r.type===A.IMAGE}function Cr(r,e){return r.length!==e.length?!1:r.every((t,n)=>t===e[n])}function Or(r,e){if(e.length===0)return;const t=e.map(a=>D.getPostProcessingStatus(a.id)).filter(a=>!!a),n=t.some(a=>a.status==="failed"),o=e.some(a=>{const d=D.getPostProcessingStatus(a.id);return a.status!==P.FAILED&&(d==null?void 0:d.status)!=="failed"});if(n&&!o)return"failed";if(t.some(a=>a.status==="processing"))return"processing";if(Mt(r,e)&&e.every(a=>{var d;return!!a.insertedToCanvas||((d=D.getPostProcessingStatus(a.id))==null?void 0:d.status)==="completed"}))return"completed"}function Ur(r,e,t){var o,s,a;const n=t.map(d=>D.getPostProcessingStatus(d.id)).find(d=>(d==null?void 0:d.status)==="failed");return(n==null?void 0:n.error)||((o=e==null?void 0:e.error)==null?void 0:o.message)||((a=(s=e==null?void 0:e.error)==null?void 0:s.details)==null?void 0:a.originalError)||r.error}function Lr(r,e){var n;const t=e==null?void 0:e.result;return(t==null?void 0:t.previewImageUrl)||(t==null?void 0:t.url)||((n=t==null?void 0:t.urls)==null?void 0:n.find(o=>typeof o=="string"&&o.length>0))||r.previewImageUrl}function et(r,e){return!r||!e?r===e:r[0]===e[0]&&r[1]===e[1]}function Gr(r){return typeof r=="object"&&r!==null&&Array.isArray(r.points)&&r.points.length===2}function Mr(r,e){if(!(e!=null&&e.firstElementId))return;const t=r.children.find(o=>o.id===e.firstElementId);if(!Gr(t))return;const n=sr.getRectangleByPoints(t.points);return{position:t.points[0],size:{width:n.width,height:n.height}}}function Fr(r,e,t){var o,s;if(r.anchorType==="stack")return;if(typeof((o=t==null?void 0:t.firstElementSize)==null?void 0:o.width)=="number"&&typeof((s=t==null?void 0:t.firstElementSize)==null?void 0:s.height)=="number"&&t.firstElementSize.width>0&&t.firstElementSize.height>0)return{width:t.firstElementSize.width,height:t.firstElementSize.height};const n=e==null?void 0:e.result;return typeof(n==null?void 0:n.width)=="number"&&typeof(n==null?void 0:n.height)=="number"&&n.width>0&&n.height>0?{width:n.width,height:n.height}:r.targetFrameDimensions||Ve(r.requestedSize)}function zr(r,e,t){const n={};if(e&&!et(r.expectedInsertPosition,e)&&(n.expectedInsertPosition=e),e&&t){const o=[e,[e[0]+t.width,e[1]+t.height]],[s,a]=r.points;et(s,o[0])&&et(a,o[1])||(n.points=o)}return n}function Nr(r,e,t){if(t.current.has(e))return;const n=setTimeout(()=>{t.current.delete(e);const o=M.getAnchorById(r,e);!o||o.phase!=="completed"||M.removeAnchor(r,e)},_r);t.current.set(e,n)}function Ct(r,e){const t=e.current.get(r);t&&(clearTimeout(t),e.current.delete(r))}function $r({board:r,enabled:e=!0}){const t=G.useRef(new Map);G.useEffect(()=>{if(!r||!e)return;const n=t.current,o=m=>{const l=M.getAnchorById(r,m);if(!l){Ct(m,t);return}const k=S.getAllTasks(),E=er(l,k),I=tr(l,E),i=rr(l,E),c=l.primaryTaskId||(I==null?void 0:I.id),u=Or(l,E),p=(c?D.getPostProcessingStatus(c):void 0)||E.map(j=>D.getPostProcessingStatus(j.id)).find(j=>!!j),h=E.length>0&&Mt(l,E)&&E.every(j=>{var Oe;return!!j.insertedToCanvas||((Oe=D.getPostProcessingStatus(j.id))==null?void 0:Oe.status)==="completed"}),w=Ur(l,I,E),C=Lr(l,I),v=Mr(r,p),N=or({anchor:{...l,taskIds:i,primaryTaskId:c,error:w},task:I??void 0,tasks:E,postProcessingStatus:u,isInserting:l.phase==="inserting"&&u==="processing",hasInserted:h}),{viewModel:Ae,nextPatch:V}=N,$={};Cr(l.taskIds,i)||($.taskIds=i),c&&c!==l.primaryTaskId&&($.primaryTaskId=c),l.phase!==V.phase&&($.phase=V.phase),(l.progress??null)!==(V.progress??null)&&($.progress=V.progress),(l.subtitle??"")!==(V.subtitle??"")&&($.subtitle=V.subtitle),(l.error??void 0)!==(V.error??void 0)&&($.error=V.error),(l.previewImageUrl??"")!==(C??"")&&($.previewImageUrl=C);const Re=zr(l,(v==null?void 0:v.position)??(p==null?void 0:p.firstElementPosition),(v==null?void 0:v.size)??Fr(l,I,p));Object.assign($,Re),p!=null&&p.firstElementPosition&&l.transitionMode!==(l.anchorType==="frame"?"hold":"morph")&&($.transitionMode=l.anchorType==="frame"?"hold":"morph"),Object.keys($).length>0&&M.updateAnchor(r,l.id,$),Ae.phase==="completed"&&h?Nr(r,l.id,t):Ct(l.id,t)},s=()=>{M.getAllAnchors(r).forEach(m=>{o(m.id)})},a=m=>{const l=new Set,k=M.getAnchorByTaskId(r,m.id);k&&l.add(k.id);const E=Ut(m),I=Lt(m),i=Gt(m);let c=!1;if(E&&I&&typeof i=="number"){const u=M.getAnchorByBatchSlot(r,{workflowId:E,batchId:I,batchIndex:i});u&&(l.add(u.id),c=!0)}if(E&&!c&&M.getAnchorsByWorkflowId(r,E).forEach(u=>{l.add(u.id)}),l.size===0){s();return}l.forEach(u=>o(u))};s();const d=S.observeTaskUpdates().subscribe(m=>{br(m.task)&&a(m.task)}),f=D.observeCompletionEvents().subscribe(m=>{const l=M.getAnchorByTaskId(r,m.taskId);if(l){o(l.id);return}s()});return()=>{d.unsubscribe(),f.unsubscribe(),n.forEach(m=>clearTimeout(m)),n.clear()}},[r,e])}function xr(){G.useEffect(()=>{const r=e=>{if(nr())return e.preventDefault(),e.returnValue="",""};return window.onbeforeunload=r,()=>{window.onbeforeunload=null}},[])}function Br(){return()=>{}}function Be(r,e){const t=window.requestIdleCallback;if(typeof t=="function"){const o=t(r,{timeout:e});return()=>{var s;(s=window.cancelIdleCallback)==null||s.call(window,o)}}const n=window.setTimeout(r,Math.min(e,500));return()=>window.clearTimeout(n)}function Hr({board:r,value:e}){const t=mr(),n=ir();return G.useEffect(()=>{if(n.length===0)return;const o=window.setTimeout(()=>{ar.warmupProfiles(n)},0);return()=>{window.clearTimeout(o)}},[n]),G.useEffect(()=>Br(),[]),G.useEffect(()=>{if(!(!e||e.length===0))return Be(()=>{cr.preloadBoardFonts(e).catch(o=>{console.warn("[DrawnixDeferredRuntime] Failed to preload board fonts:",o)})},2e3)},[e]),G.useEffect(()=>{if(r)return Be(()=>{Z(async()=>{const{initVideoRecoveryService:o}=await import("./video-recovery-service-DpIX-4Cn.js");return{initVideoRecoveryService:o}},__vite__mapDeps([0]),import.meta.url).then(({initVideoRecoveryService:o})=>{o(r)})},3e3)},[r]),G.useEffect(()=>{if(t)return Be(()=>{(async()=>{try{const{workflowRecoveryPromise:f}=await Z(async()=>{const{workflowRecoveryPromise:m}=await import("./index-CLp1N2JZ.js").then(l=>l.lj);return{workflowRecoveryPromise:m}},__vite__mapDeps([0]),import.meta.url);await Promise.race([f,new Promise(m=>window.setTimeout(m,5e3))])}catch{}const[{fallbackMediaExecutor:s},{taskQueueService:a}]=await Promise.all([Z(()=>import("./index-CLp1N2JZ.js").then(f=>f.le),__vite__mapDeps([0]),import.meta.url),Z(()=>Promise.resolve().then(()=>Ye),void 0,import.meta.url)]),d=a.getAllTasks();s.resumePendingTasks((f,m,l)=>{a.updateTaskStatus(f,m,l)},d)})().catch(s=>{console.error("[DrawnixDeferredRuntime] Failed to resume tasks:",s)})},5e3)},[t]),G.useEffect(()=>{if(!(!t||!r||!e||e.length===0))return Be(()=>{(async()=>{const[{WorkZoneTransforms:s},{TaskStatus:a},{taskQueueService:d}]=await Promise.all([Z(()=>import("./index-CLp1N2JZ.js").then(m=>m.lf),__vite__mapDeps([0]),import.meta.url),Z(()=>import("./task.types-CLfkYpCd.js").then(m=>m.t),__vite__mapDeps([0]),import.meta.url),Z(()=>Promise.resolve().then(()=>Ye),void 0,import.meta.url)]),f=s.getAllWorkZones(r);for(const m of f){const l={...m.workflow,steps:[...m.workflow.steps]},k=l.steps.some(i=>i.status==="running"||i.status==="pending");if(l.status==="completed"&&!k){s.removeWorkZone(r,m.id);continue}if(!k)continue;const E=l.steps.map(i=>{var p,h;if(i.status!=="running"&&i.status!=="pending")return i;const c=(p=i.result)==null?void 0:p.taskId;if(!c){const w=["generate_image","generate_video","generate_grid_image","generate_inspiration_board"];return i.mcp==="ai_analyze"||w.includes(i.mcp)?i:i.status==="running"?{...i,status:"failed",error:"页面刷新导致中断,请删除后重新发起"}:i}const u=d.getTask(c);if(!u)return{...i,status:"failed",error:"任务未找到,请重试"};switch(u.status){case a.COMPLETED:return{...i,status:"completed",result:{taskId:c,result:u.result}};case a.FAILED:return{...i,status:"failed",error:((h=u.error)==null?void 0:h.message)||"任务执行失败"};case a.CANCELLED:return{...i,status:"skipped"};default:return i}});E.some((i,c)=>{var u;return i.status!==((u=l.steps[c])==null?void 0:u.status)})&&s.updateWorkflow(r,m.id,{steps:E})}})().catch(s=>{console.error("[DrawnixDeferredRuntime] Failed to restore WorkZones:",s)})},2e3)},[r,t,e]),G.useEffect(()=>{if(!r)return;let o=null;return(async()=>{const a=await Z(()=>import("./index-CLp1N2JZ.js").then(m=>m.li),__vite__mapDeps([0]),import.meta.url),{WorkZoneTransforms:d}=await Z(async()=>{const{WorkZoneTransforms:m}=await import("./index-CLp1N2JZ.js").then(l=>l.lf);return{WorkZoneTransforms:m}},__vite__mapDeps([0]),import.meta.url),{workflowSubmissionService:f}=a;o=f.subscribeToAllEvents(m=>{const l=m,E=d.getAllWorkZones(r).find(I=>I.workflow.id===l.workflowId);if(E)switch(l.type){case"step":{const I=E.workflow.steps.map(i=>i.id===l.stepId?{...i,status:l.status||i.status,result:l.result??i.result,error:l.error??i.error,duration:l.duration??i.duration}:i);d.updateWorkflow(r,E.id,{steps:I});break}case"steps_added":{const I=(l.steps||[]).map(i=>({id:i.id,mcp:i.mcp,args:i.args,description:i.description,status:i.status}));d.updateWorkflow(r,E.id,{steps:[...E.workflow.steps,...I]});break}case"completed":case"failed":{const I=l.type==="completed"?"completed":"failed",i=E.workflow.steps.map(c=>{if(c.status!=="running"&&c.status!=="pending")return c;const u=c.result;return u!=null&&u.taskId?c:{...c,status:I,error:l.type==="failed"?l.error:void 0}});d.updateWorkflow(r,E.id,{steps:i});break}case"recovered":{l.workflow&&d.updateWorkflow(r,E.id,{steps:l.workflow.steps,status:l.workflow.status});break}}})})().catch(a=>{console.error("[DrawnixDeferredRuntime] Failed to setup workflow sync:",a)}),()=>{o==null||o.unsubscribe()}},[r]),G.useEffect(()=>{if(!t||!r)return;let o=null;return(async()=>{const{taskQueueService:a}=await Z(async()=>{const{taskQueueService:m}=await Promise.resolve().then(()=>Ye);return{taskQueueService:m}},void 0,import.meta.url),{WorkZoneTransforms:d}=await Z(async()=>{const{WorkZoneTransforms:m}=await import("./index-CLp1N2JZ.js").then(l=>l.lf);return{WorkZoneTransforms:m}},__vite__mapDeps([0]),import.meta.url),{TaskStatus:f}=await Z(async()=>{const{TaskStatus:m}=await import("./task.types-CLfkYpCd.js").then(l=>l.t);return{TaskStatus:m}},__vite__mapDeps([0]),import.meta.url);o=a.observeTaskUpdates().subscribe(m=>{if(m.type!=="taskUpdated"&&m.type!=="taskCompleted"&&m.type!=="taskFailed")return;const l=m.task;if(!l)return;const k=d.getAllWorkZones(r);for(const E of k){const I={...E.workflow,steps:[...E.workflow.steps]};let i=!1;const c=I.steps.map(u=>{var v;const p=u.result;if((p==null?void 0:p.taskId)!==l.id)return u;let h=u.status,w=u.error,C=u.result;switch(l.status){case f.COMPLETED:h="completed",C={taskId:l.id,result:l.result};break;case f.FAILED:h="failed",w=((v=l.error)==null?void 0:v.message)||"任务失败";break;case f.PROCESSING:h="running";break;case f.PENDING:h="pending";break;case f.CANCELLED:h="skipped";break}return h!==u.status||w!==u.error?(i=!0,{...u,status:h,error:w,result:C}):u});i&&d.updateWorkflow(r,E.id,{steps:c})}})})().catch(a=>{console.error("[DrawnixDeferredRuntime] Failed to sync task queue:",a)}),()=>{o==null||o.unsubscribe()}},[r,t]),Ir(),Dr({enabled:!0,insertPrompt:!1,groupSimilarTasks:!0}),$r({board:r,enabled:t}),xr(),null}export{Hr as DrawnixDeferredRuntime,Hr as default};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import{b as l,bB as Lt,bC as Rt,cI as tt,cJ as st,cN as $t,eg as Mt,e9 as Ne,eh as Qt,K as h,aR as I,e8 as Ve,cP as xe,gr as zt,gs as At,h as Gt,gt as Bt,cO as rt,ec as Ht,eb as Wt,I as ea,_ as aa,dM as nt,x as n,gu as Je,aC as Q,bS as w,H as F,bO as da,dp as Xe,bl as Ft,aq as Kt,gv as Zt,ax as Sa,ac as q,c$ as ie,gb as Ia,eI as La,bV as Yt,bM as Xt,bN as Jt,d4 as es,U as as,gw as ts,gx as ss,f8 as Ke,gy as rs,d0 as ns,eC as Ra,fe as $a,f9 as Ze,eJ as is,fh as Ma,gj as ls,gz as us,fb as cs,fc as os}from"./index-CLp1N2JZ.js";import{T as ds,C as ms,a as fs,U as it,u as lt,V as ps,b as hs}from"./useCharacters-B9XvF2GC.js";import{B as vs}from"./BaseDrawer-F3GT0wol.js";import{M as bs}from"./MediaViewer-CSkzdABU.js";/* empty css */import{R as ma}from"./refresh-Bh3E8vu6.js";import{r as gs}from"./audio-task-result-utils-C9RziLY_.js";import{u as Ns,C as xs}from"./cloud-upload-CUOtugCp.js";import{C as ks,o as ys}from"./chevron-right-Dz5PrqD9.js";import{u as Cs}from"./index-C9YPl9-V.js";import{I as js}from"./image-C--jLg-o.js";import{V as ws}from"./video-UIyGGGOK.js";import"./character-api-service-C-_8TuNT.js";import"./task.types-CLfkYpCd.js";import"./download-hxWX9Zug.js";import"./character-storage-service-C2yg9sZZ.js";import"./_baseUnset-Cb5y6_CP.js";import"./_baseFlatten-DHT6_8EL.js";import"./memoize-DRWJ2oTL.js";import"./last-DXTTfs9a.js";import"./_flatRest-CXdsvGPY.js";function Qa(s,a){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);a&&(t=t.filter(function(c){return Object.getOwnPropertyDescriptor(s,c).enumerable})),e.push.apply(e,t)}return e}function za(s){for(var a=1;a<arguments.length;a++){var e=arguments[a]!=null?arguments[a]:{};a%2?Qa(Object(e),!0).forEach(function(t){Rt(s,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):Qa(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}var Ds={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"g",attrs:{id:"chevron-left"},children:[{tag:"path",attrs:{id:"stroke1",stroke:"props.strokeColor1",d:"M14.5 17.5L9 12L14.5 6.5",strokeLinecap:"square",strokeWidth:"props.strokeWidth"}}]}]},ut=l.forwardRef(function(s,a){return l.createElement(Lt,za(za({},s),{},{id:"chevron-left",ref:a,icon:Ds}))});ut.displayName="ChevronLeftIcon";/**
|
|
2
|
-
* tdesign v1.16.3
|
|
3
|
-
* (c) 2026 tdesign
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/var ta=function(){var a=tt(),e=a.classPrefix,t="".concat(e,"-tabs"),c="".concat(e,"-tab-panel"),m=function(N){return"".concat(e,"-").concat(N)},k=function(N){return"".concat(t,"__").concat(N)},v=function(N){return"".concat(c,"__").concat(N)},C=function(N){return"".concat(e,"-size-").concat(N==="large"?"l":"m")};return{tdTabsClassPrefix:t,tdTabPanelClassPrefix:c,tdClassGenerator:m,tdTabsClassGenerator:k,tdTabPanelClassGenerator:v,tdSizeClassGenerator:C}};/**
|
|
6
|
-
* tdesign v1.16.3
|
|
7
|
-
* (c) 2026 tdesign
|
|
8
|
-
* @license MIT
|
|
9
|
-
*/function Aa(s,a){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);a&&(t=t.filter(function(c){return Object.getOwnPropertyDescriptor(s,c).enumerable})),e.push.apply(e,t)}return e}function Ga(s){for(var a=1;a<arguments.length;a++){var e=arguments[a]!=null?arguments[a]:{};a%2?Aa(Object(e),!0).forEach(function(t){xe(s,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):Aa(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}var Es=function(a){var e=a.label,t=a.removable,c=a.isActive,m=a.onClick,k=m===void 0?Ve:m,v=a.theme,C=a.placement,g=a.onRemove,N=g===void 0?Ve:g,x=a.value,P=a.size,E=P===void 0?"medium":P,T=a.disabled,f=T===void 0?!1:T,D=a.index,y=a.onTabRemove,K=y===void 0?Ve:y,M=a.innerRef,re=a.dragProps,L=st({CloseIcon:$t}),z=L.CloseIcon,A=v==="card",S=ta(),_=S.tdTabsClassGenerator,oe=S.tdClassGenerator,de=S.tdSizeClassGenerator,he=Mt(),U=Ne(he,2),Z=U[0],ve=U[1];return Qt(Z),h.createElement("div",Ga(Ga({},re),{},{ref:M,onClick:f?Ve:k,className:I(_("nav-item"),A?_("nav--card"):"",de(E),c?oe("is-active"):"",oe("is-".concat(C)),f?oe("is-disabled"):"",a.className)}),A?h.createElement("span",{className:I(_("nav-item-text-wrapper"))},e):h.createElement("div",{ref:ve,className:I(_("nav-item-wrapper"))},h.createElement("span",{className:I(_("nav-item-text-wrapper"))},e)),t&&!f?h.createElement("span",{className:I("remove-btn"),onClick:function(G){G.stopPropagation(),N({value:x,e:G}),K({value:x,e:G,index:D})}},h.createElement(z,null)):null)};/**
|
|
10
|
-
* tdesign v1.16.3
|
|
11
|
-
* (c) 2026 tdesign
|
|
12
|
-
* @license MIT
|
|
13
|
-
*/var ct=function(a){var e=a.tabPosition,t=a.activeId,c=a.containerRef,m=a.navsWrapRef,k=tt(),v=k.classPrefix,C=l.useState({}),g=Ne(C,2),N=g[0],x=g[1],P="".concat(v,"-tabs"),E=l.useRef(t);l.useEffect(function(){E.current=t},[t]);var T=h.useCallback(function(){var D=["bottom","top"].includes(e),y=D?"translateX":"translateY",K=D?"width":"height",M=D?"width":"height",re=0;if(c.current){var L,z=(L=c.current)===null||L===void 0?void 0:L.querySelectorAll(".".concat(P,"__nav-item"));if(z.length-1>=E.current){z.forEach(function(_,oe){oe<E.current&&(re+=Number(getComputedStyle(_)[K].replace("px","")))});var A=z[E.current];if(!A){x(xe({transform:"".concat(y,"(",0,"px)")},M,0));return}var S=getComputedStyle(A)[K];x(xe({transform:"".concat(y,"(").concat(re,"px)")},M,S||0))}}},[E,c,e,P]);l.useEffect(function(){c.current&&setTimeout(function(){return T()})},[e,t,c.current]);var f=h.useCallback(function(D){D.forEach(function(y){y.type==="characterData"&&T()})},[T]);return zt(c.current,f),Ns(m,T),h.createElement("div",{className:I(xe(xe({},"".concat(P,"__bar"),!0),"".concat(v,"-is-").concat(e),!0)),style:N})};ct.displayName="TabBar";/**
|
|
14
|
-
* tdesign v1.16.3
|
|
15
|
-
* (c) 2026 tdesign
|
|
16
|
-
* @license MIT
|
|
17
|
-
*/var ce=function(a){return(a==null?void 0:a.offsetWidth)||0},qs=function(a){return(a==null?void 0:a.offsetLeft)||0};function Ps(s,a,e){var t=s.navsContainer,c=s.activeTab,m=s.rightOperations,k=s.leftOperations,v=ce(c),C=ce(t),g=qs(c),N=ce(m),x=ce(k);if(e==="auto"){if(g-x<a)return g-x;if(g+v>a+C-N)return g+v-C+N}else{if(e==="start")return g-x;if(e==="center")return g+(v-C)/2;if(e==="end")return g+v-C+N}return a}function Os(s,a,e){var t=s.navsContainer,c=s.activeTab,m=ce(t),k=ce(c),v=Math.abs(m-k);return e==="next"?a+v:a-v}function _s(s){var a=s.navsWrap,e=s.navsContainer,t=s.rightOperations,c=s.toRightBtn,m=ce(a),k=ce(e),v=ce(t),C=ce(c);return m-k+v-C}function Ts(s,a){return Math.max(0,Math.min(s,a))}function Ba(s,a){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);a&&(t=t.filter(function(c){return Object.getOwnPropertyDescriptor(s,c).enumerable})),e.push.apply(e,t)}return e}function Ye(s){for(var a=1;a<arguments.length;a++){var e=arguments[a]!=null?arguments[a]:{};a%2?Ba(Object(e),!0).forEach(function(t){xe(s,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):Ba(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}var ot=function(a){var e=a.placement,t=e===void 0?"top":e,c=a.itemList,m=c===void 0?[]:c,k=a.theme,v=a.addable,C=a.onAdd,g=a.scrollPosition,N=g===void 0?"auto":g,x=a.size,P=x===void 0?"medium":x,E=a.disabled,T=E===void 0?!1:E,f=a.onRemove,D=f===void 0?Ve:f,y=a.onChange,K=y===void 0?Ve:y,M=a.activeValue,re=a.children,L=a.action,z=a.getDragProps,A=st({AddIcon:At,ChevronLeftIcon:ut,ChevronRightIcon:ks}),S=A.AddIcon,_=A.ChevronLeftIcon,oe=A.ChevronRightIcon,de=k==="card",he=ta(),U=he.tdTabsClassGenerator,Z=he.tdClassGenerator,ve=he.tdSizeClassGenerator,$=l.useRef(null),G=l.useRef(null),fa=l.useCallback(function(b){var j=m.findIndex(function(B){return B.value===b});return j>-1?j:-1},[m]),Be=fa(M),sa=l.useState(!1),je=Ne(sa,2),Se=je[0],ra=je[1],na=l.useState(!1),He=Ne(na,2),we=He[0],Ie=He[1],Le=l.useRef(null),De=l.useRef(null),Re=l.useRef(null),$e=l.useRef(null),Ee=l.useRef(null),We=l.useState(0),Me=Ne(We,2),X=Me[0],le=Me[1],ke=l.useState(0),V=Ne(ke,2),J=V[0],ia=V[1],Qe=l.useState(null),ze=Ne(Qe,2),qe=ze[0],la=ze[1],me=function(j){le(Ts(j,J))},Pe=l.useCallback(function(){if(["top","bottom"].includes(t.toLowerCase())){var b=_s({navsWrap:G.current,navsContainer:$.current,rightOperations:Re.current,toRightBtn:Ee.current});ia(b)}},[t]),ua=function(){var j=Ps({activeTab:qe,navsContainer:$.current,leftOperations:De.current,rightOperations:Re.current},X,N);me(j)};l.useEffect(function(){var b=setTimeout(function(){ua()},100);return function(){return clearTimeout(b)}},[qe,J,N]),l.useEffect(function(){if(["top","bottom"].includes(t.toLowerCase())){var b=X>1,j=X<J-1;ra(b),Ie(j)}},[t,X,J]);var ye=function(j){var B=Os({activeTab:qe,navsContainer:$.current},X,j);me(B)};l.useEffect(function(){var b=Le.current;if(b){var j=function(ne){if(!(!Se&&!we)){ne.preventDefault();var be=ne.deltaX,Fe=ne.deltaY;Math.abs(be)>Math.abs(Fe)?me(X+be):me(X+Fe)}};return b.addEventListener("wheel",j,{passive:!1}),function(){b==null||b.removeEventListener("wheel",j)}}}),l.useEffect(function(){var b=Gt(Pe,300);return window.addEventListener("resize",b),function(){window.removeEventListener("resize",b),b.cancel()}}),l.useEffect(function(){Pe()},[m.length,re,Pe]);var Ae=de?null:h.createElement(ct,{tabPosition:t,activeId:Be,containerRef:G,navsWrapRef:G}),ue=function(j){var B=j.value,ne=j.index;if(B===M){var be;K(ne===0?(be=m[ne+1])===null||be===void 0?void 0:be.value:m[ne-1].value)}D(j)},ca=function(j){var B;M!==j.value&&K(j.value),j==null||(B=j.onClick)===null||B===void 0||B.call(j,j.value)},oa=function(j){C({e:j})};return h.createElement("div",{ref:$,className:I(U("nav")),style:{minHeight:48}},h.createElement("div",{ref:De,className:I(U("operations"),U("operations--left"))},Se?h.createElement("div",{onClick:function(){ye("prev")},className:I(U("btn"),U("btn--left"),ve(P)),ref:$e},h.createElement(_,null)):null),h.createElement("div",{ref:Re,className:I(U("operations"),U("operations--right"))},we?h.createElement("div",{onClick:function(){ye("next")},className:I(U("btn"),U("btn--right"),ve(P)),ref:Ee},h.createElement(oe,null)):null,v?h.createElement("div",{className:I(U("add-btn"),U("btn"),ve(P)),onClick:oa},h.createElement(S,null)):null,L?h.createElement("div",{className:I(U("btn"),U("nav-action"),ve(P))},Bt(L)):null),h.createElement("div",{className:I(U("nav-container"),de?U("nav--card"):"",Z("is-".concat(t)),v?Z("is-addable"):"")},h.createElement("div",{className:I(U("nav-scroll"),Se||we?Z("is-scrollable"):""),ref:Le},h.createElement("div",{className:I(U("nav-wrap"),["left","right"].includes(t)?Z("is-vertical"):"",Z("is-smooth")),style:{transform:"translate(".concat(-X,"px, 0)")},ref:G},t!=="bottom"?Ae:null,!de&&h.createElement("div",{className:I(U("bar"),Z("is-".concat(t)))}),m.map(function(b,j){return h.createElement(Es,Ye(Ye(Ye({},ys(a,["className","style"])),b),{},{dragProps:Ye({},z==null?void 0:z(j,b)),onRemove:b.onRemove,key:b.value,label:b.label,isActive:M===b.value,theme:k,placement:t,index:j,disabled:T||b.disabled,onClick:function(){return ca(b)},onTabRemove:ue,innerRef:function(ne){M===b.value&&la(ne)}}))}),t==="bottom"?Ae:null))))};ot.displayName="TabNav";/**
|
|
18
|
-
* tdesign v1.16.3
|
|
19
|
-
* (c) 2026 tdesign
|
|
20
|
-
* @license MIT
|
|
21
|
-
*/var Us={addable:!1,disabled:!1,dragSort:!1,placement:"top",scrollPosition:"auto",size:"medium",theme:"normal"},Vs={destroyOnHide:!0,disabled:!1,draggable:!0,lazy:!1,removable:!1};/**
|
|
22
|
-
* tdesign v1.16.3
|
|
23
|
-
* (c) 2026 tdesign
|
|
24
|
-
* @license MIT
|
|
25
|
-
*/function Ha(s,a){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);a&&(t=t.filter(function(c){return Object.getOwnPropertyDescriptor(s,c).enumerable})),e.push.apply(e,t)}return e}function Ss(s){for(var a=1;a<arguments.length;a++){var e=arguments[a]!=null?arguments[a]:{};a%2?Ha(Object(e),!0).forEach(function(t){xe(s,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):Ha(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}var Ue=function(a){var e=rt(a,Vs),t=e.className,c=e.lazy,m=e.isActive,k=e.destroyOnHide,v=e.style,C=ta(),g=C.tdTabPanelClassPrefix,N=l.useRef(c);return c&&m&&N.current&&(N.current=!1),!m&&k||N.current?null:h.createElement("div",{className:I(g,t),style:Ss({display:m?void 0:"none"},v)},a.children||a.panel)};Ue.displayName="TabPanel";/**
|
|
26
|
-
* tdesign v1.16.3
|
|
27
|
-
* (c) 2026 tdesign
|
|
28
|
-
* @license MIT
|
|
29
|
-
*/function Wa(s,a){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);a&&(t=t.filter(function(c){return Object.getOwnPropertyDescriptor(s,c).enumerable})),e.push.apply(e,t)}return e}function Ce(s){for(var a=1;a<arguments.length;a++){var e=arguments[a]!=null?arguments[a]:{};a%2?Wa(Object(e),!0).forEach(function(t){xe(s,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):Wa(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}var dt=Ht(function(s,a){var e=rt(s,Us),t=e.children,c=e.list,m=e.placement,k=e.dragSort,v=e.className,C=e.style,g=e.onRemove,N=Wt(e,"value",e.onChange),x=Ne(N,2),P=x[0],E=x[1],T=ta(),f=T.tdTabsClassPrefix,D=T.tdTabsClassGenerator,y=T.tdClassGenerator,K="^".concat(f,"(__nav-item|__nav-item-wrapper|__nav-item-text-wrapper)"),M=Cs(Ce(Ce({},e),{},{sortOnDraggable:k,onDragOverCheck:{x:!0,targetClassNameRegExp:new RegExp(K)}})),re=M.getDragProps,L=h.useMemo(function(){return!c||c.length===0?t:c.map(function(_){return h.createElement(Ue,Ce({key:_.value},_))})},[t,c]),z=h.Children.map(L,function(_){return _&&_.type===Ue?_.props:null}),A=h.useCallback(function(_){E==null||E(_)},[E]),S=h.useMemo(function(){return h.createElement("div",{className:I(D("header"),y("is-".concat(m)))},h.createElement(ot,Ce(Ce({},e),{},{getDragProps:re,activeValue:P,onRemove:g,itemList:z,onChange:A})))},[e,re,P,g,z,A,m,D,y]);return h.createElement("div",{ref:a,className:I(f,v),style:C},m!=="bottom"?S:null,h.createElement("div",{className:I(D("content"),y("is-".concat(m)))},h.Children.map(L,function(_){return _&&_.type===Ue?h.createElement(Ue,Ce(Ce({},_.props),{},{isActive:_.props.value===P})):null})),m==="bottom"?S:null)},{TabPanel:Ue});dt.displayName="Tabs";/**
|
|
30
|
-
* tdesign v1.16.3
|
|
31
|
-
* (c) 2026 tdesign
|
|
32
|
-
* @license MIT
|
|
33
|
-
*/var mt=dt;function Fa(s,a){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);a&&(t=t.filter(function(c){return Object.getOwnPropertyDescriptor(s,c).enumerable})),e.push.apply(e,t)}return e}function Ka(s){for(var a=1;a<arguments.length;a++){var e=arguments[a]!=null?arguments[a]:{};a%2?Fa(Object(e),!0).forEach(function(t){aa(s,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):Fa(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}var Is={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M17.6571 7.17142L12.3538 12.4747L10.9396 11.0605L16.2429 5.7572L17.6571 7.17142ZM23.3143 7.17142L12.7077 17.778L6.34375 11.4141L7.75796 9.99984L12.7077 14.9496L21.9001 5.7572L23.3143 7.17142ZM2.10074 9.99984L7.05048 14.9496L7.40404 14.596L8.81825 16.0103L7.05048 17.778L0.686523 11.4141L2.10074 9.99984Z"}}]},ft=l.forwardRef(function(s,a){return l.createElement(ea,Ka(Ka({},s),{},{id:"check-double",ref:a,icon:Is}))});ft.displayName="CheckDoubleIcon";function Za(s,a){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);a&&(t=t.filter(function(c){return Object.getOwnPropertyDescriptor(s,c).enumerable})),e.push.apply(e,t)}return e}function Ya(s){for(var a=1;a<arguments.length;a++){var e=arguments[a]!=null?arguments[a]:{};a%2?Za(Object(e),!0).forEach(function(t){aa(s,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):Za(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}var Ls={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.57031 3H21.4302L14.5002 12.8174V21H9.50023V12.8174L2.57031 3ZM6.43015 5L11.5002 12.1826V19H12.5002V12.1826L17.5703 5H6.43015Z"}}]},pt=l.forwardRef(function(s,a){return l.createElement(ea,Ya(Ya({},s),{},{id:"filter",ref:a,icon:Ls}))});pt.displayName="FilterIcon";function Xa(s,a){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);a&&(t=t.filter(function(c){return Object.getOwnPropertyDescriptor(s,c).enumerable})),e.push.apply(e,t)}return e}function Ja(s){for(var a=1;a<arguments.length;a++){var e=arguments[a]!=null?arguments[a]:{};a%2?Xa(Object(e),!0).forEach(function(t){aa(s,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):Xa(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}var Rs={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M13 7H16V17H13V7zM8 7H11V17H8V7z"}}]},ht=l.forwardRef(function(s,a){return l.createElement(ea,Ja(Ja({},s),{},{id:"pause-circle",ref:a,icon:Rs}))});ht.displayName="PauseCircleIcon";function et(s,a){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(s);a&&(t=t.filter(function(c){return Object.getOwnPropertyDescriptor(s,c).enumerable})),e.push.apply(e,t)}return e}function at(s){for(var a=1;a<arguments.length;a++){var e=arguments[a]!=null?arguments[a]:{};a%2?et(Object(e),!0).forEach(function(t){aa(s,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):et(Object(e)).forEach(function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(e,t))})}return s}var $s={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.5 4C9.567 4 8 5.567 8 7.5C8 9.433 9.567 11 11.5 11C13.433 11 15 9.433 15 7.5C15 5.567 13.433 4 11.5 4ZM6 7.5C6 4.46243 8.46243 2 11.5 2C14.5376 2 17 4.46243 17 7.5C17 10.5376 14.5376 13 11.5 13C8.46243 13 6 10.5376 6 7.5ZM19 13V17H23V19H19V23H17V19H13V17H17V13H19ZM8 16C5.79086 16 4 17.7909 4 20H12.0508V22H2V20C2 16.6863 4.68629 14 8 14H12V16H8Z"}}]},vt=l.forwardRef(function(s,a){return l.createElement(ea,at(at({},s),{},{id:"user-add",ref:a,icon:$s}))});vt.displayName="UserAddIcon";const Ms=30,Qs=({onPreviewOpen:s,onDownload:a,className:e})=>{const[t,c]=l.useState([]),[m,k]=l.useState(!0),[v,C]=l.useState(!1),[g,N]=l.useState(!1),x=l.useRef(0),P=l.useRef(null),E=l.useCallback(async f=>{try{return await nt.getArchivedTasks(f,Ms)}catch{return{tasks:[],hasMore:!1}}},[]);l.useEffect(()=>{let f=!1;return k(!0),x.current=0,E(0).then(D=>{f||(c(D.tasks),N(D.hasMore),x.current=D.tasks.length,k(!1))}),()=>{f=!0}},[E]);const T=l.useCallback(async()=>{if(v||!g)return;C(!0);const f=await E(x.current);c(D=>[...D,...f.tasks]),N(f.hasMore),x.current+=f.tasks.length,C(!1)},[v,g,E]);return l.useEffect(()=>{const f=P.current;if(!f)return;const D=()=>{f.scrollHeight-f.scrollTop-f.clientHeight<200&&T()};return f.addEventListener("scroll",D,{passive:!0}),()=>f.removeEventListener("scroll",D)},[T]),m?n.jsxDEV("div",{className:"task-queue-panel__empty",children:[n.jsxDEV(Je,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:89,columnNumber:9},void 0),n.jsxDEV("div",{className:"task-queue-panel__empty-text",children:"加载历史任务..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:90,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:88,columnNumber:7},void 0):t.length===0?n.jsxDEV("div",{className:"task-queue-panel__empty",children:[n.jsxDEV("div",{className:"task-queue-panel__empty-icon",children:"📦"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:98,columnNumber:9},void 0),n.jsxDEV("div",{className:"task-queue-panel__empty-text",children:"暂无历史任务"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:99,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:97,columnNumber:7},void 0):n.jsxDEV("div",{ref:P,className:e,style:{overflow:"auto",height:"100%"},children:[t.map(f=>n.jsxDEV(ds,{task:f,onPreviewOpen:s?()=>s(f.id):void 0,onDownload:a},f.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:111,columnNumber:9},void 0)),g&&n.jsxDEV("div",{style:{padding:"12px",textAlign:"center"},children:v?n.jsxDEV(Je,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:121,columnNumber:13},void 0):n.jsxDEV(Q,{size:"small",variant:"text",theme:"default",onClick:T,children:"加载更多"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:123,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:119,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:105,columnNumber:5},void 0)},zs=({character:s,onDelete:a,onSelect:e,compact:t=!1})=>{const[c,m]=l.useState(!1),k=s.status==="processing"||s.status==="pending",v=s.status==="failed",C=s.status==="completed",g=l.useCallback(async f=>{if(f.stopPropagation(),!s.username)return;const D=`@${s.username}`;try{await navigator.clipboard.writeText(D),w.success(`已复制: ${D}`)}catch(y){console.error("Failed to copy:",y),w.error("复制失败")}},[s.username]),N=l.useCallback(()=>{C&&e&&e(s)},[C,e,s]),x=l.useCallback(f=>{f.stopPropagation(),a==null||a(s.id)},[a,s.id]),P=l.useCallback(f=>{f.stopPropagation(),C&&s.profilePictureUrl&&m(!0)},[C,s.profilePictureUrl]),E=()=>s.profilePictureUrl||C?n.jsxDEV(F,{content:"点击查看大图",children:n.jsxDEV(fs,{characterId:s.id,profilePictureUrl:s.profilePictureUrl,alt:s.username||"Character",className:"character-card__avatar-img",onClick:P},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:93,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:92,columnNumber:9},void 0):n.jsxDEV("div",{className:"character-card__avatar-placeholder",children:n.jsxDEV(it,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:105,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:104,columnNumber:7},void 0),T=()=>k?n.jsxDEV("div",{className:"character-card__status character-card__status--processing",children:[n.jsxDEV(Je,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:115,columnNumber:11},void 0),n.jsxDEV("span",{children:"创建中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:116,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:114,columnNumber:9},void 0):v?n.jsxDEV("div",{className:"character-card__status character-card__status--failed",children:["创建失败: ",s.error||"未知错误"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:122,columnNumber:9},void 0):null;return t?n.jsxDEV("div",{className:`character-card character-card--compact ${k?"character-card--loading":""} ${v?"character-card--failed":""}`,onClick:N,children:[n.jsxDEV("div",{className:"character-card__avatar",children:E()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:139,columnNumber:9},void 0),n.jsxDEV("span",{className:"character-card__username-text",children:s.username||"创建中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:140,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:133,columnNumber:7},void 0):n.jsxDEV("div",{className:`character-card ${k?"character-card--loading":""} ${v?"character-card--failed":""}`,onClick:N,children:[n.jsxDEV("div",{className:"character-card__avatar",children:E()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:155,columnNumber:7},void 0),n.jsxDEV("div",{className:"character-card__info",children:[C&&s.username?n.jsxDEV(F,{content:"点击复制",children:n.jsxDEV("div",{className:"character-card__username",onClick:g,children:["@",s.username,n.jsxDEV(ms,{className:"character-card__username-copy"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:167,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:162,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:161,columnNumber:11},void 0):n.jsxDEV("div",{className:"character-card__username",style:{cursor:"default"},children:k?"创建中...":"角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:171,columnNumber:11},void 0),s.id&&n.jsxDEV(F,{content:s.id,placement:"bottom",children:n.jsxDEV("div",{className:"character-card__source",children:s.id},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:182,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:181,columnNumber:11},void 0),T()]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:158,columnNumber:7},void 0),n.jsxDEV("div",{className:"character-card__actions",children:n.jsxDEV(F,{content:"删除角色",children:n.jsxDEV(Q,{size:"small",variant:"text",theme:"danger",icon:n.jsxDEV(da,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:197,columnNumber:19},void 0),"data-track":"character_click_delete",onClick:x},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:193,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:192,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:191,columnNumber:7},void 0),s.profilePictureUrl&&n.jsxDEV(bs,{visible:c,onClose:()=>m(!1),items:[{url:s.profilePictureUrl,type:"image",title:`@${s.username||"Character"}`}]},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:206,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:148,columnNumber:5},void 0)},As=({onSelect:s,completedOnly:a=!1,maxItems:e,showHeader:t=!0,title:c="角色列表"})=>{const{characters:m,completedCharacters:k,pendingCharacters:v,isLoading:C,deleteCharacter:g,refreshCharacters:N}=lt(),[x,P]=h.useState(null),E=h.useMemo(()=>{let y=a?k:m;return y=[...y].sort((K,M)=>M.createdAt-K.createdAt),e&&y.length>e&&(y=y.slice(0,e)),y},[a,m,k,e]),T=l.useCallback(y=>{P(y)},[]),f=l.useCallback(async()=>{if(!x)return;await g(x)?w.success("角色已删除"):w.error("删除失败"),P(null)},[x,g]),D=l.useCallback(async()=>{await N(),w.success("已刷新")},[N]);return C?n.jsxDEV("div",{className:"character-list__loading",children:[n.jsxDEV(Je,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:89,columnNumber:9},void 0),n.jsxDEV("span",{children:"加载中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:90,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:88,columnNumber:7},void 0):E.length===0?n.jsxDEV("div",{className:"character-list",children:[t&&n.jsxDEV("div",{className:"character-list__header",children:[n.jsxDEV("h4",{children:c},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:101,columnNumber:13},void 0),n.jsxDEV(Q,{size:"small",variant:"text",icon:n.jsxDEV(ma,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:105,columnNumber:21},void 0),"data-track":"character_click_refresh",onClick:D},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:102,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:100,columnNumber:11},void 0),n.jsxDEV("div",{className:"character-list__empty",children:[n.jsxDEV("div",{className:"character-list__empty-icon",children:n.jsxDEV(vt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:113,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:112,columnNumber:11},void 0),n.jsxDEV("div",{children:"暂无角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:115,columnNumber:11},void 0),n.jsxDEV("div",{style:{fontSize:"12px",marginTop:"4px",color:"#999"},children:"从已完成的 Sora-2 视频中提取角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:116,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:111,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:98,columnNumber:7},void 0):n.jsxDEV("div",{className:"character-list",children:[t&&n.jsxDEV("div",{className:"character-list__header",children:[n.jsxDEV("h4",{children:[c,v.length>0&&n.jsxDEV("span",{style:{fontWeight:"normal",fontSize:"12px",color:"#666",marginLeft:"8px"},children:["(",v.length," 创建中)"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:131,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:128,columnNumber:11},void 0),n.jsxDEV(Q,{size:"small",variant:"text",icon:n.jsxDEV(ma,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:139,columnNumber:19},void 0),"data-track":"character_click_refresh",onClick:D},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:136,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:127,columnNumber:9},void 0),n.jsxDEV("div",{className:"character-list__items",children:E.map(y=>n.jsxDEV(zs,{character:y,onDelete:T,onSelect:s},y.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:148,columnNumber:11},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:146,columnNumber:7},void 0),n.jsxDEV(Xe,{open:!!x,title:"确认删除",description:"确定要删除此角色吗?删除后将无法在提示词中使用该角色。",confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:y=>{y||P(null)},onConfirm:f},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:158,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:125,columnNumber:5},void 0)},{TabPanel:Ge}=mt,Gs="task-queue-drawer-width",mr=({expanded:s,onClose:a,onTaskAction:e})=>{const{tasks:t,activeTasks:c,completedTasks:m,failedTasks:k,cancelledTasks:v,isLoading:C,isLoadingMore:g,hasMore:N,totalCount:x,loadedCount:P,loadMore:E,retryTask:T,deleteTask:f,clearCompleted:D,clearFailed:y,batchDeleteTasks:K,batchRetryTasks:M,batchCancelTasks:re}=Ft(),{board:L,openDialog:z}=Kt(),{characters:A}=lt(),[S,_]=l.useState("all"),[oe,de]=l.useState(!1),[he,U]=l.useState("completed"),[Z,ve]=l.useState(""),[$,G]=l.useState("all"),[fa,Be]=l.useState(null),[sa,je]=l.useState(!1),[Se,ra]=l.useState(0),[na,He]=l.useState("single"),[we,Ie]=l.useState(!1),[Le,De]=l.useState(""),[Re,$e]=l.useState(!1),[Ee,We]=l.useState(null),[Me,X]=l.useState(null),[le,ke]=l.useState(!1),[V,J]=l.useState(new Set),[ia,Qe]=l.useState(!1),[ze,qe]=l.useState(null),{isConfigured:la}=Zt(),[me,Pe]=l.useState(!1),[ua,ye]=l.useState(0),Ae=$==="character";l.useEffect(()=>{Sa.initCacheStatus()},[]),l.useEffect(()=>{if(!s)return;let i=!1;return nt.getArchivedTaskCount().then(r=>{i||qe(r)}).catch(()=>{i||qe(0)}),()=>{i=!0}},[s,S]);const ue=l.useMemo(()=>{let i;switch(S){case"all":i=t;break;case"active":i=c;break;case"completed":i=m;break;case"failed":i=k;break;case"cancelled":i=v;break;case"archived":return[];default:i=t}if($!=="all"&&$!=="character"&&(i=i.filter(r=>r.type===($==="image"?q.IMAGE:$==="audio"?q.AUDIO:$==="text"?q.CHAT:q.VIDEO))),Z.trim()){const r=Z.toLowerCase().trim();i=i.filter(u=>{var p,R,H,W,ge;return u.params.prompt.toLowerCase().includes(r)||String(((p=u.result)==null?void 0:p.title)||"").toLowerCase().includes(r)||String(((R=u.result)==null?void 0:R.lyricsTitle)||"").toLowerCase().includes(r)||String(((H=u.result)==null?void 0:H.lyricsText)||"").toLowerCase().includes(r)||String(((W=u.result)==null?void 0:W.chatResponse)||"").toLowerCase().includes(r)||(((ge=u.result)==null?void 0:ge.lyricsTags)||[]).some(d=>String(d).toLowerCase().includes(r))})}return[...i].sort((r,u)=>u.createdAt-r.createdAt)},[S,t,c,m,k,v,$,Z]),ca=i=>{U(i),de(!0)},oa=()=>{he==="completed"?D():y(),de(!1)},b=i=>{T(i),e==null||e("retry",i)},j=i=>{We(i),$e(!0)},B=()=>{Ee&&(f(Ee),e==null||e("delete",Ee)),$e(!1),We(null)},ne=()=>{le?(ke(!1),J(new Set)):ke(!0)},be=(i,r)=>{J(u=>{const p=new Set(u);return r?p.add(i):p.delete(i),p})},Fe=()=>{const i=ue.map(r=>r.id);J(new Set(i))},bt=()=>{J(new Set)},gt=()=>{V.size!==0&&Qe(!0)},Nt=()=>{K(Array.from(V)),J(new Set),ke(!1),Qe(!1),w.success(`已删除 ${V.size} 个任务`)},xt=()=>{const i=Array.from(V).filter(r=>{const u=t.find(p=>p.id===r);return(u==null?void 0:u.status)===ie.FAILED||(u==null?void 0:u.status)===ie.CANCELLED});if(i.length===0){w.warning("没有可重试的任务");return}M(i),J(new Set),ke(!1),w.success(`已重试 ${i.length} 个任务`)},pa=l.useMemo(()=>Array.from(V).filter(i=>{const r=t.find(u=>u.id===i);return(r==null?void 0:r.status)===ie.FAILED||(r==null?void 0:r.status)===ie.CANCELLED}).length,[V,t]),ha=l.useMemo(()=>Array.from(V).filter(i=>{const r=t.find(u=>u.id===i);return(r==null?void 0:r.status)===ie.PENDING||(r==null?void 0:r.status)===ie.PROCESSING}).length,[V,t]),va=l.useMemo(()=>Array.from(V).filter(i=>{const r=t.find(u=>u.id===i);return(r==null?void 0:r.status)===ie.COMPLETED&&((r==null?void 0:r.type)===q.IMAGE||(r==null?void 0:r.type)===q.VIDEO)}).length,[V,t]),Oe=l.useMemo(()=>({all:t.length,image:t.filter(i=>i.type===q.IMAGE).length,video:t.filter(i=>i.type===q.VIDEO).length,audio:t.filter(i=>i.type===q.AUDIO).length,text:t.filter(i=>i.type===q.CHAT).length,character:A.length}),[t,A]),kt=()=>{const i=Array.from(V).filter(r=>{const u=t.find(p=>p.id===r);return(u==null?void 0:u.status)===ie.PENDING||(u==null?void 0:u.status)===ie.PROCESSING});if(i.length===0){w.warning("没有可取消的进行中任务");return}re(i),J(new Set),ke(!1),w.success(`已取消 ${i.length} 个任务`)},yt=async()=>{const i=Array.from(V).filter(r=>{const u=t.find(p=>p.id===r);return(u==null?void 0:u.status)===ie.COMPLETED&&((u==null?void 0:u.type)===q.IMAGE||(u==null?void 0:u.type)===q.VIDEO)});if(!(i.length===0||me)){Pe(!0),ye(0);try{const r=await ss.syncMultipleTasks(i,(u,p)=>{ye(Math.round(u/p*100))});console.log("[TaskQueuePanel] Batch sync result:",r),ye(100),r.succeeded>0&&w.success(`已同步 ${r.succeeded} 个任务`),r.failed>0&&w.warning(`${r.failed} 个任务同步失败`)}catch(r){console.error("[TaskQueuePanel] Batch sync failed:",r),w.error("同步失败,请稍后重试")}finally{Pe(!1),ye(0)}}},ba=async i=>{const r=t.find(p=>p.id===i);if(r&&Ke(r)){w.info("歌词任务支持复制或插入画布");return}if(!r)return;const u=rs(r);if(u.length!==0)try{const p=await ns(u);p.openedCount>0&&p.downloadedCount===0?w.success(p.openedCount>1?`已打开 ${p.openedCount} 个链接,请在新标签页下载`:"资源不支持直接下载,已打开链接"):w.success(r.type===q.AUDIO?u.length>1?"多条音频已开始下载":"音频下载成功":u.length>1?"多图已开始下载":"下载成功"),e==null||e("download",i)}catch(p){console.error("Download failed:",p),w.error("下载失败,请稍后重试")}},Ct=async i=>{var p;const r=t.find(R=>R.id===i);if(!r||!Ke(r)){w.warning("暂无可复制的歌词");return}const u=$a(r);if(!u.trim()){w.warning("暂无可复制的歌词");return}if(!((p=navigator.clipboard)!=null&&p.writeText)){w.warning("当前环境不支持复制");return}try{await navigator.clipboard.writeText(u),w.success("歌词已复制"),e==null||e("copy",i)}catch(R){console.error("Failed to copy lyrics:",R),w.error("复制失败,请稍后重试")}},jt=async i=>{var u,p,R,H,W,ge,d,_e,fe,Te,Y,ee;const r=t.find(o=>o.id===i);if(!r||!L){console.warn("Cannot insert: task result or board not available"),w.warning("无法插入:白板未就绪");return}if(!((u=r.result)!=null&&u.url)&&!((R=(p=r.result)==null?void 0:p.urls)!=null&&R.length)&&!Ke(r)){const o=r.type===q.CHAT?(H=r.result)==null?void 0:H.chatResponse:void 0;if(o!=null&&o.trim()){const O=(r.params.prompt||"").slice(0,20)||void 0;await Ze({items:[{type:"text",content:o,label:O}]}),w.success("文本已插入到白板"),e==null||e("insert",i);return}console.warn("Cannot insert: task result is empty"),w.warning("无法插入:任务结果为空");return}try{const o=r.result;if(r.type===q.IMAGE){const O=(W=o.urls)!=null&&W.length?o.urls:[o.url];for(const ae of O)await La(L,Ia(ae));w.success(O.length>1?"多图已插入到白板":"图片已插入到白板")}else if(r.type===q.VIDEO)await is(L,o.url),w.success("视频已插入到白板");else if(r.type===q.AUDIO){if(Ke(r)){const pe=Ma(o,r.params.title||r.params.prompt)||(r.params.prompt||"").slice(0,20)||void 0;await Ze({items:[{type:"text",content:$a(r),label:pe,metadata:{title:Ma(o,r.params.title||r.params.prompt),tags:ls(o)}}]}),w.success("歌词已插入到白板"),e==null||e("insert",i);return}const O=gs(o),ae=(d=(ge=o.clips)==null?void 0:ge[0])==null?void 0:d.duration,te={title:o.title||r.params.title||r.params.prompt,duration:typeof ae=="number"?ae:o.duration,previewImageUrl:o.previewImageUrl,tags:typeof r.params.tags=="string"?r.params.tags:void 0,mv:typeof r.params.mv=="string"?r.params.mv:void 0,prompt:r.params.prompt,providerTaskId:o.providerTaskId||r.remoteId,clipId:o.primaryClipId||((fe=(_e=o.clips)==null?void 0:_e[0])==null?void 0:fe.clipId)||((Y=(Te=o.clips)==null?void 0:Te[0])==null?void 0:Y.id)||((ee=o.clipIds)==null?void 0:ee[0]),clipIds:o.clipIds};O.length===1?await us(L,O[0],te):await Ze({items:O.map((pe,se)=>{var ya,Ca,ja,wa,Da,Ea,qa,Pa,Oa,_a,Ta,Ua,Va;return{type:"audio",content:pe,groupId:`task-audio-${r.id}`,dimensions:{width:os,height:cs},metadata:{...te,title:((Ca=(ya=o.clips)==null?void 0:ya[se])==null?void 0:Ca.title)||`${te.title||"Audio"} ${se+1}`,previewImageUrl:((wa=(ja=o.clips)==null?void 0:ja[se])==null?void 0:wa.imageLargeUrl)||((Ea=(Da=o.clips)==null?void 0:Da[se])==null?void 0:Ea.imageUrl)||te.previewImageUrl,duration:typeof((Pa=(qa=o.clips)==null?void 0:qa[se])==null?void 0:Pa.duration)=="number"?o.clips[se].duration||void 0:te.duration,clipId:((_a=(Oa=o.clips)==null?void 0:Oa[se])==null?void 0:_a.clipId)||((Ua=(Ta=o.clips)==null?void 0:Ta[se])==null?void 0:Ua.id)||((Va=o.clipIds)==null?void 0:Va[se])||te.clipId}}})}),w.success(O.length>1?"多条音频卡片已插入到白板":"音频卡片已插入到白板")}else if(r.type===q.CHAT){const O=o.chatResponse||"",ae=(r.params.prompt||"").slice(0,20)||void 0;await Ze({items:[{type:"text",content:O,label:ae}]}),w.success("文本已插入到白板")}e==null||e("insert",i)}catch(o){console.error("Failed to insert to board:",o),w.error(`插入失败: ${o instanceof Error?o.message:"未知错误"}`)}},wt=i=>{var u,p,R,H;const r=t.find(W=>W.id===i);if(!r){console.warn("Cannot edit: task not found");return}if(r.type===q.IMAGE){const W={initialPrompt:r.params.prompt,initialWidth:r.params.width,initialHeight:r.params.height,initialImages:r.params.uploadedImages,initialResultUrl:(u=r.result)==null?void 0:u.url,initialResultUrls:(p=r.result)==null?void 0:p.urls};z(Ra.aiImageGeneration,W)}else if(r.type===q.VIDEO){const W={initialPrompt:r.params.prompt,initialDuration:typeof r.params.seconds=="string"?parseInt(r.params.seconds,10):r.params.seconds,initialModel:r.params.model,initialSize:r.params.size,initialImages:r.params.uploadedImages,initialResultUrl:(R=r.result)==null?void 0:R.url,initialResultUrls:(H=r.result)==null?void 0:H.urls};z(Ra.aiVideoGeneration,W)}else if(r.type===q.AUDIO){w.info("音频任务暂不支持从任务面板直接编辑");return}e==null||e("edit",i)},Dt=i=>{const r=t.find(u=>u.id===i);r&&(X(r),e==null||e("extractCharacter",i))},ga=l.useMemo(()=>{const i=new Set;return ue.filter(r=>{var u,p,R,H;return r.status!==ie.COMPLETED||!((u=r.result)!=null&&u.url)&&!((R=(p=r.result)==null?void 0:p.urls)!=null&&R.length)||r.type!==q.IMAGE&&r.type!==q.VIDEO&&!(r.type===q.AUDIO&&((H=r.result)==null?void 0:H.resultKind)!=="lyrics")||i.has(r.id)?!1:(i.add(r.id),!0)})},[ue]),{previewMediaItems:Et,taskIdToPreviewConfig:Na}=l.useMemo(()=>{var u,p,R,H,W,ge;const i=[],r=new Map;for(const d of ga){const _e=i.length,fe=((u=d.result)==null?void 0:u.title)||d.params.title||((p=d.params.prompt)==null?void 0:p.substring(0,50))||"媒体预览";if(d.type===q.AUDIO){const Y=((H=(R=d.result)==null?void 0:R.clips)==null?void 0:H.filter(O=>!!O.audioUrl).map((O,ae)=>{var te,pe,se;return{id:O.clipId||O.id||`${d.id}-${ae}`,url:O.audioUrl,type:"audio",title:O.title||((te=d.result)!=null&&te.clips&&d.result.clips.length>1?`${fe} (${ae+1}/${d.result.clips.length})`:fe),posterUrl:O.imageLargeUrl||O.imageUrl||((pe=d.result)==null?void 0:pe.previewImageUrl),duration:typeof O.duration=="number"?O.duration:(se=d.result)==null?void 0:se.duration,prompt:d.params.prompt,tags:typeof d.params.tags=="string"?d.params.tags:void 0,artist:d.params.model||d.params.mv||"Aitu",album:"Aitu Generated"}}))??[],ee=(W=d.result.urls)!=null&&W.length?d.result.urls:d.result.url?[d.result.url]:[],o=Y.length>0?Y:ee.map((O,ae)=>{var te,pe;return{id:ee.length>1?`${d.id}-${ae}`:d.id,url:O,type:"audio",title:ee.length>1?`${fe} (${ae+1}/${ee.length})`:fe,posterUrl:(te=d.result)==null?void 0:te.previewImageUrl,duration:(pe=d.result)==null?void 0:pe.duration,prompt:d.params.prompt,tags:typeof d.params.tags=="string"?d.params.tags:void 0,artist:d.params.model||d.params.mv||"Aitu",album:"Aitu Generated"}});i.push(...o)}else{const Y=(ge=d.result.urls)!=null&&ge.length?d.result.urls:[d.result.url],ee=d.type===q.VIDEO?"video":"image";for(let o=0;o<Y.length;o++){const O=ee==="image"?Ia(Y[o]):Y[o];i.push({id:Y.length>1?`${d.id}-${o}`:d.id,url:O,type:ee,title:Y.length>1?`${fe} (${o+1}/${Y.length})`:fe})}}const Te=i.length-_e;r.set(d.id,{mode:d.type===q.AUDIO&&Te>1?"compare":"single",index:d.type===q.AUDIO&&Te>1?Array.from({length:Math.min(Te,4)},(Y,ee)=>_e+ee):_e})}return{previewMediaItems:i,taskIdToPreviewConfig:r}},[ga]),xa=l.useCallback(i=>{Be(i);const r=Na.get(i);r!==void 0&&(He(r.mode),ra(r.index),je(!0))},[Na]),qt=l.useCallback(()=>{Be(null),je(!1)},[]),Pt=l.useCallback(i=>{i.type==="image"&&(De(i.url),Ie(!0),je(!1))},[]),Ot=l.useCallback(async i=>{if(L)try{const r=`edited-image-${Date.now()}`,u=`/__aitu_cache__/image/${r}.png`,R=await(await fetch(i)).blob();await Sa.cacheMediaFromBlob(u,R,"image",{taskId:r}),await La(L,u),Ie(!1),De("")}catch(r){console.error("Failed to insert edited image:",r)}},[L]),_t=l.useCallback(()=>{a==null||a()},[a]),Tt=x>0?x:t.length,ka="这里只显示最近 100 个任务,更早的任务会自动移到“历史”中继续保留。",Ut=n.jsxDEV(F,{content:ka,children:n.jsxDEV("span",{children:["全部 (",Tt,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:951,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:950,columnNumber:5},void 0),Vt=ze===null?"历史":`历史 (${ze})`,St=x>=100?`已加载最近 ${x} 个任务,较早任务已移至“历史”`:`已加载全部 ${x} 个任务`,It=n.jsxDEV("div",{className:"task-queue-panel__filters-container",children:[n.jsxDEV(mt,{value:S,onChange:i=>_(i),children:[n.jsxDEV(Ge,{value:"all",label:Ut},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:968,columnNumber:9},void 0),n.jsxDEV(Ge,{value:"active",label:`生成中 (${c.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:969,columnNumber:9},void 0),n.jsxDEV(Ge,{value:"failed",label:`失败 (${k.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:970,columnNumber:9},void 0),n.jsxDEV(Ge,{value:"completed",label:`已完成 (${m.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:971,columnNumber:9},void 0),n.jsxDEV(Ge,{value:"archived",label:Vt},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:975,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:964,columnNumber:7},void 0),S!=="archived"&&n.jsxDEV("div",{className:"task-queue-panel__filters",children:[n.jsxDEV("div",{className:"task-queue-panel__type-filters",children:[n.jsxDEV(F,{content:`全部 (${Oe.all})`,children:n.jsxDEV(Q,{size:"small",variant:"text",shape:"square",onClick:()=>G("all"),className:$==="all"?"task-queue-panel__filter-btn--active":"",children:n.jsxDEV(pt,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:994,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:983,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:982,columnNumber:13},void 0),n.jsxDEV(F,{content:`图片 (${Oe.image})`,children:n.jsxDEV(Q,{size:"small",variant:"text",shape:"square",onClick:()=>G("image"),className:$==="image"?"task-queue-panel__filter-btn--active":"",children:n.jsxDEV(js,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1009,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:998,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:997,columnNumber:13},void 0),n.jsxDEV(F,{content:`视频 (${Oe.video})`,children:n.jsxDEV(Q,{size:"small",variant:"text",shape:"square",onClick:()=>G("video"),className:$==="video"?"task-queue-panel__filter-btn--active":"",children:n.jsxDEV(ws,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1024,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1013,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1012,columnNumber:13},void 0),n.jsxDEV(F,{content:`音频 (${Oe.audio})`,children:n.jsxDEV(Q,{size:"small",variant:"text",shape:"square",onClick:()=>G("audio"),className:$==="audio"?"task-queue-panel__filter-btn--active":"",children:n.jsxDEV(Yt,{size:16,strokeWidth:1.9},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1039,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1028,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1027,columnNumber:13},void 0),n.jsxDEV(F,{content:`文本 (${Oe.text})`,children:n.jsxDEV(Q,{size:"small",variant:"text",shape:"square",onClick:()=>G("text"),className:$==="text"?"task-queue-panel__filter-btn--active":"",children:"文"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1043,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1042,columnNumber:13},void 0),n.jsxDEV(F,{content:`角色 (${Oe.character})`,children:n.jsxDEV(Q,{size:"small",variant:"text",shape:"square",onClick:()=>G("character"),className:$==="character"?"task-queue-panel__filter-btn--active":"",children:n.jsxDEV(it,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1069,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1058,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1057,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:981,columnNumber:11},void 0),n.jsxDEV("div",{className:"task-queue-panel__search-row",children:[n.jsxDEV(Xt,{value:Z,onChange:i=>ve(i),placeholder:"搜索...",clearable:!0,prefixIcon:n.jsxDEV(Jt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1081,columnNumber:27},void 0),size:"small",className:"task-queue-panel__search-input"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1076,columnNumber:13},void 0),n.jsxDEV("div",{className:"task-queue-panel__filter-actions",children:[n.jsxDEV(F,{content:le?"退出多选":"批量操作",children:n.jsxDEV(Q,{size:"small",variant:le?"base":"outline",theme:le?"primary":"default",icon:n.jsxDEV(ft,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1092,columnNumber:25},void 0),"data-track":"task_click_toggle_selection",onClick:ne,children:le?"退出":"多选"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1088,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1087,columnNumber:15},void 0),k.length>0&&!le&&n.jsxDEV(F,{content:"清除失败",children:n.jsxDEV(Q,{size:"small",variant:"text",theme:"default",icon:n.jsxDEV(da,{style:{color:"var(--td-text-color-placeholder)"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1107,columnNumber:23},void 0),"data-track":"task_click_clear_failed",onClick:()=>ca("failed"),className:"task-queue-panel__clear-btn"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1102,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1101,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1086,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1075,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:979,columnNumber:9},void 0),le&&!Ae&&n.jsxDEV("div",{className:"task-queue-panel__batch-actions",children:[n.jsxDEV("div",{className:"task-queue-panel__batch-select",children:[n.jsxDEV(es,{checked:V.size===ue.length&&ue.length>0,indeterminate:V.size>0&&V.size<ue.length,onChange:i=>i?Fe():bt()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1126,columnNumber:13},void 0),n.jsxDEV("span",{className:"task-queue-panel__batch-count",children:["已选 ",V.size," / ",ue.length]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1139,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1125,columnNumber:11},void 0),n.jsxDEV("div",{className:"task-queue-panel__batch-buttons",children:[ha>0&&n.jsxDEV(Q,{size:"small",variant:"outline",theme:"warning",icon:n.jsxDEV(ht,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1149,columnNumber:23},void 0),"data-track":"task_click_batch_cancel",onClick:kt,children:["取消 (",ha,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1145,columnNumber:15},void 0),pa>0&&n.jsxDEV(Q,{size:"small",theme:"primary",icon:n.jsxDEV(ma,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1160,columnNumber:23},void 0),"data-track":"task_click_batch_retry",onClick:xt,children:["重试 (",pa,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1157,columnNumber:15},void 0),la&&va>0&&n.jsxDEV(F,{content:"同步选中的任务到云端",placement:"bottom",children:n.jsxDEV(Q,{size:"small",variant:"outline",icon:n.jsxDEV(xs,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1172,columnNumber:25},void 0),"data-track":"task_click_batch_sync",onClick:yt,disabled:me,loading:me,children:me?`${ua}%`:`同步 (${va})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1169,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1168,columnNumber:15},void 0),n.jsxDEV(Q,{size:"small",variant:"text",theme:"default",icon:n.jsxDEV(da,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1188,columnNumber:21},void 0),"data-track":"task_click_batch_delete",onClick:gt,disabled:V.size===0,children:["删除 (",V.size,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1184,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1143,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1124,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:963,columnNumber:5},void 0);return n.jsxDEV(n.Fragment,{children:[n.jsxDEV(vs,{isOpen:s,onClose:_t,title:"任务队列",filterSection:It,position:"toolbar-right",width:"responsive",storageKey:Gs,showBackdrop:!1,closeOnEsc:!1,showCloseButton:!0,className:"task-queue-panel",contentClassName:"task-queue-panel__content",resizable:!0,minWidth:320,maxWidth:1024,"data-testid":"task-queue-panel",children:Ae?n.jsxDEV(As,{showHeader:!1,title:""},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1223,columnNumber:11},void 0):S==="archived"?n.jsxDEV(Qs,{onPreviewOpen:xa,onDownload:ba,className:"task-queue-panel__list"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1226,columnNumber:11},void 0):n.jsxDEV(ps,{tasks:ue,selectionMode:le,selectedTaskIds:V,onSelectionChange:be,onRetry:b,onDelete:j,onDownload:ba,onInsert:jt,onCopy:Ct,onEdit:wt,onPreviewOpen:xa,onExtractCharacter:Dt,hasMore:N,isLoadingMore:g,onLoadMore:E,totalCount:x,loadedCount:P,allLoadedText:St,allLoadedHint:x>=100?ka:void 0,className:"task-queue-panel__list",emptyContent:C?n.jsxDEV("div",{className:"task-queue-panel__empty",children:[n.jsxDEV("div",{className:"task-queue-panel__empty-icon",children:"⏳"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1257,columnNumber:19},void 0),n.jsxDEV("div",{className:"task-queue-panel__empty-text",children:"加载中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1258,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1256,columnNumber:17},void 0):n.jsxDEV("div",{className:"task-queue-panel__empty",children:[n.jsxDEV("div",{className:"task-queue-panel__empty-icon",children:"📋"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1262,columnNumber:19},void 0),n.jsxDEV("div",{className:"task-queue-panel__empty-text",children:S==="all"?"暂无任务":`暂无${S==="active"?"生成中":S==="completed"?"已完成":S==="failed"?"失败":"已取消"}任务`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1263,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1261,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1233,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1203,columnNumber:7},void 0),n.jsxDEV(Xe,{open:oe,title:"确认清除",description:`确定要清除所有${he==="completed"?"已完成":"失败"}的任务吗?此操作无法撤销。`,confirmText:"清除",cancelText:"取消",danger:!0,onOpenChange:de,onConfirm:oa},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1284,columnNumber:7},void 0),n.jsxDEV(Xe,{open:Re,title:"确认删除",description:"确定要删除此任务吗?此操作无法撤销。",confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:$e,onConfirm:B},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1298,columnNumber:7},void 0),n.jsxDEV(Xe,{open:ia,title:"确认批量删除",description:`确定要删除选中的 ${V.size} 个任务吗?此操作无法撤销。`,confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:Qe,onConfirm:Nt},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1310,columnNumber:7},void 0),n.jsxDEV(as,{visible:sa,items:Et,initialMode:na,initialIndex:Se,onClose:qt,showThumbnails:!0,onEdit:Pt},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1322,columnNumber:7},void 0),we&&Le&&n.jsxDEV(ts,{visible:we,imageUrl:Le,showOverwrite:!1,onClose:()=>{Ie(!1),De("")},onInsert:L?Ot:void 0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1334,columnNumber:9},void 0),n.jsxDEV(hs,{visible:!!Me,task:Me,onClose:()=>X(null),onCreateStart:()=>{},onCreateComplete:i=>{X(null)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1347,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1202,columnNumber:5},void 0)};export{Gs as TASK_DRAWER_WIDTH_KEY,mr as TaskQueuePanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as n}from"./_baseFlatten-DHT6_8EL.js";import{bf as o,bg as s}from"./index-CLp1N2JZ.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 +0,0 @@
|
|
|
1
|
-
import{U as a,C as n}from"./mermaid.core-DQGbcicL.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as a,C as n}from"./index-BcO0jvMY.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
package/assets/clone-DMkRnOiD.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./graph-B7_YBdiF.js";var e=4;function a(o){return r(o,e)}export{a as c};
|
package/assets/clone-jEb1TSUN.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{az as r}from"./index-CLp1N2JZ.js";var a=4;function n(o){return r(o,a)}export{n as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as o,p as e}from"./flowDb-956e92f1-C1e0_b4D.js";import{f as a,a as t}from"./styles-c10674c1-CRA4Rhbz.js";import{y as i}from"./mermaid.core-DQGbcicL.js";import"./graph-B7_YBdiF.js";import"./layout-a3RfPzuD.js";import"./index-3862675e-DqCaYyno.js";import"./clone-DMkRnOiD.js";import"./edges-e0da2a9e-CZg0dJ7e.js";import"./createText-2e5e7dd3-tEJFXclV.js";import"./index-CLp1N2JZ.js";import"./line-DvT1zUiJ.js";import"./array-B5oSNiGi.js";import"./path-CY0bYimO.js";import"./channel-CBV8i3Jf.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as o,p as i}from"./flowDb-956e92f1-DSmVZJdU.js";import{f as m,a as t}from"./styles-c10674c1-COY2QM5h.js";import{z as p}from"./index-BcO0jvMY.js";import"./graph-czHcr1bG.js";import"./layout-CNovTgcJ.js";import"./index-3862675e-dB13VUjK.js";import"./index-CLp1N2JZ.js";import"./clone-jEb1TSUN.js";import"./edges-e0da2a9e-DdZcggFY.js";import"./createText-2e5e7dd3-D5vBY76-.js";import"./index-BDQbV2jT.js";import"./browser-BV_Vo8ib.js";import"./line-CDzoo4WB.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./channel-n9jkWJRh.js";import"./memoize-DRWJ2oTL.js";import"./isEmpty-B0mmAwLs.js";import"./has-aqa_Fwg4.js";import"./hasIn-BDL07gxd.js";import"./_baseFlatten-DHT6_8EL.js";import"./_flatRest-CXdsvGPY.js";import"./pick-C6VtGb4t.js";import"./last-DXTTfs9a.js";const V={parser:i,db:o,renderer:t,styles:m,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,p({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{V as diagram};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{b as t,I as je,_ as we,gb as ns,ax as Ne,x as s,gc as os,c$ as A,ac as j,gd as ls,ge as ds,gf as ms,K as fs,gg as ps,gh as hs,fh as Ns,gi as xs,gj as gs,gk as bs,gl as ks,d4 as vs,gm as ke,eF as ys,H as oe,gn as js,go as ws,aC as re,gp as Es,bO as qs,gq as Ts,bl as Ds,bS as Ee,bm as _s,dF as qe}from"./index-CLp1N2JZ.js";import{i as Vs,s as Us,f as Is,g as Cs,c as Te}from"./character-api-service-C-_8TuNT.js";import{I as Ss}from"./image-C--jLg-o.js";import{V as Os}from"./video-UIyGGGOK.js";import{T as Q}from"./index-C9YPl9-V.js";import{D as Rs}from"./download-hxWX9Zug.js";/* empty css */import{a as De,c as se}from"./character-storage-service-C2yg9sZZ.js";function Ke(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);a&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,i)}return r}function Ze(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?Ke(Object(r),!0).forEach(function(i){we(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ke(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}var Ls={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.0002 19.5L11.0002 7.91424L6.50015 12.4142L5.08594 11L12.0002 4.08582L18.9144 11L17.5001 12.4142L13.0002 7.91424L13.0002 19.5H11.0002Z"}}]},Ue=t.forwardRef(function(e,a){return t.createElement(je,Ze(Ze({},e),{},{id:"arrow-up",ref:a,icon:Ls}))});Ue.displayName="ArrowUpIcon";function Xe(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);a&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,i)}return r}function Ye(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?Xe(Object(r),!0).forEach(function(i){we(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xe(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}var As={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21ZM23 12C23 18.0751 18.0751 23 12 23C5.92487 23 0.999999 18.0751 1 12C1 5.92487 5.92487 0.999999 12 1C18.0751 1 23 5.92487 23 12ZM7.40347 15.1823L10.5858 12L7.40347 8.81768L8.81768 7.40347L12 10.5858L15.1816 7.40415L16.5959 8.81836L13.4142 12L16.5959 15.1816L15.1816 16.5959L12 13.4142L8.81768 16.5965L7.40347 15.1823Z"}}]},cs=t.forwardRef(function(e,a){return t.createElement(je,Ye(Ye({},e),{},{id:"close-circle",ref:a,icon:As}))});cs.displayName="CloseCircleIcon";function Qe(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);a&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,i)}return r}function Je(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?Qe(Object(r),!0).forEach(function(i){we(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qe(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}var Ms={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2 2H15V7.5H13V4H4V13H7.5V15H2V2ZM9 9H22V22H9V9ZM11 11V20H20V11H11Z"}}]},Ie=t.forwardRef(function(e,a){return t.createElement(je,Je(Je({},e),{},{id:"copy",ref:a,icon:Ms}))});Ie.displayName="CopyIcon";function es(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);a&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,i)}return r}function ss(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?es(Object(r),!0).forEach(function(i){we(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):es(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}var Ps={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12 4C10.067 4 8.5 5.567 8.5 7.5C8.5 9.433 10.067 11 12 11C13.933 11 15.5 9.433 15.5 7.5C15.5 5.567 13.933 4 12 4ZM6.5 7.5C6.5 4.46243 8.96243 2 12 2C15.0376 2 17.5 4.46243 17.5 7.5C17.5 10.5376 15.0376 13 12 13C8.96243 13 6.5 10.5376 6.5 7.5ZM3 19C3 16.2386 5.23858 14 8 14H16C18.7614 14 21 16.2386 21 19V22H3V19ZM8 16C6.34315 16 5 17.3431 5 19V20H19V19C19 17.3431 17.6569 16 16 16H8Z"}}]},ye=t.forwardRef(function(e,a){return t.createElement(je,ss(ss({},e),{},{id:"user",ref:a,icon:Ps}))});ye.displayName="UserIcon";const zs=({className:e,style:a})=>s.jsxDEV("div",{className:e,style:{...a,background:"linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%)",backgroundSize:"200% 100%",animation:"shimmer 1.5s infinite",borderRadius:"8px",minHeight:"100px",width:"100%"},children:s.jsxDEV("style",{children:`
|
|
2
|
-
@keyframes shimmer {
|
|
3
|
-
0% { background-position: 200% 0; }
|
|
4
|
-
100% { background-position: -200% 0; }
|
|
5
|
-
}
|
|
6
|
-
`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/retry-image.tsx",lineNumber:60,columnNumber:5},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/retry-image.tsx",lineNumber:48,columnNumber:3},void 0);function Hs(e){if(e.startsWith("data:")||e.startsWith("blob:"))return e;try{const a=new URL(e,window.location.origin);return a.searchParams.has("bypass_sw")||a.searchParams.set("bypass_sw","1"),a.toString()}catch{const a=e.includes("?")?"&":"?";return`${e}${a}bypass_sw=1`}}function $s(e){return e.startsWith("data:")||e.startsWith("blob:")||e.includes("/__aitu_cache__/")||e.includes("/asset-library/")||e.includes("thumbnail=")}function _e(e){return e.startsWith("/__aitu_cache__/")||e.startsWith("/asset-library/")}function Bs(){return typeof navigator<"u"&&"serviceWorker"in navigator&&!!navigator.serviceWorker.controller}const Ve=({src:e,alt:a,maxRetries:r=5,initialRetryDelay:i=1e3,onLoadSuccess:o,onLoadFailure:m,fallback:V,showSkeleton:E=!0,bypassSWAfterRetries:w=2,eager:S,...p})=>{const h=t.useMemo(()=>ns(e),[e]),d=S??$s(h),[n,c]=t.useState(h),[b,k]=t.useState(0),[N,x]=t.useState(!0),[y,M]=t.useState(!1),[X,U]=t.useState(!1),q=t.useRef(null),$=t.useRef(null),T=t.useCallback(async I=>{if(!_e(I))return null;try{const z=await Ne.getCachedBlob(I);if(z&&z.size>0)return URL.createObjectURL(z)}catch(z){console.warn("[RetryImage] Failed to get blob for virtual URL:",I,z)}return null},[]),P=t.useCallback(I=>i*Math.pow(2,I),[i]),B=t.useCallback(()=>{x(!1),M(!1),o==null||o()},[o]),D=t.useCallback(async()=>{if(h.startsWith("data:")){x(!1),M(!0),m==null||m(new Error("Failed to load inline data image"));return}if(b<r){const I=P(b),z=b+1,ae=z>=w&&!X;if(ae&&U(!0),ae&&_e(h)&&!q.current){const H=await T(h);if(H){q.current=H,k(z),c(H);return}}$.current=setTimeout(()=>{if(k(z),q.current){c(`${q.current}#retry=${Date.now()}`);return}let H=h;(ae||X)&&(H=Hs(H));const ne=H.includes("?")?"&":"?";H=`${H}${ne}_retry=${Date.now()}`,c(H)},I)}else{x(!1),M(!0);const I=new Error(`Failed to load image after ${r} retries`);m==null||m(I)}},[b,r,h,P,m,X,w,T]);return t.useEffect(()=>(q.current&&(URL.revokeObjectURL(q.current),q.current=null),k(0),x(!0),M(!1),U(!1),_e(h)&&!Bs()?T(h).then(I=>{I?(q.current=I,c(I)):c(h)}):c(h),()=>{$.current&&clearTimeout($.current)}),[h,T]),t.useEffect(()=>()=>{$.current&&clearTimeout($.current),q.current&&(URL.revokeObjectURL(q.current),q.current=null)},[]),y&&V?s.jsxDEV(s.Fragment,{children:V},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/retry-image.tsx",lineNumber:306,columnNumber:12},void 0):s.jsxDEV("div",{style:{position:"relative",width:"100%",height:"100%"},children:[N&&E&&s.jsxDEV(zs,{className:p.className,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",...p.style}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/retry-image.tsx",lineNumber:314,columnNumber:9},void 0),s.jsxDEV("img",{...p,src:n,alt:a,loading:d?"eager":"lazy",decoding:d?"sync":"async",referrerPolicy:"no-referrer",onLoad:B,onError:D,style:{...p.style,opacity:N?0:1,transition:"opacity 0.3s ease-out",width:"100%",height:"100%"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/retry-image.tsx",lineNumber:327,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/retry-image.tsx",lineNumber:311,columnNumber:5},void 0)},Gs=({taskType:e,taskStatus:a,realProgress:r,startedAt:i,mediaUrl:o,isImageLoading:m=!1,onImageLoaded:V,onImageError:E,estimatedDuration:w=ms})=>{const[S,p]=t.useState(1),h=t.useRef(null),{displayProgress:d}=os({taskType:e,taskStatus:a,startedAt:i,realProgress:r,mediaUrl:o,isImageLoading:m,estimatedDuration:w}),n=90,c=80,b=.5,k=1.2;if(t.useEffect(()=>{const M=h.current;if(!M)return;const X=()=>{const{width:q,height:$}=M.getBoundingClientRect(),T=$-10,P=q-20,B=T/n,D=P/c,I=Math.min(B,D,k);p(Math.max(I,b))};X();const U=new ResizeObserver(X);return U.observe(M),()=>U.disconnect()},[]),a!==A.PROCESSING)return null;const N=d??0,x=e===j.IMAGE?ls(N,!!o,m):e===j.AUDIO?N<10?"提交任务...":N<45?"生成旋律...":N<85?"渲染音轨...":"整理结果...":N<10?"准备中...":N<50?"生成中...":N<90?"渲染中...":"即将完成...",y=["task-progress-overlay",e===j.VIDEO||e===j.AUDIO?"task-progress-overlay--video":"",o&&m?"task-progress-overlay--loading":""].filter(Boolean).join(" ");return s.jsxDEV("div",{ref:h,className:y,children:[s.jsxDEV("div",{className:"task-progress-overlay__backdrop"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskProgressOverlay.tsx",lineNumber:142,columnNumber:7},void 0),s.jsxDEV("div",{className:"task-progress-overlay__pulse"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskProgressOverlay.tsx",lineNumber:143,columnNumber:7},void 0),s.jsxDEV("div",{className:"task-progress-overlay__dots"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskProgressOverlay.tsx",lineNumber:144,columnNumber:7},void 0),s.jsxDEV("div",{className:"task-progress-overlay__content",style:{transform:`scale(${S})`},children:s.jsxDEV(ds,{progress:N,progressMode:"determinate",statusText:x,tone:o&&m?"loading":"default",className:"task-progress-overlay__progress"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskProgressOverlay.tsx",lineNumber:151,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskProgressOverlay.tsx",lineNumber:147,columnNumber:7},void 0),s.jsxDEV("div",{className:"task-progress-overlay__bar",children:s.jsxDEV("div",{className:"task-progress-overlay__bar-fill",style:{width:`${N}%`}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskProgressOverlay.tsx",lineNumber:162,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskProgressOverlay.tsx",lineNumber:161,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskProgressOverlay.tsx",lineNumber:140,columnNumber:5},void 0)},Fs=500;function Ws(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return null;const a=Math.round(e),r=Math.floor(a/60),i=a%60;return`${r}:${String(i).padStart(2,"0")}`}function pe(e){return typeof e=="string"&&e.trim()?e.trim():void 0}function Ks(e){if(!e)return!1;const a=e.toLowerCase();return a==="kling_video"||a.startsWith("kling-v")}function Zs(e){if(e==="text2video")return"文生视频";if(e==="image2video")return"图生视频"}function Xs(e){return e==="std"?"std 高性能":e==="pro"?"pro 高表现":e}function Ce(e){const a=e.params.videoAnalyzerAction;return a==="analyze"||a==="rewrite"?a:null}function Ys(e){const a=Ce(e);if(a==="analyze")return pe(e.params.videoAnalyzerSourceLabel)||null;if(a==="rewrite"){const r=pe(e.params.prompt);return r?r.replace(/^改编脚本:\s*/,""):null}return null}function Qs(e){const a=Ce(e);return a==="analyze"?"视频分析":a==="rewrite"?"脚本改编":null}function Js(e){switch(e){case A.PENDING:case A.PROCESSING:return"primary";case A.COMPLETED:return"success";case A.FAILED:return"danger";case A.CANCELLED:return"default";default:return"default"}}function ea(e){switch(e){case A.PENDING:case A.PROCESSING:return"处理中";case A.COMPLETED:return"已完成";case A.FAILED:return"失败";case A.CANCELLED:return"已取消";default:return"未知"}}const as=fs.memo(({task:e,selectionMode:a=!1,isSelected:r=!1,isCompact:i,onSelectionChange:o,onRetry:m,onDelete:V,onDownload:E,onInsert:w,onCopy:S,onPreviewOpen:p,onEdit:h,onExtractCharacter:d})=>{var F,Z,O,fe,de,te,xe,he,Se,Oe,Re,Le,Ae,Me,Pe,ze,He,$e,Be,Ge,Fe,We;const[n,c]=t.useState(null),[b,k]=t.useState(!1),N=t.useRef(null),x=e.status===A.COMPLETED,y=e.status===A.FAILED,M=e.status===A.CANCELLED,X=y||M,U=i!==void 0?i:b;t.useEffect(()=>{if(i!==void 0)return;const g=N.current;if(!g)return;const ie=new ResizeObserver(ge=>{for(const be of ge){const us=be.contentRect.width;k(us<Fs)}});return ie.observe(g),()=>ie.disconnect()},[i]);const q=((F=e.params.storyboard)==null?void 0:F.enabled)===!0,$=x&&e.type===j.VIDEO&&Vs(e.remoteId)&&Us(e.params.model)&&!q,T=e.type===j.CHARACTER,P=e.type===j.AUDIO,B=e.type===j.CHAT,D=P&&ps(e.result),I=e.type===j.IMAGE||e.type===j.VIDEO||e.type===j.AUDIO&&!D,z=hs(e.result),ae=Ns(e.result,e.params.title||e.params.prompt),H=xs(z),ne=gs(e.result),ce=Ce(e),J=Ys(e),me=Qs(e),Y=T?x&&((Z=e.result)!=null&&Z.characterUsername)?`@${e.result.characterUsername}`:"角色创建中...":B?((O=e.result)==null?void 0:O.title)||e.params.prompt||((fe=e.result)==null?void 0:fe.chatResponse):D?ae||H||e.params.prompt:((de=e.result)==null?void 0:de.title)||e.params.title||e.params.prompt,G=e.params.params&&typeof e.params.params=="object"?e.params.params:null,l=e.type===j.AUDIO&&!D?Ws((te=e.result)==null?void 0:te.duration):null,_=e.type===j.VIDEO&&Ks(e.params.model),L=pe(G==null?void 0:G.model_name)||((xe=e.params.model)!=null&&xe.toLowerCase().startsWith("kling-v")?e.params.model:void 0),C=Xs(pe(G==null?void 0:G.mode)),W=pe(G==null?void 0:G.klingAction2),le=Zs(W);pe(G==null?void 0:G.cfg_scale);const ue=D?void 0:((Se=(he=e.result)==null?void 0:he.urls)==null?void 0:Se[0])||((Oe=e.result)==null?void 0:Oe.url),u=e.type===j.IMAGE&&ue?ns(ue):ue;bs(T||P?void 0:u);const f=D?0:((Le=(Re=e.result)==null?void 0:Re.urls)==null?void 0:Le.length)||((Ae=e.result)!=null&&Ae.url?1:0),v=P?D||(Me=e.result)==null?void 0:Me.previewImageUrl:u,R=ks(v,e.type===j.IMAGE?"image":void 0,"small");t.useEffect(()=>{if(x&&v&&e.type===j.IMAGE){const g=new Image;g.onload=()=>{c({width:g.naturalWidth,height:g.naturalHeight})},g.onerror=()=>{c(null)},g.src=v}},[x,v,e.type]);const ee=g=>{const ie=g.target;ie.closest("button")||ie.closest(".t-checkbox")||ie.closest("a")||ie.closest(".task-item__preview")||(a?o==null||o(e.id,!r):x&&u&&I&&(p==null||p()))},K=g=>{g.stopPropagation(),x&&u&&I&&(p==null||p())};return s.jsxDEV("div",{ref:N,className:`task-item ${a?"task-item--selection-mode":""} ${r?"task-item--selected":""} ${U?"task-item--compact":"task-item--wide"} task-item--${e.status.toLowerCase()}`,onClick:ee,children:[a&&s.jsxDEV("div",{className:"task-item__checkbox",children:s.jsxDEV(vs,{checked:r,onChange:g=>o==null?void 0:o(e.id,g)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:499,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:498,columnNumber:11},void 0),(x||y||e.status===A.PROCESSING)&&(v||T||B||e.type===j.VIDEO||e.type===j.IMAGE||e.type===j.AUDIO)&&s.jsxDEV("div",{className:"task-item__preview-wrapper",children:s.jsxDEV("div",{className:"task-item__preview","data-track":"task_click_preview",onClick:K,children:y?s.jsxDEV("div",{className:"task-item__preview-failed",children:[s.jsxDEV(cs,{size:"24px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:525,columnNumber:21},void 0),s.jsxDEV("span",{children:"生成失败"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:526,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:524,columnNumber:19},void 0):e.status===A.PROCESSING?B?s.jsxDEV("div",{className:"task-item__preview-placeholder",children:s.jsxDEV("span",{children:ce==="analyze"?`视频分析中 ${Math.round(e.progress??0)}%`:ce==="rewrite"?`脚本改编中 ${Math.round(e.progress??0)}%`:"生成文本中"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:531,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:530,columnNumber:21},void 0):s.jsxDEV(Gs,{taskType:e.type,taskStatus:e.status,realProgress:e.progress,startedAt:e.startedAt,mediaUrl:v},e.startedAt,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:541,columnNumber:21},void 0):s.jsxDEV(s.Fragment,{children:e.type===j.IMAGE&&u?s.jsxDEV(s.Fragment,{children:[s.jsxDEV(Ve,{src:R||u,alt:"Generated",maxRetries:5,fallback:s.jsxDEV("div",{className:"task-item__preview-placeholder",children:s.jsxDEV("span",{children:"图片加载失败"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:561,columnNumber:31},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:560,columnNumber:29},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:555,columnNumber:25},void 0),f>1&&s.jsxDEV("span",{className:"task-item__multi-badge",children:[f,"张"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:566,columnNumber:27},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:554,columnNumber:23},void 0):P&&v?s.jsxDEV(s.Fragment,{children:[s.jsxDEV(Ve,{src:v,alt:Y||"音频封面",maxRetries:3,fallback:s.jsxDEV("div",{className:"task-item__preview-placeholder",children:[s.jsxDEV(ke,{size:"24px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:579,columnNumber:31},void 0),s.jsxDEV("span",{children:"音频封面"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:580,columnNumber:31},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:578,columnNumber:29},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:573,columnNumber:25},void 0),s.jsxDEV("div",{className:"task-item__video-play-overlay",children:s.jsxDEV(ke,{size:"28px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:585,columnNumber:27},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:584,columnNumber:25},void 0),f>1&&s.jsxDEV("span",{className:"task-item__multi-badge",children:[f,"首"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:588,columnNumber:27},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:572,columnNumber:23},void 0):D?s.jsxDEV("div",{className:"task-item__preview-placeholder",children:[s.jsxDEV(Ie,{size:"24px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:595,columnNumber:25},void 0),s.jsxDEV("span",{children:"歌词"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:596,columnNumber:25},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:594,columnNumber:23},void 0):B?s.jsxDEV("div",{className:"task-item__preview-placeholder",children:s.jsxDEV("span",{children:"文本"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:600,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:599,columnNumber:23},void 0):T&&((Pe=e.result)!=null&&Pe.characterProfileUrl)?s.jsxDEV("div",{className:"task-item__character-preview",children:s.jsxDEV(Ve,{src:e.result.characterProfileUrl,alt:`@${e.result.characterUsername}`,maxRetries:5,fallback:s.jsxDEV("div",{className:"task-item__character-fallback",children:s.jsxDEV(ye,{size:"32px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:610,columnNumber:31},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:609,columnNumber:29},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:604,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:603,columnNumber:23},void 0):u?s.jsxDEV(s.Fragment,{children:[s.jsxDEV(ys,{src:u,poster:(ze=e.result)==null?void 0:ze.previewImageUrl,alt:Y||"视频预览",thumbnailSize:"small",videoProps:{muted:!0,playsInline:!0,preload:"metadata"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:617,columnNumber:25},void 0),s.jsxDEV("div",{className:"task-item__video-play-overlay",children:s.jsxDEV(ke,{size:"32px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:630,columnNumber:27},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:629,columnNumber:25},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:616,columnNumber:23},void 0):s.jsxDEV("div",{className:"task-item__preview-placeholder",children:e.type===j.IMAGE?s.jsxDEV(Ss,{size:"24px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:636,columnNumber:27},void 0):e.type===j.VIDEO?s.jsxDEV(Os,{size:"24px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:638,columnNumber:27},void 0):s.jsxDEV(s.Fragment,{children:[s.jsxDEV(ke,{size:"24px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:641,columnNumber:29},void 0),s.jsxDEV("span",{children:"音频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:642,columnNumber:29},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:640,columnNumber:27},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:634,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:551,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:517,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:516,columnNumber:13},void 0),s.jsxDEV("div",{className:"task-item__body",children:[s.jsxDEV("div",{className:"task-item__prompt-area",children:[s.jsxDEV(oe,{content:e.params.prompt,showArrow:!1,children:s.jsxDEV("div",{className:"task-item__prompt",children:Y},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:658,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:657,columnNumber:13},void 0),B&&J&&s.jsxDEV(oe,{content:J,showArrow:!1,children:s.jsxDEV("div",{className:"task-item__subtitle",children:J},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:662,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:661,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:656,columnNumber:11},void 0),s.jsxDEV("div",{className:"task-item__info-area",children:[s.jsxDEV("div",{className:"task-item__content-row",children:[s.jsxDEV("div",{className:"task-item__meta",children:[s.jsxDEV("div",{className:"task-item__tags",children:[s.jsxDEV(Q,{theme:Js(e.status),variant:"light",className:"task-item__status-tag",children:ea(e.status)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:673,columnNumber:19},void 0),e.params.model&&s.jsxDEV(Q,{variant:"outline",className:"task-item__model-tag",children:e.params.model},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:683,columnNumber:21},void 0),B&&me&&s.jsxDEV(Q,{variant:"outline",children:me},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:688,columnNumber:21},void 0),_&&L&&s.jsxDEV(Q,{variant:"outline",children:L},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:691,columnNumber:21},void 0),_&&C&&s.jsxDEV(Q,{variant:"outline",children:C},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:694,columnNumber:21},void 0),_&&le&&s.jsxDEV(Q,{variant:"outline",children:le},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:697,columnNumber:21},void 0),e.type===j.VIDEO&&e.params.seconds&&s.jsxDEV(Q,{variant:"outline",children:[e.params.seconds,"s"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:702,columnNumber:21},void 0),e.type===j.VIDEO&&e.params.size&&s.jsxDEV(Q,{variant:"outline",children:e.params.size},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:705,columnNumber:21},void 0),l&&s.jsxDEV(Q,{variant:"outline",children:l},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:708,columnNumber:21},void 0),e.type===j.AUDIO&&e.params.mv&&!D&&s.jsxDEV(Q,{variant:"outline",children:e.params.mv},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:713,columnNumber:23},void 0),e.type===j.AUDIO&&e.params.tags&&!D&&s.jsxDEV(Q,{variant:"outline",children:((He=String(e.params.tags).split(",")[0])==null?void 0:He.trim())||"音频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:718,columnNumber:23},void 0),D&&s.jsxDEV(Q,{variant:"outline",children:"歌词"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:723,columnNumber:36},void 0),D&&ne[0]&&s.jsxDEV(Q,{variant:"outline",children:ne[0]},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:725,columnNumber:21},void 0),e.params.batchId&&typeof e.params.batchIndex=="number"&&typeof e.params.batchTotal=="number"&&s.jsxDEV(Q,{variant:"outline",children:["批量 ",e.params.batchIndex+1,"/",e.params.batchTotal]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:730,columnNumber:23},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:671,columnNumber:17},void 0),s.jsxDEV("div",{className:"task-item__details",children:[s.jsxDEV("span",{className:"task-item__time",children:js(e.createdAt)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:738,columnNumber:19},void 0),e.startedAt&&s.jsxDEV("span",{className:"task-item__duration",children:["·"," ",ws((e.completedAt||Date.now())-e.startedAt)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:742,columnNumber:21},void 0),(()=>{var ge,be;const g=(n==null?void 0:n.width)||((ge=e.result)==null?void 0:ge.width)||e.params.width,ie=(n==null?void 0:n.height)||((be=e.result)==null?void 0:be.height)||e.params.height;return g&&ie?s.jsxDEV("span",{className:"task-item__size",children:[" ","· ",g,"x",ie]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:760,columnNumber:25},void 0):null})(),l&&s.jsxDEV("span",{className:"task-item__size",children:[" · ",l]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:769,columnNumber:21},void 0),x&&(($e=e.result)==null?void 0:$e.url)&&!D&&s.jsxDEV("a",{href:e.result.url,target:"_blank",rel:"noopener noreferrer",className:"task-item__link","data-track":"task_click_open_link",onClick:g=>g.stopPropagation(),children:"· 打开链接"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:775,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:737,columnNumber:17},void 0),(e.type===j.VIDEO||e.type===j.AUDIO||e.type===j.CHAT&&typeof e.progress=="number")&&e.status===A.PROCESSING&&s.jsxDEV("div",{className:"task-item__progress-container",children:s.jsxDEV("div",{className:"task-item__progress-bar",children:s.jsxDEV("div",{className:`task-item__progress-fill task-item__progress-fill--${e.status}`,style:{width:`${e.progress??0}%`}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:796,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:795,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:794,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:670,columnNumber:15},void 0),s.jsxDEV("div",{className:"task-item__actions",children:[s.jsxDEV("div",{className:"task-item__secondary-actions",children:[x&&((Be=e.result)==null?void 0:Be.url)&&!T&&s.jsxDEV(oe,{content:"下载",children:s.jsxDEV(re,{size:"small",variant:"text",icon:s.jsxDEV(Rs,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:813,columnNumber:31},void 0),onClick:g=>{g.stopPropagation(),E==null||E(e.id)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:810,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:809,columnNumber:21},void 0),x&&D&&z&&s.jsxDEV(oe,{content:"复制歌词",children:s.jsxDEV(re,{size:"small",variant:"text",icon:s.jsxDEV(Ie,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:827,columnNumber:31},void 0),onClick:g=>{g.stopPropagation(),S==null||S(e.id)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:824,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:823,columnNumber:21},void 0),!T&&!P&&!B&&s.jsxDEV(oe,{content:"编辑",children:s.jsxDEV(re,{size:"small",variant:"text",icon:s.jsxDEV(Es,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:841,columnNumber:31},void 0),onClick:g=>{g.stopPropagation(),h==null||h(e.id)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:838,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:837,columnNumber:21},void 0),$&&s.jsxDEV(oe,{content:"角色",children:s.jsxDEV(re,{size:"small",variant:"text",icon:s.jsxDEV(ye,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:855,columnNumber:31},void 0),onClick:g=>{g.stopPropagation(),d==null||d(e.id)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:852,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:851,columnNumber:21},void 0),s.jsxDEV(oe,{content:"删除",children:s.jsxDEV(re,{size:"small",variant:"text",className:"task-item__delete-btn",icon:s.jsxDEV(qs,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:869,columnNumber:29},void 0),onClick:g=>{g.stopPropagation(),V==null||V(e.id)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:865,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:864,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:807,columnNumber:17},void 0),x&&((((Ge=e.result)==null?void 0:Ge.url)||((Fe=e.result)==null?void 0:Fe.chatResponse))&&!T||D)&&s.jsxDEV(re,{size:"small",theme:"primary",className:"task-item__primary-action","data-track":"task_click_insert",onClick:g=>{g.stopPropagation(),w==null||w(e.id)},children:"插入"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:883,columnNumber:21},void 0),X&&s.jsxDEV(re,{size:"small",theme:"primary",className:"task-item__primary-action","data-track":"task_click_retry",onClick:g=>{g.stopPropagation(),m==null||m(e.id)},children:"重试"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:898,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:805,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:669,columnNumber:13},void 0),y&&e.error&&s.jsxDEV("div",{className:"task-item__error",children:s.jsxDEV("div",{className:"task-item__error-message",children:[e.error.message,((We=e.error.details)==null?void 0:We.originalError)&&s.jsxDEV(oe,{content:s.jsxDEV("div",{className:"task-item__error-details-tooltip",children:[s.jsxDEV("div",{className:"task-item__error-details-title",children:"详细错误:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:923,columnNumber:27},void 0),s.jsxDEV("div",{className:"task-item__error-details-content",children:e.error.details.originalError},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:926,columnNumber:27},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:922,columnNumber:25},void 0),theme:"light",placement:"bottom",children:s.jsxDEV("span",{className:"task-item__error-details-link",onClick:g=>g.stopPropagation(),children:"[详情]"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:934,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:920,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:917,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:916,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:668,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:654,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskItem.tsx",lineNumber:487,columnNumber:7},void 0)},(e,a)=>{var r,i;return e.task.id===a.task.id&&e.task.status===a.task.status&&e.task.progress===a.task.progress&&((r=e.task.error)==null?void 0:r.message)===((i=a.task.error)==null?void 0:i.message)&&e.task.result===a.task.result&&e.isSelected===a.isSelected&&e.selectionMode===a.selectionMode&&e.isCompact===a.isCompact}),sa=new Set,aa=140,ts=0,ta=3,rs=375,ra=20,ha=({tasks:e,selectionMode:a=!1,selectedTaskIds:r,onSelectionChange:i,onRetry:o,onDelete:m,onDownload:V,onInsert:E,onCopy:w,onEdit:S,onPreviewOpen:p,onExtractCharacter:h,className:d="",emptyContent:n,isCompact:c,hasMore:b=!1,isLoadingMore:k=!1,onLoadMore:N,totalCount:x,loadedCount:y,allLoadedText:M,allLoadedHint:X})=>{const U=r??sa,q=t.useRef(null),$=t.useRef(null),T=t.useRef(null),P=t.useRef(0),[B,D]=t.useState(()=>typeof window<"u"&&window.innerWidth<rs),[I,z]=t.useState(!1),ae=c!==void 0?c:B,H=l=>{let _=l;for(;_;){const C=getComputedStyle(_).overflowY;if((C==="auto"||C==="scroll")&&_.scrollHeight>_.clientHeight)return _;_=_.parentElement}return null};t.useEffect(()=>{if(!b||!N)return;const l=q.current;if(!l)return;const _=setTimeout(()=>{const C=l.scrollHeight>l.clientHeight?l:H(l);if(T.current=C,!C)return;const W=()=>{const{scrollTop:le,scrollHeight:ue,clientHeight:u}=C,f=ue-le-u,v=Date.now();v-P.current<500||f<300&&b&&!k&&(P.current=v,N())};C.addEventListener("scroll",W,{passive:!0}),W(),l.__loadMoreCleanup=()=>{C.removeEventListener("scroll",W)}},150);return()=>{var L;clearTimeout(_),(L=l.__loadMoreCleanup)==null||L.call(l)}},[b,k,N,e.length]),t.useEffect(()=>{const l=q.current;if(!l)return;const _=setTimeout(()=>{const C=l.scrollHeight>l.clientHeight?l:H(l);if(T.current=C,!C)return;const W=()=>{z(C.scrollTop>C.clientHeight)};C.addEventListener("scroll",W),W(),l.__scrollCleanup=()=>{C.removeEventListener("scroll",W)}},100);return()=>{var L;clearTimeout(_),(L=l.__scrollCleanup)==null||L.call(l)}},[e.length]);const ne=()=>{const l=T.current||q.current;l&&(l.scrollTop=0)};t.useEffect(()=>{if(c!==void 0)return;const l=q.current;if(!l)return;const _=l,L=W=>{const le=W??_.getBoundingClientRect().width;D(le<rs)},C=new ResizeObserver(W=>{L(W[0].contentRect.width)});return C.observe(_),L(),()=>{C.disconnect()}},[c,q.current]);const ce=e.length>ra,J=Ts({count:ce?e.length:0,getScrollElement:()=>q.current,estimateSize:()=>aa+ts,overscan:ta,enabled:ce,measureElement:l=>l.offsetHeight});if(e.length===0)return s.jsxDEV("div",{className:`virtual-task-list virtual-task-list--empty ${d}`,children:n},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:280,columnNumber:7},void 0);const me=e.length||y||0,Y=()=>s.jsxDEV(s.Fragment,{children:[k&&s.jsxDEV("div",{className:"virtual-task-list__loading-more",children:[s.jsxDEV("span",{className:"virtual-task-list__loading-spinner"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:297,columnNumber:11},void 0),s.jsxDEV("span",{children:"加载中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:298,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:296,columnNumber:9},void 0),b&&!k&&x!==void 0&&x>0&&s.jsxDEV("div",{className:"virtual-task-list__pagination-info",children:["已加载 ",me," / ",x]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:306,columnNumber:11},void 0),!b&&e.length>0&&x!==void 0&&x>50&&s.jsxDEV("div",{className:"virtual-task-list__no-more",children:X?s.jsxDEV(oe,{content:X,children:s.jsxDEV("span",{children:M||`已加载全部 ${x} 个任务`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:318,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:317,columnNumber:15},void 0):M||`已加载全部 ${x} 个任务`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:315,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:293,columnNumber:5},void 0);if(!ce)return s.jsxDEV("div",{ref:$,className:`virtual-task-list-container ${d}`,style:{height:"100%",position:"relative",display:"flex",flexDirection:"column"},children:[s.jsxDEV("div",{ref:q,className:"virtual-task-list-scrollarea",style:{flex:1,overflow:"auto"},children:[e.map(l=>s.jsxDEV(as,{task:l,selectionMode:a,isSelected:U.has(l.id),isCompact:ae,onSelectionChange:i,onRetry:o,onDelete:m,onDownload:V,onInsert:E,onEdit:S,onPreviewOpen:()=>p==null?void 0:p(l.id),onExtractCharacter:h},l.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:349,columnNumber:13},void 0)),s.jsxDEV(Y,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:365,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:343,columnNumber:9},void 0),I&&s.jsxDEV(re,{shape:"circle",variant:"base",theme:"default",icon:s.jsxDEV(Ue,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:373,columnNumber:19},void 0),onClick:ne,className:"virtual-task-list__back-to-top"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:369,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:333,columnNumber:7},void 0);const G=J.getVirtualItems();return s.jsxDEV("div",{ref:$,className:`virtual-task-list-container ${d}`,style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"},children:[s.jsxDEV("div",{ref:q,className:"virtual-task-list-scrollarea",style:{flex:1,width:"100%",overflow:"auto"},children:[s.jsxDEV("div",{style:{height:`${J.getTotalSize()}px`,width:"100%",position:"relative"},children:G.map(l=>{const _=e[l.index];return _?s.jsxDEV("div",{"data-index":l.index,ref:L=>{L&&J.measureElement(L)},style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${l.start}px)`,paddingBottom:`${ts}px`},children:s.jsxDEV(as,{task:_,selectionMode:a,isSelected:U.has(_.id),isCompact:ae,onSelectionChange:i,onRetry:o,onDelete:m,onDownload:V,onInsert:E,onCopy:w,onEdit:S,onPreviewOpen:()=>p==null?void 0:p(_.id),onExtractCharacter:h},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:435,columnNumber:17},void 0)},_.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:418,columnNumber:15},void 0):null})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:406,columnNumber:9},void 0),s.jsxDEV(Y,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:454,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:397,columnNumber:7},void 0),I&&s.jsxDEV(re,{shape:"circle",variant:"base",theme:"default",icon:s.jsxDEV(Ue,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:462,columnNumber:17},void 0),onClick:ne,className:"virtual-task-list__back-to-top"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:458,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/VirtualTaskList.tsx",lineNumber:386,columnNumber:5},void 0)};function ia(e,a){const[r,i]=t.useState(a||null),[o,m]=t.useState(!1),[V,E]=t.useState(!0),[w,S]=t.useState(null),p=t.useRef("none"),h=t.useCallback(async()=>{if(E(!0),!a){i(null),m(!1),E(!1);return}const d=await Ne.getCachedUrl(a);d?(w&&w!==d&&URL.revokeObjectURL(w),S(d),i(d),m(!0)):a?(i(a),m(!1)):(i(null),m(!1)),E(!1)},[a,w]);return t.useEffect(()=>{h(),a&&(p.current=Ne.getCacheStatus(a))},[e,a]),t.useEffect(()=>Ne.subscribe(()=>{if(!a)return;const n=Ne.getCacheStatus(a),c=p.current;n!==c&&(p.current=n,(n==="cached"||n==="none")&&h())}),[a,h]),t.useEffect(()=>()=>{w&&URL.revokeObjectURL(w)},[w]),{url:r,isFromCache:o,isLoading:V}}const is=1,ve=3,na=({videoUrl:e,videoDuration:a,onConfirm:r,onCancel:i,disabled:o=!1})=>{const m=t.useRef(null),V=t.useRef(null),E=t.useRef(null),w=t.useRef(null),S=t.useRef(0),[p,h]=t.useState(!0),[d,n]=t.useState(a),[c,b]=t.useState(0),[k,N]=t.useState(Math.min(ve,a)),[x,y]=t.useState(0),[M,X]=t.useState(""),[U,q]=t.useState(!1),[$,T]=t.useState(null),[P,B]=t.useState([]),[D,I]=t.useState(!1),z=k-c,ae=d>0?z/d*100:100,H=d>0?c/d*100:0;t.useEffect(()=>(e&&(h(!0),X(""),B([]),q(!1),T(null)),()=>{w.current!==null&&cancelAnimationFrame(w.current)}),[e]);const ne=()=>{const u=m.current;if(u){const f=u.duration;n(f),q(!0),N(Math.min(ve,f))}},ce=t.useCallback(async()=>{const u=m.current;if(!(!u||!U||d<=0||D)){I(!0);try{const v=Math.max(4,Math.ceil(d*2)),R=d/v,ee=[],K=document.createElement("canvas"),F=K.getContext("2d");if(!F)return;const Z=50,O=u.videoWidth/u.videoHeight||16/9,fe=Math.round(Z*O);K.width=fe,K.height=Z;for(let de=0;de<v;de++){const te=Math.min((de+.5)*R,d-.01);await new Promise(xe=>{const he=()=>{u.removeEventListener("seeked",he),xe()};u.addEventListener("seeked",he),u.currentTime=te}),F.drawImage(u,0,0,fe,Z),ee.push(K.toDataURL("image/jpeg",.5))}B(ee),u.currentTime=c}catch(f){console.warn("Failed to generate frame strip:",f)}finally{I(!1)}}},[U,d,D,c]);t.useEffect(()=>{if(U&&d>0&&P.length===0&&!D){const u=setTimeout(()=>{ce()},100);return()=>clearTimeout(u)}},[U,d,P.length,D,ce]);const J=t.useCallback(()=>{const u=m.current,f=V.current;if(!u||!f)return;const v=f.getContext("2d");if(v)try{f.width=u.videoWidth,f.height=u.videoHeight,v.drawImage(u,0,0,f.width,f.height);const R=f.toDataURL("image/jpeg",.8);X(R),h(!1)}catch(R){console.warn("Failed to generate frame image:",R)}},[]),me=t.useCallback(()=>{const u=m.current;u&&p&&(u.currentTime===0||Math.abs(u.currentTime-c)<.1)&&J()},[p,c,J]),Y=t.useCallback(u=>{const f=m.current;!f||!U||Math.abs(u-S.current)<.1||(S.current=u,f.readyState>=2&&(f.currentTime=u))},[U]),G=t.useCallback(()=>{J()},[J]);t.useEffect(()=>{if(U&&d>0){y(c);const u=m.current;u&&u.readyState>=2&&(u.currentTime=c)}},[U,d]);const l=t.useCallback(u=>{const f=E.current;if(!f)return 0;const v=f.getBoundingClientRect(),R=u.clientX-v.left;return Math.max(0,Math.min(1,R/v.width))*d},[d]),_=u=>{if(o||!U)return;u.preventDefault(),u.stopPropagation(),T("left");const f=k,v=ee=>{const K=l(ee),F=f-is,Z=Math.max(0,f-ve),O=Math.max(Z,Math.min(F,K));b(O),y(O),Y(O)},R=()=>{T(null),document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",R),Y(c)};document.addEventListener("mousemove",v),document.addEventListener("mouseup",R)},L=u=>{if(o||!U)return;u.preventDefault(),u.stopPropagation(),T("right");const f=c,v=ee=>{const K=l(ee),F=f+is,Z=Math.min(d,f+ve),O=Math.max(F,Math.min(Z,K));N(O),y(O),Y(O)},R=()=>{T(null),document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",R),Y(k)};document.addEventListener("mousemove",v),document.addEventListener("mouseup",R)},C=u=>{if(o||!U)return;u.preventDefault(),T("center");const f=E.current;if(!f)return;const v=f.getBoundingClientRect(),R=u.clientX,ee=c,K=k-c,F=O=>{const de=(O.clientX-R)/v.width*d;let te=ee+de;te=Math.max(0,Math.min(d-K,te)),b(te),N(te+K),y(te),Y(te)},Z=()=>{T(null),document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",Z),Y(c)};document.addEventListener("mousemove",F),document.addEventListener("mouseup",Z)},W=u=>{if(o||!U||$||u.target.closest(".character-time-selector__range"))return;const v=E.current;if(!v)return;const R=v.getBoundingClientRect(),K=(u.clientX-R.left)/R.width*d,F=k-c,Z=F/2;let O=K-Z;O=Math.max(0,Math.min(d-F,O)),b(O),N(O+F),y(O),Y(O)},le=()=>{r(Math.round(c),Math.round(k))},ue=u=>u.toFixed(1)+"s";return s.jsxDEV("div",{className:`character-time-selector ${$?"is-dragging":""}`,children:[s.jsxDEV("video",{ref:m,src:e,style:{display:"none"},muted:!0,playsInline:!0,preload:"auto",crossOrigin:"anonymous",onLoadedMetadata:ne,onSeeked:G,onCanPlay:me},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:382,columnNumber:7},void 0),s.jsxDEV("canvas",{ref:V,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:396,columnNumber:7},void 0),s.jsxDEV("div",{className:"character-time-selector__preview",children:[p?s.jsxDEV("div",{className:"character-time-selector__loading",children:[s.jsxDEV("div",{className:"character-time-selector__spinner"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:402,columnNumber:13},void 0),s.jsxDEV("span",{children:"加载中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:403,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:401,columnNumber:11},void 0):M?s.jsxDEV("img",{src:M,alt:"Video frame",className:"character-time-selector__frame"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:406,columnNumber:11},void 0):s.jsxDEV("div",{className:"character-time-selector__placeholder",children:"视频帧加载失败"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:412,columnNumber:11},void 0),s.jsxDEV("div",{className:"character-time-selector__time-badge",children:ue(x)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:416,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:399,columnNumber:7},void 0),s.jsxDEV("div",{className:"character-time-selector__timeline",ref:E,onClick:W,children:[P.length>0?s.jsxDEV("div",{className:"character-time-selector__frame-strip",children:P.map((u,f)=>s.jsxDEV("img",{src:u,alt:"",className:"character-time-selector__frame-thumb",draggable:!1},f,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:431,columnNumber:15},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:429,columnNumber:11},void 0):D?s.jsxDEV("div",{className:"character-time-selector__frame-strip character-time-selector__frame-strip--loading",children:s.jsxDEV("div",{className:"character-time-selector__strip-shimmer"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:442,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:441,columnNumber:11},void 0):s.jsxDEV("div",{className:"character-time-selector__timeline-bg"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:445,columnNumber:11},void 0),s.jsxDEV("div",{className:`character-time-selector__range ${$?"dragging":""}`,style:{left:`${H}%`,width:`${ae}%`},children:[s.jsxDEV("div",{className:"character-time-selector__handle character-time-selector__handle--left",onMouseDown:_},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:457,columnNumber:11},void 0),s.jsxDEV("div",{className:"character-time-selector__range-content",onMouseDown:C,children:s.jsxDEV("span",{className:"character-time-selector__range-label",children:[ue(c)," - ",ue(k)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:466,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:462,columnNumber:11},void 0),s.jsxDEV("div",{className:"character-time-selector__handle character-time-selector__handle--right",onMouseDown:L},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:471,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:449,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:422,columnNumber:7},void 0),s.jsxDEV("div",{className:"character-time-selector__info",children:[s.jsxDEV("span",{children:["API参数: ",Math.round(c),", ",Math.round(k)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:480,columnNumber:9},void 0),s.jsxDEV("span",{children:["时长: ",z.toFixed(1),"s"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:481,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:479,columnNumber:7},void 0),s.jsxDEV("div",{className:"character-time-selector__actions",children:[s.jsxDEV(re,{variant:"outline",onClick:i,disabled:o,children:"取消"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:486,columnNumber:9},void 0),s.jsxDEV(re,{theme:"primary",onClick:le,disabled:o||!U,children:"创建角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:493,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:485,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterTimeRangeSelector.tsx",lineNumber:380,columnNumber:5},void 0)},Na=({visible:e,task:a,onClose:r,onCreateStart:i,onCreateComplete:o})=>{var b;const{createTask:m,tasks:V}=Ds(),[E,w]=t.useState(!1),{url:S}=ia((a==null?void 0:a.id)??"",(b=a==null?void 0:a.result)==null?void 0:b.url),p=t.useMemo(()=>a!=null&&a.params.seconds?parseFloat(a.params.seconds.toString()):10,[a==null?void 0:a.params.seconds]),h=t.useMemo(()=>a?V.some(k=>k.type===j.CHARACTER&&k.params.sourceLocalTaskId===a.id&&(k.status===A.PENDING||k.status===A.PROCESSING)):!1,[a,V]),d=t.useCallback(async(k,N)=>{if(!a||!a.remoteId){Ee.error("无效的任务数据");return}w(!0),i==null||i();try{const x=Is(k,N),y=Cs(a.params.model),M=m({prompt:a.params.prompt||"角色提取",model:y,sourceVideoTaskId:a.remoteId,characterTimestamps:x,sourceLocalTaskId:a.id},j.CHARACTER);Ee.success("角色创建任务已加入队列"),o==null||o(M.id),r()}catch(x){console.error("Failed to create character task:",x);const y=x.message||"创建任务失败";Ee.error(y)}finally{w(!1)}},[a,m,i,o,r]),n=()=>{E||r()},c=()=>{E||r()};return!a||!S?null:s.jsxDEV(_s,{visible:e,header:"角色",onClose:n,footer:null,width:560,className:"character-create-dialog",closeOnOverlayClick:!E,closeOnEscKeydown:!E,children:[s.jsxDEV("div",{className:"character-create-dialog__description",children:["从视频中提取角色,创建后可通过 ",s.jsxDEV("code",{children:"@username"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCreateDialog.tsx",lineNumber:130,columnNumber:25},void 0)," 在提示词中引用"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCreateDialog.tsx",lineNumber:129,columnNumber:7},void 0),h&&s.jsxDEV("div",{className:"character-create-dialog__warning",children:"此视频已有一个角色正在创建中"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCreateDialog.tsx",lineNumber:135,columnNumber:9},void 0),s.jsxDEV(na,{videoUrl:S,videoDuration:p,onConfirm:d,onCancel:c,disabled:E||h},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCreateDialog.tsx",lineNumber:141,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCreateDialog.tsx",lineNumber:119,columnNumber:5},void 0)},xa=({characterId:e,profilePictureUrl:a,alt:r="Character",className:i,onClick:o})=>{const[m,V]=t.useState(a||null),[E,w]=t.useState(!1),[S,p]=t.useState(!0);t.useEffect(()=>{let n=!1;return(async()=>{p(!0),w(!1);const b=await De.getCachedUrl(e);if(!n){if(b){V(b),p(!1);return}a?(V(a),De.cacheAvatar(e,a).catch(()=>{})):w(!0),p(!1)}})(),()=>{n=!0}},[e,a]);const h=async()=>{if(m===a){const n=await De.getCachedUrl(e);if(n&&n!==m){V(n);return}}w(!0)},d=()=>{p(!1)};return E||!m?s.jsxDEV("div",{className:i,onClick:o,style:o?{cursor:"pointer"}:void 0,children:s.jsxDEV(ye,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterAvatar.tsx",lineNumber:101,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterAvatar.tsx",lineNumber:100,columnNumber:7},void 0):s.jsxDEV("img",{src:m,alt:r,className:i,onError:h,onLoad:d,onClick:o,style:{display:S?"none":"block",cursor:o?"pointer":void 0}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterAvatar.tsx",lineNumber:107,columnNumber:5},void 0)};function ga(){const[e,a]=t.useState([]),[r,i]=t.useState(!0),o=t.useRef(new Map);t.useEffect(()=>{const n=se.getCharacters$().subscribe(c=>{a(c),i(!1)});return se.init(),()=>n.unsubscribe()},[]),t.useEffect(()=>{r||(async()=>{const c=se.getPendingCharacters();for(const b of c)o.current.get(b.id)||m(b)})()},[r]);const m=t.useCallback(async n=>{if(!o.current.get(n.id)){o.current.set(n.id,!0);try{const c=await Te.resumePolling(n.id,{onStatusChange:async b=>{await se.updateCharacterStatus(n.id,b)}});await se.updateCharacter(n.id,{username:c.username,profilePictureUrl:c.profile_picture_url,permalink:c.permalink,status:"completed",completedAt:Date.now()})}catch(c){console.error("[useCharacters] Character polling failed:",c),await se.updateCharacterStatus(n.id,"failed",c.message)}finally{o.current.delete(n.id)}}},[]),V=t.useCallback(async n=>{var b;const c=Date.now();qe.track("character_extract_start",{videoTaskId:n.videoTaskId,hasTimestamps:!!((b=n.characterTimestamps)!=null&&b.length)});try{const N=(await Te.createCharacter(n)).id,x={id:N,username:"",profilePictureUrl:"",sourceTaskId:n.localTaskId||"",sourceVideoId:n.videoTaskId,sourcePrompt:n.sourcePrompt,characterTimestamps:n.characterTimestamps,status:"processing",createdAt:Date.now()};return await se.saveCharacter(x),o.current.set(N,!0),Te.resumePolling(N,{onStatusChange:async y=>{await se.updateCharacterStatus(N,y)}}).then(async y=>{await se.updateCharacter(N,{username:y.username,profilePictureUrl:y.profile_picture_url,permalink:y.permalink,status:"completed",completedAt:Date.now()}),qe.track("character_extract_success",{characterId:N,username:y.username,duration:Date.now()-c})}).catch(async y=>{console.error("[useCharacters] Character creation failed:",y),await se.updateCharacterStatus(N,"failed",y.message),qe.track("character_extract_failed",{characterId:N,error:y.message,duration:Date.now()-c})}).finally(()=>{o.current.delete(N)}),x}catch(k){throw console.error("[useCharacters] Failed to create character:",k),k}},[]),E=t.useCallback(async n=>(o.current.delete(n),se.deleteCharacter(n)),[]),w=t.useCallback(async()=>{await se.init()},[]),S=t.useCallback(n=>e.find(c=>c.id===n),[e]),p=t.useCallback(n=>e.some(c=>c.sourceTaskId===n&&(c.status==="pending"||c.status==="processing")),[e]),h=e.filter(n=>n.status==="completed"),d=e.filter(n=>n.status==="pending"||n.status==="processing");return{characters:e,completedCharacters:h,pendingCharacters:d,isLoading:r,createCharacter:V,deleteCharacter:E,refreshCharacters:w,getCharacterById:S,isCreatingCharacterForTask:p}}export{Ie as C,as as T,ye as U,ha as V,xa as a,Na as b,ga as u};
|