aitu-app 0.6.49 → 0.6.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +3 -3
  2. package/assets/{CanvasAudioPlayer-DITqjh6L.js → CanvasAudioPlayer-DniTYxIg.js} +1 -1
  3. package/assets/{ChatMessagesArea-D9jmGx5a.js → ChatMessagesArea-DlsFUxBe.js} +2 -2
  4. package/assets/{KnowledgeBaseContent-za__rOJH.js → KnowledgeBaseContent-5Sp2Y4AU.js} +3 -3
  5. package/assets/{MVCreator-CTG316DL.js → MVCreator-Co634ejf.js} +1 -1
  6. package/assets/{ModelBenchmarkWorkbench-JCQglDx0.js → ModelBenchmarkWorkbench-BivFDW3S.js} +1 -1
  7. package/assets/{MusicAnalyzer-QQf3iMVf.js → MusicAnalyzer-DzNmAG09.js} +1 -1
  8. package/assets/{MusicAnalyzer-DE_rzhdo.js → MusicAnalyzer-VBVlVQKH.js} +1 -1
  9. package/assets/{ResizableDivider-CNJfwuMZ.js → ResizableDivider-4DfyW2jN.js} +1 -1
  10. package/assets/{TaskQueuePanel-CcKV6Mtu.js → TaskQueuePanel-qi_vc0Ap.js} +1 -1
  11. package/assets/{VideoAnalyzer-4jAswALN.js → VideoAnalyzer-CFfeiTGz.js} +1 -1
  12. package/assets/{arc-CUJYo2bm.js → arc-7xYmprhZ.js} +1 -1
  13. package/assets/{arc-Do7iheP0.js → arc-DQ-An0sn.js} +1 -1
  14. package/assets/{batch-image-generation-BcGzhZc6.js → batch-image-generation-DZFfTPJI.js} +1 -1
  15. package/assets/{blockDiagram-38ab4fdb-7dWD8NFK.js → blockDiagram-38ab4fdb-Df6IfaNP.js} +1 -1
  16. package/assets/{blockDiagram-38ab4fdb-CQhYv8hA.js → blockDiagram-38ab4fdb-HpP8rPNJ.js} +1 -1
  17. package/assets/{browser-Dlc7rtso.js → browser-BfQXeJDQ.js} +1 -1
  18. package/assets/{c4Diagram-3d4e48cf-DcDSmMC1.js → c4Diagram-3d4e48cf-Cw80xOlM.js} +1 -1
  19. package/assets/{c4Diagram-3d4e48cf-YiNiIQMx.js → c4Diagram-3d4e48cf-e6uo4LtY.js} +1 -1
  20. package/assets/channel-BOLP-sjD.js +1 -0
  21. package/assets/channel-D3afY4hf.js +1 -0
  22. package/assets/{classDiagram-70f12bd4-uRbi4Ob8.js → classDiagram-70f12bd4-C8X9ZIPo.js} +1 -1
  23. package/assets/{classDiagram-70f12bd4--vcKyE3X.js → classDiagram-70f12bd4-D50-TJb_.js} +1 -1
  24. package/assets/{classDiagram-v2-f2320105-CJVRZ6AN.js → classDiagram-v2-f2320105-CfUr0WEa.js} +1 -1
  25. package/assets/{classDiagram-v2-f2320105-vzjVMHkr.js → classDiagram-v2-f2320105-LnhMJ6Ei.js} +1 -1
  26. package/assets/{clipper-DOGfacWv.js → clipper-CinpowZv.js} +1 -1
  27. package/assets/clone-BfVzbJFM.js +1 -0
  28. package/assets/{createText-2e5e7dd3-Caeqt6QH.js → createText-2e5e7dd3-Titb6mNG.js} +1 -1
  29. package/assets/{createText-2e5e7dd3-BwZkEiuo.js → createText-2e5e7dd3-v_4QCNiY.js} +1 -1
  30. package/assets/{edges-e0da2a9e-izyAbn2P.js → edges-e0da2a9e-BiWTBg0W.js} +1 -1
  31. package/assets/{edges-e0da2a9e-C0phcDTf.js → edges-e0da2a9e-yO08pQmB.js} +1 -1
  32. package/assets/{erDiagram-9861fffd-CbdcBVpG.js → erDiagram-9861fffd-BAIrWtoE.js} +1 -1
  33. package/assets/{erDiagram-9861fffd-2xZLFO3_.js → erDiagram-9861fffd-DiRw24jf.js} +1 -1
  34. package/assets/{flowDb-956e92f1-CKDRVial.js → flowDb-956e92f1-BCpUX4j_.js} +1 -1
  35. package/assets/{flowDb-956e92f1-X_4p-qaU.js → flowDb-956e92f1-CEjKD8Mw.js} +1 -1
  36. package/assets/{flowDiagram-66a62f08-DBi4rRPf.js → flowDiagram-66a62f08-67cRfEo5.js} +1 -1
  37. package/assets/{flowDiagram-66a62f08-CujQt6CJ.js → flowDiagram-66a62f08-uywt5ylg.js} +1 -1
  38. package/assets/flowDiagram-v2-96b9c2cf-DXlCvOKr.js +1 -0
  39. package/assets/flowDiagram-v2-96b9c2cf-D_-gUObz.js +1 -0
  40. package/assets/{flowchart-elk-definition-4a651766-Uf06y1Ck.js → flowchart-elk-definition-4a651766-17y70AOQ.js} +1 -1
  41. package/assets/{flowchart-elk-definition-4a651766-wpAztAJn.js → flowchart-elk-definition-4a651766-AuOQsJmv.js} +1 -1
  42. package/assets/{ganttDiagram-c361ad54-CIb_MFVi.js → ganttDiagram-c361ad54-DysfI_sm.js} +1 -1
  43. package/assets/{ganttDiagram-c361ad54-B3JxRUoo.js → ganttDiagram-c361ad54-FNsEB1lK.js} +1 -1
  44. package/assets/{gitGraphDiagram-72cf32ee-PuJBoZww.js → gitGraphDiagram-72cf32ee-BKh2SFyq.js} +1 -1
  45. package/assets/{gitGraphDiagram-72cf32ee-i6oLazGK.js → gitGraphDiagram-72cf32ee-BXonjLg1.js} +1 -1
  46. package/assets/{graph-DUQ4GGpV.js → graph-CUWN3bJK.js} +1 -1
  47. package/assets/{graph-CbDG5PTO.js → graph-DyXuG_lL.js} +1 -1
  48. package/assets/{index-3862675e-CLvnWYyN.js → index-3862675e-BXZCf57h.js} +1 -1
  49. package/assets/{index-3862675e-CxQdmW6r.js → index-3862675e-BgcnjX2V.js} +1 -1
  50. package/assets/{index-BYAyLEaG.js → index-B2KFRvht.js} +1 -1
  51. package/assets/{index-Ayt_kr_j.js → index-BFMFfpEL.js} +1 -1
  52. package/assets/{index-Bc75bQXQ.js → index-BHTsu5Dl.js} +1 -1
  53. package/assets/{index-B0aeak-l.js → index-BRXPd99N.js} +1 -1
  54. package/assets/{index-BWokxWXg.js → index-BXdWvHxk.js} +1 -1
  55. package/assets/{index-hGrN05cs.js → index-BbUIOxRC.js} +1 -1
  56. package/assets/{index-BjxNPKa3.js → index-Bc6-cvww.js} +1 -1
  57. package/assets/{index-DlZybecc.js → index-BgixTFW9.js} +1 -1
  58. package/assets/{index-3K3oLjal.js → index-CCK1RpME.js} +1 -1
  59. package/assets/{index-CGq-gcht.js → index-CL33grzk.js} +1 -1
  60. package/assets/{index-EYhL1Kgt.js → index-CTwkVk9V.js} +1 -1
  61. package/assets/{index-fqJaUvT1.js → index-CnPyiqyj.js} +1 -1
  62. package/assets/{index-CdYUDSvm.js → index-Cnx6rG4x.js} +1 -1
  63. package/assets/{index-BkvYpt-1.js → index-Ct0HLgCs.js} +1 -1
  64. package/assets/{index-04BPVAKr.js → index-Cv23AZDU.js} +1 -1
  65. package/assets/{index-BECtRsXJ.js → index-D3j_X8x1.js} +1 -1
  66. package/assets/{index-DHQdBbnC.js → index-DF6VIcYc.js} +1 -1
  67. package/assets/{index-CJCAjGj3.js → index-DNlPztrW.js} +1 -1
  68. package/assets/{index-BAeTUD9a.js → index-DYdsWczf.js} +1 -1
  69. package/assets/{index-CxEkGLrr.js → index-DeNgS6Ju.js} +2 -2
  70. package/assets/{index-BUB5I7zd.js → index-Deo-f1LD.js} +1 -1
  71. package/assets/{index-BScFd-2h.js → index-DkxPG60I.js} +1 -1
  72. package/assets/{index-DzlsyVkU.js → index-PAijoLEl.js} +1 -1
  73. package/assets/{index-Bnb0fjWR.js → index-RdktjkRh.js} +1 -1
  74. package/assets/{index-c441JIOr.js → index-S9hmkrOw.js} +1 -1
  75. package/assets/{index-BZS4gNhO.js → index-TGdHUoxQ.js} +1 -1
  76. package/assets/{index-DYdelMnT.js → index-_hI1NnWM.js} +1 -1
  77. package/assets/{index-zV_AIntM.js → index-cesL0b0J.js} +1 -1
  78. package/assets/{index-DmWG413C.js → index-gt3JjsjQ.js} +1 -1
  79. package/assets/{index-Dk5t_-56.js → index-zC8JwbY7.js} +3 -3
  80. package/assets/{infoDiagram-f8f76790-D_TYtc3S.js → infoDiagram-f8f76790-292LowK4.js} +1 -1
  81. package/assets/{infoDiagram-f8f76790-BYO9kBqO.js → infoDiagram-f8f76790-D3QOOfzI.js} +1 -1
  82. package/assets/{journeyDiagram-49397b02-Dv5EEshV.js → journeyDiagram-49397b02-CZbSNd2e.js} +1 -1
  83. package/assets/{journeyDiagram-49397b02-DWfiJTLK.js → journeyDiagram-49397b02-DjY3ZWrB.js} +1 -1
  84. package/assets/{layout-Bc2296BZ.js → layout-DW8XIKKQ.js} +1 -1
  85. package/assets/{layout-Dm28IvOg.js → layout-Dkm4PfbF.js} +1 -1
  86. package/assets/{line-DTTPRZLU.js → line-BnbHDXDY.js} +1 -1
  87. package/assets/{line-C3mpslQb.js → line-D3s3tZAD.js} +1 -1
  88. package/assets/{linear-YwuGF1HZ.js → linear-BzA5taZC.js} +1 -1
  89. package/assets/{linear-g8AgbOem.js → linear-D93C0Xkr.js} +1 -1
  90. package/assets/{main-sSl0uAQQ.js → main-DHHQqQ-d.js} +60 -60
  91. package/assets/{mermaid.core-GIkiJOrg.js → mermaid.core-FQIGteI2.js} +3 -3
  92. package/assets/{mindmap-definition-fc14e90a-Chuh4Ixc.js → mindmap-definition-fc14e90a-8-u-W6s5.js} +1 -1
  93. package/assets/{mindmap-definition-fc14e90a-D_ZKvIES.js → mindmap-definition-fc14e90a-NUDHDzJO.js} +1 -1
  94. package/assets/{photo-wall-splitter-CY0T_wNE.js → photo-wall-splitter-CePSUK_z.js} +1 -1
  95. package/assets/{pieDiagram-8a3498a8-Dah8ahbr.js → pieDiagram-8a3498a8-Byrby69W.js} +1 -1
  96. package/assets/{pieDiagram-8a3498a8-DRsICc_f.js → pieDiagram-8a3498a8-DffbJprE.js} +1 -1
  97. package/assets/{quadrantDiagram-120e2f19-gL-_zV58.js → quadrantDiagram-120e2f19-IV-hRQSH.js} +1 -1
  98. package/assets/{quadrantDiagram-120e2f19-Fh6InPVY.js → quadrantDiagram-120e2f19-ZLubYGP0.js} +1 -1
  99. package/assets/{requirementDiagram-deff3bca-CNSkJJCh.js → requirementDiagram-deff3bca-BLkeeBM6.js} +1 -1
  100. package/assets/{requirementDiagram-deff3bca-CfDffyTL.js → requirementDiagram-deff3bca-CYYGgqwK.js} +1 -1
  101. package/assets/{sankeyDiagram-04a897e0-JvhHugQc.js → sankeyDiagram-04a897e0-DqQ8XmlG.js} +1 -1
  102. package/assets/{sankeyDiagram-04a897e0-Bk-KjkRU.js → sankeyDiagram-04a897e0-Dsx55Ewu.js} +1 -1
  103. package/assets/{sequenceDiagram-704730f1-DtYYZkJD.js → sequenceDiagram-704730f1-BE2GupM-.js} +1 -1
  104. package/assets/{sequenceDiagram-704730f1-Hcr6n9p8.js → sequenceDiagram-704730f1-BjsJ2Fyk.js} +1 -1
  105. package/assets/{stateDiagram-587899a1-BBe_EhAD.js → stateDiagram-587899a1-BhWF_B5s.js} +1 -1
  106. package/assets/{stateDiagram-587899a1-DqdI8yJY.js → stateDiagram-587899a1-D0jD5lYH.js} +1 -1
  107. package/assets/{stateDiagram-v2-d93cdb3a-CR8nQq3k.js → stateDiagram-v2-d93cdb3a-DtEJKlTw.js} +1 -1
  108. package/assets/{stateDiagram-v2-d93cdb3a-BFy9jG1p.js → stateDiagram-v2-d93cdb3a-R2E6fUDd.js} +1 -1
  109. package/assets/{styles-6aaf32cf-B3jetBAL.js → styles-6aaf32cf-AbnAz8M7.js} +1 -1
  110. package/assets/{styles-6aaf32cf-CtTk65AO.js → styles-6aaf32cf-T10JAuyl.js} +1 -1
  111. package/assets/{styles-9a916d00-CC9GaYxg.js → styles-9a916d00-6ckRZjDF.js} +1 -1
  112. package/assets/{styles-9a916d00-BzAmphe7.js → styles-9a916d00-BUUS8Ol9.js} +1 -1
  113. package/assets/{styles-c10674c1-Db2Kd6RJ.js → styles-c10674c1-CXVifria.js} +1 -1
  114. package/assets/{styles-c10674c1-CNAwL7Ic.js → styles-c10674c1-Cu2yIWI9.js} +1 -1
  115. package/assets/{svgDrawCommon-08f97a94-JdKl-BWQ.js → svgDrawCommon-08f97a94-CqvTgLD2.js} +1 -1
  116. package/assets/{svgDrawCommon-08f97a94-C5qlB1eZ.js → svgDrawCommon-08f97a94-TeCeZL9T.js} +1 -1
  117. package/assets/{timeline-definition-85554ec2-o-R8VXA5.js → timeline-definition-85554ec2-B_Yaguja.js} +1 -1
  118. package/assets/{timeline-definition-85554ec2-DOdYNzv7.js → timeline-definition-85554ec2-CQ8AuTQS.js} +1 -1
  119. package/assets/{tool-windows-DWUG3k_L.js → tool-windows-Cxt97IUt.js} +9 -9
  120. package/assets/{ttd-dialog-BQiy0hwR.js → ttd-dialog-ti22xcDP.js} +4 -4
  121. package/assets/{useCharacters-BxKzeyv4.js → useCharacters-BaLFv1IE.js} +1 -1
  122. package/assets/{version-update-prompt-HA-CqLZW.js → version-update-prompt-Ys60lWwZ.js} +1 -1
  123. package/assets/{video-recovery-service-C0PZsfFC.js → video-recovery-service-BOoHU7ou.js} +1 -1
  124. package/assets/{workflow-generation-utils-DspPdLxa.js → workflow-generation-utils-B9mgfVRN.js} +2 -2
  125. package/assets/{xychartDiagram-e933f94c-D13oeSTj.js → xychartDiagram-e933f94c-DbCbPITY.js} +1 -1
  126. package/assets/{xychartDiagram-e933f94c-DwikDAhJ.js → xychartDiagram-e933f94c-DqcAlZUs.js} +1 -1
  127. package/idle-prefetch-manifest.json +4 -4
  128. package/package.json +1 -1
  129. package/precache-manifest.json +275 -359
  130. package/sw.js +1 -1
  131. package/version.json +2 -2
  132. package/assets/channel-CbiJkWzq.js +0 -1
  133. package/assets/channel-CmPwOS9o.js +0 -1
  134. package/assets/clone-D79TnM4U.js +0 -1
  135. package/assets/flowDiagram-v2-96b9c2cf-BLkw2ciq.js +0 -1
  136. package/assets/flowDiagram-v2-96b9c2cf-DVKQK2hY.js +0 -1
@@ -1 +1 @@
1
- import{r,eP as ls,y as s,am as le,fM as v,dp as cs,al as o,bV as w,ks as sa,iw as ge,kt as aa,ku as ds,aI as ss,jA as ve,kv as ia,fW as ue,bL as ra,kw as ta,at as as,gK as p,eO as Q,hw as is,dj as rs,kx as os,ky as na,kz as ua,kA as la,hH as ca,iB as da,iC as oa,kB as ma,jN as pa,kC as fa,kD as ha,kE as Na,jO as xa,kF as ka,kG as ba,kH as ae,jP as ga,d2 as va,fY as ya,cX as ts,kI as ns,kJ as ne,eK as be,eI as ja,kK as us,kL as qa,kM as wa,aw as Ca,gU as Da,gV as Ea}from"./tool-windows-DWUG3k_L.js";import{T as Ua,C as Va,u as ms,V as _a,a as Ta}from"./useCharacters-BxKzeyv4.js";import{a as Ia}from"./main-sSl0uAQQ.js";/* empty css */const Pa=30,La=({onPreviewOpen:t,onDownload:h,className:c})=>{const[d,L]=r.useState([]),[S,y]=r.useState(!0),[C,D]=r.useState(!1),[M,$]=r.useState(!1),x=r.useRef(0),z=r.useRef(null),V=r.useCallback(async m=>{try{return await ls.getArchivedTasks(m,Pa)}catch{return{tasks:[],hasMore:!1}}},[]);r.useEffect(()=>{let m=!1;return y(!0),x.current=0,V(0).then(b=>{m||(L(b.tasks),$(b.hasMore),x.current=b.tasks.length,y(!1))}),()=>{m=!0}},[V]);const O=r.useCallback(async()=>{if(C||!M)return;D(!0);const m=await V(x.current);L(b=>[...b,...m.tasks]),$(m.hasMore),x.current+=m.tasks.length,D(!1)},[C,M,V]);return r.useEffect(()=>{const m=z.current;if(!m)return;const b=()=>{m.scrollHeight-m.scrollTop-m.clientHeight<200&&O()};return m.addEventListener("scroll",b,{passive:!0}),()=>m.removeEventListener("scroll",b)},[O]),S?s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.jsxDEV(le,{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),s.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):d.length===0?s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.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),s.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):s.jsxDEV("div",{ref:z,className:c,style:{overflow:"auto",height:"100%"},children:[d.map(m=>s.jsxDEV(Ua,{task:m,onPreviewOpen:t?()=>t(m.id):void 0,onDownload:h},m.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:111,columnNumber:9},void 0)),M&&s.jsxDEV("div",{style:{padding:"12px",textAlign:"center"},children:C?s.jsxDEV(le,{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):s.jsxDEV(v,{size:"small",variant:"text",theme:"default",onClick:O,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)},Sa=({character:t,onDelete:h,onSelect:c,compact:d=!1})=>{const[L,S]=r.useState(!1),y=t.status==="processing"||t.status==="pending",C=t.status==="failed",D=t.status==="completed",M=r.useCallback(async m=>{if(m.stopPropagation(),!t.username)return;const b=`@${t.username}`;try{await cs(b),o.success(`已复制: ${b}`)}catch(k){console.error("Failed to copy:",k),o.error("复制失败")}},[t.username]),$=r.useCallback(()=>{D&&c&&c(t)},[D,c,t]),x=r.useCallback(m=>{m.stopPropagation(),h==null||h(t.id)},[h,t.id]),z=r.useCallback(m=>{m.stopPropagation(),D&&t.profilePictureUrl&&S(!0)},[D,t.profilePictureUrl]),V=()=>t.profilePictureUrl||D?s.jsxDEV(w,{content:"点击查看大图",children:s.jsxDEV(Va,{characterId:t.id,profilePictureUrl:t.profilePictureUrl,alt:t.username||"Character",className:"character-card__avatar-img",onClick:z},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:94,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:93,columnNumber:9},void 0):s.jsxDEV("div",{className:"character-card__avatar-placeholder",children:s.jsxDEV(ds,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:106,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:105,columnNumber:7},void 0),O=()=>y?s.jsxDEV("div",{className:"character-card__status character-card__status--processing",children:[s.jsxDEV(le,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:116,columnNumber:11},void 0),s.jsxDEV("span",{children:"创建中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:117,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:115,columnNumber:9},void 0):C?s.jsxDEV("div",{className:"character-card__status character-card__status--failed",children:["创建失败: ",t.error||"未知错误"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:123,columnNumber:9},void 0):null;return d?s.jsxDEV("div",{className:`character-card character-card--compact ${y?"character-card--loading":""} ${C?"character-card--failed":""}`,onClick:$,children:[s.jsxDEV("div",{className:"character-card__avatar",children:V()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:140,columnNumber:9},void 0),s.jsxDEV("span",{className:"character-card__username-text",children:t.username||"创建中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:141,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:134,columnNumber:7},void 0):s.jsxDEV("div",{className:`character-card ${y?"character-card--loading":""} ${C?"character-card--failed":""}`,onClick:$,children:[s.jsxDEV("div",{className:"character-card__avatar",children:V()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:156,columnNumber:7},void 0),s.jsxDEV("div",{className:"character-card__info",children:[D&&t.username?s.jsxDEV(w,{content:"点击复制",children:s.jsxDEV("div",{className:"character-card__username",onClick:M,children:["@",t.username,s.jsxDEV(sa,{className:"character-card__username-copy"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:168,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:163,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:162,columnNumber:11},void 0):s.jsxDEV("div",{className:"character-card__username",style:{cursor:"default"},children:y?"创建中...":"角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:172,columnNumber:11},void 0),t.id&&s.jsxDEV(w,{content:t.id,placement:"bottom",children:s.jsxDEV("div",{className:"character-card__source",children:t.id},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:183,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:182,columnNumber:11},void 0),O()]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:159,columnNumber:7},void 0),s.jsxDEV("div",{className:"character-card__actions",children:s.jsxDEV(w,{content:"删除角色",children:s.jsxDEV(v,{size:"small",variant:"text",theme:"danger",icon:s.jsxDEV(ge,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:198,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:194,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:193,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:192,columnNumber:7},void 0),t.profilePictureUrl&&s.jsxDEV(aa,{visible:L,onClose:()=>S(!1),items:[{url:t.profilePictureUrl,type:"image",title:`@${t.username||"Character"}`}]},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:207,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:149,columnNumber:5},void 0)},Qa=({onSelect:t,completedOnly:h=!1,maxItems:c,showHeader:d=!0,title:L="角色列表"})=>{const{characters:S,completedCharacters:y,pendingCharacters:C,isLoading:D,deleteCharacter:M,refreshCharacters:$}=ms(),[x,z]=ss.useState(null),V=ss.useMemo(()=>{let k=h?y:S;return k=[...k].sort((ce,de)=>de.createdAt-ce.createdAt),c&&k.length>c&&(k=k.slice(0,c)),k},[h,S,y,c]),O=r.useCallback(k=>{z(k)},[]),m=r.useCallback(async()=>{if(!x)return;await M(x)?o.success("角色已删除"):o.error("删除失败"),z(null)},[x,M]),b=r.useCallback(async()=>{await $(),o.success("已刷新")},[$]);return D?s.jsxDEV("div",{className:"character-list__loading",children:[s.jsxDEV(le,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:89,columnNumber:9},void 0),s.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):V.length===0?s.jsxDEV("div",{className:"character-list",children:[d&&s.jsxDEV("div",{className:"character-list__header",children:[s.jsxDEV("h4",{children:L},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:101,columnNumber:13},void 0),s.jsxDEV(v,{size:"small",variant:"text",icon:s.jsxDEV(ve,{},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:b},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),s.jsxDEV("div",{className:"character-list__empty",children:[s.jsxDEV("div",{className:"character-list__empty-icon",children:s.jsxDEV(ia,{},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),s.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),s.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):s.jsxDEV("div",{className:"character-list",children:[d&&s.jsxDEV("div",{className:"character-list__header",children:[s.jsxDEV("h4",{children:[L,C.length>0&&s.jsxDEV("span",{style:{fontWeight:"normal",fontSize:"12px",color:"#666",marginLeft:"8px"},children:["(",C.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),s.jsxDEV(v,{size:"small",variant:"text",icon:s.jsxDEV(ve,{},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:b},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),s.jsxDEV("div",{className:"character-list__items",children:V.map(k=>s.jsxDEV(Sa,{character:k,onDelete:O,onSelect:t},k.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),s.jsxDEV(ue,{open:!!x,title:"确认删除",description:"确定要删除此角色吗?删除后将无法在提示词中使用该角色。",confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:k=>{k||z(null)},onConfirm:m},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:se}=os,Ma="task-queue-drawer-width";function $a(t){var h,c,d;return Array.isArray((h=t.result)==null?void 0:h.urls)&&t.result.urls.length>0?t.result.urls.length:(c=t.result)!=null&&c.url||(d=t.result)!=null&&d.chatResponse||ae(t)?1:0}function za(t){const h=$a(t);return{taskId:t.id,taskType:t.type,taskStatus:t.status,model:typeof t.params.model=="string"&&t.params.model.trim()?t.params.model:void 0,resultCount:h||void 0,hasMultipleResults:h>1}}const Ha=({expanded:t,onClose:h,onTaskAction:c})=>{const{tasks:d,activeTasks:L,completedTasks:S,failedTasks:y,cancelledTasks:C,isLoading:D,isLoadingMore:M,hasMore:$,totalCount:x,loadedCount:z,loadMore:V,retryTask:O,deleteTask:m,clearCompleted:b,clearFailed:k,batchDeleteTasks:ce,batchRetryTasks:de,batchCancelTasks:ps}=Ia(),{board:G,openDialog:ye}=ra(),{characters:je}=ms(),[A,fs]=r.useState("all"),[hs,oe]=r.useState(!1),[qe,Ns]=r.useState("completed"),[ie,xs]=r.useState(""),[E,Y]=r.useState("all"),[Aa,we]=r.useState(null),[ks,me]=r.useState(!1),[bs,gs]=r.useState(0),[vs,ys]=r.useState("single"),[Ce,pe]=r.useState(!1),[De,fe]=r.useState(""),[js,he]=r.useState(!1),[Ne,Ee]=r.useState(null),[Ue,xe]=r.useState(null),[H,ee]=r.useState(!1),[N,K]=r.useState(new Set),[qs,ke]=r.useState(!1),[Ve,_e]=r.useState(null),{isConfigured:ws}=ta(),[re,Te]=r.useState(!1),[Cs,te]=r.useState(0),Ie=E==="character";r.useEffect(()=>{as.initCacheStatus()},[]),r.useEffect(()=>{if(!t)return;let a=!1;return ls.getArchivedTaskCount().then(e=>{a||_e(e)}).catch(()=>{a||_e(0)}),()=>{a=!0}},[t,A]);const B=r.useMemo(()=>{let a;switch(A){case"all":a=d;break;case"active":a=L;break;case"completed":a=S;break;case"failed":a=y;break;case"cancelled":a=C;break;case"archived":return[];default:a=d}if(E!=="all"&&E!=="character"&&(a=a.filter(e=>e.type===(E==="image"?p.IMAGE:E==="audio"?p.AUDIO:E==="text"?p.CHAT:p.VIDEO))),ie.trim()){const e=ie.toLowerCase().trim();a=a.filter(i=>{var l,g,j,q,W;return i.params.prompt.toLowerCase().includes(e)||String(((l=i.result)==null?void 0:l.title)||"").toLowerCase().includes(e)||String(((g=i.result)==null?void 0:g.lyricsTitle)||"").toLowerCase().includes(e)||String(((j=i.result)==null?void 0:j.lyricsText)||"").toLowerCase().includes(e)||String(((q=i.result)==null?void 0:q.chatResponse)||"").toLowerCase().includes(e)||(((W=i.result)==null?void 0:W.lyricsTags)||[]).some(u=>String(u).toLowerCase().includes(e))})}return[...a].sort((e,i)=>i.createdAt-e.createdAt)},[A,d,L,S,y,C,E,ie]),Ds=a=>{Ns(a),oe(!0)},Es=()=>{qe==="completed"?b():k(),oe(!1)},Us=a=>{O(a),c==null||c("retry",a)},Vs=a=>{Ee(a),he(!0)},_s=()=>{Ne&&(m(Ne),c==null||c("delete",Ne)),he(!1),Ee(null)},Ts=()=>{H?(ee(!1),K(new Set)):ee(!0)},Is=(a,e)=>{K(i=>{const l=new Set(i);return e?l.add(a):l.delete(a),l})},Ps=()=>{const a=B.map(e=>e.id);K(new Set(a))},Ls=()=>{K(new Set)},Ss=()=>{N.size!==0&&ke(!0)},Qs=()=>{ce(Array.from(N)),K(new Set),ee(!1),ke(!1),o.success(`已删除 ${N.size} 个任务`)},Ms=()=>{const a=Array.from(N).filter(e=>{const i=d.find(l=>l.id===e);return(i==null?void 0:i.status)===Q.FAILED||(i==null?void 0:i.status)===Q.CANCELLED});if(a.length===0){o.warning("没有可重试的任务");return}de(a),K(new Set),ee(!1),o.success(`已重试 ${a.length} 个任务`)},Pe=r.useMemo(()=>Array.from(N).filter(a=>{const e=d.find(i=>i.id===a);return(e==null?void 0:e.status)===Q.FAILED||(e==null?void 0:e.status)===Q.CANCELLED}).length,[N,d]),Le=r.useMemo(()=>Array.from(N).filter(a=>{const e=d.find(i=>i.id===a);return(e==null?void 0:e.status)===Q.PENDING||(e==null?void 0:e.status)===Q.PROCESSING}).length,[N,d]),Se=r.useMemo(()=>Array.from(N).filter(a=>{const e=d.find(i=>i.id===a);return(e==null?void 0:e.status)===Q.COMPLETED&&((e==null?void 0:e.type)===p.IMAGE||(e==null?void 0:e.type)===p.VIDEO)}).length,[N,d]),J=r.useMemo(()=>({all:d.length,image:d.filter(a=>a.type===p.IMAGE).length,video:d.filter(a=>a.type===p.VIDEO).length,audio:d.filter(a=>a.type===p.AUDIO).length,text:d.filter(a=>a.type===p.CHAT).length,character:je.length}),[d,je]),$s=()=>{const a=Array.from(N).filter(e=>{const i=d.find(l=>l.id===e);return(i==null?void 0:i.status)===Q.PENDING||(i==null?void 0:i.status)===Q.PROCESSING});if(a.length===0){o.warning("没有可取消的进行中任务");return}ps(a),K(new Set),ee(!1),o.success(`已取消 ${a.length} 个任务`)},zs=async()=>{const a=Array.from(N).filter(e=>{const i=d.find(l=>l.id===e);return(i==null?void 0:i.status)===Q.COMPLETED&&((i==null?void 0:i.type)===p.IMAGE||(i==null?void 0:i.type)===p.VIDEO)});if(!(a.length===0||re)){Te(!0),te(0);try{const e=await ba.syncMultipleTasks(a,(i,l)=>{te(Math.round(i/l*100))});console.log("[TaskQueuePanel] Batch sync result:",e),te(100),e.succeeded>0&&o.success(`已同步 ${e.succeeded} 个任务`),e.failed>0&&o.warning(`${e.failed} 个任务同步失败`)}catch(e){console.error("[TaskQueuePanel] Batch sync failed:",e),o.error("同步失败,请稍后重试")}finally{Te(!1),te(0)}}},Qe=async a=>{const e=d.find(l=>l.id===a);if(e&&ae(e)){o.info("歌词任务支持复制或插入画布");return}if(!e)return;const i=ga(e);if(i.length!==0)try{const l=await va(i);l.openedCount>0&&l.downloadedCount===0?o.success(l.openedCount>1?`已打开 ${l.openedCount} 个链接,请在新标签页下载`:"资源不支持直接下载,已打开链接"):o.success(e.type===p.AUDIO?i.length>1?"多条音频已开始下载":"音频下载成功":i.length>1?"多图已开始下载":"下载成功"),ya.track("generation_result_download",{...za(e),downloadedCount:l.downloadedCount,openedCount:l.openedCount}),c==null||c("download",a)}catch(l){console.error("Download failed:",l),o.error("下载失败,请稍后重试")}},As=async a=>{const e=d.find(l=>l.id===a);if(!e||!ae(e)){o.warning("暂无可复制的歌词");return}const i=ns(e);if(!i.trim()){o.warning("暂无可复制的歌词");return}try{await cs(i),o.success("歌词已复制"),c==null||c("copy",a)}catch(l){console.error("Failed to copy lyrics:",l),o.error("复制失败,请稍后重试")}},Os=async a=>{var i,l,g,j,q,W,u,X,R,Z,U,_;const e=d.find(n=>n.id===a);if(!e||!G){console.warn("Cannot insert: task result or board not available"),o.warning("无法插入:白板未就绪");return}if(!((i=e.result)!=null&&i.url)&&!((g=(l=e.result)==null?void 0:l.urls)!=null&&g.length)&&!ae(e)){const n=e.type===p.CHAT?(j=e.result)==null?void 0:j.chatResponse:void 0;if(n!=null&&n.trim()){const f=(e.params.prompt||"").slice(0,20)||void 0;await ne({items:[{type:"text",content:n,label:f}]}),o.success("文本已插入到白板"),be.markAsInserted(a,"manual"),c==null||c("insert",a);return}console.warn("Cannot insert: task result is empty"),o.warning("无法插入:任务结果为空");return}try{const n=e.result;if(e.type===p.IMAGE){const f=(q=n.urls)!=null&&q.length?n.urls:[n.url];for(const T of f)await rs(G,is(T));o.success(f.length>1?"多图已插入到白板":"图片已插入到白板")}else if(e.type===p.VIDEO)await ja(G,n.url),o.success("视频已插入到白板");else if(e.type===p.AUDIO){if(ae(e)){const F=us(n,e.params.title||e.params.prompt)||(e.params.prompt||"").slice(0,20)||void 0;await ne({items:[{type:"text",content:ns(e),label:F,metadata:{title:us(n,e.params.title||e.params.prompt),tags:qa(n)}}]}),o.success("歌词已插入到白板"),be.markAsInserted(a,"manual"),c==null||c("insert",a);return}const f=wa(n),T=(u=(W=n.clips)==null?void 0:W[0])==null?void 0:u.duration,I={title:n.title||e.params.title||e.params.prompt,duration:typeof T=="number"?T:n.duration,previewImageUrl:n.previewImageUrl,tags:typeof e.params.tags=="string"?e.params.tags:void 0,mv:typeof e.params.mv=="string"?e.params.mv:void 0,prompt:e.params.prompt,providerTaskId:n.providerTaskId||e.remoteId,clipId:n.primaryClipId||((R=(X=n.clips)==null?void 0:X[0])==null?void 0:R.clipId)||((U=(Z=n.clips)==null?void 0:Z[0])==null?void 0:U.id)||((_=n.clipIds)==null?void 0:_[0]),clipIds:n.clipIds};f.length===1?await Ca(G,f[0],I):await ne({items:f.map((F,P)=>{var Oe,Re,Fe,Ge,He,Be,We,Ke,Ye,Je,Xe,Ze,es;return{type:"audio",content:F,groupId:`task-audio-${e.id}`,dimensions:{width:Ea,height:Da},metadata:{...I,title:((Re=(Oe=n.clips)==null?void 0:Oe[P])==null?void 0:Re.title)||`${I.title||"Audio"} ${P+1}`,previewImageUrl:((Ge=(Fe=n.clips)==null?void 0:Fe[P])==null?void 0:Ge.imageLargeUrl)||((Be=(He=n.clips)==null?void 0:He[P])==null?void 0:Be.imageUrl)||I.previewImageUrl,duration:typeof((Ke=(We=n.clips)==null?void 0:We[P])==null?void 0:Ke.duration)=="number"?n.clips[P].duration||void 0:I.duration,clipId:((Je=(Ye=n.clips)==null?void 0:Ye[P])==null?void 0:Je.clipId)||((Ze=(Xe=n.clips)==null?void 0:Xe[P])==null?void 0:Ze.id)||((es=n.clipIds)==null?void 0:es[P])||I.clipId}}})}),o.success(f.length>1?"多条音频卡片已插入到白板":"音频卡片已插入到白板")}else if(e.type===p.CHAT){const f=n.chatResponse||"",T=(e.params.prompt||"").slice(0,20)||void 0;await ne({items:[{type:"text",content:f,label:T}]}),o.success("文本已插入到白板")}be.markAsInserted(a,"manual"),c==null||c("insert",a)}catch(n){console.error("Failed to insert to board:",n),o.error(`插入失败: ${n instanceof Error?n.message:"未知错误"}`)}},Rs=a=>{var i,l,g,j;const e=d.find(q=>q.id===a);if(!e){console.warn("Cannot edit: task not found");return}if(e.type===p.IMAGE){const q={initialPrompt:e.params.prompt,initialWidth:e.params.width,initialHeight:e.params.height,initialImages:e.params.uploadedImages,initialResultUrl:(i=e.result)==null?void 0:i.url,initialResultUrls:(l=e.result)==null?void 0:l.urls};ye(ts.aiImageGeneration,q)}else if(e.type===p.VIDEO){const q={initialPrompt:e.params.prompt,initialDuration:typeof e.params.seconds=="string"?parseInt(e.params.seconds,10):e.params.seconds,initialModel:e.params.model,initialSize:e.params.size,initialImages:e.params.uploadedImages,initialResultUrl:(g=e.result)==null?void 0:g.url,initialResultUrls:(j=e.result)==null?void 0:j.urls};ye(ts.aiVideoGeneration,q)}else if(e.type===p.AUDIO){o.info("音频任务暂不支持从任务面板直接编辑");return}c==null||c("edit",a)},Fs=a=>{const e=d.find(i=>i.id===a);e&&(xe(e),c==null||c("extractCharacter",a))},Me=r.useMemo(()=>{const a=new Set;return B.filter(e=>{var i,l,g,j;return e.status!==Q.COMPLETED||!((i=e.result)!=null&&i.url)&&!((g=(l=e.result)==null?void 0:l.urls)!=null&&g.length)||e.type!==p.IMAGE&&e.type!==p.VIDEO&&!(e.type===p.AUDIO&&((j=e.result)==null?void 0:j.resultKind)!=="lyrics")||a.has(e.id)?!1:(a.add(e.id),!0)})},[B]),{previewMediaItems:Gs,taskIdToPreviewConfig:$e}=r.useMemo(()=>{var i,l,g,j,q,W;const a=[],e=new Map;for(const u of Me){const X=a.length,R=((i=u.result)==null?void 0:i.title)||u.params.title||((l=u.params.prompt)==null?void 0:l.substring(0,50))||"媒体预览";if(u.type===p.AUDIO){const U=((j=(g=u.result)==null?void 0:g.clips)==null?void 0:j.filter(f=>!!f.audioUrl).map((f,T)=>{var I,F,P;return{id:f.clipId||f.id||`${u.id}-${T}`,url:f.audioUrl,type:"audio",title:f.title||((I=u.result)!=null&&I.clips&&u.result.clips.length>1?`${R} (${T+1}/${u.result.clips.length})`:R),posterUrl:f.imageLargeUrl||f.imageUrl||((F=u.result)==null?void 0:F.previewImageUrl),duration:typeof f.duration=="number"?f.duration:(P=u.result)==null?void 0:P.duration,prompt:u.params.prompt,tags:typeof u.params.tags=="string"?u.params.tags:void 0,artist:u.params.model||u.params.mv||"Aitu",album:"Aitu Generated"}}))??[],_=(q=u.result.urls)!=null&&q.length?u.result.urls:u.result.url?[u.result.url]:[],n=U.length>0?U:_.map((f,T)=>{var I,F;return{id:_.length>1?`${u.id}-${T}`:u.id,url:f,type:"audio",title:_.length>1?`${R} (${T+1}/${_.length})`:R,posterUrl:(I=u.result)==null?void 0:I.previewImageUrl,duration:(F=u.result)==null?void 0:F.duration,prompt:u.params.prompt,tags:typeof u.params.tags=="string"?u.params.tags:void 0,artist:u.params.model||u.params.mv||"Aitu",album:"Aitu Generated"}});a.push(...n)}else{const U=(W=u.result.urls)!=null&&W.length?u.result.urls:[u.result.url],_=u.type===p.VIDEO?"video":"image";for(let n=0;n<U.length;n++){const f=_==="image"?is(U[n]):U[n];a.push({id:U.length>1?`${u.id}-${n}`:u.id,url:f,type:_,title:U.length>1?`${R} (${n+1}/${U.length})`:R})}}const Z=a.length-X;e.set(u.id,{mode:u.type===p.AUDIO&&Z>1?"compare":"single",index:u.type===p.AUDIO&&Z>1?Array.from({length:Math.min(Z,4)},(U,_)=>X+_):X})}return{previewMediaItems:a,taskIdToPreviewConfig:e}},[Me]),ze=r.useCallback(a=>{we(a);const e=$e.get(a);e!==void 0&&(ys(e.mode),gs(e.index),me(!0))},[$e]),Hs=r.useCallback(()=>{we(null),me(!1)},[]),Bs=r.useCallback(a=>{a.type==="image"&&(fe(a.url),pe(!0),me(!1))},[]),Ws=r.useCallback(async a=>{if(G)try{const e=`edited-image-${Date.now()}`,i=`/__aitu_cache__/image/${e}.png`,g=await(await fetch(a)).blob();await as.cacheMediaFromBlob(i,g,"image",{taskId:e}),await rs(G,i),pe(!1),fe("")}catch(e){console.error("Failed to insert edited image:",e)}},[G]),Ks=r.useCallback(()=>{h==null||h()},[h]),Ys=x>0?x:d.length,Ae="这里只显示最近 100 个任务,更早的任务会自动移到“历史”中继续保留。",Js=s.jsxDEV(w,{content:Ae,children:s.jsxDEV("span",{children:["全部 (",Ys,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:982,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:981,columnNumber:5},void 0),Xs=Ve===null?"历史":`历史 (${Ve})`,Zs=x>=100?`已加载最近 ${x} 个任务,较早任务已移至“历史”`:`已加载全部 ${x} 个任务`,ea=s.jsxDEV("div",{className:"task-queue-panel__filters-container",children:[s.jsxDEV(os,{value:A,onChange:a=>fs(a),children:[s.jsxDEV(se,{value:"all",label:Js},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:999,columnNumber:9},void 0),s.jsxDEV(se,{value:"active",label:`生成中 (${L.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1e3,columnNumber:9},void 0),s.jsxDEV(se,{value:"failed",label:`失败 (${y.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1001,columnNumber:9},void 0),s.jsxDEV(se,{value:"completed",label:`已完成 (${S.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1002,columnNumber:9},void 0),s.jsxDEV(se,{value:"archived",label:Xs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1006,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:995,columnNumber:7},void 0),A!=="archived"&&s.jsxDEV("div",{className:"task-queue-panel__filters",children:[s.jsxDEV("div",{className:"task-queue-panel__type-filters",children:[s.jsxDEV(w,{content:`全部 (${J.all})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("all"),className:E==="all"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(na,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1025,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1014,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1013,columnNumber:13},void 0),s.jsxDEV(w,{content:`图片 (${J.image})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("image"),className:E==="image"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(ua,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1040,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1029,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1028,columnNumber:13},void 0),s.jsxDEV(w,{content:`视频 (${J.video})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("video"),className:E==="video"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(la,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1055,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1044,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1043,columnNumber:13},void 0),s.jsxDEV(w,{content:`音频 (${J.audio})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("audio"),className:E==="audio"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(ca,{size:16,strokeWidth:1.9},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1070,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1059,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1058,columnNumber:13},void 0),s.jsxDEV(w,{content:`文本 (${J.text})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("text"),className:E==="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:1074,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1073,columnNumber:13},void 0),s.jsxDEV(w,{content:`角色 (${J.character})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("character"),className:E==="character"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(ds,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1100,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1089,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1088,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1012,columnNumber:11},void 0),s.jsxDEV("div",{className:"task-queue-panel__search-row",children:[s.jsxDEV(da,{value:ie,onChange:a=>xs(a),placeholder:"搜索...",clearable:!0,prefixIcon:s.jsxDEV(oa,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1112,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:1107,columnNumber:13},void 0),s.jsxDEV("div",{className:"task-queue-panel__filter-actions",children:[s.jsxDEV(w,{content:H?"退出多选":"批量操作",children:s.jsxDEV(v,{size:"small",variant:H?"base":"outline",theme:H?"primary":"default",icon:s.jsxDEV(ma,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1123,columnNumber:25},void 0),"data-track":"task_click_toggle_selection",onClick:Ts,children:H?"退出":"多选"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1119,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1118,columnNumber:15},void 0),y.length>0&&!H&&s.jsxDEV(w,{content:"清除失败",children:s.jsxDEV(v,{size:"small",variant:"text",theme:"default",icon:s.jsxDEV(ge,{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:1138,columnNumber:23},void 0),"data-track":"task_click_clear_failed",onClick:()=>Ds("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:1133,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1132,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1117,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1106,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1010,columnNumber:9},void 0),H&&!Ie&&s.jsxDEV("div",{className:"task-queue-panel__batch-actions",children:[s.jsxDEV("div",{className:"task-queue-panel__batch-select",children:[s.jsxDEV(pa,{checked:N.size===B.length&&B.length>0,indeterminate:N.size>0&&N.size<B.length,onChange:a=>a?Ps():Ls()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1157,columnNumber:13},void 0),s.jsxDEV("span",{className:"task-queue-panel__batch-count",children:["已选 ",N.size," / ",B.length]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1170,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1156,columnNumber:11},void 0),s.jsxDEV("div",{className:"task-queue-panel__batch-buttons",children:[Le>0&&s.jsxDEV(v,{size:"small",variant:"outline",theme:"warning",icon:s.jsxDEV(fa,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1180,columnNumber:23},void 0),"data-track":"task_click_batch_cancel",onClick:$s,children:["取消 (",Le,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1176,columnNumber:15},void 0),Pe>0&&s.jsxDEV(v,{size:"small",theme:"primary",icon:s.jsxDEV(ve,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1191,columnNumber:23},void 0),"data-track":"task_click_batch_retry",onClick:Ms,children:["重试 (",Pe,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1188,columnNumber:15},void 0),ws&&Se>0&&s.jsxDEV(w,{content:"同步选中的任务到云端",placement:"bottom",children:s.jsxDEV(v,{size:"small",variant:"outline",icon:s.jsxDEV(ha,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1203,columnNumber:25},void 0),"data-track":"task_click_batch_sync",onClick:zs,disabled:re,loading:re,children:re?`${Cs}%`:`同步 (${Se})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1200,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1199,columnNumber:15},void 0),s.jsxDEV(v,{size:"small",variant:"text",theme:"default",icon:s.jsxDEV(ge,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1219,columnNumber:21},void 0),"data-track":"task_click_batch_delete",onClick:Ss,disabled:N.size===0,children:["删除 (",N.size,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1215,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1174,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1155,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:994,columnNumber:5},void 0);return s.jsxDEV(s.Fragment,{children:[s.jsxDEV(Na,{isOpen:t,onClose:Ks,title:"任务队列",filterSection:ea,position:"toolbar-right",width:"responsive",storageKey:Ma,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:Ie?s.jsxDEV(Qa,{showHeader:!1,title:""},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1254,columnNumber:11},void 0):A==="archived"?s.jsxDEV(La,{onPreviewOpen:ze,onDownload:Qe,className:"task-queue-panel__list"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1257,columnNumber:11},void 0):s.jsxDEV(_a,{tasks:B,selectionMode:H,selectedTaskIds:N,onSelectionChange:Is,onRetry:Us,onDelete:Vs,onDownload:Qe,onInsert:Os,onCopy:As,onEdit:Rs,onPreviewOpen:ze,onExtractCharacter:Fs,hasMore:$,isLoadingMore:M,onLoadMore:V,totalCount:x,loadedCount:z,allLoadedText:Zs,allLoadedHint:x>=100?Ae:void 0,className:"task-queue-panel__list",emptyContent:D?s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.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:1288,columnNumber:19},void 0),s.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:1289,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1287,columnNumber:17},void 0):s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.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:1293,columnNumber:19},void 0),s.jsxDEV("div",{className:"task-queue-panel__empty-text",children:A==="all"?"暂无任务":`暂无${A==="active"?"生成中":A==="completed"?"已完成":A==="failed"?"失败":"已取消"}任务`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1294,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1292,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1264,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1234,columnNumber:7},void 0),s.jsxDEV(ue,{open:hs,title:"确认清除",description:`确定要清除所有${qe==="completed"?"已完成":"失败"}的任务吗?此操作无法撤销。`,confirmText:"清除",cancelText:"取消",danger:!0,onOpenChange:oe,onConfirm:Es},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1315,columnNumber:7},void 0),s.jsxDEV(ue,{open:js,title:"确认删除",description:"确定要删除此任务吗?此操作无法撤销。",confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:he,onConfirm:_s},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1329,columnNumber:7},void 0),s.jsxDEV(ue,{open:qs,title:"确认批量删除",description:`确定要删除选中的 ${N.size} 个任务吗?此操作无法撤销。`,confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:ke,onConfirm:Qs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1341,columnNumber:7},void 0),s.jsxDEV(xa,{visible:ks,items:Gs,initialMode:vs,initialIndex:bs,onClose:Hs,showThumbnails:!0,onEdit:Bs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1353,columnNumber:7},void 0),Ce&&De&&s.jsxDEV(ka,{visible:Ce,imageUrl:De,showOverwrite:!1,onClose:()=>{pe(!1),fe("")},onInsert:G?Ws:void 0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1365,columnNumber:9},void 0),s.jsxDEV(Ta,{visible:!!Ue,task:Ue,onClose:()=>xe(null),onCreateStart:()=>{},onCreateComplete:a=>{xe(null)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1378,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1233,columnNumber:5},void 0)};export{Ma as TASK_DRAWER_WIDTH_KEY,Ha as TaskQueuePanel};
1
+ import{r,eP as ls,y as s,am as le,fM as v,dp as cs,al as o,bV as w,ks as sa,iw as ge,kt as aa,ku as ds,aI as ss,jA as ve,kv as ia,fW as ue,bL as ra,kw as ta,at as as,gK as p,eO as Q,hw as is,dj as rs,kx as os,ky as na,kz as ua,kA as la,hH as ca,iB as da,iC as oa,kB as ma,jN as pa,kC as fa,kD as ha,kE as Na,jO as xa,kF as ka,kG as ba,kH as ae,jP as ga,d2 as va,fY as ya,cX as ts,kI as ns,kJ as ne,eK as be,eI as ja,kK as us,kL as qa,kM as wa,aw as Ca,gU as Da,gV as Ea}from"./tool-windows-Cxt97IUt.js";import{T as Ua,C as Va,u as ms,V as _a,a as Ta}from"./useCharacters-BaLFv1IE.js";import{a as Ia}from"./main-DHHQqQ-d.js";/* empty css */const Pa=30,La=({onPreviewOpen:t,onDownload:h,className:c})=>{const[d,L]=r.useState([]),[S,y]=r.useState(!0),[C,D]=r.useState(!1),[M,$]=r.useState(!1),x=r.useRef(0),z=r.useRef(null),V=r.useCallback(async m=>{try{return await ls.getArchivedTasks(m,Pa)}catch{return{tasks:[],hasMore:!1}}},[]);r.useEffect(()=>{let m=!1;return y(!0),x.current=0,V(0).then(b=>{m||(L(b.tasks),$(b.hasMore),x.current=b.tasks.length,y(!1))}),()=>{m=!0}},[V]);const O=r.useCallback(async()=>{if(C||!M)return;D(!0);const m=await V(x.current);L(b=>[...b,...m.tasks]),$(m.hasMore),x.current+=m.tasks.length,D(!1)},[C,M,V]);return r.useEffect(()=>{const m=z.current;if(!m)return;const b=()=>{m.scrollHeight-m.scrollTop-m.clientHeight<200&&O()};return m.addEventListener("scroll",b,{passive:!0}),()=>m.removeEventListener("scroll",b)},[O]),S?s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.jsxDEV(le,{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),s.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):d.length===0?s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.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),s.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):s.jsxDEV("div",{ref:z,className:c,style:{overflow:"auto",height:"100%"},children:[d.map(m=>s.jsxDEV(Ua,{task:m,onPreviewOpen:t?()=>t(m.id):void 0,onDownload:h},m.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:111,columnNumber:9},void 0)),M&&s.jsxDEV("div",{style:{padding:"12px",textAlign:"center"},children:C?s.jsxDEV(le,{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):s.jsxDEV(v,{size:"small",variant:"text",theme:"default",onClick:O,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)},Sa=({character:t,onDelete:h,onSelect:c,compact:d=!1})=>{const[L,S]=r.useState(!1),y=t.status==="processing"||t.status==="pending",C=t.status==="failed",D=t.status==="completed",M=r.useCallback(async m=>{if(m.stopPropagation(),!t.username)return;const b=`@${t.username}`;try{await cs(b),o.success(`已复制: ${b}`)}catch(k){console.error("Failed to copy:",k),o.error("复制失败")}},[t.username]),$=r.useCallback(()=>{D&&c&&c(t)},[D,c,t]),x=r.useCallback(m=>{m.stopPropagation(),h==null||h(t.id)},[h,t.id]),z=r.useCallback(m=>{m.stopPropagation(),D&&t.profilePictureUrl&&S(!0)},[D,t.profilePictureUrl]),V=()=>t.profilePictureUrl||D?s.jsxDEV(w,{content:"点击查看大图",children:s.jsxDEV(Va,{characterId:t.id,profilePictureUrl:t.profilePictureUrl,alt:t.username||"Character",className:"character-card__avatar-img",onClick:z},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:94,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:93,columnNumber:9},void 0):s.jsxDEV("div",{className:"character-card__avatar-placeholder",children:s.jsxDEV(ds,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:106,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:105,columnNumber:7},void 0),O=()=>y?s.jsxDEV("div",{className:"character-card__status character-card__status--processing",children:[s.jsxDEV(le,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:116,columnNumber:11},void 0),s.jsxDEV("span",{children:"创建中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:117,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:115,columnNumber:9},void 0):C?s.jsxDEV("div",{className:"character-card__status character-card__status--failed",children:["创建失败: ",t.error||"未知错误"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:123,columnNumber:9},void 0):null;return d?s.jsxDEV("div",{className:`character-card character-card--compact ${y?"character-card--loading":""} ${C?"character-card--failed":""}`,onClick:$,children:[s.jsxDEV("div",{className:"character-card__avatar",children:V()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:140,columnNumber:9},void 0),s.jsxDEV("span",{className:"character-card__username-text",children:t.username||"创建中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:141,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:134,columnNumber:7},void 0):s.jsxDEV("div",{className:`character-card ${y?"character-card--loading":""} ${C?"character-card--failed":""}`,onClick:$,children:[s.jsxDEV("div",{className:"character-card__avatar",children:V()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:156,columnNumber:7},void 0),s.jsxDEV("div",{className:"character-card__info",children:[D&&t.username?s.jsxDEV(w,{content:"点击复制",children:s.jsxDEV("div",{className:"character-card__username",onClick:M,children:["@",t.username,s.jsxDEV(sa,{className:"character-card__username-copy"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:168,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:163,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:162,columnNumber:11},void 0):s.jsxDEV("div",{className:"character-card__username",style:{cursor:"default"},children:y?"创建中...":"角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:172,columnNumber:11},void 0),t.id&&s.jsxDEV(w,{content:t.id,placement:"bottom",children:s.jsxDEV("div",{className:"character-card__source",children:t.id},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:183,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:182,columnNumber:11},void 0),O()]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:159,columnNumber:7},void 0),s.jsxDEV("div",{className:"character-card__actions",children:s.jsxDEV(w,{content:"删除角色",children:s.jsxDEV(v,{size:"small",variant:"text",theme:"danger",icon:s.jsxDEV(ge,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:198,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:194,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:193,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:192,columnNumber:7},void 0),t.profilePictureUrl&&s.jsxDEV(aa,{visible:L,onClose:()=>S(!1),items:[{url:t.profilePictureUrl,type:"image",title:`@${t.username||"Character"}`}]},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:207,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:149,columnNumber:5},void 0)},Qa=({onSelect:t,completedOnly:h=!1,maxItems:c,showHeader:d=!0,title:L="角色列表"})=>{const{characters:S,completedCharacters:y,pendingCharacters:C,isLoading:D,deleteCharacter:M,refreshCharacters:$}=ms(),[x,z]=ss.useState(null),V=ss.useMemo(()=>{let k=h?y:S;return k=[...k].sort((ce,de)=>de.createdAt-ce.createdAt),c&&k.length>c&&(k=k.slice(0,c)),k},[h,S,y,c]),O=r.useCallback(k=>{z(k)},[]),m=r.useCallback(async()=>{if(!x)return;await M(x)?o.success("角色已删除"):o.error("删除失败"),z(null)},[x,M]),b=r.useCallback(async()=>{await $(),o.success("已刷新")},[$]);return D?s.jsxDEV("div",{className:"character-list__loading",children:[s.jsxDEV(le,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:89,columnNumber:9},void 0),s.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):V.length===0?s.jsxDEV("div",{className:"character-list",children:[d&&s.jsxDEV("div",{className:"character-list__header",children:[s.jsxDEV("h4",{children:L},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:101,columnNumber:13},void 0),s.jsxDEV(v,{size:"small",variant:"text",icon:s.jsxDEV(ve,{},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:b},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),s.jsxDEV("div",{className:"character-list__empty",children:[s.jsxDEV("div",{className:"character-list__empty-icon",children:s.jsxDEV(ia,{},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),s.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),s.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):s.jsxDEV("div",{className:"character-list",children:[d&&s.jsxDEV("div",{className:"character-list__header",children:[s.jsxDEV("h4",{children:[L,C.length>0&&s.jsxDEV("span",{style:{fontWeight:"normal",fontSize:"12px",color:"#666",marginLeft:"8px"},children:["(",C.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),s.jsxDEV(v,{size:"small",variant:"text",icon:s.jsxDEV(ve,{},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:b},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),s.jsxDEV("div",{className:"character-list__items",children:V.map(k=>s.jsxDEV(Sa,{character:k,onDelete:O,onSelect:t},k.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),s.jsxDEV(ue,{open:!!x,title:"确认删除",description:"确定要删除此角色吗?删除后将无法在提示词中使用该角色。",confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:k=>{k||z(null)},onConfirm:m},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:se}=os,Ma="task-queue-drawer-width";function $a(t){var h,c,d;return Array.isArray((h=t.result)==null?void 0:h.urls)&&t.result.urls.length>0?t.result.urls.length:(c=t.result)!=null&&c.url||(d=t.result)!=null&&d.chatResponse||ae(t)?1:0}function za(t){const h=$a(t);return{taskId:t.id,taskType:t.type,taskStatus:t.status,model:typeof t.params.model=="string"&&t.params.model.trim()?t.params.model:void 0,resultCount:h||void 0,hasMultipleResults:h>1}}const Ha=({expanded:t,onClose:h,onTaskAction:c})=>{const{tasks:d,activeTasks:L,completedTasks:S,failedTasks:y,cancelledTasks:C,isLoading:D,isLoadingMore:M,hasMore:$,totalCount:x,loadedCount:z,loadMore:V,retryTask:O,deleteTask:m,clearCompleted:b,clearFailed:k,batchDeleteTasks:ce,batchRetryTasks:de,batchCancelTasks:ps}=Ia(),{board:G,openDialog:ye}=ra(),{characters:je}=ms(),[A,fs]=r.useState("all"),[hs,oe]=r.useState(!1),[qe,Ns]=r.useState("completed"),[ie,xs]=r.useState(""),[E,Y]=r.useState("all"),[Aa,we]=r.useState(null),[ks,me]=r.useState(!1),[bs,gs]=r.useState(0),[vs,ys]=r.useState("single"),[Ce,pe]=r.useState(!1),[De,fe]=r.useState(""),[js,he]=r.useState(!1),[Ne,Ee]=r.useState(null),[Ue,xe]=r.useState(null),[H,ee]=r.useState(!1),[N,K]=r.useState(new Set),[qs,ke]=r.useState(!1),[Ve,_e]=r.useState(null),{isConfigured:ws}=ta(),[re,Te]=r.useState(!1),[Cs,te]=r.useState(0),Ie=E==="character";r.useEffect(()=>{as.initCacheStatus()},[]),r.useEffect(()=>{if(!t)return;let a=!1;return ls.getArchivedTaskCount().then(e=>{a||_e(e)}).catch(()=>{a||_e(0)}),()=>{a=!0}},[t,A]);const B=r.useMemo(()=>{let a;switch(A){case"all":a=d;break;case"active":a=L;break;case"completed":a=S;break;case"failed":a=y;break;case"cancelled":a=C;break;case"archived":return[];default:a=d}if(E!=="all"&&E!=="character"&&(a=a.filter(e=>e.type===(E==="image"?p.IMAGE:E==="audio"?p.AUDIO:E==="text"?p.CHAT:p.VIDEO))),ie.trim()){const e=ie.toLowerCase().trim();a=a.filter(i=>{var l,g,j,q,W;return i.params.prompt.toLowerCase().includes(e)||String(((l=i.result)==null?void 0:l.title)||"").toLowerCase().includes(e)||String(((g=i.result)==null?void 0:g.lyricsTitle)||"").toLowerCase().includes(e)||String(((j=i.result)==null?void 0:j.lyricsText)||"").toLowerCase().includes(e)||String(((q=i.result)==null?void 0:q.chatResponse)||"").toLowerCase().includes(e)||(((W=i.result)==null?void 0:W.lyricsTags)||[]).some(u=>String(u).toLowerCase().includes(e))})}return[...a].sort((e,i)=>i.createdAt-e.createdAt)},[A,d,L,S,y,C,E,ie]),Ds=a=>{Ns(a),oe(!0)},Es=()=>{qe==="completed"?b():k(),oe(!1)},Us=a=>{O(a),c==null||c("retry",a)},Vs=a=>{Ee(a),he(!0)},_s=()=>{Ne&&(m(Ne),c==null||c("delete",Ne)),he(!1),Ee(null)},Ts=()=>{H?(ee(!1),K(new Set)):ee(!0)},Is=(a,e)=>{K(i=>{const l=new Set(i);return e?l.add(a):l.delete(a),l})},Ps=()=>{const a=B.map(e=>e.id);K(new Set(a))},Ls=()=>{K(new Set)},Ss=()=>{N.size!==0&&ke(!0)},Qs=()=>{ce(Array.from(N)),K(new Set),ee(!1),ke(!1),o.success(`已删除 ${N.size} 个任务`)},Ms=()=>{const a=Array.from(N).filter(e=>{const i=d.find(l=>l.id===e);return(i==null?void 0:i.status)===Q.FAILED||(i==null?void 0:i.status)===Q.CANCELLED});if(a.length===0){o.warning("没有可重试的任务");return}de(a),K(new Set),ee(!1),o.success(`已重试 ${a.length} 个任务`)},Pe=r.useMemo(()=>Array.from(N).filter(a=>{const e=d.find(i=>i.id===a);return(e==null?void 0:e.status)===Q.FAILED||(e==null?void 0:e.status)===Q.CANCELLED}).length,[N,d]),Le=r.useMemo(()=>Array.from(N).filter(a=>{const e=d.find(i=>i.id===a);return(e==null?void 0:e.status)===Q.PENDING||(e==null?void 0:e.status)===Q.PROCESSING}).length,[N,d]),Se=r.useMemo(()=>Array.from(N).filter(a=>{const e=d.find(i=>i.id===a);return(e==null?void 0:e.status)===Q.COMPLETED&&((e==null?void 0:e.type)===p.IMAGE||(e==null?void 0:e.type)===p.VIDEO)}).length,[N,d]),J=r.useMemo(()=>({all:d.length,image:d.filter(a=>a.type===p.IMAGE).length,video:d.filter(a=>a.type===p.VIDEO).length,audio:d.filter(a=>a.type===p.AUDIO).length,text:d.filter(a=>a.type===p.CHAT).length,character:je.length}),[d,je]),$s=()=>{const a=Array.from(N).filter(e=>{const i=d.find(l=>l.id===e);return(i==null?void 0:i.status)===Q.PENDING||(i==null?void 0:i.status)===Q.PROCESSING});if(a.length===0){o.warning("没有可取消的进行中任务");return}ps(a),K(new Set),ee(!1),o.success(`已取消 ${a.length} 个任务`)},zs=async()=>{const a=Array.from(N).filter(e=>{const i=d.find(l=>l.id===e);return(i==null?void 0:i.status)===Q.COMPLETED&&((i==null?void 0:i.type)===p.IMAGE||(i==null?void 0:i.type)===p.VIDEO)});if(!(a.length===0||re)){Te(!0),te(0);try{const e=await ba.syncMultipleTasks(a,(i,l)=>{te(Math.round(i/l*100))});console.log("[TaskQueuePanel] Batch sync result:",e),te(100),e.succeeded>0&&o.success(`已同步 ${e.succeeded} 个任务`),e.failed>0&&o.warning(`${e.failed} 个任务同步失败`)}catch(e){console.error("[TaskQueuePanel] Batch sync failed:",e),o.error("同步失败,请稍后重试")}finally{Te(!1),te(0)}}},Qe=async a=>{const e=d.find(l=>l.id===a);if(e&&ae(e)){o.info("歌词任务支持复制或插入画布");return}if(!e)return;const i=ga(e);if(i.length!==0)try{const l=await va(i);l.openedCount>0&&l.downloadedCount===0?o.success(l.openedCount>1?`已打开 ${l.openedCount} 个链接,请在新标签页下载`:"资源不支持直接下载,已打开链接"):o.success(e.type===p.AUDIO?i.length>1?"多条音频已开始下载":"音频下载成功":i.length>1?"多图已开始下载":"下载成功"),ya.track("generation_result_download",{...za(e),downloadedCount:l.downloadedCount,openedCount:l.openedCount}),c==null||c("download",a)}catch(l){console.error("Download failed:",l),o.error("下载失败,请稍后重试")}},As=async a=>{const e=d.find(l=>l.id===a);if(!e||!ae(e)){o.warning("暂无可复制的歌词");return}const i=ns(e);if(!i.trim()){o.warning("暂无可复制的歌词");return}try{await cs(i),o.success("歌词已复制"),c==null||c("copy",a)}catch(l){console.error("Failed to copy lyrics:",l),o.error("复制失败,请稍后重试")}},Os=async a=>{var i,l,g,j,q,W,u,X,R,Z,U,_;const e=d.find(n=>n.id===a);if(!e||!G){console.warn("Cannot insert: task result or board not available"),o.warning("无法插入:白板未就绪");return}if(!((i=e.result)!=null&&i.url)&&!((g=(l=e.result)==null?void 0:l.urls)!=null&&g.length)&&!ae(e)){const n=e.type===p.CHAT?(j=e.result)==null?void 0:j.chatResponse:void 0;if(n!=null&&n.trim()){const f=(e.params.prompt||"").slice(0,20)||void 0;await ne({items:[{type:"text",content:n,label:f}]}),o.success("文本已插入到白板"),be.markAsInserted(a,"manual"),c==null||c("insert",a);return}console.warn("Cannot insert: task result is empty"),o.warning("无法插入:任务结果为空");return}try{const n=e.result;if(e.type===p.IMAGE){const f=(q=n.urls)!=null&&q.length?n.urls:[n.url];for(const T of f)await rs(G,is(T));o.success(f.length>1?"多图已插入到白板":"图片已插入到白板")}else if(e.type===p.VIDEO)await ja(G,n.url),o.success("视频已插入到白板");else if(e.type===p.AUDIO){if(ae(e)){const F=us(n,e.params.title||e.params.prompt)||(e.params.prompt||"").slice(0,20)||void 0;await ne({items:[{type:"text",content:ns(e),label:F,metadata:{title:us(n,e.params.title||e.params.prompt),tags:qa(n)}}]}),o.success("歌词已插入到白板"),be.markAsInserted(a,"manual"),c==null||c("insert",a);return}const f=wa(n),T=(u=(W=n.clips)==null?void 0:W[0])==null?void 0:u.duration,I={title:n.title||e.params.title||e.params.prompt,duration:typeof T=="number"?T:n.duration,previewImageUrl:n.previewImageUrl,tags:typeof e.params.tags=="string"?e.params.tags:void 0,mv:typeof e.params.mv=="string"?e.params.mv:void 0,prompt:e.params.prompt,providerTaskId:n.providerTaskId||e.remoteId,clipId:n.primaryClipId||((R=(X=n.clips)==null?void 0:X[0])==null?void 0:R.clipId)||((U=(Z=n.clips)==null?void 0:Z[0])==null?void 0:U.id)||((_=n.clipIds)==null?void 0:_[0]),clipIds:n.clipIds};f.length===1?await Ca(G,f[0],I):await ne({items:f.map((F,P)=>{var Oe,Re,Fe,Ge,He,Be,We,Ke,Ye,Je,Xe,Ze,es;return{type:"audio",content:F,groupId:`task-audio-${e.id}`,dimensions:{width:Ea,height:Da},metadata:{...I,title:((Re=(Oe=n.clips)==null?void 0:Oe[P])==null?void 0:Re.title)||`${I.title||"Audio"} ${P+1}`,previewImageUrl:((Ge=(Fe=n.clips)==null?void 0:Fe[P])==null?void 0:Ge.imageLargeUrl)||((Be=(He=n.clips)==null?void 0:He[P])==null?void 0:Be.imageUrl)||I.previewImageUrl,duration:typeof((Ke=(We=n.clips)==null?void 0:We[P])==null?void 0:Ke.duration)=="number"?n.clips[P].duration||void 0:I.duration,clipId:((Je=(Ye=n.clips)==null?void 0:Ye[P])==null?void 0:Je.clipId)||((Ze=(Xe=n.clips)==null?void 0:Xe[P])==null?void 0:Ze.id)||((es=n.clipIds)==null?void 0:es[P])||I.clipId}}})}),o.success(f.length>1?"多条音频卡片已插入到白板":"音频卡片已插入到白板")}else if(e.type===p.CHAT){const f=n.chatResponse||"",T=(e.params.prompt||"").slice(0,20)||void 0;await ne({items:[{type:"text",content:f,label:T}]}),o.success("文本已插入到白板")}be.markAsInserted(a,"manual"),c==null||c("insert",a)}catch(n){console.error("Failed to insert to board:",n),o.error(`插入失败: ${n instanceof Error?n.message:"未知错误"}`)}},Rs=a=>{var i,l,g,j;const e=d.find(q=>q.id===a);if(!e){console.warn("Cannot edit: task not found");return}if(e.type===p.IMAGE){const q={initialPrompt:e.params.prompt,initialWidth:e.params.width,initialHeight:e.params.height,initialImages:e.params.uploadedImages,initialResultUrl:(i=e.result)==null?void 0:i.url,initialResultUrls:(l=e.result)==null?void 0:l.urls};ye(ts.aiImageGeneration,q)}else if(e.type===p.VIDEO){const q={initialPrompt:e.params.prompt,initialDuration:typeof e.params.seconds=="string"?parseInt(e.params.seconds,10):e.params.seconds,initialModel:e.params.model,initialSize:e.params.size,initialImages:e.params.uploadedImages,initialResultUrl:(g=e.result)==null?void 0:g.url,initialResultUrls:(j=e.result)==null?void 0:j.urls};ye(ts.aiVideoGeneration,q)}else if(e.type===p.AUDIO){o.info("音频任务暂不支持从任务面板直接编辑");return}c==null||c("edit",a)},Fs=a=>{const e=d.find(i=>i.id===a);e&&(xe(e),c==null||c("extractCharacter",a))},Me=r.useMemo(()=>{const a=new Set;return B.filter(e=>{var i,l,g,j;return e.status!==Q.COMPLETED||!((i=e.result)!=null&&i.url)&&!((g=(l=e.result)==null?void 0:l.urls)!=null&&g.length)||e.type!==p.IMAGE&&e.type!==p.VIDEO&&!(e.type===p.AUDIO&&((j=e.result)==null?void 0:j.resultKind)!=="lyrics")||a.has(e.id)?!1:(a.add(e.id),!0)})},[B]),{previewMediaItems:Gs,taskIdToPreviewConfig:$e}=r.useMemo(()=>{var i,l,g,j,q,W;const a=[],e=new Map;for(const u of Me){const X=a.length,R=((i=u.result)==null?void 0:i.title)||u.params.title||((l=u.params.prompt)==null?void 0:l.substring(0,50))||"媒体预览";if(u.type===p.AUDIO){const U=((j=(g=u.result)==null?void 0:g.clips)==null?void 0:j.filter(f=>!!f.audioUrl).map((f,T)=>{var I,F,P;return{id:f.clipId||f.id||`${u.id}-${T}`,url:f.audioUrl,type:"audio",title:f.title||((I=u.result)!=null&&I.clips&&u.result.clips.length>1?`${R} (${T+1}/${u.result.clips.length})`:R),posterUrl:f.imageLargeUrl||f.imageUrl||((F=u.result)==null?void 0:F.previewImageUrl),duration:typeof f.duration=="number"?f.duration:(P=u.result)==null?void 0:P.duration,prompt:u.params.prompt,tags:typeof u.params.tags=="string"?u.params.tags:void 0,artist:u.params.model||u.params.mv||"Aitu",album:"Aitu Generated"}}))??[],_=(q=u.result.urls)!=null&&q.length?u.result.urls:u.result.url?[u.result.url]:[],n=U.length>0?U:_.map((f,T)=>{var I,F;return{id:_.length>1?`${u.id}-${T}`:u.id,url:f,type:"audio",title:_.length>1?`${R} (${T+1}/${_.length})`:R,posterUrl:(I=u.result)==null?void 0:I.previewImageUrl,duration:(F=u.result)==null?void 0:F.duration,prompt:u.params.prompt,tags:typeof u.params.tags=="string"?u.params.tags:void 0,artist:u.params.model||u.params.mv||"Aitu",album:"Aitu Generated"}});a.push(...n)}else{const U=(W=u.result.urls)!=null&&W.length?u.result.urls:[u.result.url],_=u.type===p.VIDEO?"video":"image";for(let n=0;n<U.length;n++){const f=_==="image"?is(U[n]):U[n];a.push({id:U.length>1?`${u.id}-${n}`:u.id,url:f,type:_,title:U.length>1?`${R} (${n+1}/${U.length})`:R})}}const Z=a.length-X;e.set(u.id,{mode:u.type===p.AUDIO&&Z>1?"compare":"single",index:u.type===p.AUDIO&&Z>1?Array.from({length:Math.min(Z,4)},(U,_)=>X+_):X})}return{previewMediaItems:a,taskIdToPreviewConfig:e}},[Me]),ze=r.useCallback(a=>{we(a);const e=$e.get(a);e!==void 0&&(ys(e.mode),gs(e.index),me(!0))},[$e]),Hs=r.useCallback(()=>{we(null),me(!1)},[]),Bs=r.useCallback(a=>{a.type==="image"&&(fe(a.url),pe(!0),me(!1))},[]),Ws=r.useCallback(async a=>{if(G)try{const e=`edited-image-${Date.now()}`,i=`/__aitu_cache__/image/${e}.png`,g=await(await fetch(a)).blob();await as.cacheMediaFromBlob(i,g,"image",{taskId:e}),await rs(G,i),pe(!1),fe("")}catch(e){console.error("Failed to insert edited image:",e)}},[G]),Ks=r.useCallback(()=>{h==null||h()},[h]),Ys=x>0?x:d.length,Ae="这里只显示最近 100 个任务,更早的任务会自动移到“历史”中继续保留。",Js=s.jsxDEV(w,{content:Ae,children:s.jsxDEV("span",{children:["全部 (",Ys,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:982,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:981,columnNumber:5},void 0),Xs=Ve===null?"历史":`历史 (${Ve})`,Zs=x>=100?`已加载最近 ${x} 个任务,较早任务已移至“历史”`:`已加载全部 ${x} 个任务`,ea=s.jsxDEV("div",{className:"task-queue-panel__filters-container",children:[s.jsxDEV(os,{value:A,onChange:a=>fs(a),children:[s.jsxDEV(se,{value:"all",label:Js},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:999,columnNumber:9},void 0),s.jsxDEV(se,{value:"active",label:`生成中 (${L.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1e3,columnNumber:9},void 0),s.jsxDEV(se,{value:"failed",label:`失败 (${y.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1001,columnNumber:9},void 0),s.jsxDEV(se,{value:"completed",label:`已完成 (${S.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1002,columnNumber:9},void 0),s.jsxDEV(se,{value:"archived",label:Xs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1006,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:995,columnNumber:7},void 0),A!=="archived"&&s.jsxDEV("div",{className:"task-queue-panel__filters",children:[s.jsxDEV("div",{className:"task-queue-panel__type-filters",children:[s.jsxDEV(w,{content:`全部 (${J.all})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("all"),className:E==="all"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(na,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1025,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1014,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1013,columnNumber:13},void 0),s.jsxDEV(w,{content:`图片 (${J.image})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("image"),className:E==="image"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(ua,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1040,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1029,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1028,columnNumber:13},void 0),s.jsxDEV(w,{content:`视频 (${J.video})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("video"),className:E==="video"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(la,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1055,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1044,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1043,columnNumber:13},void 0),s.jsxDEV(w,{content:`音频 (${J.audio})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("audio"),className:E==="audio"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(ca,{size:16,strokeWidth:1.9},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1070,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1059,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1058,columnNumber:13},void 0),s.jsxDEV(w,{content:`文本 (${J.text})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("text"),className:E==="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:1074,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1073,columnNumber:13},void 0),s.jsxDEV(w,{content:`角色 (${J.character})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>Y("character"),className:E==="character"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(ds,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1100,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1089,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1088,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1012,columnNumber:11},void 0),s.jsxDEV("div",{className:"task-queue-panel__search-row",children:[s.jsxDEV(da,{value:ie,onChange:a=>xs(a),placeholder:"搜索...",clearable:!0,prefixIcon:s.jsxDEV(oa,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1112,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:1107,columnNumber:13},void 0),s.jsxDEV("div",{className:"task-queue-panel__filter-actions",children:[s.jsxDEV(w,{content:H?"退出多选":"批量操作",children:s.jsxDEV(v,{size:"small",variant:H?"base":"outline",theme:H?"primary":"default",icon:s.jsxDEV(ma,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1123,columnNumber:25},void 0),"data-track":"task_click_toggle_selection",onClick:Ts,children:H?"退出":"多选"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1119,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1118,columnNumber:15},void 0),y.length>0&&!H&&s.jsxDEV(w,{content:"清除失败",children:s.jsxDEV(v,{size:"small",variant:"text",theme:"default",icon:s.jsxDEV(ge,{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:1138,columnNumber:23},void 0),"data-track":"task_click_clear_failed",onClick:()=>Ds("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:1133,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1132,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1117,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1106,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1010,columnNumber:9},void 0),H&&!Ie&&s.jsxDEV("div",{className:"task-queue-panel__batch-actions",children:[s.jsxDEV("div",{className:"task-queue-panel__batch-select",children:[s.jsxDEV(pa,{checked:N.size===B.length&&B.length>0,indeterminate:N.size>0&&N.size<B.length,onChange:a=>a?Ps():Ls()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1157,columnNumber:13},void 0),s.jsxDEV("span",{className:"task-queue-panel__batch-count",children:["已选 ",N.size," / ",B.length]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1170,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1156,columnNumber:11},void 0),s.jsxDEV("div",{className:"task-queue-panel__batch-buttons",children:[Le>0&&s.jsxDEV(v,{size:"small",variant:"outline",theme:"warning",icon:s.jsxDEV(fa,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1180,columnNumber:23},void 0),"data-track":"task_click_batch_cancel",onClick:$s,children:["取消 (",Le,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1176,columnNumber:15},void 0),Pe>0&&s.jsxDEV(v,{size:"small",theme:"primary",icon:s.jsxDEV(ve,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1191,columnNumber:23},void 0),"data-track":"task_click_batch_retry",onClick:Ms,children:["重试 (",Pe,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1188,columnNumber:15},void 0),ws&&Se>0&&s.jsxDEV(w,{content:"同步选中的任务到云端",placement:"bottom",children:s.jsxDEV(v,{size:"small",variant:"outline",icon:s.jsxDEV(ha,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1203,columnNumber:25},void 0),"data-track":"task_click_batch_sync",onClick:zs,disabled:re,loading:re,children:re?`${Cs}%`:`同步 (${Se})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1200,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1199,columnNumber:15},void 0),s.jsxDEV(v,{size:"small",variant:"text",theme:"default",icon:s.jsxDEV(ge,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1219,columnNumber:21},void 0),"data-track":"task_click_batch_delete",onClick:Ss,disabled:N.size===0,children:["删除 (",N.size,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1215,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1174,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1155,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:994,columnNumber:5},void 0);return s.jsxDEV(s.Fragment,{children:[s.jsxDEV(Na,{isOpen:t,onClose:Ks,title:"任务队列",filterSection:ea,position:"toolbar-right",width:"responsive",storageKey:Ma,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:Ie?s.jsxDEV(Qa,{showHeader:!1,title:""},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1254,columnNumber:11},void 0):A==="archived"?s.jsxDEV(La,{onPreviewOpen:ze,onDownload:Qe,className:"task-queue-panel__list"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1257,columnNumber:11},void 0):s.jsxDEV(_a,{tasks:B,selectionMode:H,selectedTaskIds:N,onSelectionChange:Is,onRetry:Us,onDelete:Vs,onDownload:Qe,onInsert:Os,onCopy:As,onEdit:Rs,onPreviewOpen:ze,onExtractCharacter:Fs,hasMore:$,isLoadingMore:M,onLoadMore:V,totalCount:x,loadedCount:z,allLoadedText:Zs,allLoadedHint:x>=100?Ae:void 0,className:"task-queue-panel__list",emptyContent:D?s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.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:1288,columnNumber:19},void 0),s.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:1289,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1287,columnNumber:17},void 0):s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.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:1293,columnNumber:19},void 0),s.jsxDEV("div",{className:"task-queue-panel__empty-text",children:A==="all"?"暂无任务":`暂无${A==="active"?"生成中":A==="completed"?"已完成":A==="failed"?"失败":"已取消"}任务`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1294,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1292,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1264,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1234,columnNumber:7},void 0),s.jsxDEV(ue,{open:hs,title:"确认清除",description:`确定要清除所有${qe==="completed"?"已完成":"失败"}的任务吗?此操作无法撤销。`,confirmText:"清除",cancelText:"取消",danger:!0,onOpenChange:oe,onConfirm:Es},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1315,columnNumber:7},void 0),s.jsxDEV(ue,{open:js,title:"确认删除",description:"确定要删除此任务吗?此操作无法撤销。",confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:he,onConfirm:_s},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1329,columnNumber:7},void 0),s.jsxDEV(ue,{open:qs,title:"确认批量删除",description:`确定要删除选中的 ${N.size} 个任务吗?此操作无法撤销。`,confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:ke,onConfirm:Qs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1341,columnNumber:7},void 0),s.jsxDEV(xa,{visible:ks,items:Gs,initialMode:vs,initialIndex:bs,onClose:Hs,showThumbnails:!0,onEdit:Bs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1353,columnNumber:7},void 0),Ce&&De&&s.jsxDEV(ka,{visible:Ce,imageUrl:De,showOverwrite:!1,onClose:()=>{pe(!1),fe("")},onInsert:G?Ws:void 0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1365,columnNumber:9},void 0),s.jsxDEV(Ta,{visible:!!Ue,task:Ue,onClose:()=>xe(null),onCreateStart:()=>{},onCreateComplete:a=>{xe(null)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1378,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1233,columnNumber:5},void 0)};export{Ma as TASK_DRAWER_WIDTH_KEY,Ha as TaskQueuePanel};