chainlesschain 0.162.15 → 0.162.16

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 (138) hide show
  1. package/package.json +2 -2
  2. package/src/assets/web-panel/assets/{AIOps-Dr5poTWh.js → AIOps-6yP2WySy.js} +1 -1
  3. package/src/assets/web-panel/assets/{ActionButton-DLOGPHQ-.js → ActionButton-BvpIMxiU.js} +1 -1
  4. package/src/assets/web-panel/assets/{Analytics-DBlO3FPX.js → Analytics-Bvg88oOa.js} +1 -1
  5. package/src/assets/web-panel/assets/{AppLayout-BrMarmWx.js → AppLayout-Do30UWbY.js} +2 -2
  6. package/src/assets/web-panel/assets/{Audit-DX6omFqA.js → Audit-Bfshrs5j.js} +1 -1
  7. package/src/assets/web-panel/assets/{Backup-0QSLlQkB.js → Backup-yKQbHMJr.js} +1 -1
  8. package/src/assets/web-panel/assets/{BaseInput-Dn4GFfR8.js → BaseInput-CxpV1ZXM.js} +1 -1
  9. package/src/assets/web-panel/assets/{Chat-CMTeA0Zo.js → Chat-y1SfGDl1.js} +1 -1
  10. package/src/assets/web-panel/assets/{Checkbox-BQQxf6iA.js → Checkbox-Dpoth43k.js} +1 -1
  11. package/src/assets/web-panel/assets/{Codegen-D2vrazFC.js → Codegen-DbwH-QDz.js} +1 -1
  12. package/src/assets/web-panel/assets/{Col-P1hVDVKm.js → Col-B-MGUxt2.js} +1 -1
  13. package/src/assets/web-panel/assets/{Community-CPcDkABv.js → Community-B521TAcS.js} +1 -1
  14. package/src/assets/web-panel/assets/{Compact-DvBQwE-b.js → Compact-CislP3fF.js} +1 -1
  15. package/src/assets/web-panel/assets/{Compliance-GX2qsHkq.js → Compliance-BXqrD-tO.js} +1 -1
  16. package/src/assets/web-panel/assets/{Cowork-CEEISrBb.js → Cowork-DtRMjAz_.js} +1 -1
  17. package/src/assets/web-panel/assets/{Cron-Y3D6wB4C.js → Cron-CX8dYcdW.js} +1 -1
  18. package/src/assets/web-panel/assets/{Crosschain-CnCjDKKD.js → Crosschain-DeEwabS0.js} +1 -1
  19. package/src/assets/web-panel/assets/{DID-CJ2EFB5b.js → DID-DjDE7pgB.js} +1 -1
  20. package/src/assets/web-panel/assets/{Dashboard-CWujrs70.js → Dashboard-pr7dCgLq.js} +2 -2
  21. package/src/assets/web-panel/assets/{Dropdown-BzKSQA5P.js → Dropdown-DuDw9Nfe.js} +1 -1
  22. package/src/assets/web-panel/assets/{Federation-DgaAWIwd.js → Federation-BiDyaRHe.js} +1 -1
  23. package/src/assets/web-panel/assets/{FormItemContext-BitgB4Gb.js → FormItemContext-BEF_PW-L.js} +1 -1
  24. package/src/assets/web-panel/assets/{Git-Bzj4vLLf.js → Git-DIbvoylw.js} +1 -1
  25. package/src/assets/web-panel/assets/{Governance-D7DEdSBD.js → Governance-FFY2QV_a.js} +1 -1
  26. package/src/assets/web-panel/assets/{Inference-CVsGLfcX.js → Inference-Clgxm2a1.js} +1 -1
  27. package/src/assets/web-panel/assets/{KnowledgeGraph-CF6C6ZNo.js → KnowledgeGraph-CNmtI1QB.js} +1 -1
  28. package/src/assets/web-panel/assets/{Logs-C0Er-tt8.js → Logs-ibszFmVA.js} +1 -1
  29. package/src/assets/web-panel/assets/{Marketplace-_E7uwUUU.js → Marketplace-CeBhDY6f.js} +1 -1
  30. package/src/assets/web-panel/assets/{McpTools-dHbktLMV.js → McpTools-Bl4misFt.js} +1 -1
  31. package/src/assets/web-panel/assets/{Memory-CaQ4UY7b.js → Memory-CTGi-Zcb.js} +1 -1
  32. package/src/assets/web-panel/assets/{MobileBridge-BbOh0uJt.js → MobileBridge-F7jJrt63.js} +1 -1
  33. package/src/assets/web-panel/assets/{MobileProjects-CfdNEimZ.js → MobileProjects--p2v4WUQ.js} +1 -1
  34. package/src/assets/web-panel/assets/{Mtc-HLvyepRP.js → Mtc-Cw0DfWPd.js} +1 -1
  35. package/src/assets/web-panel/assets/{MtcAudit-DMaHGoIr.js → MtcAudit-BNAv66VX.js} +1 -1
  36. package/src/assets/web-panel/assets/{Multisig-DFNZf0AB.js → Multisig-B4IxV-6K.js} +1 -1
  37. package/src/assets/web-panel/assets/{NLProgramming-cZwXhWy2.js → NLProgramming-J5Nfy4jx.js} +1 -1
  38. package/src/assets/web-panel/assets/{Notes-U_3n8Zid.js → Notes-BQl5wafk.js} +1 -1
  39. package/src/assets/web-panel/assets/{NotificationSettings-B4VvhkKf.js → NotificationSettings-1Sur2hZk.js} +1 -1
  40. package/src/assets/web-panel/assets/{Organization-BIwBFrdX.js → Organization-DSJGSd5V.js} +1 -1
  41. package/src/assets/web-panel/assets/{Overflow-_zxR8gF2.js → Overflow-6TgFQZGw.js} +1 -1
  42. package/src/assets/web-panel/assets/{P2P-DJXmWhLC.js → P2P-Cb-eWAUF.js} +1 -1
  43. package/src/assets/web-panel/assets/{Permissions-DwJ35K8Z.js → Permissions-C_xekWqT.js} +1 -1
  44. package/src/assets/web-panel/assets/{PersonalDataHub-CzZXLXGN.js → PersonalDataHub-C6X0ilxN.js} +1 -1
  45. package/src/assets/web-panel/assets/{Pipeline-DjtRGM8X.js → Pipeline-CQlD8pLe.js} +1 -1
  46. package/src/assets/web-panel/assets/{Privacy-BJhsIhGf.js → Privacy-DlTQcdGg.js} +1 -1
  47. package/src/assets/web-panel/assets/{ProjectInit-DEx5SDLh.js → ProjectInit-BicKKZtR.js} +1 -1
  48. package/src/assets/web-panel/assets/{ProjectSettings-B6qDg7nn.js → ProjectSettings-CXTbWgIg.js} +1 -1
  49. package/src/assets/web-panel/assets/{Projects-CKkTgrBf.js → Projects-Diq_IZJO.js} +1 -1
  50. package/src/assets/web-panel/assets/{Providers-3GEshcW_.js → Providers-CKXjLBNU.js} +1 -1
  51. package/src/assets/web-panel/assets/{QuickAsk-BfUXbKxa.js → QuickAsk-BnUavy-a.js} +1 -1
  52. package/src/assets/web-panel/assets/{Recommend-DgxYasSJ.js → Recommend-qbDO-M0M.js} +1 -1
  53. package/src/assets/web-panel/assets/{Reputation-CWvVg_V1.js → Reputation-BnkI4I_D.js} +1 -1
  54. package/src/assets/web-panel/assets/{Row-42M5ot1v.js → Row-sVpTpVTK.js} +1 -1
  55. package/src/assets/web-panel/assets/{RssFeed-Do3isL1x.js → RssFeed-CN85L1Ph.js} +1 -1
  56. package/src/assets/web-panel/assets/{Search-_7wgwjaR.js → Search-Dxxlr3ob.js} +1 -1
  57. package/src/assets/web-panel/assets/{Security-DKB6pe8t.js → Security-CVjWa1ad.js} +1 -1
  58. package/src/assets/web-panel/assets/{Services-BHrBJAcB.js → Services-BPiPhH6q.js} +1 -1
  59. package/src/assets/web-panel/assets/{Skeleton-C8L-EfGp.js → Skeleton-BpJEB3Px.js} +1 -1
  60. package/src/assets/web-panel/assets/{Skills-CU66huTh.js → Skills-Cjiy1gsC.js} +1 -1
  61. package/src/assets/web-panel/assets/{Sla-DA8AKNmI.js → Sla-CW2YJRZw.js} +1 -1
  62. package/src/assets/web-panel/assets/{SpeechSettings-CufjYTzV.js → SpeechSettings-DBGDc9cz.js} +1 -1
  63. package/src/assets/web-panel/assets/{SyncSettings-D_VAYHIg.js → SyncSettings-CWiQLmKL.js} +1 -1
  64. package/src/assets/web-panel/assets/{Tasks-BE6nYh9k.js → Tasks-CVsvO2yt.js} +1 -1
  65. package/src/assets/web-panel/assets/{Templates-BfRbttd6.js → Templates-BEXmGilK.js} +1 -1
  66. package/src/assets/web-panel/assets/{Tenant-YO71CL80.js → Tenant-Dd_xNf2O.js} +1 -1
  67. package/src/assets/web-panel/assets/{Terminal-D1mQaE_Z.js → Terminal-JIkt-KLk.js} +1 -1
  68. package/src/assets/web-panel/assets/{Tokens-CvnNQtX4.js → Tokens-Ca8aA-4X.js} +1 -1
  69. package/src/assets/web-panel/assets/{Trigger-BnN19FJt.js → Trigger-CLDtLBuR.js} +1 -1
  70. package/src/assets/web-panel/assets/{Trust-C6oZLHqp.js → Trust-DSzmH0eN.js} +1 -1
  71. package/src/assets/web-panel/assets/{UkeySign-BOhFYuWu.js → UkeySign-D7yOYajn.js} +1 -1
  72. package/src/assets/web-panel/assets/{VideoEditing-NMc6-qc-.js → VideoEditing-Dk3jUxyG.js} +1 -1
  73. package/src/assets/web-panel/assets/{Wallet-BALmcKtd.js → Wallet-BSB2tO_C.js} +1 -1
  74. package/src/assets/web-panel/assets/{WebAuthn-6IVe-W6O.js → WebAuthn-DAPZsZNw.js} +1 -1
  75. package/src/assets/web-panel/assets/{WorkflowEditor-BIv20DXb.js → WorkflowEditor-DinHN1vM.js} +1 -1
  76. package/src/assets/web-panel/assets/{chat-CiceyA69.js → chat-BLyN3kuS.js} +1 -1
  77. package/src/assets/web-panel/assets/{colors-CxwvpRW0.js → colors-B-IfN2x7.js} +1 -1
  78. package/src/assets/web-panel/assets/{compact-item-N6ASDseQ.js → compact-item-tVJNTa_f.js} +1 -1
  79. package/src/assets/web-panel/assets/{createContext-CQ8PEhyP.js → createContext-CeHSYhwo.js} +1 -1
  80. package/src/assets/web-panel/assets/{hasIn-DDiIuryC.js → hasIn-CP8akQuY.js} +1 -1
  81. package/src/assets/web-panel/assets/{index-xQlQRo2j.js → index-3T9u2Hlb.js} +1 -1
  82. package/src/assets/web-panel/assets/{index-DobYLmfZ.js → index-B6RV21Hn.js} +1 -1
  83. package/src/assets/web-panel/assets/{index-Bj-mAQFK.js → index-BAhYPqmm.js} +1 -1
  84. package/src/assets/web-panel/assets/{index-92sMXPmR.js → index-BDS9QmmD.js} +1 -1
  85. package/src/assets/web-panel/assets/{index-BKmY57ry.js → index-BRH7hf5q.js} +1 -1
  86. package/src/assets/web-panel/assets/{index-D0yG93O4.js → index-BZhvUfFb.js} +1 -1
  87. package/src/assets/web-panel/assets/{index-Cwk0olXV.js → index-B_pAhN3p.js} +1 -1
  88. package/src/assets/web-panel/assets/{index-BCgZTQf8.js → index-BsMpKD71.js} +1 -1
  89. package/src/assets/web-panel/assets/{index-ClASVywF.js → index-ByqjsQPb.js} +1 -1
  90. package/src/assets/web-panel/assets/{index-mmpauJ3E.js → index-C44pVyK1.js} +1 -1
  91. package/src/assets/web-panel/assets/{index-DEjAgx2R.js → index-C6NyhfFI.js} +1 -1
  92. package/src/assets/web-panel/assets/index-C6dKiBgm.js +1 -0
  93. package/src/assets/web-panel/assets/{index-DcMESTJs.js → index-COqTEK1x.js} +1 -1
  94. package/src/assets/web-panel/assets/{index-CnArbjXg.js → index-CP5ax2Ox.js} +1 -1
  95. package/src/assets/web-panel/assets/{index-Cur_KKpV.js → index-CPdpqzTz.js} +1 -1
  96. package/src/assets/web-panel/assets/{index-BZ4O1Vp7.js → index-C_sA6V0-.js} +1 -1
  97. package/src/assets/web-panel/assets/{index-Bw6UqIkJ.js → index-C_we-zLv.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-D58a5SL3.js → index-Cjg_lXkn.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-DWKigrAM.js → index-CkMJbSJn.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-BjvirvV4.js → index-CmFox476.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-Dj2wgF3A.js → index-CrxfAG6t.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-C_dbCu-F.js → index-CtgPPk47.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-_BHtKVC_.js → index-CxRjf-uA.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-BzdEj9_B.js → index-D0Lw2-GE.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-CcUK2M7W.js → index-D338fQ78.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-C43WIe_p.js → index-D7xlQtKS.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-COIxnEwP.js → index-DISTBJJ4.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-Cb0QVAZL.js → index-DL2e2Kwh.js} +3 -3
  109. package/src/assets/web-panel/assets/{index-1jBrqw2R.js → index-DNpXi3KX.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-DgwpVvQq.js → index-DVbSr5gk.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-hn9LVkIY.js → index-DYEooXtQ.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-CHsNn-Qv.js → index-DaXMEgmQ.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-DtpWqJ-2.js → index-DfzQT6CX.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-BKLatStI.js → index-Dk_cKbpp.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-Dp3r80qO.js → index-pO_TKKcK.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-BdmcwwMp.js → index-q4cwusSB.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-bYorCa3r.js → index-rdeSvPj9.js} +1 -1
  118. package/src/assets/web-panel/assets/index-vl01xWcc.js +1 -0
  119. package/src/assets/web-panel/assets/{index-DUKjS4kF.js → index-xaqrvGuG.js} +1 -1
  120. package/src/assets/web-panel/assets/{initDefaultProps-1MKZtqXZ.js → initDefaultProps-Cw37W7y2.js} +1 -1
  121. package/src/assets/web-panel/assets/{motion-DFBQpRS8.js → motion-DOWpjqMY.js} +1 -1
  122. package/src/assets/web-panel/assets/{move-CiI8Ada0.js → move-Ha0Ha2IK.js} +1 -1
  123. package/src/assets/web-panel/assets/{omit-CjeFoPcC.js → omit-DwGrzMoG.js} +1 -1
  124. package/src/assets/web-panel/assets/{pickAttrs-Be3kefJq.js → pickAttrs-BRVWfNub.js} +1 -1
  125. package/src/assets/web-panel/assets/{placementArrow-Be5Ra1_B.js → placementArrow-hV_RKr6c.js} +1 -1
  126. package/src/assets/web-panel/assets/{responsiveObserve-NCu3YHiX.js → responsiveObserve-PWGubgde.js} +1 -1
  127. package/src/assets/web-panel/assets/{slide-f23lSB4X.js → slide-TRaJdEGF.js} +1 -1
  128. package/src/assets/web-panel/assets/{statusUtils-Dq99US_U.js → statusUtils-Dtpf-U70.js} +1 -1
  129. package/src/assets/web-panel/assets/{styleChecker-B-UUq5Ww.js → styleChecker-pWt7CTDQ.js} +1 -1
  130. package/src/assets/web-panel/assets/{useFlexGapSupport-D6aUzeVO.js → useFlexGapSupport-BojArhOx.js} +1 -1
  131. package/src/assets/web-panel/assets/{useFs-DU-R5a4I.js → useFs-ZGDRvFRC.js} +1 -1
  132. package/src/assets/web-panel/assets/{vnode-N7r8LSGe.js → vnode-CBtr3ooD.js} +1 -1
  133. package/src/assets/web-panel/assets/{zoom-07xoxB1t.js → zoom-DyGC413M.js} +1 -1
  134. package/src/assets/web-panel/index.html +1 -1
  135. package/src/commands/hub.js +162 -1
  136. package/src/lib/personal-data-hub-aichat-wizard.js +29 -15
  137. package/src/assets/web-panel/assets/index-1losWCP0.js +0 -1
  138. package/src/assets/web-panel/assets/index-EoP_WtDt.js +0 -1
@@ -1 +1 @@
1
- import{_ as Ee,b as $e,u as Ke,d as ge}from"./index-Cb0QVAZL.js";import{u as Ue}from"./useFs-DU-R5a4I.js";import{R as Je,ay as Ve,ar as xe,Y as re,p as D,aQ as U,aO as Qe}from"./icons-BOPtEWK4.js";import{o as Ge,M as r,R as f,P as n,u as t,c as o,N as s,r as c,K as y,L as u,O as b,Q as g,S as i,F as He,f as ie}from"./vendor-DhFY8mDK.js";import"./useShellMode-CgR0wCYM.js";const We={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ye={class:"page-title"},qe={class:"page-sub"},Xe={key:0,style:{"text-align":"center",padding:"30px"}},Ze={key:0,style:{"font-family":"monospace",color:"var(--text-muted)","font-size":"12px"}},ea={key:1},aa={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},ta={key:3,style:{"margin-top":"16px"}},oa={style:{color:"var(--text-secondary)","font-size":"11px","margin-bottom":"6px"}},sa={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","max-height":"200px","overflow-y":"auto","white-space":"pre-wrap"}},la={key:4,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},na={style:{color:"var(--text-secondary)"}},ca={key:0,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px","margin-top":"8px"}},ua={style:{"font-family":"monospace"}},ra={key:0},ia={key:1,style:{"margin-top":"12px"}},pa={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},da={key:0,style:{"text-align":"center",padding:"30px"}},va={key:0,style:{"margin-bottom":"16px"}},fa={style:{color:"var(--text-secondary)","font-size":"11px","margin-bottom":"6px"}},ya={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","max-height":"200px","overflow-y":"auto","white-space":"pre-wrap"}},ba={key:0,style:{"font-family":"monospace","font-size":"12px"}},ka={key:2,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},ma={key:0,style:{"text-align":"center",padding:"30px"}},_a={key:2,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},ga={key:0,style:{"text-align":"center",padding:"30px"}},xa={key:0,style:{"font-family":"monospace",color:"var(--text-muted)","font-size":"12px"}},ha={key:1},wa={key:2},za={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},Ca={key:3,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},Sa={style:{"margin-bottom":"12px",color:"var(--text-secondary)"}},Aa={key:0,style:{"margin-top":"12px"}},Ba={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},Oa={__name:"Backup",setup(La){const{t:e}=$e(),k=Ke(),he=Ue(),J=c(!1),pe=c("backup"),V=c(!1),Q=c(!1),G=c(!1),M=c(""),m=c([]),w=c(""),we=ie(()=>[{title:e("backup.backupColumns.id"),key:"id"},{title:e("backup.backupColumns.size"),key:"size",width:120},{title:e("backup.backupColumns.createdAt"),key:"createdAt"},{title:e("backup.backupColumns.action"),key:"action",width:100}]);async function de(){Q.value=!0,M.value="";try{const{output:a}=await k.execute("backup list --json",15e3),l=I(a);Array.isArray(l)?m.value=l:l&&Array.isArray(l.backups)?m.value=l.backups:(m.value=[],a&&a.trim()&&(w.value=a))}catch(a){M.value=e("backup.messages.loadBackupsFailed",{err:a.message})}finally{Q.value=!1}}async function ze(){G.value=!0,w.value="",M.value="";try{const{output:a}=await k.execute("backup create --json",3e4);w.value=a||e("backup.backup.createDefaultMessage"),await de()}catch(a){w.value=e("backup.messages.createBackupFailed",{err:a.message})}finally{G.value=!1}}const H=c(!1),W=c(!1),z=c(null),C=c("");function Ce(a){z.value=a,C.value="",H.value=!0}async function Se(){if(z.value){W.value=!0,C.value="";try{const{output:a}=await k.execute(`backup restore ${z.value.id}`,6e4);C.value=a||e("backup.backup.restoreDefaultMessage")}catch(a){C.value=e("backup.messages.restoreFailed",{err:a.message})}finally{W.value=!1}}}const Y=c(!1),N=c(""),F=c(!1),R=c(""),j=c(0),q=c(""),x=c(""),X=c(!1),Z=c(!1),S=c([]),Ae=ie(()=>[{title:e("backup.conflictColumns.path"),key:"path"},{title:e("backup.conflictColumns.type"),key:"type",width:120}]);async function ee(){Y.value=!0,N.value="";try{const{output:a}=await k.execute("sync status --json",15e3),l=I(a);l?(F.value=l.online||l.synced||l.status==="online"||!1,R.value=F.value?e("backup.sync.synced"):e("backup.sync.notSynced"),j.value=l.pending??l.pendingChanges??0,q.value=l.lastSync||l.lastSyncTime||""):Be(a)}catch(a){N.value=e("backup.messages.loadSyncFailed",{err:a.message})}finally{Y.value=!1}}function Be(a){if(!a){R.value=e("backup.sync.unknown");return}F.value=/synced|online|up.to.date/i.test(a),R.value=F.value?e("backup.sync.synced"):e("backup.sync.notSynced");const l=a.match(/pending[:\s]+(\d+)/i);j.value=l?parseInt(l[1]):0;const d=a.match(/last[:\s]+(.+)/i);d&&(q.value=d[1].trim())}async function Oe(){X.value=!0,x.value="";try{const{output:a}=await k.execute("sync push",3e4);x.value=a||e("backup.sync.pushDefaultMessage"),await ee()}catch(a){x.value=e("backup.messages.pushFailed",{err:a.message})}finally{X.value=!1}}async function Le(){Z.value=!0,x.value="";try{const{output:a}=await k.execute("sync pull",3e4);x.value=a||e("backup.sync.pullDefaultMessage"),await ee()}catch(a){x.value=e("backup.messages.pullFailed",{err:a.message})}finally{Z.value=!1}}async function Me(){try{const{output:a}=await k.execute("sync conflicts --json",15e3),l=I(a);Array.isArray(l)?S.value=l:l&&Array.isArray(l.conflicts)?S.value=l.conflicts:S.value=[]}catch{S.value=[]}}const ae=c(!1),E=c(""),A=c(!1),te=c(""),oe=c(!1),P=c(""),B=c([]),Fe=ie(()=>[{title:e("backup.pinColumns.cid"),key:"cid"},{title:e("backup.pinColumns.name"),key:"name"},{title:e("backup.pinColumns.size"),key:"size",width:120},{title:e("backup.pinColumns.pinnedAt"),key:"pinnedAt"},{title:e("backup.pinColumns.action"),key:"action",width:120}]);async function Pe(){ae.value=!0,E.value="";try{const{output:a}=await k.execute("ipfs status --json",15e3),l=I(a);if(l)A.value=l.online||l.status==="online"||l.connected||!1,te.value=l.peerId||l.id||"";else{A.value=a?/online|connected|running/i.test(a):!1;const d=a?a.match(/(?:peer\s*id|id)[:\s]+(\S+)/i):null;te.value=d?d[1]:""}}catch(a){E.value=e("backup.messages.loadIpfsFailed",{err:a.message})}finally{ae.value=!1}}async function se(){oe.value=!0,P.value="";try{const{output:a}=await k.execute("ipfs pins --json",15e3),l=I(a);Array.isArray(l)?B.value=l:l&&Array.isArray(l.pins)?B.value=l.pins:B.value=[]}catch(a){P.value=e("backup.messages.loadPinsFailed",{err:a.message})}finally{oe.value=!1}}const le=c(!1),ne=c(!1),$=c(""),T=c("");async function ve(){if($.value.trim()){ne.value=!0,T.value="";try{const{output:a}=await k.execute(`ipfs pin "${$.value.trim()}"`,3e4);T.value=a||e("backup.ipfs.pinDefaultSuccess"),await se()}catch(a){T.value=e("backup.messages.pinFailed",{err:a.message})}finally{ne.value=!1}}}async function Te(a){try{await k.execute(`ipfs unpin ${a.cid}`,15e3),await se()}catch(l){P.value=e("backup.messages.unpinFailed",{err:l.message})}}function I(a){if(!a||!a.trim())return null;try{return JSON.parse(a.trim())}catch{const d=a.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(d)try{return JSON.parse(d[0])}catch{}return null}}async function Ie(){if(m.value.length){J.value=!0;try{const a=await he.saveJson({schema:1,exportedAt:new Date().toISOString(),count:m.value.length,backups:m.value},{defaultPath:`backup-list-${new Date().toISOString().slice(0,10)}.json`});if(a.canceled)return;ge.success(a.path?e("backup.messages.exportOk",{count:m.value.length,path:a.path}):e("backup.messages.exportOkDefault"))}catch(a){ge.error(e("backup.messages.exportFailed",{err:a.message||a}))}finally{J.value=!1}}}function fe(a){if(a==null||isNaN(a))return"-";const l=Number(a);if(l===0)return"0 B";const d=["B","KB","MB","GB","TB"],h=Math.floor(Math.log(l)/Math.log(1024));return(l/Math.pow(1024,h)).toFixed(h>0?1:0)+" "+d[h]}async function ye(){V.value=!0;try{await Promise.all([de(),ee(),Me(),Pe(),se()])}finally{V.value=!1}}return Ge(ye),(a,l)=>{const d=y("a-button"),h=y("a-space"),K=y("a-spin"),be=y("a-empty"),ce=y("a-table"),_=y("a-card"),ke=y("a-modal"),ue=y("a-tab-pane"),O=y("a-statistic"),L=y("a-col"),me=y("a-row"),_e=y("a-tag"),De=y("a-popconfirm"),Ne=y("a-input"),Re=y("a-tabs");return u(),r("div",null,[f("div",We,[f("div",null,[f("h2",Ye,n(t(e)("backup.title")),1),f("p",qe,n(t(e)("backup.subtitle")),1)]),o(d,{type:"primary",ghost:"",loading:V.value,onClick:ye},{icon:s(()=>[o(t(Je))]),default:s(()=>[b(" "+n(t(e)("backup.refresh")),1)]),_:1},8,["loading"])]),o(Re,{activeKey:pe.value,"onUpdate:activeKey":l[4]||(l[4]=p=>pe.value=p),type:"card"},{default:s(()=>[o(ue,{key:"backup"},{tab:s(()=>[o(t(re)),b(" "+n(t(e)("backup.tabs.backup")),1)]),default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"}},{title:s(()=>[o(h,null,{default:s(()=>[o(t(re)),f("span",null,n(t(e)("backup.backup.cardTitle")),1)]),_:1})]),extra:s(()=>[o(h,null,{default:s(()=>[o(d,{disabled:!m.value.length,loading:J.value,onClick:Ie},{icon:s(()=>[o(t(Ve))]),default:s(()=>[b(" "+n(t(e)("backup.backup.exportButton")),1)]),_:1},8,["disabled","loading"]),o(d,{type:"primary",loading:G.value,onClick:ze},{icon:s(()=>[o(t(xe))]),default:s(()=>[b(" "+n(t(e)("backup.backup.createButton")),1)]),_:1},8,["loading"])]),_:1})]),default:s(()=>[Q.value?(u(),r("div",Xe,[o(K)])):m.value.length===0&&!w.value?(u(),g(be,{key:1,description:t(e)("backup.backup.emptyText")},null,8,["description"])):i("",!0),m.value.length>0?(u(),g(ce,{key:2,columns:we.value,"data-source":m.value,pagination:!1,size:"small","row-key":"id"},{bodyCell:s(({column:p,record:v})=>[p.key==="id"?(u(),r("span",Ze,n(v.id.length>20?v.id.slice(0,20)+"...":v.id),1)):i("",!0),p.key==="size"?(u(),r("span",ea,n(fe(v.size)),1)):i("",!0),p.key==="createdAt"?(u(),r("span",aa,n(v.createdAt||"-"),1)):i("",!0),p.key==="action"?(u(),g(d,{key:3,size:"small",type:"link",onClick:je=>Ce(v)},{default:s(()=>[b(n(t(e)("backup.backupColumns.restore")),1)]),_:1},8,["onClick"])):i("",!0)]),_:1},8,["columns","data-source"])):i("",!0),w.value?(u(),r("div",ta,[f("div",oa,n(t(e)("backup.backup.lastResultLabel")),1),f("pre",sa,n(w.value),1)])):i("",!0),M.value?(u(),r("div",la,n(M.value),1)):i("",!0)]),_:1}),o(ke,{open:H.value,"onUpdate:open":l[0]||(l[0]=p=>H.value=p),title:t(e)("backup.backup.restoreTitle"),"ok-text":t(e)("backup.backup.restoreOk"),"cancel-text":t(e)("common.cancel"),"confirm-loading":W.value,onOk:Se,"ok-type":"danger"},{default:s(()=>[f("p",na,n(t(e)("backup.backup.restoreIntro")),1),z.value?(u(),r("div",ca,[f("div",null,[f("strong",null,n(t(e)("backup.backup.backupIdPrefix")),1),l[5]||(l[5]=b()),f("span",ua,n(z.value.id),1)]),z.value.createdAt?(u(),r("div",ra,[f("strong",null,n(t(e)("backup.backup.createdAtPrefix")),1),b(" "+n(z.value.createdAt),1)])):i("",!0)])):i("",!0),C.value?(u(),r("div",ia,[f("pre",pa,n(C.value),1)])):i("",!0)]),_:1},8,["open","title","ok-text","cancel-text","confirm-loading"])]),_:1}),o(ue,{key:"sync"},{tab:s(()=>[o(t(D)),b(" "+n(t(e)("backup.tabs.sync")),1)]),default:s(()=>[Y.value?(u(),r("div",da,[o(K)])):(u(),r(He,{key:1},[o(me,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:s(()=>[o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.sync.statusLabel"),value:R.value,"value-style":{color:F.value?"#52c41a":"#888",fontSize:"16px"}},{prefix:s(()=>[o(t(D))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.sync.pendingLabel"),value:j.value,"value-style":{color:j.value>0?"#faad14":"#52c41a",fontSize:"16px"}},{prefix:s(()=>[o(t(D))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.sync.lastSyncLabel"),value:q.value||t(e)("backup.sync.noLastSync"),"value-style":{color:"var(--text-secondary)",fontSize:"16px"}},{prefix:s(()=>[o(t(D))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),o(h,{style:{"margin-bottom":"16px"}},{default:s(()=>[o(d,{loading:X.value,onClick:Oe,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[o(t(re))]),default:s(()=>[b(" "+n(t(e)("backup.sync.pushButton")),1)]),_:1},8,["loading"]),o(d,{loading:Z.value,onClick:Le,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[o(t(D))]),default:s(()=>[b(" "+n(t(e)("backup.sync.pullButton")),1)]),_:1},8,["loading"])]),_:1}),x.value?(u(),r("div",va,[f("div",fa,n(t(e)("backup.sync.outputLabel")),1),f("pre",ya,n(x.value),1)])):i("",!0),S.value.length>0?(u(),g(_,{key:1,title:t(e)("backup.sync.conflictsTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(ce,{columns:Ae.value,"data-source":S.value,pagination:!1,size:"small","row-key":"path"},{bodyCell:s(({column:p,record:v})=>[p.key==="path"?(u(),r("span",ba,n(v.path),1)):i("",!0),p.key==="type"?(u(),g(_e,{key:1,color:"red"},{default:s(()=>[b(n(v.type||t(e)("backup.sync.conflictDefault")),1)]),_:2},1024)):i("",!0)]),_:1},8,["columns","data-source"])]),_:1},8,["title"])):i("",!0)],64)),N.value?(u(),r("div",ka,n(N.value),1)):i("",!0)]),_:1}),o(ue,{key:"ipfs"},{tab:s(()=>[o(t(U)),b(" "+n(t(e)("backup.tabs.ipfs")),1)]),default:s(()=>[o(_,{title:t(e)("backup.ipfs.statusCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"}},{extra:s(()=>[o(_e,{color:A.value?"green":"default"},{default:s(()=>[b(n(A.value?t(e)("backup.ipfs.online"):t(e)("backup.ipfs.offline")),1)]),_:1},8,["color"])]),default:s(()=>[ae.value?(u(),r("div",ma,[o(K)])):(u(),g(me,{key:1,gutter:[16,16]},{default:s(()=>[o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.ipfs.nodeStatusLabel"),value:A.value?t(e)("backup.ipfs.connected"):t(e)("backup.ipfs.disconnected"),"value-style":{color:A.value?"#52c41a":"#888",fontSize:"16px"}},{prefix:s(()=>[o(t(U))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.ipfs.pinnedLabel"),value:B.value.length,"value-style":{fontSize:"16px"}},{prefix:s(()=>[o(t(U))]),_:1},8,["title","value"])]),_:1})]),_:1}),o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.ipfs.peerIdLabel"),value:te.value||"-","value-style":{color:"var(--text-muted)",fontSize:"12px",fontFamily:"monospace"}},{prefix:s(()=>[o(t(U))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1})),E.value?(u(),r("div",_a,n(E.value),1)):i("",!0)]),_:1},8,["title"]),o(_,{title:t(e)("backup.ipfs.pinListTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:s(()=>[o(d,{size:"small",onClick:l[1]||(l[1]=p=>le.value=!0),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[o(t(xe))]),default:s(()=>[b(" "+n(t(e)("backup.ipfs.pinFileButton")),1)]),_:1})]),default:s(()=>[oe.value?(u(),r("div",ga,[o(K)])):B.value.length===0?(u(),g(be,{key:1,description:t(e)("backup.ipfs.pinEmptyText")},null,8,["description"])):(u(),g(ce,{key:2,columns:Fe.value,"data-source":B.value,pagination:{pageSize:10},size:"small","row-key":"cid"},{bodyCell:s(({column:p,record:v})=>[p.key==="cid"?(u(),r("span",xa,n(v.cid.length>24?v.cid.slice(0,24)+"...":v.cid),1)):i("",!0),p.key==="name"?(u(),r("span",ha,n(v.name||"-"),1)):i("",!0),p.key==="size"?(u(),r("span",wa,n(fe(v.size)),1)):i("",!0),p.key==="pinnedAt"?(u(),r("span",za,n(v.pinnedAt||"-"),1)):i("",!0),p.key==="action"?(u(),g(De,{key:4,title:t(e)("backup.ipfs.unpinConfirm"),"ok-text":t(e)("backup.ipfs.unpinOk"),"cancel-text":t(e)("common.cancel"),onConfirm:je=>Te(v)},{default:s(()=>[o(d,{size:"small",type:"link",danger:""},{default:s(()=>[o(t(Qe)),b(" "+n(t(e)("backup.ipfs.unpinAction")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):i("",!0)]),_:1},8,["columns","data-source"])),P.value?(u(),r("div",Ca,n(P.value),1)):i("",!0)]),_:1},8,["title"]),o(ke,{open:le.value,"onUpdate:open":l[3]||(l[3]=p=>le.value=p),title:t(e)("backup.ipfs.pinModalTitle"),"confirm-loading":ne.value,onOk:ve,"ok-text":t(e)("backup.ipfs.pinModalOk"),"cancel-text":t(e)("common.cancel")},{default:s(()=>[f("div",Sa,n(t(e)("backup.ipfs.pinModalIntro")),1),o(Ne,{value:$.value,"onUpdate:value":l[2]||(l[2]=p=>$.value=p),placeholder:t(e)("backup.ipfs.pinModalPlaceholder"),onPressEnter:ve},null,8,["value","placeholder"]),T.value?(u(),r("div",Aa,[f("pre",Ba,n(T.value),1)])):i("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1})]),_:1},8,["activeKey"])])}}},Da=Ee(Oa,[["__scopeId","data-v-80f8ca46"]]);export{Da as default};
1
+ import{_ as Ee,b as $e,u as Ke,d as ge}from"./index-DL2e2Kwh.js";import{u as Ue}from"./useFs-ZGDRvFRC.js";import{R as Je,ay as Ve,ar as xe,Y as re,p as D,aQ as U,aO as Qe}from"./icons-BOPtEWK4.js";import{o as Ge,M as r,R as f,P as n,u as t,c as o,N as s,r as c,K as y,L as u,O as b,Q as g,S as i,F as He,f as ie}from"./vendor-DhFY8mDK.js";import"./useShellMode-CgR0wCYM.js";const We={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ye={class:"page-title"},qe={class:"page-sub"},Xe={key:0,style:{"text-align":"center",padding:"30px"}},Ze={key:0,style:{"font-family":"monospace",color:"var(--text-muted)","font-size":"12px"}},ea={key:1},aa={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},ta={key:3,style:{"margin-top":"16px"}},oa={style:{color:"var(--text-secondary)","font-size":"11px","margin-bottom":"6px"}},sa={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","max-height":"200px","overflow-y":"auto","white-space":"pre-wrap"}},la={key:4,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},na={style:{color:"var(--text-secondary)"}},ca={key:0,style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px","margin-top":"8px"}},ua={style:{"font-family":"monospace"}},ra={key:0},ia={key:1,style:{"margin-top":"12px"}},pa={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},da={key:0,style:{"text-align":"center",padding:"30px"}},va={key:0,style:{"margin-bottom":"16px"}},fa={style:{color:"var(--text-secondary)","font-size":"11px","margin-bottom":"6px"}},ya={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","max-height":"200px","overflow-y":"auto","white-space":"pre-wrap"}},ba={key:0,style:{"font-family":"monospace","font-size":"12px"}},ka={key:2,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},ma={key:0,style:{"text-align":"center",padding:"30px"}},_a={key:2,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},ga={key:0,style:{"text-align":"center",padding:"30px"}},xa={key:0,style:{"font-family":"monospace",color:"var(--text-muted)","font-size":"12px"}},ha={key:1},wa={key:2},za={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},Ca={key:3,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},Sa={style:{"margin-bottom":"12px",color:"var(--text-secondary)"}},Aa={key:0,style:{"margin-top":"12px"}},Ba={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},Oa={__name:"Backup",setup(La){const{t:e}=$e(),k=Ke(),he=Ue(),J=c(!1),pe=c("backup"),V=c(!1),Q=c(!1),G=c(!1),M=c(""),m=c([]),w=c(""),we=ie(()=>[{title:e("backup.backupColumns.id"),key:"id"},{title:e("backup.backupColumns.size"),key:"size",width:120},{title:e("backup.backupColumns.createdAt"),key:"createdAt"},{title:e("backup.backupColumns.action"),key:"action",width:100}]);async function de(){Q.value=!0,M.value="";try{const{output:a}=await k.execute("backup list --json",15e3),l=I(a);Array.isArray(l)?m.value=l:l&&Array.isArray(l.backups)?m.value=l.backups:(m.value=[],a&&a.trim()&&(w.value=a))}catch(a){M.value=e("backup.messages.loadBackupsFailed",{err:a.message})}finally{Q.value=!1}}async function ze(){G.value=!0,w.value="",M.value="";try{const{output:a}=await k.execute("backup create --json",3e4);w.value=a||e("backup.backup.createDefaultMessage"),await de()}catch(a){w.value=e("backup.messages.createBackupFailed",{err:a.message})}finally{G.value=!1}}const H=c(!1),W=c(!1),z=c(null),C=c("");function Ce(a){z.value=a,C.value="",H.value=!0}async function Se(){if(z.value){W.value=!0,C.value="";try{const{output:a}=await k.execute(`backup restore ${z.value.id}`,6e4);C.value=a||e("backup.backup.restoreDefaultMessage")}catch(a){C.value=e("backup.messages.restoreFailed",{err:a.message})}finally{W.value=!1}}}const Y=c(!1),N=c(""),F=c(!1),R=c(""),j=c(0),q=c(""),x=c(""),X=c(!1),Z=c(!1),S=c([]),Ae=ie(()=>[{title:e("backup.conflictColumns.path"),key:"path"},{title:e("backup.conflictColumns.type"),key:"type",width:120}]);async function ee(){Y.value=!0,N.value="";try{const{output:a}=await k.execute("sync status --json",15e3),l=I(a);l?(F.value=l.online||l.synced||l.status==="online"||!1,R.value=F.value?e("backup.sync.synced"):e("backup.sync.notSynced"),j.value=l.pending??l.pendingChanges??0,q.value=l.lastSync||l.lastSyncTime||""):Be(a)}catch(a){N.value=e("backup.messages.loadSyncFailed",{err:a.message})}finally{Y.value=!1}}function Be(a){if(!a){R.value=e("backup.sync.unknown");return}F.value=/synced|online|up.to.date/i.test(a),R.value=F.value?e("backup.sync.synced"):e("backup.sync.notSynced");const l=a.match(/pending[:\s]+(\d+)/i);j.value=l?parseInt(l[1]):0;const d=a.match(/last[:\s]+(.+)/i);d&&(q.value=d[1].trim())}async function Oe(){X.value=!0,x.value="";try{const{output:a}=await k.execute("sync push",3e4);x.value=a||e("backup.sync.pushDefaultMessage"),await ee()}catch(a){x.value=e("backup.messages.pushFailed",{err:a.message})}finally{X.value=!1}}async function Le(){Z.value=!0,x.value="";try{const{output:a}=await k.execute("sync pull",3e4);x.value=a||e("backup.sync.pullDefaultMessage"),await ee()}catch(a){x.value=e("backup.messages.pullFailed",{err:a.message})}finally{Z.value=!1}}async function Me(){try{const{output:a}=await k.execute("sync conflicts --json",15e3),l=I(a);Array.isArray(l)?S.value=l:l&&Array.isArray(l.conflicts)?S.value=l.conflicts:S.value=[]}catch{S.value=[]}}const ae=c(!1),E=c(""),A=c(!1),te=c(""),oe=c(!1),P=c(""),B=c([]),Fe=ie(()=>[{title:e("backup.pinColumns.cid"),key:"cid"},{title:e("backup.pinColumns.name"),key:"name"},{title:e("backup.pinColumns.size"),key:"size",width:120},{title:e("backup.pinColumns.pinnedAt"),key:"pinnedAt"},{title:e("backup.pinColumns.action"),key:"action",width:120}]);async function Pe(){ae.value=!0,E.value="";try{const{output:a}=await k.execute("ipfs status --json",15e3),l=I(a);if(l)A.value=l.online||l.status==="online"||l.connected||!1,te.value=l.peerId||l.id||"";else{A.value=a?/online|connected|running/i.test(a):!1;const d=a?a.match(/(?:peer\s*id|id)[:\s]+(\S+)/i):null;te.value=d?d[1]:""}}catch(a){E.value=e("backup.messages.loadIpfsFailed",{err:a.message})}finally{ae.value=!1}}async function se(){oe.value=!0,P.value="";try{const{output:a}=await k.execute("ipfs pins --json",15e3),l=I(a);Array.isArray(l)?B.value=l:l&&Array.isArray(l.pins)?B.value=l.pins:B.value=[]}catch(a){P.value=e("backup.messages.loadPinsFailed",{err:a.message})}finally{oe.value=!1}}const le=c(!1),ne=c(!1),$=c(""),T=c("");async function ve(){if($.value.trim()){ne.value=!0,T.value="";try{const{output:a}=await k.execute(`ipfs pin "${$.value.trim()}"`,3e4);T.value=a||e("backup.ipfs.pinDefaultSuccess"),await se()}catch(a){T.value=e("backup.messages.pinFailed",{err:a.message})}finally{ne.value=!1}}}async function Te(a){try{await k.execute(`ipfs unpin ${a.cid}`,15e3),await se()}catch(l){P.value=e("backup.messages.unpinFailed",{err:l.message})}}function I(a){if(!a||!a.trim())return null;try{return JSON.parse(a.trim())}catch{const d=a.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(d)try{return JSON.parse(d[0])}catch{}return null}}async function Ie(){if(m.value.length){J.value=!0;try{const a=await he.saveJson({schema:1,exportedAt:new Date().toISOString(),count:m.value.length,backups:m.value},{defaultPath:`backup-list-${new Date().toISOString().slice(0,10)}.json`});if(a.canceled)return;ge.success(a.path?e("backup.messages.exportOk",{count:m.value.length,path:a.path}):e("backup.messages.exportOkDefault"))}catch(a){ge.error(e("backup.messages.exportFailed",{err:a.message||a}))}finally{J.value=!1}}}function fe(a){if(a==null||isNaN(a))return"-";const l=Number(a);if(l===0)return"0 B";const d=["B","KB","MB","GB","TB"],h=Math.floor(Math.log(l)/Math.log(1024));return(l/Math.pow(1024,h)).toFixed(h>0?1:0)+" "+d[h]}async function ye(){V.value=!0;try{await Promise.all([de(),ee(),Me(),Pe(),se()])}finally{V.value=!1}}return Ge(ye),(a,l)=>{const d=y("a-button"),h=y("a-space"),K=y("a-spin"),be=y("a-empty"),ce=y("a-table"),_=y("a-card"),ke=y("a-modal"),ue=y("a-tab-pane"),O=y("a-statistic"),L=y("a-col"),me=y("a-row"),_e=y("a-tag"),De=y("a-popconfirm"),Ne=y("a-input"),Re=y("a-tabs");return u(),r("div",null,[f("div",We,[f("div",null,[f("h2",Ye,n(t(e)("backup.title")),1),f("p",qe,n(t(e)("backup.subtitle")),1)]),o(d,{type:"primary",ghost:"",loading:V.value,onClick:ye},{icon:s(()=>[o(t(Je))]),default:s(()=>[b(" "+n(t(e)("backup.refresh")),1)]),_:1},8,["loading"])]),o(Re,{activeKey:pe.value,"onUpdate:activeKey":l[4]||(l[4]=p=>pe.value=p),type:"card"},{default:s(()=>[o(ue,{key:"backup"},{tab:s(()=>[o(t(re)),b(" "+n(t(e)("backup.tabs.backup")),1)]),default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"}},{title:s(()=>[o(h,null,{default:s(()=>[o(t(re)),f("span",null,n(t(e)("backup.backup.cardTitle")),1)]),_:1})]),extra:s(()=>[o(h,null,{default:s(()=>[o(d,{disabled:!m.value.length,loading:J.value,onClick:Ie},{icon:s(()=>[o(t(Ve))]),default:s(()=>[b(" "+n(t(e)("backup.backup.exportButton")),1)]),_:1},8,["disabled","loading"]),o(d,{type:"primary",loading:G.value,onClick:ze},{icon:s(()=>[o(t(xe))]),default:s(()=>[b(" "+n(t(e)("backup.backup.createButton")),1)]),_:1},8,["loading"])]),_:1})]),default:s(()=>[Q.value?(u(),r("div",Xe,[o(K)])):m.value.length===0&&!w.value?(u(),g(be,{key:1,description:t(e)("backup.backup.emptyText")},null,8,["description"])):i("",!0),m.value.length>0?(u(),g(ce,{key:2,columns:we.value,"data-source":m.value,pagination:!1,size:"small","row-key":"id"},{bodyCell:s(({column:p,record:v})=>[p.key==="id"?(u(),r("span",Ze,n(v.id.length>20?v.id.slice(0,20)+"...":v.id),1)):i("",!0),p.key==="size"?(u(),r("span",ea,n(fe(v.size)),1)):i("",!0),p.key==="createdAt"?(u(),r("span",aa,n(v.createdAt||"-"),1)):i("",!0),p.key==="action"?(u(),g(d,{key:3,size:"small",type:"link",onClick:je=>Ce(v)},{default:s(()=>[b(n(t(e)("backup.backupColumns.restore")),1)]),_:1},8,["onClick"])):i("",!0)]),_:1},8,["columns","data-source"])):i("",!0),w.value?(u(),r("div",ta,[f("div",oa,n(t(e)("backup.backup.lastResultLabel")),1),f("pre",sa,n(w.value),1)])):i("",!0),M.value?(u(),r("div",la,n(M.value),1)):i("",!0)]),_:1}),o(ke,{open:H.value,"onUpdate:open":l[0]||(l[0]=p=>H.value=p),title:t(e)("backup.backup.restoreTitle"),"ok-text":t(e)("backup.backup.restoreOk"),"cancel-text":t(e)("common.cancel"),"confirm-loading":W.value,onOk:Se,"ok-type":"danger"},{default:s(()=>[f("p",na,n(t(e)("backup.backup.restoreIntro")),1),z.value?(u(),r("div",ca,[f("div",null,[f("strong",null,n(t(e)("backup.backup.backupIdPrefix")),1),l[5]||(l[5]=b()),f("span",ua,n(z.value.id),1)]),z.value.createdAt?(u(),r("div",ra,[f("strong",null,n(t(e)("backup.backup.createdAtPrefix")),1),b(" "+n(z.value.createdAt),1)])):i("",!0)])):i("",!0),C.value?(u(),r("div",ia,[f("pre",pa,n(C.value),1)])):i("",!0)]),_:1},8,["open","title","ok-text","cancel-text","confirm-loading"])]),_:1}),o(ue,{key:"sync"},{tab:s(()=>[o(t(D)),b(" "+n(t(e)("backup.tabs.sync")),1)]),default:s(()=>[Y.value?(u(),r("div",da,[o(K)])):(u(),r(He,{key:1},[o(me,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:s(()=>[o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.sync.statusLabel"),value:R.value,"value-style":{color:F.value?"#52c41a":"#888",fontSize:"16px"}},{prefix:s(()=>[o(t(D))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.sync.pendingLabel"),value:j.value,"value-style":{color:j.value>0?"#faad14":"#52c41a",fontSize:"16px"}},{prefix:s(()=>[o(t(D))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.sync.lastSyncLabel"),value:q.value||t(e)("backup.sync.noLastSync"),"value-style":{color:"var(--text-secondary)",fontSize:"16px"}},{prefix:s(()=>[o(t(D))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),o(h,{style:{"margin-bottom":"16px"}},{default:s(()=>[o(d,{loading:X.value,onClick:Oe,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[o(t(re))]),default:s(()=>[b(" "+n(t(e)("backup.sync.pushButton")),1)]),_:1},8,["loading"]),o(d,{loading:Z.value,onClick:Le,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[o(t(D))]),default:s(()=>[b(" "+n(t(e)("backup.sync.pullButton")),1)]),_:1},8,["loading"])]),_:1}),x.value?(u(),r("div",va,[f("div",fa,n(t(e)("backup.sync.outputLabel")),1),f("pre",ya,n(x.value),1)])):i("",!0),S.value.length>0?(u(),g(_,{key:1,title:t(e)("backup.sync.conflictsTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(ce,{columns:Ae.value,"data-source":S.value,pagination:!1,size:"small","row-key":"path"},{bodyCell:s(({column:p,record:v})=>[p.key==="path"?(u(),r("span",ba,n(v.path),1)):i("",!0),p.key==="type"?(u(),g(_e,{key:1,color:"red"},{default:s(()=>[b(n(v.type||t(e)("backup.sync.conflictDefault")),1)]),_:2},1024)):i("",!0)]),_:1},8,["columns","data-source"])]),_:1},8,["title"])):i("",!0)],64)),N.value?(u(),r("div",ka,n(N.value),1)):i("",!0)]),_:1}),o(ue,{key:"ipfs"},{tab:s(()=>[o(t(U)),b(" "+n(t(e)("backup.tabs.ipfs")),1)]),default:s(()=>[o(_,{title:t(e)("backup.ipfs.statusCardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"}},{extra:s(()=>[o(_e,{color:A.value?"green":"default"},{default:s(()=>[b(n(A.value?t(e)("backup.ipfs.online"):t(e)("backup.ipfs.offline")),1)]),_:1},8,["color"])]),default:s(()=>[ae.value?(u(),r("div",ma,[o(K)])):(u(),g(me,{key:1,gutter:[16,16]},{default:s(()=>[o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.ipfs.nodeStatusLabel"),value:A.value?t(e)("backup.ipfs.connected"):t(e)("backup.ipfs.disconnected"),"value-style":{color:A.value?"#52c41a":"#888",fontSize:"16px"}},{prefix:s(()=>[o(t(U))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.ipfs.pinnedLabel"),value:B.value.length,"value-style":{fontSize:"16px"}},{prefix:s(()=>[o(t(U))]),_:1},8,["title","value"])]),_:1})]),_:1}),o(L,{xs:24,sm:8},{default:s(()=>[o(_,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:s(()=>[o(O,{title:t(e)("backup.ipfs.peerIdLabel"),value:te.value||"-","value-style":{color:"var(--text-muted)",fontSize:"12px",fontFamily:"monospace"}},{prefix:s(()=>[o(t(U))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1})),E.value?(u(),r("div",_a,n(E.value),1)):i("",!0)]),_:1},8,["title"]),o(_,{title:t(e)("backup.ipfs.pinListTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:s(()=>[o(d,{size:"small",onClick:l[1]||(l[1]=p=>le.value=!0),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:s(()=>[o(t(xe))]),default:s(()=>[b(" "+n(t(e)("backup.ipfs.pinFileButton")),1)]),_:1})]),default:s(()=>[oe.value?(u(),r("div",ga,[o(K)])):B.value.length===0?(u(),g(be,{key:1,description:t(e)("backup.ipfs.pinEmptyText")},null,8,["description"])):(u(),g(ce,{key:2,columns:Fe.value,"data-source":B.value,pagination:{pageSize:10},size:"small","row-key":"cid"},{bodyCell:s(({column:p,record:v})=>[p.key==="cid"?(u(),r("span",xa,n(v.cid.length>24?v.cid.slice(0,24)+"...":v.cid),1)):i("",!0),p.key==="name"?(u(),r("span",ha,n(v.name||"-"),1)):i("",!0),p.key==="size"?(u(),r("span",wa,n(fe(v.size)),1)):i("",!0),p.key==="pinnedAt"?(u(),r("span",za,n(v.pinnedAt||"-"),1)):i("",!0),p.key==="action"?(u(),g(De,{key:4,title:t(e)("backup.ipfs.unpinConfirm"),"ok-text":t(e)("backup.ipfs.unpinOk"),"cancel-text":t(e)("common.cancel"),onConfirm:je=>Te(v)},{default:s(()=>[o(d,{size:"small",type:"link",danger:""},{default:s(()=>[o(t(Qe)),b(" "+n(t(e)("backup.ipfs.unpinAction")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):i("",!0)]),_:1},8,["columns","data-source"])),P.value?(u(),r("div",Ca,n(P.value),1)):i("",!0)]),_:1},8,["title"]),o(ke,{open:le.value,"onUpdate:open":l[3]||(l[3]=p=>le.value=p),title:t(e)("backup.ipfs.pinModalTitle"),"confirm-loading":ne.value,onOk:ve,"ok-text":t(e)("backup.ipfs.pinModalOk"),"cancel-text":t(e)("common.cancel")},{default:s(()=>[f("div",Sa,n(t(e)("backup.ipfs.pinModalIntro")),1),o(Ne,{value:$.value,"onUpdate:value":l[2]||(l[2]=p=>$.value=p),placeholder:t(e)("backup.ipfs.pinModalPlaceholder"),onPressEnter:ve},null,8,["value","placeholder"]),T.value?(u(),r("div",Aa,[f("pre",Ba,n(T.value),1)])):i("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1})]),_:1},8,["activeKey"])])}}},Da=Ee(Oa,[["__scopeId","data-v-80f8ca46"]]);export{Da as default};
@@ -1 +1 @@
1
- import{P as s,f}from"./index-Cb0QVAZL.js";import{d as w,c as O,s as h,w as k,f as b,r as S}from"./vendor-DhFY8mDK.js";var z=function(n,u){var o={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&u.indexOf(t)<0&&(o[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(n);r<t.length;r++)u.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(n,t[r])&&(o[t[r]]=n[t[r]]);return o};const K=w({compatConfig:{MODE:3},props:{disabled:s.looseBool,type:s.string,value:s.any,tag:{type:String,default:"input"},size:s.string,onChange:Function,onInput:Function,onBlur:Function,onFocus:Function,onKeydown:Function,onCompositionstart:Function,onCompositionend:Function,onKeyup:Function,onPaste:Function,onMousedown:Function},emits:["change","input","blur","keydown","focus","compositionstart","compositionend","keyup","paste","mousedown"],setup(n,u){let{expose:o}=u;const t=h(null);return o({focus:()=>{t.value&&t.value.focus()},blur:()=>{t.value&&t.value.blur()},input:t,setSelectionRange:(l,c,d)=>{var v;(v=t.value)===null||v===void 0||v.setSelectionRange(l,c,d)},select:()=>{var l;(l=t.value)===null||l===void 0||l.select()},getSelectionStart:()=>{var l;return(l=t.value)===null||l===void 0?void 0:l.selectionStart},getSelectionEnd:()=>{var l;return(l=t.value)===null||l===void 0?void 0:l.selectionEnd},getScrollTop:()=>{var l;return(l=t.value)===null||l===void 0?void 0:l.scrollTop}}),()=>{const{tag:l,value:c}=n,d=z(n,["tag","value"]);return O(l,f(f({},d),{},{ref:t,value:c}),null)}}});function D(n){const u=n.getBoundingClientRect(),o=document.documentElement;return{left:u.left+(window.scrollX||o.scrollLeft)-(o.clientLeft||document.body.clientLeft||0),top:u.top+(window.scrollY||o.scrollTop)-(o.clientTop||document.body.clientTop||0)}}function N(n){return Array.prototype.slice.apply(n).map(o=>`${o}: ${n.getPropertyValue(o)};`).join("")}function M(n){return Object.keys(n).reduce((u,o)=>{const t=n[o];return typeof t>"u"||t===null||(u+=`${o}: ${n[o]};`),u},"")}var $=function(n,u){var o={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&u.indexOf(t)<0&&(o[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(n);r<t.length;r++)u.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(n,t[r])&&(o[t[r]]=n[t[r]]);return o};const A=w({compatConfig:{MODE:3},inheritAttrs:!1,props:{disabled:s.looseBool,type:s.string,value:s.any,lazy:s.bool.def(!0),tag:{type:String,default:"input"},size:s.string,style:s.oneOfType([String,Object]),class:s.string},emits:["change","input","blur","keydown","focus","compositionstart","compositionend","keyup","paste","mousedown"],setup(n,u){let{emit:o,attrs:t,expose:r}=u;const a=h(null),y=S(),i=S(!1);k([()=>n.value,i],()=>{i.value||(y.value=n.value)},{immediate:!0});const l=e=>{o("change",e)},c=e=>{i.value=!0,e.target.composing=!0,o("compositionstart",e)},d=e=>{i.value=!1,e.target.composing=!1,o("compositionend",e);const p=document.createEvent("HTMLEvents");p.initEvent("input",!0,!0),e.target.dispatchEvent(p),l(e)},v=e=>{if(i.value&&n.lazy){y.value=e.target.value;return}o("input",e)},_=e=>{o("blur",e)},C=e=>{o("focus",e)},E=()=>{a.value&&a.value.focus()},P=()=>{a.value&&a.value.blur()},j=e=>{o("keydown",e)},F=e=>{o("keyup",e)},T=(e,p,g)=>{var m;(m=a.value)===null||m===void 0||m.setSelectionRange(e,p,g)},B=()=>{var e;(e=a.value)===null||e===void 0||e.select()};r({focus:E,blur:P,input:b(()=>{var e;return(e=a.value)===null||e===void 0?void 0:e.input}),setSelectionRange:T,select:B,getSelectionStart:()=>{var e;return(e=a.value)===null||e===void 0?void 0:e.getSelectionStart()},getSelectionEnd:()=>{var e;return(e=a.value)===null||e===void 0?void 0:e.getSelectionEnd()},getScrollTop:()=>{var e;return(e=a.value)===null||e===void 0?void 0:e.getScrollTop()}});const R=e=>{o("mousedown",e)},x=e=>{o("paste",e)},I=b(()=>n.style&&typeof n.style!="string"?M(n.style):n.style);return()=>{const{style:e,lazy:p}=n,g=$(n,["style","lazy"]);return O(K,f(f(f({},g),t),{},{style:I.value,onInput:v,onChange:l,onBlur:_,onFocus:C,ref:a,value:y.value,onCompositionstart:c,onCompositionend:d,onKeyup:F,onKeydown:j,onPaste:x,onMousedown:R}),null)}}});export{A as B,D as g,N as s};
1
+ import{P as s,f}from"./index-DL2e2Kwh.js";import{d as w,c as O,s as h,w as k,f as b,r as S}from"./vendor-DhFY8mDK.js";var z=function(n,u){var o={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&u.indexOf(t)<0&&(o[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(n);r<t.length;r++)u.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(n,t[r])&&(o[t[r]]=n[t[r]]);return o};const K=w({compatConfig:{MODE:3},props:{disabled:s.looseBool,type:s.string,value:s.any,tag:{type:String,default:"input"},size:s.string,onChange:Function,onInput:Function,onBlur:Function,onFocus:Function,onKeydown:Function,onCompositionstart:Function,onCompositionend:Function,onKeyup:Function,onPaste:Function,onMousedown:Function},emits:["change","input","blur","keydown","focus","compositionstart","compositionend","keyup","paste","mousedown"],setup(n,u){let{expose:o}=u;const t=h(null);return o({focus:()=>{t.value&&t.value.focus()},blur:()=>{t.value&&t.value.blur()},input:t,setSelectionRange:(l,c,d)=>{var v;(v=t.value)===null||v===void 0||v.setSelectionRange(l,c,d)},select:()=>{var l;(l=t.value)===null||l===void 0||l.select()},getSelectionStart:()=>{var l;return(l=t.value)===null||l===void 0?void 0:l.selectionStart},getSelectionEnd:()=>{var l;return(l=t.value)===null||l===void 0?void 0:l.selectionEnd},getScrollTop:()=>{var l;return(l=t.value)===null||l===void 0?void 0:l.scrollTop}}),()=>{const{tag:l,value:c}=n,d=z(n,["tag","value"]);return O(l,f(f({},d),{},{ref:t,value:c}),null)}}});function D(n){const u=n.getBoundingClientRect(),o=document.documentElement;return{left:u.left+(window.scrollX||o.scrollLeft)-(o.clientLeft||document.body.clientLeft||0),top:u.top+(window.scrollY||o.scrollTop)-(o.clientTop||document.body.clientTop||0)}}function N(n){return Array.prototype.slice.apply(n).map(o=>`${o}: ${n.getPropertyValue(o)};`).join("")}function M(n){return Object.keys(n).reduce((u,o)=>{const t=n[o];return typeof t>"u"||t===null||(u+=`${o}: ${n[o]};`),u},"")}var $=function(n,u){var o={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&u.indexOf(t)<0&&(o[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(n);r<t.length;r++)u.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(n,t[r])&&(o[t[r]]=n[t[r]]);return o};const A=w({compatConfig:{MODE:3},inheritAttrs:!1,props:{disabled:s.looseBool,type:s.string,value:s.any,lazy:s.bool.def(!0),tag:{type:String,default:"input"},size:s.string,style:s.oneOfType([String,Object]),class:s.string},emits:["change","input","blur","keydown","focus","compositionstart","compositionend","keyup","paste","mousedown"],setup(n,u){let{emit:o,attrs:t,expose:r}=u;const a=h(null),y=S(),i=S(!1);k([()=>n.value,i],()=>{i.value||(y.value=n.value)},{immediate:!0});const l=e=>{o("change",e)},c=e=>{i.value=!0,e.target.composing=!0,o("compositionstart",e)},d=e=>{i.value=!1,e.target.composing=!1,o("compositionend",e);const p=document.createEvent("HTMLEvents");p.initEvent("input",!0,!0),e.target.dispatchEvent(p),l(e)},v=e=>{if(i.value&&n.lazy){y.value=e.target.value;return}o("input",e)},_=e=>{o("blur",e)},C=e=>{o("focus",e)},E=()=>{a.value&&a.value.focus()},P=()=>{a.value&&a.value.blur()},j=e=>{o("keydown",e)},F=e=>{o("keyup",e)},T=(e,p,g)=>{var m;(m=a.value)===null||m===void 0||m.setSelectionRange(e,p,g)},B=()=>{var e;(e=a.value)===null||e===void 0||e.select()};r({focus:E,blur:P,input:b(()=>{var e;return(e=a.value)===null||e===void 0?void 0:e.input}),setSelectionRange:T,select:B,getSelectionStart:()=>{var e;return(e=a.value)===null||e===void 0?void 0:e.getSelectionStart()},getSelectionEnd:()=>{var e;return(e=a.value)===null||e===void 0?void 0:e.getSelectionEnd()},getScrollTop:()=>{var e;return(e=a.value)===null||e===void 0?void 0:e.getScrollTop()}});const R=e=>{o("mousedown",e)},x=e=>{o("paste",e)},I=b(()=>n.style&&typeof n.style!="string"?M(n.style):n.style);return()=>{const{style:e,lazy:p}=n,g=$(n,["style","lazy"]);return O(K,f(f(f({},g),t),{},{style:I.value,onInput:v,onChange:l,onBlur:_,onFocus:C,ref:a,value:y.value,onCompositionstart:c,onCompositionend:d,onKeyup:F,onKeydown:j,onPaste:x,onMousedown:R}),null)}}});export{A as B,D as g,N as s};
@@ -1,4 +1,4 @@
1
- import{L as l,M as m,R as d,Q as z,u as y,P as u,S as M,Z as Y,f as x,w as Z,o as _e,n as B,x as Ae,_ as le,F as K,Y as G,U as he,r as N,K as q,c as v,N as $,O as E,a0 as Te,a1 as Fe,H as Re,I as Pe,a as qe}from"./vendor-DhFY8mDK.js";import{_ as ee,b as je}from"./index-Cb0QVAZL.js";import{u as Le,M as De}from"./chat-CiceyA69.js";import{a as Ne,L as ye,y as We,af as Be,ag as Ve,f as He,c as Ue,q as Qe,ah as fe,ai as Ke,b as Ge,F as me,G as pe,h as Je,ac as ge,l as Xe,aj as Ye,ak as Ze}from"./icons-BOPtEWK4.js";import{r as et}from"./markdown-Yo_c6Krv.js";import"./markdown-CsiA8-E5.js";const tt=["data-testid"],st={class:"cb-action__icon"},nt={class:"cb-action__label"},it={key:0,class:"cb-action__detail"},ot={key:1,class:"cb-action__caret"},at={__name:"ToolInvocationCard",props:{item:{type:Object,required:!0},expandable:{type:Boolean,default:!1},expanded:{type:Boolean,default:!1}},emits:["toggle"],setup(c,{emit:g}){const e=c,t=g;function s(){e.expandable&&t("toggle")}return(n,o)=>(l(),m("div",{class:Y(["cb-action",[`cb-action--${c.item.status}`,{"cb-action--expandable":c.expandable,"cb-action--open":c.expanded}]]),"data-testid":`tool-card-${c.item.id}`,onClick:s},[d("span",st,[c.item.status==="done"?(l(),z(y(Ne),{key:0})):c.item.status==="running"?(l(),z(y(ye),{key:1})):(l(),z(y(We),{key:2}))]),d("span",nt,u(c.item.label),1),c.item.detail?(l(),m("span",it,u(c.item.detail),1)):M("",!0),c.expandable?(l(),m("span",ot,[c.expanded?(l(),z(y(Be),{key:0})):(l(),z(y(Ve),{key:1}))])):M("",!0)],10,tt))}},lt=ee(at,[["__scopeId","data-v-cf5a0925"]]),rt=["innerHTML"],ct={__name:"MarkdownRenderer",props:{content:{type:String,default:""}},setup(c){const g=c,e=x(()=>et(g.content||""));return(t,s)=>(l(),m("div",{class:"markdown-content",innerHTML:e.value},null,8,rt))}},ut=ee(ct,[["__scopeId","data-v-693ca57e"]]);function Q(c,g,e){let t=e.initialDeps??[],s,n=!0;function o(){var a,r,O;let S;e.key&&((a=e.debug)!=null&&a.call(e))&&(S=Date.now());const b=c();if(!(b.length!==t.length||b.some((k,C)=>t[C]!==k)))return s;t=b;let h;if(e.key&&((r=e.debug)!=null&&r.call(e))&&(h=Date.now()),s=g(...b),e.key&&((O=e.debug)!=null&&O.call(e))){const k=Math.round((Date.now()-S)*100)/100,C=Math.round((Date.now()-h)*100)/100,_=C/16,F=(A,j)=>{for(A=String(A);A.length<j;)A=" "+A;return A};console.info(`%c⏱ ${F(C,5)} /${F(k,5)} ms`,`
1
+ import{L as l,M as m,R as d,Q as z,u as y,P as u,S as M,Z as Y,f as x,w as Z,o as _e,n as B,x as Ae,_ as le,F as K,Y as G,U as he,r as N,K as q,c as v,N as $,O as E,a0 as Te,a1 as Fe,H as Re,I as Pe,a as qe}from"./vendor-DhFY8mDK.js";import{_ as ee,b as je}from"./index-DL2e2Kwh.js";import{u as Le,M as De}from"./chat-BLyN3kuS.js";import{a as Ne,L as ye,y as We,af as Be,ag as Ve,f as He,c as Ue,q as Qe,ah as fe,ai as Ke,b as Ge,F as me,G as pe,h as Je,ac as ge,l as Xe,aj as Ye,ak as Ze}from"./icons-BOPtEWK4.js";import{r as et}from"./markdown-Yo_c6Krv.js";import"./markdown-CsiA8-E5.js";const tt=["data-testid"],st={class:"cb-action__icon"},nt={class:"cb-action__label"},it={key:0,class:"cb-action__detail"},ot={key:1,class:"cb-action__caret"},at={__name:"ToolInvocationCard",props:{item:{type:Object,required:!0},expandable:{type:Boolean,default:!1},expanded:{type:Boolean,default:!1}},emits:["toggle"],setup(c,{emit:g}){const e=c,t=g;function s(){e.expandable&&t("toggle")}return(n,o)=>(l(),m("div",{class:Y(["cb-action",[`cb-action--${c.item.status}`,{"cb-action--expandable":c.expandable,"cb-action--open":c.expanded}]]),"data-testid":`tool-card-${c.item.id}`,onClick:s},[d("span",st,[c.item.status==="done"?(l(),z(y(Ne),{key:0})):c.item.status==="running"?(l(),z(y(ye),{key:1})):(l(),z(y(We),{key:2}))]),d("span",nt,u(c.item.label),1),c.item.detail?(l(),m("span",it,u(c.item.detail),1)):M("",!0),c.expandable?(l(),m("span",ot,[c.expanded?(l(),z(y(Be),{key:0})):(l(),z(y(Ve),{key:1}))])):M("",!0)],10,tt))}},lt=ee(at,[["__scopeId","data-v-cf5a0925"]]),rt=["innerHTML"],ct={__name:"MarkdownRenderer",props:{content:{type:String,default:""}},setup(c){const g=c,e=x(()=>et(g.content||""));return(t,s)=>(l(),m("div",{class:"markdown-content",innerHTML:e.value},null,8,rt))}},ut=ee(ct,[["__scopeId","data-v-693ca57e"]]);function Q(c,g,e){let t=e.initialDeps??[],s,n=!0;function o(){var a,r,O;let S;e.key&&((a=e.debug)!=null&&a.call(e))&&(S=Date.now());const b=c();if(!(b.length!==t.length||b.some((k,C)=>t[C]!==k)))return s;t=b;let h;if(e.key&&((r=e.debug)!=null&&r.call(e))&&(h=Date.now()),s=g(...b),e.key&&((O=e.debug)!=null&&O.call(e))){const k=Math.round((Date.now()-S)*100)/100,C=Math.round((Date.now()-h)*100)/100,_=C/16,F=(A,j)=>{for(A=String(A);A.length<j;)A=" "+A;return A};console.info(`%c⏱ ${F(C,5)} /${F(k,5)} ms`,`
2
2
  font-size: .6rem;
3
3
  font-weight: bold;
4
4
  color: hsl(${Math.max(0,Math.min(120-120*_,120))}deg 100% 31%);`,e?.key)}return e?.onChange&&!(n&&e.skipInitialOnChange)&&e.onChange(s),n=!1,s}return o.updateDeps=a=>{t=a},o}function ve(c,g){if(c===void 0)throw new Error("Unexpected undefined");return c}const dt=(c,g)=>Math.abs(c-g)<1.01,ht=c=>c,ft=c=>{const g=Math.max(c.startIndex-c.overscan,0),e=Math.min(c.endIndex+c.overscan,c.count-1),t=[];for(let s=g;s<=e;s++)t.push(s);return t},mt=(c,g,e)=>{if(g?.borderBoxSize){const t=g.borderBoxSize[0];if(t)return Math.round(t[e.options.horizontal?"inlineSize":"blockSize"])}return c[e.options.horizontal?"offsetWidth":"offsetHeight"]};class pt{constructor(g){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var e,t,s;return((s=(t=(e=this.targetWindow)==null?void 0:e.performance)==null?void 0:t.now)==null?void 0:s.call(t))??Date.now()},this.observer=(()=>{let e=null;const t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(s=>{s.forEach(n=>{const o=()=>{const a=n.target,r=this.indexFromElement(a);if(!a.isConnected){this.observer.unobserve(a);return}this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(a,n,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()})}));return{disconnect:()=>{var s;(s=t())==null||s.disconnect(),e=null},observe:s=>{var n;return(n=t())==null?void 0:n.observe(s,{box:"border-box"})},unobserve:s=>{var n;return(n=t())==null?void 0:n.unobserve(s)}}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,s])=>{typeof s>"u"&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:ht,rangeExtractor:ft,onChange:()=>{},measureElement:mt,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",...e}},this.notify=e=>{var t,s;(s=(t=this.options).onChange)==null||s.call(t,this,e)},this.maybeNotify=Q(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;const t=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==t){if(this.cleanup(),!t){this.maybeNotify();return}this.scrollElement=t,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((e=this.scrollElement)==null?void 0:e.window)??null,this.elementsCache.forEach(s=>{this.observer.observe(s)}),this.unsubs.push(this.options.observeElementRect(this,s=>{this.scrollRect=s,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(s,n)=>{this.scrollAdjustments=0,this.scrollDirection=n?this.getScrollOffset()<s?"forward":"backward":null,this.scrollOffset=s,this.isScrolling=n,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{const s=new Map,n=new Map;for(let o=t-1;o>=0;o--){const a=e[o];if(s.has(a.lane))continue;const r=n.get(a.lane);if(r==null||a.end>r.end?n.set(a.lane,a):a.end<r.end&&s.set(a.lane,!0),s.size===this.options.lanes)break}return n.size===this.options.lanes?Array.from(n.values()).sort((o,a)=>o.end===a.end?o.index-a.index:o.end-a.end)[0]:void 0},this.getMeasurementOptions=Q(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,s,n,o,a,r)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:o,lanes:a,laneAssignmentMode:r}),{key:!1}),this.getMeasurements=Q(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:o,lanes:a,laneAssignmentMode:r},O)=>{if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(const h of this.laneAssignments.keys())h>=e&&this.laneAssignments.delete(h);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(h=>{this.itemSizeCache.set(h.key,h.size)}));const S=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);const b=this.measurementsCache.slice(0,S),T=new Array(a).fill(void 0);for(let h=0;h<S;h++){const k=b[h];k&&(T[k.lane]=h)}for(let h=S;h<e;h++){const k=n(h),C=this.laneAssignments.get(h);let _,F;const A=r==="estimate"||O.has(k);if(C!==void 0&&this.options.lanes>1){_=C;const w=T[_],P=w!==void 0?b[w]:void 0;F=P?P.end+this.options.gap:t+s}else{const w=this.options.lanes===1?b[h-1]:this.getFurthestMeasurement(b,h);F=w?w.end+this.options.gap:t+s,_=w?w.lane:h%this.options.lanes,this.options.lanes>1&&A&&this.laneAssignments.set(h,_)}const j=O.get(k),L=typeof j=="number"?j:this.options.estimateSize(h),W=F+L;b[h]={index:h,start:F,size:L,end:W,key:k,lane:_},T[_]=h}return this.measurementsCache=b,b},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Q(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,s,n)=>this.range=e.length>0&&t>0?gt({measurements:e,outerSize:t,scrollOffset:s,lanes:n}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Q(()=>{let e=null,t=null;const s=this.calculateRange();return s&&(e=s.startIndex,t=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,s,n,o)=>n===null||o===null?[]:e({startIndex:n,endIndex:o,overscan:t,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{const t=this.options.indexAttribute,s=e.getAttribute(t);return s?parseInt(s,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{var t;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const s=this.scrollState.index??((t=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:t.index);if(s!==void 0&&this.range){const n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),o=Math.max(0,s-n),a=Math.min(this.options.count-1,s+n);return e>=o&&e<=a}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((o,a)=>{o.isConnected||(this.observer.unobserve(o),this.elementsCache.delete(a))});return}const t=this.indexFromElement(e),s=this.options.getItemKey(t),n=this.elementsCache.get(s);n!==e&&(n&&this.observer.unobserve(n),this.observer.observe(e),this.elementsCache.set(s,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var s;const n=this.measurementsCache[e];if(!n)return;const o=this.itemSizeCache.get(n.key)??n.size,a=t-o;a!==0&&(((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(n,a,this):n.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=a,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(n.index),this.itemSizeCache=new Map(this.itemSizeCache.set(n.key,t)),this.notify(!1))},this.getVirtualItems=Q(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{const s=[];for(let n=0,o=e.length;n<o;n++){const a=e[n],r=t[a];s.push(r)}return s},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{const t=this.getMeasurements();if(t.length!==0)return ve(t[be(0,t.length-1,s=>ve(t[s]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,t,s=0)=>{if(!this.scrollElement)return 0;const n=this.getSize(),o=this.getScrollOffset();t==="auto"&&(t=e>=o+n?"end":"start"),t==="center"?e+=(s-n)/2:t==="end"&&(e-=n);const a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));const s=this.getSize(),n=this.getScrollOffset(),o=this.measurementsCache[e];if(!o)return;if(t==="auto")if(o.end>=n+s-this.options.scrollPaddingEnd)t="end";else if(o.start<=n+this.options.scrollPaddingStart)t="start";else return[n,t];if(t==="end"&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];const a=t==="end"?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,o.size),t]},this.scrollToOffset=(e,{align:t="start",behavior:s="auto"}={})=>{const n=this.getOffsetForAlignment(e,t),o=this.now();this.scrollState={index:null,align:t,behavior:s,startedAt:o,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t="auto",behavior:s="auto"}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));const n=this.getOffsetForIndex(e,t);if(!n)return;const[o,a]=n,r=this.now();this.scrollState={index:e,align:a,behavior:s,startedAt:r,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t="auto"}={})=>{const s=this.getScrollOffset()+e,n=this.now();this.scrollState={index:null,align:"start",behavior:t,startedAt:n,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var e;const t=this.getMeasurements();let s;if(t.length===0)s=this.options.paddingStart;else if(this.options.lanes===1)s=((e=t[t.length-1])==null?void 0:e.end)??0;else{const n=Array(this.options.lanes).fill(null);let o=t.length-1;for(;o>=0&&n.some(a=>a===null);){const a=t[o];n[a.lane]===null&&(n[a.lane]=a.end),o--}s=Math.max(...n.filter(a=>a!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:s})=>{this.options.scrollToFn(e,{behavior:s,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(g)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const t=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=t?t[0]:this.scrollState.lastTargetOffset,n=1,o=s!==this.scrollState.lastTargetOffset;if(!o&&dt(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.scrollState=null;return}}else this.scrollState.stableFrames=0,o&&(this.scrollState.lastTargetOffset=s,this.scrollState.behavior="auto",this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const be=(c,g,e,t)=>{for(;c<=g;){const s=(c+g)/2|0,n=e(s);if(n<t)c=s+1;else if(n>t)g=s-1;else return s}return c>0?c-1:0};function gt({measurements:c,outerSize:g,scrollOffset:e,lanes:t}){const s=c.length-1,n=r=>c[r].start;if(c.length<=t)return{startIndex:0,endIndex:s};let o=be(0,s,n,e),a=o;if(t===1)for(;a<s&&c[a].end<e+g;)a++;else if(t>1){const r=Array(t).fill(0);for(;a<s&&r.some(S=>S<e+g);){const S=c[a];r[S.lane]=S.end,a++}const O=Array(t).fill(e+g);for(;o>=0&&O.some(S=>S>=e);){const S=c[o];O[S.lane]=S.start,o--}o=Math.max(0,o-o%t),a=Math.min(s,a+(t-1-a%t))}return{startIndex:o,endIndex:a}}const vt={key:1,class:"fallback-list"},_t={__name:"VirtualMessageList",props:{messages:{type:Array,required:!0,default:()=>[]},estimateSize:{type:Number,default:120}},emits:["scroll-to-bottom","load-more"],setup(c,{expose:g,emit:e}){const t=c,s=e,n=N(null),o=N(null),a=N(0),r=x(()=>o.value?(a.value,o.value.getVirtualItems()):[]),O=()=>{if(n.value)try{o.value=new pt({count:t.messages.length,getScrollElement:()=>n.value,estimateSize:()=>t.estimateSize,overscan:5,scrollMargin:0,onChange:()=>{a.value++}}),B(()=>{o.value&&n.value&&(o.value.measure(),a.value++,n.value.scrollTop=1,setTimeout(()=>{n.value&&(n.value.scrollTop=0)},50))})}catch(h){console.error("[VirtualMessageList] init failed:",h)}},S=()=>{if(!n.value)return;o.value&&o.value.measure();const{scrollTop:h,scrollHeight:k,clientHeight:C}=n.value;h<100&&s("load-more"),h+C>=k-50&&s("scroll-to-bottom")},b=()=>{n.value&&requestAnimationFrame(()=>{n.value&&(n.value.scrollTop=n.value.scrollHeight)})},T=h=>{const k=t.messages.findIndex(C=>C.id===h);k!==-1&&o.value&&o.value.scrollToIndex(k,{align:"center"})};return Z(()=>t.messages.length,(h,k)=>{o.value?(o.value.setOptions({count:h,estimateSize:()=>t.estimateSize}),a.value++,h>k&&B(()=>b())):B(()=>{O(),o.value&&a.value++})}),Z(()=>t.messages,h=>{!o.value&&h.length>0?B(()=>O()):o.value&&(o.value.setOptions({count:h.length,estimateSize:()=>t.estimateSize,getScrollElement:()=>n.value,overscan:5,scrollMargin:0,onChange:()=>{a.value++}}),a.value++,B(()=>{o.value&&o.value.measure()}))},{deep:!0}),g({scrollToBottom:b,scrollToMessage:T}),_e(()=>{B(()=>{O(),t.messages.length>0&&b()})}),Ae(()=>{o.value&&(o.value=null)}),(h,k)=>(l(),m("div",{ref_key:"scrollContainer",ref:n,class:"virtual-message-list",onScroll:S},[o.value&&r.value.length>0?(l(),m("div",{key:0,style:le({height:`${o.value.getTotalSize()}px`,width:"100%",position:"relative"})},[(l(!0),m(K,null,G(r.value,C=>(l(),m("div",{key:C.key,style:le({position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${C.start}px)`})},[he(h.$slots,"default",{message:c.messages[C.index],index:C.index},void 0)],4))),128))],4)):(l(),m("div",vt,[(l(!0),m(K,null,G(c.messages,(C,_)=>(l(),m("div",{key:C.id||_},[he(h.$slots,"default",{message:C,index:_},void 0)]))),128))]))],544))}},yt=ee(_t,[["__scopeId","data-v-3c34170a"]]),bt={class:"intent-confirmation-message"},St={class:"confirmation-header"},xt={class:"header-icon"},kt={class:"header-text"},Ct={key:0},wt={key:1},$t={key:2},It={class:"understanding-content"},Mt={key:0,class:"original-input"},Ot={class:"label"},zt={class:"value original-text"},Et={key:1,class:"corrected-input"},At={class:"label"},Tt={class:"value corrected-text"},Ft={class:"intent-section"},Rt={class:"label"},Pt={class:"value"},qt={key:2,class:"key-points-section"},jt={class:"label"},Lt={class:"key-points-list"},Dt={key:3,class:"correction-section"},Nt={class:"label"},Wt={class:"value correction-text"},Bt={key:0,class:"streaming-indicator"},Vt={key:0,class:"streaming-tokens"},Ht={key:1,class:"action-buttons"},Ut={key:2,class:"correction-input-section"},Qt={class:"correction-actions"},Kt={__name:"IntentConfirmationMessage",props:{message:{type:Object,required:!0}},emits:["confirm","correct"],setup(c,{emit:g}){const e=c,t=g,s=N(!1),n=N(""),o=x(()=>e.message.metadata?.originalInput||""),a=x(()=>e.message.metadata?.understanding||{}),r=x(()=>a.value.correctedInput||o.value),O=x(()=>a.value.intent||"未识别"),S=x(()=>a.value.keyPoints||[]),b=x(()=>r.value!==o.value&&o.value.trim()!==""),T=x(()=>e.message.metadata?.status||"pending"),h=x(()=>T.value==="confirmed"),k=x(()=>T.value==="corrected"),C=x(()=>!!e.message.metadata?.streaming),_=x(()=>e.message.metadata?.streamingTokens||0),F=x(()=>e.message.metadata?.correction||null);function A(){t("confirm",{messageId:e.message.id,originalInput:o.value,understanding:a.value})}function j(){s.value=!0,n.value=r.value}function L(){n.value.trim()&&(t("correct",{messageId:e.message.id,originalInput:o.value,correction:n.value}),s.value=!1)}function W(){s.value=!1,n.value=""}return(w,P)=>{const H=q("a-button"),ie=q("a-textarea");return l(),m("div",bt,[d("div",St,[d("div",xt,[h.value?(l(),z(y(He),{key:0,style:{color:"#52c41a"}})):k.value?(l(),z(y(Ue),{key:1,style:{color:"#faad14"}})):(l(),z(y(Qe),{key:2,style:{color:"#1890ff"}}))]),d("div",kt,[h.value?(l(),m("span",Ct,u(w.$t("chat.intent.confirmed")),1)):k.value?(l(),m("span",wt,u(w.$t("chat.intent.corrected")),1)):(l(),m("span",$t,u(c.message.content),1))])]),d("div",It,[b.value?(l(),m("div",Mt,[d("div",Ot,u(w.$t("chat.intent.label.original")),1),d("div",zt,u(o.value),1)])):M("",!0),b.value?(l(),m("div",Et,[d("div",At,u(w.$t("chat.intent.label.understood")),1),d("div",Tt,u(r.value),1)])):M("",!0),d("div",Ft,[d("div",Rt,"🎯 "+u(w.$t("chat.intent.label.intent")),1),d("div",Pt,u(O.value),1)]),S.value&&S.value.length>0?(l(),m("div",qt,[d("div",jt,"📝 "+u(w.$t("chat.intent.label.keyPoints")),1),d("ul",Lt,[(l(!0),m(K,null,G(S.value,(J,U)=>(l(),m("li",{key:U},u(J),1))),128))])])):M("",!0),F.value?(l(),m("div",Dt,[d("div",Nt,"📝 "+u(w.$t("chat.intent.label.correction")),1),d("div",Wt,u(F.value),1)])):M("",!0)]),C.value?(l(),m("div",Bt,[v(y(ye),{spin:""}),d("span",null,u(w.$t("chat.intent.status.understanding")),1),_.value>0?(l(),m("span",Vt,"· "+u(_.value)+" tokens",1)):M("",!0)])):!h.value&&!k.value?(l(),m("div",Ht,[v(H,{type:"primary",onClick:A},{default:$(()=>[v(y(fe)),E(" "+u(w.$t("chat.intent.action.confirm")),1)]),_:1}),v(H,{onClick:j},{default:$(()=>[v(y(Ke)),E(" "+u(w.$t("chat.intent.action.correct")),1)]),_:1})])):M("",!0),s.value?(l(),m("div",Ut,[v(ie,{value:n.value,"onUpdate:value":P[0]||(P[0]=J=>n.value=J),placeholder:w.$t("chat.intent.action.correctPlaceholder"),"auto-size":{minRows:2,maxRows:6}},null,8,["value","placeholder"]),d("div",Qt,[v(H,{type:"primary",size:"small",onClick:L},{default:$(()=>[v(y(fe)),E(" "+u(w.$t("chat.intent.action.submitCorrection")),1)]),_:1}),v(H,{size:"small",onClick:W},{default:$(()=>[v(y(Ge)),E(" "+u(w.$t("chat.intent.action.cancelCorrection")),1)]),_:1})])])):M("",!0)])}}},Gt=ee(Kt,[["__scopeId","data-v-ded139e5"]]),Jt={style:{display:"flex",height:"calc(100vh - 56px - 48px)",gap:"16px"}},Xt={style:{width:"240px","flex-shrink":"0",background:"var(--bg-card)","border-radius":"8px",border:"1px solid var(--border-color)",display:"flex","flex-direction":"column",overflow:"hidden"}},Yt={key:0,style:{padding:"6px 12px 4px","font-size":"11px",color:"#1677ff",background:"rgba(22,119,255,.07)","border-bottom":"1px solid rgba(22,119,255,.15)",display:"flex","align-items":"center",gap:"4px"}},Zt=["title"],es={key:1,style:{padding:"6px 12px 4px","font-size":"11px",color:"#722ed1",background:"rgba(114,46,209,.07)","border-bottom":"1px solid rgba(114,46,209,.15)",display:"flex","align-items":"center",gap:"4px"}},ts={style:{padding:"10px 12px","border-bottom":"1px solid var(--border-color)",display:"flex",gap:"8px"}},ss={style:{flex:"1","overflow-y":"auto",padding:"8px"}},ns=["onClick"],is={class:"session-icon"},os={class:"session-info"},as={class:"session-title"},ls={class:"session-meta"},rs={key:0,style:{"text-align":"center",color:"var(--text-muted)",padding:"24px 0","font-size":"13px"}},cs={style:{flex:"1",background:"var(--bg-card)","border-radius":"8px",border:"1px solid var(--border-color)",display:"flex","flex-direction":"column",overflow:"hidden"}},us={key:0,style:{flex:"1",display:"flex","flex-direction":"column","align-items":"center","justify-content":"center",color:"var(--text-muted)"}},ds={style:{"font-size":"16px","margin-bottom":"8px",color:"#777"}},hs={style:{"font-size":"13px",color:"var(--text-muted)"}},fs={style:{"margin-top":"24px",display:"flex",gap:"12px"}},ms={key:1,class:"chat-header"},ps={class:"chat-intent-toggle"},gs={class:"chat-intent-toggle-label"},vs={key:2,class:"chat-area-body"},_s={key:0,class:"chat-empty-prompts"},ys={class:"empty-title"},bs={class:"empty-hint"},Ss={class:"quick-prompts"},xs={key:1,class:"system-banner"},ks={key:2,class:"tool-msg"},Cs={key:0,class:"tool-detail"},ws={class:"tool-detail__pre tool-detail__pre--input"},$s={key:0,class:"tool-detail__result"},Is={class:"tool-detail__pre tool-detail__pre--result"},Ms={class:"msg-body"},Os={class:"msg-meta-row"},zs={class:"msg-role"},Es={class:"msg-time"},As={key:0,class:"msg-tokens"},Ts={key:0,class:"bubble user"},Fs={key:2,class:"question-card"},Rs={class:"question-text"},Ps={key:0,style:{display:"flex","flex-wrap":"wrap",gap:"8px","margin-top":"10px"}},qs={key:3,style:{padding:"16px","border-top":"1px solid var(--border-color)"}},js={style:{display:"flex",gap:"8px","align-items":"flex-end"}},Ls={style:{"margin-bottom":"8px","font-size":"12px",color:"var(--text-muted)"}},Ds={style:{"margin-top":"8px"}},Ns={__name:"Chat",setup(c){const{t:g,tm:e,rt:t}=je(),s=Re()||null,n=Pe()||null,o=window.__CC_CONFIG__||{},a=x(()=>o.mode==="project"),r=Le(),O=new Set,S=N(null),b=N(""),T=x(()=>r.contextMode);function h(i){r.setContextMode(i)}const k=x(()=>r.intentEnabled);function C(i){r.setIntentEnabled(i)}const _=x(()=>r.currentSessionId),F=x(()=>_.value?r.getMessages(_.value):[]),A=x(()=>{const i=r.streaming[_.value];return i?.active?i.content:null}),j=x(()=>{const i=F.value;return A.value?[...i,{role:"assistant",content:A.value,_streaming:!0,timestamp:Date.now()}]:i}),L=x(()=>r.pendingQuestion[_.value]),W=x(()=>r.getIsLoading(_.value));function w(i){if(!i)return"";const p=new Date(i);return`${String(p.getHours()).padStart(2,"0")}:${String(p.getMinutes()).padStart(2,"0")}`}const P=qe(new Set);function H(i){P.has(i)?P.delete(i):P.add(i)}function ie(i,p){return{id:`tool-${p}`,label:i.tool||g("chat.tool.unknownTool"),detail:J(i),status:i.status==="done"?"done":"running"}}function J(i){if(i.status==="running"){const R=i.input&&typeof i.input=="object"?Object.keys(i.input):[];return R.length?g("chat.tool.argsPreview",{n:R.length,key:R[0]}):g("chat.tool.running")}if(i.result==null)return g("chat.tool.done");const I=(typeof i.result=="string"?i.result:JSON.stringify(i.result)).split(`
@@ -1 +1 @@
1
- import{h as o,i as E,f as V,P as W}from"./index-Cb0QVAZL.js";import{i as F}from"./initDefaultProps-1MKZtqXZ.js";import{d as I,r as f,w as M,c as h}from"./vendor-DhFY8mDK.js";var R=function(t,l){var c={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&l.indexOf(n)<0&&(c[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(t);a<n.length;a++)l.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(t,n[a])&&(c[n[a]]=t[n[a]]);return c};const T={prefixCls:String,name:String,id:String,type:String,defaultChecked:{type:[Boolean,Number],default:void 0},checked:{type:[Boolean,Number],default:void 0},disabled:Boolean,tabindex:{type:[Number,String]},readonly:Boolean,autofocus:Boolean,value:W.any,required:Boolean},J=I({compatConfig:{MODE:3},name:"Checkbox",inheritAttrs:!1,props:F(T,{prefixCls:"rc-checkbox",type:"checkbox",defaultChecked:!1}),emits:["click","change"],setup(t,l){let{attrs:c,emit:n,expose:a}=l;const d=f(t.checked===void 0?t.defaultChecked:t.checked),s=f();M(()=>t.checked,()=>{d.value=t.checked}),a({focus(){var e;(e=s.value)===null||e===void 0||e.focus()},blur(){var e;(e=s.value)===null||e===void 0||e.blur()}});const i=f(),y=e=>{if(t.disabled)return;t.checked===void 0&&(d.value=e.target.checked),e.shiftKey=i.value;const u={target:o(o({},t),{checked:e.target.checked}),stopPropagation(){e.stopPropagation()},preventDefault(){e.preventDefault()},nativeEvent:e};t.checked!==void 0&&(s.value.checked=!!t.checked),n("change",u),i.value=!1},k=e=>{n("click",e),i.value=e.shiftKey};return()=>{const{prefixCls:e,name:u,id:m,type:g,disabled:b,readonly:x,tabindex:C,autofocus:O,value:P,required:S}=t,_=R(t,["prefixCls","name","id","type","disabled","readonly","tabindex","autofocus","value","required"]),{class:j,onFocus:B,onBlur:w,onKeydown:K,onKeypress:N,onKeyup:D}=c,v=o(o({},_),c),$=Object.keys(v).reduce((p,r)=>((r.startsWith("data-")||r.startsWith("aria-")||r==="role")&&(p[r]=v[r]),p),{}),q=E(e,j,{[`${e}-checked`]:d.value,[`${e}-disabled`]:b}),A=o(o({name:u,id:m,type:g,readonly:x,disabled:b,tabindex:C,class:`${e}-input`,checked:!!d.value,autofocus:O,value:P},$),{onChange:y,onClick:k,onFocus:B,onBlur:w,onKeydown:K,onKeypress:N,onKeyup:D,required:S});return h("span",{class:q},[h("input",V({ref:s},A),null),h("span",{class:`${e}-inner`},null)])}}});export{J as V};
1
+ import{h as o,i as E,f as V,P as W}from"./index-DL2e2Kwh.js";import{i as F}from"./initDefaultProps-Cw37W7y2.js";import{d as I,r as f,w as M,c as h}from"./vendor-DhFY8mDK.js";var R=function(t,l){var c={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&l.indexOf(n)<0&&(c[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(t);a<n.length;a++)l.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(t,n[a])&&(c[n[a]]=t[n[a]]);return c};const T={prefixCls:String,name:String,id:String,type:String,defaultChecked:{type:[Boolean,Number],default:void 0},checked:{type:[Boolean,Number],default:void 0},disabled:Boolean,tabindex:{type:[Number,String]},readonly:Boolean,autofocus:Boolean,value:W.any,required:Boolean},J=I({compatConfig:{MODE:3},name:"Checkbox",inheritAttrs:!1,props:F(T,{prefixCls:"rc-checkbox",type:"checkbox",defaultChecked:!1}),emits:["click","change"],setup(t,l){let{attrs:c,emit:n,expose:a}=l;const d=f(t.checked===void 0?t.defaultChecked:t.checked),s=f();M(()=>t.checked,()=>{d.value=t.checked}),a({focus(){var e;(e=s.value)===null||e===void 0||e.focus()},blur(){var e;(e=s.value)===null||e===void 0||e.blur()}});const i=f(),y=e=>{if(t.disabled)return;t.checked===void 0&&(d.value=e.target.checked),e.shiftKey=i.value;const u={target:o(o({},t),{checked:e.target.checked}),stopPropagation(){e.stopPropagation()},preventDefault(){e.preventDefault()},nativeEvent:e};t.checked!==void 0&&(s.value.checked=!!t.checked),n("change",u),i.value=!1},k=e=>{n("click",e),i.value=e.shiftKey};return()=>{const{prefixCls:e,name:u,id:m,type:g,disabled:b,readonly:x,tabindex:C,autofocus:O,value:P,required:S}=t,_=R(t,["prefixCls","name","id","type","disabled","readonly","tabindex","autofocus","value","required"]),{class:j,onFocus:B,onBlur:w,onKeydown:K,onKeypress:N,onKeyup:D}=c,v=o(o({},_),c),$=Object.keys(v).reduce((p,r)=>((r.startsWith("data-")||r.startsWith("aria-")||r==="role")&&(p[r]=v[r]),p),{}),q=E(e,j,{[`${e}-checked`]:d.value,[`${e}-disabled`]:b}),A=o(o({name:u,id:m,type:g,readonly:x,disabled:b,tabindex:C,class:`${e}-input`,checked:!!d.value,autofocus:O,value:P},$),{onChange:y,onClick:k,onFocus:B,onBlur:w,onKeydown:K,onKeypress:N,onKeyup:D,required:S});return h("span",{class:q},[h("input",V({ref:s},A),null),h("span",{class:`${e}-inner`},null)])}}});export{J as V};
@@ -1 +1 @@
1
- import{_ as st,u as it,b as rt,E as ut,d as A}from"./index-Cb0QVAZL.js";import{s as dt}from"./community-parser-CO25nZFt.js";import{R as ct,J as ye,ar as ft,r as ze,a7 as pt,al as Ae,aX as Fe,G as gt,f as mt}from"./icons-BOPtEWK4.js";import{o as vt,M as c,R as v,P as i,c as t,N as a,K as g,r as w,L as u,O as f,u as _,F as P,Y as Q,Q as k,_ as je,S as p,f as Y,a as _e}from"./vendor-DhFY8mDK.js";function M(n){const r=dt(n);if(!r)return null;try{return JSON.parse(r)}catch{}const l=r.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!l)return null;try{return JSON.parse(l[0])}catch{return null}}const ne=Object.freeze(["react","vue","express","fastapi","spring_boot"]),se=Object.freeze(["critical","high","medium","low","info"]);function C(n,r=0){return typeof n=="number"&&Number.isFinite(n)?n:r}function Pe(n,r=null){if(n==null)return r;if(typeof n!="string")return n;try{return JSON.parse(n)}catch{return r}}function yt(n,r=0){if(!n||typeof n!="object")return null;const l=n.id||"";return l?{key:l,id:l,prompt:String(n.prompt||""),language:n.language??"",framework:n.framework??"",generatedCode:n.generated_code??n.generatedCode??"",fileCount:C(n.file_count??n.fileCount,0),tokenCount:C(n.token_count??n.tokenCount,0),metadata:n.metadata??null,createdAt:n.created_at??n.createdAt??null,_idx:r}:null}function _t(n){const r=M(n);return Array.isArray(r)?r.map(yt).filter(Boolean):[]}function bt(n,r=0){return!n||typeof n!="object"?null:{key:r,rule:String(n.rule||""),severity:String(n.severity||"info").toLowerCase(),match:String(n.match||""),pattern:String(n.pattern||"")}}function kt(n,r=0){if(!n||typeof n!="object")return null;const l=n.id||"";if(!l)return null;const R=Pe(n.severity_summary??n.severitySummary,null)??n.severity_summary??n.severitySummary,S={};for(const E of se)S[E]=0;if(R&&typeof R=="object"&&!Array.isArray(R))for(const[E,J]of Object.entries(R))typeof J=="number"&&Number.isFinite(J)&&(S[E]=J);const L=Pe(n.issues_detail??n.issuesDetail,null)??n.issues_detail??n.issuesDetail,T=Array.isArray(L)?L.map(bt).filter(Boolean):[];return{key:l,id:l,generationId:n.generation_id??n.generationId??"",codeHash:String(n.code_hash??n.codeHash??""),language:n.language??"",issuesFound:C(n.issues_found??n.issuesFound,0),securityIssues:C(n.security_issues??n.securityIssues,0),severitySummary:S,issuesDetail:T,reviewedAt:n.reviewed_at??n.reviewedAt??null,_idx:r}}function wt(n){const r=M(n);return Array.isArray(r)?r.map(kt).filter(Boolean):[]}function ht(n){const r={};for(const L of se)r[L]=0;const l=M(n);if(!l||typeof l!="object"||Array.isArray(l))return{ok:!1,reviewId:null,reason:"",issuesFound:0,securityIssues:0,severitySummary:r};const R=!!l.reviewId,S={...r};if(l.severitySummary&&typeof l.severitySummary=="object"&&!Array.isArray(l.severitySummary))for(const[L,T]of Object.entries(l.severitySummary))typeof T=="number"&&Number.isFinite(T)&&(S[L]=T);return{ok:R,reviewId:l.reviewId?String(l.reviewId):null,reason:l.reason?String(l.reason):"",issuesFound:C(l.issuesFound,0),securityIssues:C(l.securityIssues,0),severitySummary:S}}function $t(n,r=0){if(!n||typeof n!="object")return null;const l=n.id||"";return l?{key:l,id:l,template:String(n.template||""),projectName:n.project_name??n.projectName??"",options:n.options??null,filesGenerated:C(n.files_generated??n.filesGenerated,0),outputPath:n.output_path??n.outputPath??"",createdAt:n.created_at??n.createdAt??null,_idx:r}:null}function St(n){const r=M(n);return Array.isArray(r)?r.map($t).filter(Boolean):[]}const Ct={generations:{total:0,totalTokens:0,totalFiles:0,uniqueLanguages:0},reviews:{total:0,totalIssues:0,totalSecurityIssues:0,avgIssuesPerReview:0},scaffolds:{total:0,byTemplate:{}}};function xt(n){const r=JSON.parse(JSON.stringify(Ct));for(const R of ne)r.scaffolds.byTemplate[R]=0;const l=M(n);if(!l||typeof l!="object"||Array.isArray(l))return r;if(l.generations&&typeof l.generations=="object"&&(r.generations.total=C(l.generations.total,0),r.generations.totalTokens=C(l.generations.totalTokens,0),r.generations.totalFiles=C(l.generations.totalFiles,0),r.generations.uniqueLanguages=C(l.generations.uniqueLanguages,0)),l.reviews&&typeof l.reviews=="object"&&(r.reviews.total=C(l.reviews.total,0),r.reviews.totalIssues=C(l.reviews.totalIssues,0),r.reviews.totalSecurityIssues=C(l.reviews.totalSecurityIssues,0),r.reviews.avgIssuesPerReview=C(l.reviews.avgIssuesPerReview,0)),l.scaffolds&&typeof l.scaffolds=="object"&&(r.scaffolds.total=C(l.scaffolds.total,0),l.scaffolds.byTemplate&&typeof l.scaffolds.byTemplate=="object"))for(const[R,S]of Object.entries(l.scaffolds.byTemplate))typeof S=="number"&&Number.isFinite(S)&&(r.scaffolds.byTemplate[R]=S);return r}function Re(n){const r=M(n);if(!r||typeof r!="object"||Array.isArray(r))return{ok:!1,id:null,reason:""};const l=r.generationId||r.scaffoldId||r.reviewId||null;return{ok:!!l,id:l?String(l):null,reason:r.reason?String(r.reason):""}}function X(n){if(n==null||n==="")return"—";const r=typeof n=="number"?new Date(n):new Date(String(n));return isNaN(r.getTime())?String(n):r.toLocaleString("zh-CN",{hour12:!1})}const It={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},zt={class:"page-title"},At={class:"page-sub"},Ft={class:"tmpl-count"},jt={class:"filter-bar"},Pt={style:{color:"var(--text-primary)","font-weight":"500"}},Rt={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Lt={key:1,style:{color:"var(--text-muted)"}},Nt={key:1,style:{color:"var(--text-muted)"}},Tt={key:3,style:{color:"var(--text-secondary)"}},Ot={key:4,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},Ut={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Gt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Dt={style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Et={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Jt={key:1,style:{color:"var(--text-muted)"}},Bt={key:4,class:"sev-mini"},Mt={key:0,style:{color:"#ff4d4f"}},qt={key:1,style:{color:"#fa8c16"}},Ht={key:2,style:{color:"#faad14"}},Vt={key:3,style:{color:"#888"}},Kt={key:4,style:{color:"#1677ff"}},Wt={key:5,style:{color:"#52c41a"}},Qt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Yt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Xt={class:"filter-bar"},Zt={style:{color:"var(--text-primary)","font-weight":"500"}},ea={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},ta={key:2,style:{color:"var(--text-secondary)"}},aa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},oa={key:1,style:{color:"var(--text-muted)"}},la={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},na={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},sa={style:{"padding-top":"8px"}},ia={key:1},ra={style:{color:"var(--text-primary)","font-size":"12px",margin:"12px 0 6px"}},ua={key:0,style:{"padding-top":"8px"}},da={style:{"font-family":"monospace","font-size":"12px"}},ca={key:1,style:{color:"var(--text-muted)"}},fa={key:1,style:{color:"var(--text-muted)"}},pa={class:"code-pre"},ga={class:"code-pre"},ma={key:0,style:{"padding-top":"8px"}},va={style:{"font-family":"monospace","font-size":"12px"}},ya={style:{"font-family":"monospace","font-size":"12px"}},_a={style:{"font-family":"monospace","font-size":"12px"}},ba={key:1,style:{color:"var(--text-muted)"}},ka={style:{color:"var(--text-primary)","font-size":"13px",margin:"16px 0 8px"}},wa={key:0,style:{color:"var(--text-primary)","font-size":"13px",margin:"16px 0 8px"}},ha={style:{"margin-left":"8px","font-family":"monospace","font-size":"12px"}},$a={style:{"margin-left":"8px",padding:"1px 6px",background:"var(--bg-base)","border-radius":"3px","font-size":"11px"}},Sa={__name:"Codegen",setup(n){const r=it(),{t:l}=rt(),R=ut.PRESENTED_IMAGE_SIMPLE,S=w(!1),L=w(!1),T=w(!1),E=w(!1),J=w([]),be=w([]),ie=w([]),U=w({generations:{total:0,totalTokens:0,totalFiles:0,uniqueLanguages:0},reviews:{total:0,totalIssues:0,totalSecurityIssues:0,avgIssuesPerReview:0},scaffolds:{total:0,byTemplate:{}}}),ke=w("generations"),q=w(""),H=w(""),V=w(""),Z=w(!1),ee=w(!1),te=w(!1),re=w(!1),ue=w(!1),m=_e({prompt:"",language:"",framework:"",code:"",files:0,tokens:0}),x=_e({generationId:"",language:"",code:""}),y=_e({template:"react",projectName:"",optionsJson:"",files:0,outputPath:""}),h=w(null),F=w(null),$=w(null),Le=Y(()=>[{title:l("codegen.generationCols.prompt"),key:"prompt"},{title:l("codegen.generationCols.language"),key:"language",width:"110px"},{title:l("codegen.generationCols.framework"),key:"framework",width:"110px"},{title:l("codegen.generationCols.fileCount"),key:"fileCount",width:"70px"},{title:l("codegen.generationCols.tokenCount"),key:"tokenCount",width:"110px"},{title:l("codegen.generationCols.createdAt"),key:"createdAt",width:"160px"},{title:l("codegen.generationCols.action"),key:"action",width:"140px"}]),Ne=Y(()=>[{title:l("codegen.reviewCols.codeHash"),key:"codeHash",width:"180px"},{title:l("codegen.reviewCols.language"),key:"language",width:"110px"},{title:l("codegen.reviewCols.issuesFound"),key:"issuesFound",width:"90px"},{title:l("codegen.reviewCols.securityIssues"),key:"securityIssues",width:"90px"},{title:l("codegen.reviewCols.severityBreak"),key:"severityBreak"},{title:l("codegen.reviewCols.reviewedAt"),key:"reviewedAt",width:"160px"},{title:l("codegen.reviewCols.action"),key:"action",width:"90px"}]),Te=Y(()=>[{title:l("codegen.scaffoldCols.projectName"),key:"projectName"},{title:l("codegen.scaffoldCols.template"),key:"template",width:"120px"},{title:l("codegen.scaffoldCols.filesGenerated"),key:"filesGenerated",width:"90px"},{title:l("codegen.scaffoldCols.outputPath"),key:"outputPath",width:"300px"},{title:l("codegen.scaffoldCols.createdAt"),key:"createdAt",width:"160px"}]),Oe=Y(()=>{let e=J.value;if(q.value.trim()){const s=q.value.trim().toLowerCase();e=e.filter(b=>(b.language||"").toLowerCase().includes(s))}if(H.value.trim()){const s=H.value.trim().toLowerCase();e=e.filter(b=>(b.framework||"").toLowerCase().includes(s))}return e}),Ue=Y(()=>V.value?ie.value.filter(e=>e.template===V.value):ie.value);function we(e){return{react:"cyan",vue:"green",express:"gold",fastapi:"magenta",spring_boot:"red"}[e]||"default"}function Ge(e){return{react:"#13c2c2",vue:"#52c41a",express:"#faad14",fastapi:"#eb2f96",spring_boot:"#ff4d4f"}[e]||"#888"}function de(e){const s=`codegen.severityLabels.${e}`,b=l(s);return b===s?e:b}function ce(e){return{critical:"red",high:"orange",medium:"gold",low:"default",info:"blue"}[e]||"default"}function De(e){return{critical:"#ff4d4f",high:"#fa8c16",medium:"#faad14",low:"#888",info:"#1677ff"}[e]||"#888"}function Ee(e,s){return s?Math.round(e/s*100):0}function ae(e,s){return e?e.length<=s?e:e.slice(0,s)+"…":""}function N(e){return`"${String(e).replace(/"/g,'\\"')}"`}async function K(){S.value=!0;try{const[e,s,b,oe]=await Promise.all([r.execute("codegen list --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("codegen reviews --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("codegen scaffolds --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("codegen stats --json",8e3).catch(()=>({output:""}))]);J.value=_t(e.output),be.value=wt(s.output),ie.value=St(b.output),U.value=xt(oe.output)}catch(e){A.error(l("codegen.msg.loadFailed")+": "+(e?.message||e))}finally{S.value=!1}}async function Je(){if(!m.prompt.trim()){A.warning(l("codegen.msg.promptEmpty"));return}L.value=!0;try{const e=[`codegen generate -p ${N(m.prompt.trim())}`];m.language.trim()&&e.push(`-l ${N(m.language.trim())}`),m.framework.trim()&&e.push(`-f ${N(m.framework.trim())}`),m.code.trim()&&e.push(`--code ${N(m.code.trim())}`),m.files>0&&e.push(`--files ${m.files}`),m.tokens>0&&e.push(`--tokens ${m.tokens}`),e.push("--json");const{output:s}=await r.execute(e.join(" "),1e4),b=Re(s);if(!b.ok){A.error(l("codegen.msg.generateFailed")+": "+(b.reason||s.slice(0,120)));return}A.success(l("codegen.msg.generateSuccess",{id:b.id?.slice(0,8)})),Z.value=!1,he(),await K()}catch(e){A.error(l("codegen.msg.generateFailed")+": "+(e?.message||e))}finally{L.value=!1}}async function Be(){if(!x.code.trim()){A.warning(l("codegen.msg.codeEmpty"));return}T.value=!0,h.value=null;try{const e=[`codegen review -c ${N(x.code)}`];x.language.trim()&&e.push(`-l ${N(x.language.trim())}`),x.generationId.trim()&&e.push(`-g ${N(x.generationId.trim())}`),e.push("--json");const{output:s}=await r.execute(e.join(" "),1e4);h.value=ht(s),!h.value.ok&&h.value.reason?A.error(l("codegen.msg.reviewFailed")+": "+h.value.reason):h.value.ok?(A.success(l("codegen.msg.reviewSuccess",{n:h.value.issuesFound,sec:h.value.securityIssues})),await K()):A.error(l("codegen.msg.reviewFailed")+": "+s.slice(0,120))}catch(e){A.error(l("codegen.msg.reviewFailed")+": "+(e?.message||e))}finally{T.value=!1}}async function Me(e){x.generationId=e.id,x.language=e.language||"",x.code=e.generatedCode||"",h.value=null,ee.value=!0}async function qe(){if(!y.projectName.trim()){A.warning(l("codegen.msg.projectEmpty"));return}if(y.optionsJson.trim())try{JSON.parse(y.optionsJson)}catch{A.warning(l("codegen.msg.optionsBadJson"));return}E.value=!0;try{const e=[`codegen scaffold -t ${y.template}`,`-n ${N(y.projectName.trim())}`];y.optionsJson.trim()&&e.push(`-o ${N(y.optionsJson.trim())}`),y.files>0&&e.push(`--files ${y.files}`),y.outputPath.trim()&&e.push(`--output ${N(y.outputPath.trim())}`),e.push("--json");const{output:s}=await r.execute(e.join(" "),1e4),b=Re(s);if(!b.ok){A.error(l("codegen.msg.scaffoldFailed")+": "+(b.reason||s.slice(0,120)));return}A.success(l("codegen.msg.scaffoldSuccess",{id:b.id?.slice(0,8)})),te.value=!1,$e(),await K()}catch(e){A.error(l("codegen.msg.scaffoldFailed")+": "+(e?.message||e))}finally{E.value=!1}}function He(e){F.value=e,re.value=!0}function Ve(e){$.value=e,ue.value=!0}function he(){m.prompt="",m.language="",m.framework="",m.code="",m.files=0,m.tokens=0}function $e(){y.template="react",y.projectName="",y.optionsJson="",y.files=0,y.outputPath=""}return vt(K),(e,s)=>{const b=g("a-button"),oe=g("a-menu-item"),Ke=g("a-menu"),We=g("a-dropdown"),Se=g("a-space"),G=g("a-statistic"),B=g("a-card"),O=g("a-col"),fe=g("a-row"),j=g("a-tag"),D=g("a-input"),pe=g("a-table"),ge=g("a-tab-pane"),Ce=g("a-radio-button"),Qe=g("a-radio-group"),Ye=g("a-tabs"),le=g("a-textarea"),I=g("a-form-item"),me=g("a-input-number"),ve=g("a-form"),W=g("a-modal"),Xe=g("a-divider"),Ze=g("a-empty"),et=g("a-alert"),tt=g("a-select-option"),at=g("a-select"),z=g("a-descriptions-item"),xe=g("a-descriptions"),ot=g("a-progress"),lt=g("a-list-item"),nt=g("a-list");return u(),c("div",null,[v("div",It,[v("div",null,[v("h2",zt,i(e.$t("codegen.title")),1),v("p",At,i(e.$t("codegen.subtitle")),1)]),t(Se,null,{default:a(()=>[t(b,{loading:S.value,onClick:K},{icon:a(()=>[t(_(ct))]),default:a(()=>[f(" "+i(e.$t("codegen.refresh")),1)]),_:1},8,["loading"]),t(b,{onClick:s[0]||(s[0]=o=>ee.value=!0)},{icon:a(()=>[t(_(ye))]),default:a(()=>[f(" "+i(e.$t("codegen.review")),1)]),_:1}),t(We,null,{overlay:a(()=>[t(Ke,null,{default:a(()=>[t(oe,{key:"generate",onClick:s[1]||(s[1]=o=>Z.value=!0)},{default:a(()=>[f(i(e.$t("codegen.actions.generate")),1)]),_:1}),t(oe,{key:"scaffold",onClick:s[2]||(s[2]=o=>te.value=!0)},{default:a(()=>[f(i(e.$t("codegen.actions.scaffold")),1)]),_:1})]),_:1})]),default:a(()=>[t(b,{type:"primary"},{icon:a(()=>[t(_(ft))]),default:a(()=>[f(" "+i(e.$t("codegen.newDropdown")),1)]),_:1})]),_:1})]),_:1})]),t(fe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.generations"),value:U.value.generations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[t(_(ze))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.reviews"),value:U.value.reviews.total,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[t(_(pt))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.securityIssues"),value:U.value.reviews.totalSecurityIssues,"value-style":{color:U.value.reviews.totalSecurityIssues>0?"#ff4d4f":"#52c41a",fontSize:"20px"}},{prefix:a(()=>[t(_(Ae))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.scaffolds"),value:U.value.scaffolds.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[t(_(Fe))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(O,{xs:24,sm:8,lg:4},{default:a(()=>[t(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.languages"),value:U.value.generations.uniqueLanguages,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:a(()=>[t(_(gt))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),t(B,{title:e.$t("codegen.templatesCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:a(()=>[t(fe,{gutter:[12,12]},{default:a(()=>[(u(!0),c(P,null,Q(_(ne),o=>(u(),k(O,{key:o,xs:12,sm:8,lg:4},{default:a(()=>[v("div",{class:"tmpl-pill",style:je({borderLeftColor:Ge(o)})},[t(j,{color:we(o),style:{"font-family":"monospace"}},{default:a(()=>[f(i(o),1)]),_:2},1032,["color"]),v("span",Ft,i(U.value.scaffolds.byTemplate[o]||0),1)],4)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"]),t(Ye,{activeKey:ke.value,"onUpdate:activeKey":s[6]||(s[6]=o=>ke.value=o),class:"codegen-tabs"},{default:a(()=>[t(ge,{key:"generations",tab:e.$t("codegen.tabs.generations")},{default:a(()=>[v("div",jt,[t(D,{value:q.value,"onUpdate:value":s[3]||(s[3]=o=>q.value=o),placeholder:e.$t("codegen.filter.languagePlaceholder"),"allow-clear":"",size:"small",style:{"max-width":"180px"}},null,8,["value","placeholder"]),t(D,{value:H.value,"onUpdate:value":s[4]||(s[4]=o=>H.value=o),placeholder:e.$t("codegen.filter.frameworkPlaceholder"),"allow-clear":"",size:"small",style:{"max-width":"180px"}},null,8,["value","placeholder"])]),t(pe,{columns:Le.value,"data-source":Oe.value,pagination:{pageSize:20,showTotal:o=>e.$t("codegen.table.totalSuffix",{n:o})},size:"small",loading:S.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="prompt"?(u(),c(P,{key:0},[v("span",Pt,i(ae(d.prompt,60)),1),v("div",Rt,i(d.id.slice(0,16)),1)],64)):p("",!0),o.key==="language"?(u(),c(P,{key:1},[d.language?(u(),k(j,{key:0,color:"blue",style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.language),1)]),_:2},1024)):(u(),c("span",Lt,"—"))],64)):p("",!0),o.key==="framework"?(u(),c(P,{key:2},[d.framework?(u(),k(j,{key:0,color:"purple",style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.framework),1)]),_:2},1024)):(u(),c("span",Nt,"—"))],64)):p("",!0),o.key==="fileCount"?(u(),c("span",Tt,i(d.fileCount),1)):p("",!0),o.key==="tokenCount"?(u(),c("span",Ot,i(d.tokenCount),1)):p("",!0),o.key==="createdAt"?(u(),c("span",Ut,i(_(X)(d.createdAt)),1)):p("",!0),o.key==="action"?(u(),c(P,{key:6},[t(b,{size:"small",type:"link",onClick:Ie=>He(d)},{default:a(()=>[f(i(e.$t("codegen.table.actionDetails")),1)]),_:1},8,["onClick"]),d.generatedCode?(u(),k(b,{key:0,size:"small",type:"link",onClick:Ie=>Me(d)},{default:a(()=>[f(i(e.$t("codegen.table.actionReview")),1)]),_:1},8,["onClick"])):p("",!0)],64)):p("",!0)]),emptyText:a(()=>[v("div",Gt,[t(_(ze),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(q.value||H.value?e.$t("codegen.table.emptyGenerationsFiltered"):e.$t("codegen.table.emptyGenerations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(ge,{key:"reviews",tab:e.$t("codegen.tabs.reviews")},{default:a(()=>[t(pe,{columns:Ne.value,"data-source":be.value,pagination:{pageSize:20,showTotal:o=>e.$t("codegen.table.totalSuffix",{n:o})},size:"small",loading:S.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="codeHash"?(u(),c(P,{key:0},[v("span",Dt,i(d.codeHash),1),v("div",Et,i(d.id.slice(0,16)),1)],64)):p("",!0),o.key==="language"?(u(),c(P,{key:1},[d.language?(u(),k(j,{key:0,color:"blue",style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.language),1)]),_:2},1024)):(u(),c("span",Jt,"—"))],64)):p("",!0),o.key==="issuesFound"?(u(),k(j,{key:2,color:d.issuesFound===0?"green":d.issuesFound>5?"red":"orange"},{default:a(()=>[f(i(e.$t("codegen.table.issuesSuffix",{n:d.issuesFound})),1)]),_:2},1032,["color"])):p("",!0),o.key==="securityIssues"?(u(),c(P,{key:3},[d.securityIssues>0?(u(),k(j,{key:0,color:"red"},{default:a(()=>[t(_(Ae)),f(" "+i(d.securityIssues),1)]),_:2},1024)):(u(),k(j,{key:1,color:"green"},{default:a(()=>[t(_(mt)),s[26]||(s[26]=f(" 0 ",-1))]),_:1}))],64)):p("",!0),o.key==="severityBreak"?(u(),c("span",Bt,[d.severitySummary.critical>0?(u(),c("span",Mt,"C:"+i(d.severitySummary.critical),1)):p("",!0),d.severitySummary.high>0?(u(),c("span",qt,"H:"+i(d.severitySummary.high),1)):p("",!0),d.severitySummary.medium>0?(u(),c("span",Ht,"M:"+i(d.severitySummary.medium),1)):p("",!0),d.severitySummary.low>0?(u(),c("span",Vt,"L:"+i(d.severitySummary.low),1)):p("",!0),d.severitySummary.info>0?(u(),c("span",Kt,"I:"+i(d.severitySummary.info),1)):p("",!0),d.issuesFound===0?(u(),c("span",Wt,i(e.$t("codegen.table.noIssues")),1)):p("",!0)])):p("",!0),o.key==="reviewedAt"?(u(),c("span",Qt,i(_(X)(d.reviewedAt)),1)):p("",!0),o.key==="action"?(u(),k(b,{key:6,size:"small",type:"link",onClick:Ie=>Ve(d)},{default:a(()=>[f(i(e.$t("codegen.table.actionDetails")),1)]),_:1},8,["onClick"])):p("",!0)]),emptyText:a(()=>[v("div",Yt,[t(_(ye),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(e.$t("codegen.table.emptyReviews")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(ge,{key:"scaffolds",tab:e.$t("codegen.tabs.scaffolds")},{default:a(()=>[v("div",Xt,[t(Qe,{value:V.value,"onUpdate:value":s[5]||(s[5]=o=>V.value=o),size:"small","button-style":"solid"},{default:a(()=>[t(Ce,{value:""},{default:a(()=>[f(i(e.$t("codegen.filter.allTemplates")),1)]),_:1}),(u(!0),c(P,null,Q(_(ne),o=>(u(),k(Ce,{key:o,value:o},{default:a(()=>[f(i(o),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(pe,{columns:Te.value,"data-source":Ue.value,pagination:{pageSize:20,showTotal:o=>e.$t("codegen.table.totalSuffix",{n:o})},size:"small",loading:S.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="projectName"?(u(),c(P,{key:0},[v("span",Zt,i(d.projectName||e.$t("codegen.table.unnamed")),1),v("div",ea,i(d.id.slice(0,16)),1)],64)):p("",!0),o.key==="template"?(u(),k(j,{key:1,color:we(d.template),style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.template),1)]),_:2},1032,["color"])):p("",!0),o.key==="filesGenerated"?(u(),c("span",ta,i(d.filesGenerated),1)):p("",!0),o.key==="outputPath"?(u(),c(P,{key:3},[d.outputPath?(u(),c("span",aa,i(ae(d.outputPath,40)),1)):(u(),c("span",oa,"—"))],64)):p("",!0),o.key==="createdAt"?(u(),c("span",la,i(_(X)(d.createdAt)),1)):p("",!0)]),emptyText:a(()=>[v("div",na,[t(_(Fe),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(V.value?e.$t("codegen.table.emptyScaffoldsFiltered"):e.$t("codegen.table.emptyScaffolds")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),t(W,{open:Z.value,"onUpdate:open":s[13]||(s[13]=o=>Z.value=o),title:e.$t("codegen.generate_modal.title"),"confirm-loading":L.value,width:560,"ok-text":e.$t("codegen.generate_modal.ok"),"cancel-text":e.$t("codegen.generate_modal.cancel"),onOk:Je,onCancel:he},{default:a(()=>[t(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[t(I,{label:e.$t("codegen.generate_modal.promptLabel"),required:""},{default:a(()=>[t(le,{value:m.prompt,"onUpdate:value":s[7]||(s[7]=o=>m.prompt=o),placeholder:e.$t("codegen.generate_modal.promptPlaceholder"),"auto-size":{minRows:2,maxRows:5}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.languageLabel")},{default:a(()=>[t(D,{value:m.language,"onUpdate:value":s[8]||(s[8]=o=>m.language=o),placeholder:e.$t("codegen.generate_modal.languagePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.frameworkLabel")},{default:a(()=>[t(D,{value:m.framework,"onUpdate:value":s[9]||(s[9]=o=>m.framework=o),placeholder:e.$t("codegen.generate_modal.frameworkPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.codeLabel")},{default:a(()=>[t(le,{value:m.code,"onUpdate:value":s[10]||(s[10]=o=>m.code=o),placeholder:e.$t("codegen.generate_modal.codePlaceholder"),"auto-size":{minRows:3,maxRows:10}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.filesLabel")},{default:a(()=>[t(me,{value:m.files,"onUpdate:value":s[11]||(s[11]=o=>m.files=o),min:0,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.tokensLabel")},{default:a(()=>[t(me,{value:m.tokens,"onUpdate:value":s[12]||(s[12]=o=>m.tokens=o),min:0,style:{width:"160px"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(W,{open:ee.value,"onUpdate:open":s[17]||(s[17]=o=>ee.value=o),title:e.$t("codegen.review_modal.title"),width:720,footer:null},{default:a(()=>[v("div",sa,[t(ve,{"label-col":{span:5},"wrapper-col":{span:19}},{default:a(()=>[t(I,{label:e.$t("codegen.review_modal.languageLabel")},{default:a(()=>[t(D,{value:x.language,"onUpdate:value":s[14]||(s[14]=o=>x.language=o),placeholder:e.$t("codegen.review_modal.languagePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.review_modal.generationIdLabel")},{default:a(()=>[t(D,{value:x.generationId,"onUpdate:value":s[15]||(s[15]=o=>x.generationId=o),placeholder:e.$t("codegen.review_modal.generationIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.review_modal.codeLabel"),required:""},{default:a(()=>[t(le,{value:x.code,"onUpdate:value":s[16]||(s[16]=o=>x.code=o),placeholder:e.$t("codegen.review_modal.codePlaceholder"),"auto-size":{minRows:6,maxRows:16}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{"wrapper-col":{offset:5,span:19}},{default:a(()=>[t(b,{type:"primary",loading:T.value,onClick:Be},{icon:a(()=>[t(_(ye))]),default:a(()=>[f(" "+i(e.$t("codegen.review_modal.submit")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),t(Xe),h.value?(u(),c("div",ia,[t(fe,{gutter:12,style:{"margin-bottom":"12px"}},{default:a(()=>[t(O,{span:8},{default:a(()=>[t(G,{title:e.$t("codegen.review_modal.issuesStat"),value:h.value.issuesFound,"value-style":{color:h.value.issuesFound>0?"#fa8c16":"#52c41a",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1}),t(O,{span:8},{default:a(()=>[t(G,{title:e.$t("codegen.review_modal.securityStat"),value:h.value.securityIssues,"value-style":{color:h.value.securityIssues>0?"#ff4d4f":"#52c41a",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1}),t(O,{span:8},{default:a(()=>[t(G,{title:e.$t("codegen.review_modal.reviewIdStat"),value:h.value.reviewId?h.value.reviewId.slice(0,8):"—","value-style":{fontSize:"14px",fontFamily:"monospace"}},null,8,["title","value"])]),_:1})]),_:1}),v("h5",ra,i(e.$t("codegen.review_modal.bySeverity")),1),t(Se,null,{default:a(()=>[(u(!0),c(P,null,Q(_(se),o=>(u(),k(j,{key:o,color:ce(o)},{default:a(()=>[f(i(de(o))+": "+i(h.value.severitySummary[o]||0),1)]),_:2},1032,["color"]))),128))]),_:1}),h.value.reason?(u(),k(et,{key:0,type:"warning","show-icon":"",message:e.$t("codegen.review_modal.failedReason",{reason:h.value.reason}),style:{"margin-top":"12px"}},null,8,["message"])):p("",!0)])):(u(),k(Ze,{key:0,description:e.$t("codegen.review_modal.notReviewed"),image:_(R)},null,8,["description","image"]))])]),_:1},8,["open","title"]),t(W,{open:te.value,"onUpdate:open":s[23]||(s[23]=o=>te.value=o),title:e.$t("codegen.scaffold_modal.title"),"confirm-loading":E.value,width:560,"ok-text":e.$t("codegen.scaffold_modal.ok"),"cancel-text":e.$t("codegen.scaffold_modal.cancel"),onOk:qe,onCancel:$e},{default:a(()=>[t(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[t(I,{label:e.$t("codegen.scaffold_modal.templateLabel"),required:""},{default:a(()=>[t(at,{value:y.template,"onUpdate:value":s[18]||(s[18]=o=>y.template=o)},{default:a(()=>[(u(!0),c(P,null,Q(_(ne),o=>(u(),k(tt,{key:o,value:o},{default:a(()=>[f(i(o),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.projectLabel"),required:""},{default:a(()=>[t(D,{value:y.projectName,"onUpdate:value":s[19]||(s[19]=o=>y.projectName=o),placeholder:e.$t("codegen.scaffold_modal.projectPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.optionsLabel")},{default:a(()=>[t(le,{value:y.optionsJson,"onUpdate:value":s[20]||(s[20]=o=>y.optionsJson=o),placeholder:e.$t("codegen.scaffold_modal.optionsPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.filesLabel")},{default:a(()=>[t(me,{value:y.files,"onUpdate:value":s[21]||(s[21]=o=>y.files=o),min:0,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.outputLabel")},{default:a(()=>[t(D,{value:y.outputPath,"onUpdate:value":s[22]||(s[22]=o=>y.outputPath=o),placeholder:e.$t("codegen.scaffold_modal.outputPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(W,{open:re.value,"onUpdate:open":s[24]||(s[24]=o=>re.value=o),title:e.$t("codegen.gen_details.title",{id:F.value?.id?.slice(0,12)||""}),width:780,footer:null},{default:a(()=>[F.value?(u(),c("div",ua,[t(xe,{column:2,size:"small",bordered:""},{default:a(()=>[t(z,{label:e.$t("codegen.gen_details.id"),span:2},{default:a(()=>[v("span",da,i(F.value.id),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.language")},{default:a(()=>[F.value.language?(u(),k(j,{key:0,color:"blue"},{default:a(()=>[f(i(F.value.language),1)]),_:1})):(u(),c("span",ca,"—"))]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.framework")},{default:a(()=>[F.value.framework?(u(),k(j,{key:0,color:"purple"},{default:a(()=>[f(i(F.value.framework),1)]),_:1})):(u(),c("span",fa,"—"))]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.fileCount")},{default:a(()=>[f(i(F.value.fileCount),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.tokenCount")},{default:a(()=>[f(i(F.value.tokenCount),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.createdAt"),span:2},{default:a(()=>[f(i(_(X)(F.value.createdAt)),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.prompt"),span:2},{default:a(()=>[v("pre",pa,i(F.value.prompt),1)]),_:1},8,["label"]),F.value.generatedCode?(u(),k(z,{key:0,label:e.$t("codegen.gen_details.code"),span:2},{default:a(()=>[v("pre",ga,i(ae(F.value.generatedCode,2e3)),1)]),_:1},8,["label"])):p("",!0)]),_:1})])):p("",!0)]),_:1},8,["open","title"]),t(W,{open:ue.value,"onUpdate:open":s[25]||(s[25]=o=>ue.value=o),title:e.$t("codegen.review_details.title",{id:$.value?.id?.slice(0,12)||""}),width:720,footer:null},{default:a(()=>[$.value?(u(),c("div",ma,[t(xe,{column:2,size:"small",bordered:""},{default:a(()=>[t(z,{label:e.$t("codegen.review_details.id"),span:2},{default:a(()=>[v("span",va,i($.value.id),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.codeHash"),span:2},{default:a(()=>[v("span",ya,i($.value.codeHash),1)]),_:1},8,["label"]),$.value.generationId?(u(),k(z,{key:0,label:e.$t("codegen.review_details.generationId"),span:2},{default:a(()=>[v("span",_a,i($.value.generationId),1)]),_:1},8,["label"])):p("",!0),t(z,{label:e.$t("codegen.review_details.language")},{default:a(()=>[$.value.language?(u(),k(j,{key:0,color:"blue"},{default:a(()=>[f(i($.value.language),1)]),_:1})):(u(),c("span",ba,"—"))]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.reviewedAt")},{default:a(()=>[f(i(_(X)($.value.reviewedAt)),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.issuesFound")},{default:a(()=>[f(i($.value.issuesFound),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.securityIssues")},{default:a(()=>[v("span",{style:je({color:$.value.securityIssues>0?"#ff4d4f":"#52c41a"})},i($.value.securityIssues),5)]),_:1},8,["label"])]),_:1}),v("h4",ka,i(e.$t("codegen.review_details.bySeverity")),1),(u(!0),c(P,null,Q(_(se),o=>(u(),c("div",{key:o,class:"bd-row"},[t(j,{color:ce(o),style:{"min-width":"70px","text-align":"center"}},{default:a(()=>[f(i(de(o)),1)]),_:2},1032,["color"]),t(ot,{percent:Ee($.value.severitySummary[o]||0,$.value.issuesFound),"stroke-color":De(o),format:()=>`${$.value.severitySummary[o]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128)),$.value.issuesDetail.length?(u(),c("h4",wa,i(e.$t("codegen.review_details.issues")),1)):p("",!0),$.value.issuesDetail.length?(u(),k(nt,{key:1,size:"small","data-source":$.value.issuesDetail,pagination:{pageSize:8}},{renderItem:a(({item:o})=>[t(lt,null,{default:a(()=>[t(j,{color:ce(o.severity),style:{"min-width":"60px","text-align":"center"}},{default:a(()=>[f(i(de(o.severity)),1)]),_:2},1032,["color"]),v("span",ha,i(o.rule),1),v("code",$a,i(ae(o.match,60)),1)]),_:2},1024)]),_:1},8,["data-source"])):p("",!0)])):p("",!0)]),_:1},8,["open","title"])])}}},Aa=st(Sa,[["__scopeId","data-v-c77cb6a0"]]);export{Aa as default};
1
+ import{_ as st,u as it,b as rt,E as ut,d as A}from"./index-DL2e2Kwh.js";import{s as dt}from"./community-parser-CO25nZFt.js";import{R as ct,J as ye,ar as ft,r as ze,a7 as pt,al as Ae,aX as Fe,G as gt,f as mt}from"./icons-BOPtEWK4.js";import{o as vt,M as c,R as v,P as i,c as t,N as a,K as g,r as w,L as u,O as f,u as _,F as P,Y as Q,Q as k,_ as je,S as p,f as Y,a as _e}from"./vendor-DhFY8mDK.js";function M(n){const r=dt(n);if(!r)return null;try{return JSON.parse(r)}catch{}const l=r.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!l)return null;try{return JSON.parse(l[0])}catch{return null}}const ne=Object.freeze(["react","vue","express","fastapi","spring_boot"]),se=Object.freeze(["critical","high","medium","low","info"]);function C(n,r=0){return typeof n=="number"&&Number.isFinite(n)?n:r}function Pe(n,r=null){if(n==null)return r;if(typeof n!="string")return n;try{return JSON.parse(n)}catch{return r}}function yt(n,r=0){if(!n||typeof n!="object")return null;const l=n.id||"";return l?{key:l,id:l,prompt:String(n.prompt||""),language:n.language??"",framework:n.framework??"",generatedCode:n.generated_code??n.generatedCode??"",fileCount:C(n.file_count??n.fileCount,0),tokenCount:C(n.token_count??n.tokenCount,0),metadata:n.metadata??null,createdAt:n.created_at??n.createdAt??null,_idx:r}:null}function _t(n){const r=M(n);return Array.isArray(r)?r.map(yt).filter(Boolean):[]}function bt(n,r=0){return!n||typeof n!="object"?null:{key:r,rule:String(n.rule||""),severity:String(n.severity||"info").toLowerCase(),match:String(n.match||""),pattern:String(n.pattern||"")}}function kt(n,r=0){if(!n||typeof n!="object")return null;const l=n.id||"";if(!l)return null;const R=Pe(n.severity_summary??n.severitySummary,null)??n.severity_summary??n.severitySummary,S={};for(const E of se)S[E]=0;if(R&&typeof R=="object"&&!Array.isArray(R))for(const[E,J]of Object.entries(R))typeof J=="number"&&Number.isFinite(J)&&(S[E]=J);const L=Pe(n.issues_detail??n.issuesDetail,null)??n.issues_detail??n.issuesDetail,T=Array.isArray(L)?L.map(bt).filter(Boolean):[];return{key:l,id:l,generationId:n.generation_id??n.generationId??"",codeHash:String(n.code_hash??n.codeHash??""),language:n.language??"",issuesFound:C(n.issues_found??n.issuesFound,0),securityIssues:C(n.security_issues??n.securityIssues,0),severitySummary:S,issuesDetail:T,reviewedAt:n.reviewed_at??n.reviewedAt??null,_idx:r}}function wt(n){const r=M(n);return Array.isArray(r)?r.map(kt).filter(Boolean):[]}function ht(n){const r={};for(const L of se)r[L]=0;const l=M(n);if(!l||typeof l!="object"||Array.isArray(l))return{ok:!1,reviewId:null,reason:"",issuesFound:0,securityIssues:0,severitySummary:r};const R=!!l.reviewId,S={...r};if(l.severitySummary&&typeof l.severitySummary=="object"&&!Array.isArray(l.severitySummary))for(const[L,T]of Object.entries(l.severitySummary))typeof T=="number"&&Number.isFinite(T)&&(S[L]=T);return{ok:R,reviewId:l.reviewId?String(l.reviewId):null,reason:l.reason?String(l.reason):"",issuesFound:C(l.issuesFound,0),securityIssues:C(l.securityIssues,0),severitySummary:S}}function $t(n,r=0){if(!n||typeof n!="object")return null;const l=n.id||"";return l?{key:l,id:l,template:String(n.template||""),projectName:n.project_name??n.projectName??"",options:n.options??null,filesGenerated:C(n.files_generated??n.filesGenerated,0),outputPath:n.output_path??n.outputPath??"",createdAt:n.created_at??n.createdAt??null,_idx:r}:null}function St(n){const r=M(n);return Array.isArray(r)?r.map($t).filter(Boolean):[]}const Ct={generations:{total:0,totalTokens:0,totalFiles:0,uniqueLanguages:0},reviews:{total:0,totalIssues:0,totalSecurityIssues:0,avgIssuesPerReview:0},scaffolds:{total:0,byTemplate:{}}};function xt(n){const r=JSON.parse(JSON.stringify(Ct));for(const R of ne)r.scaffolds.byTemplate[R]=0;const l=M(n);if(!l||typeof l!="object"||Array.isArray(l))return r;if(l.generations&&typeof l.generations=="object"&&(r.generations.total=C(l.generations.total,0),r.generations.totalTokens=C(l.generations.totalTokens,0),r.generations.totalFiles=C(l.generations.totalFiles,0),r.generations.uniqueLanguages=C(l.generations.uniqueLanguages,0)),l.reviews&&typeof l.reviews=="object"&&(r.reviews.total=C(l.reviews.total,0),r.reviews.totalIssues=C(l.reviews.totalIssues,0),r.reviews.totalSecurityIssues=C(l.reviews.totalSecurityIssues,0),r.reviews.avgIssuesPerReview=C(l.reviews.avgIssuesPerReview,0)),l.scaffolds&&typeof l.scaffolds=="object"&&(r.scaffolds.total=C(l.scaffolds.total,0),l.scaffolds.byTemplate&&typeof l.scaffolds.byTemplate=="object"))for(const[R,S]of Object.entries(l.scaffolds.byTemplate))typeof S=="number"&&Number.isFinite(S)&&(r.scaffolds.byTemplate[R]=S);return r}function Re(n){const r=M(n);if(!r||typeof r!="object"||Array.isArray(r))return{ok:!1,id:null,reason:""};const l=r.generationId||r.scaffoldId||r.reviewId||null;return{ok:!!l,id:l?String(l):null,reason:r.reason?String(r.reason):""}}function X(n){if(n==null||n==="")return"—";const r=typeof n=="number"?new Date(n):new Date(String(n));return isNaN(r.getTime())?String(n):r.toLocaleString("zh-CN",{hour12:!1})}const It={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},zt={class:"page-title"},At={class:"page-sub"},Ft={class:"tmpl-count"},jt={class:"filter-bar"},Pt={style:{color:"var(--text-primary)","font-weight":"500"}},Rt={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Lt={key:1,style:{color:"var(--text-muted)"}},Nt={key:1,style:{color:"var(--text-muted)"}},Tt={key:3,style:{color:"var(--text-secondary)"}},Ot={key:4,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},Ut={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Gt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Dt={style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Et={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},Jt={key:1,style:{color:"var(--text-muted)"}},Bt={key:4,class:"sev-mini"},Mt={key:0,style:{color:"#ff4d4f"}},qt={key:1,style:{color:"#fa8c16"}},Ht={key:2,style:{color:"#faad14"}},Vt={key:3,style:{color:"#888"}},Kt={key:4,style:{color:"#1677ff"}},Wt={key:5,style:{color:"#52c41a"}},Qt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Yt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Xt={class:"filter-bar"},Zt={style:{color:"var(--text-primary)","font-weight":"500"}},ea={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace","margin-top":"2px"}},ta={key:2,style:{color:"var(--text-secondary)"}},aa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},oa={key:1,style:{color:"var(--text-muted)"}},la={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},na={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},sa={style:{"padding-top":"8px"}},ia={key:1},ra={style:{color:"var(--text-primary)","font-size":"12px",margin:"12px 0 6px"}},ua={key:0,style:{"padding-top":"8px"}},da={style:{"font-family":"monospace","font-size":"12px"}},ca={key:1,style:{color:"var(--text-muted)"}},fa={key:1,style:{color:"var(--text-muted)"}},pa={class:"code-pre"},ga={class:"code-pre"},ma={key:0,style:{"padding-top":"8px"}},va={style:{"font-family":"monospace","font-size":"12px"}},ya={style:{"font-family":"monospace","font-size":"12px"}},_a={style:{"font-family":"monospace","font-size":"12px"}},ba={key:1,style:{color:"var(--text-muted)"}},ka={style:{color:"var(--text-primary)","font-size":"13px",margin:"16px 0 8px"}},wa={key:0,style:{color:"var(--text-primary)","font-size":"13px",margin:"16px 0 8px"}},ha={style:{"margin-left":"8px","font-family":"monospace","font-size":"12px"}},$a={style:{"margin-left":"8px",padding:"1px 6px",background:"var(--bg-base)","border-radius":"3px","font-size":"11px"}},Sa={__name:"Codegen",setup(n){const r=it(),{t:l}=rt(),R=ut.PRESENTED_IMAGE_SIMPLE,S=w(!1),L=w(!1),T=w(!1),E=w(!1),J=w([]),be=w([]),ie=w([]),U=w({generations:{total:0,totalTokens:0,totalFiles:0,uniqueLanguages:0},reviews:{total:0,totalIssues:0,totalSecurityIssues:0,avgIssuesPerReview:0},scaffolds:{total:0,byTemplate:{}}}),ke=w("generations"),q=w(""),H=w(""),V=w(""),Z=w(!1),ee=w(!1),te=w(!1),re=w(!1),ue=w(!1),m=_e({prompt:"",language:"",framework:"",code:"",files:0,tokens:0}),x=_e({generationId:"",language:"",code:""}),y=_e({template:"react",projectName:"",optionsJson:"",files:0,outputPath:""}),h=w(null),F=w(null),$=w(null),Le=Y(()=>[{title:l("codegen.generationCols.prompt"),key:"prompt"},{title:l("codegen.generationCols.language"),key:"language",width:"110px"},{title:l("codegen.generationCols.framework"),key:"framework",width:"110px"},{title:l("codegen.generationCols.fileCount"),key:"fileCount",width:"70px"},{title:l("codegen.generationCols.tokenCount"),key:"tokenCount",width:"110px"},{title:l("codegen.generationCols.createdAt"),key:"createdAt",width:"160px"},{title:l("codegen.generationCols.action"),key:"action",width:"140px"}]),Ne=Y(()=>[{title:l("codegen.reviewCols.codeHash"),key:"codeHash",width:"180px"},{title:l("codegen.reviewCols.language"),key:"language",width:"110px"},{title:l("codegen.reviewCols.issuesFound"),key:"issuesFound",width:"90px"},{title:l("codegen.reviewCols.securityIssues"),key:"securityIssues",width:"90px"},{title:l("codegen.reviewCols.severityBreak"),key:"severityBreak"},{title:l("codegen.reviewCols.reviewedAt"),key:"reviewedAt",width:"160px"},{title:l("codegen.reviewCols.action"),key:"action",width:"90px"}]),Te=Y(()=>[{title:l("codegen.scaffoldCols.projectName"),key:"projectName"},{title:l("codegen.scaffoldCols.template"),key:"template",width:"120px"},{title:l("codegen.scaffoldCols.filesGenerated"),key:"filesGenerated",width:"90px"},{title:l("codegen.scaffoldCols.outputPath"),key:"outputPath",width:"300px"},{title:l("codegen.scaffoldCols.createdAt"),key:"createdAt",width:"160px"}]),Oe=Y(()=>{let e=J.value;if(q.value.trim()){const s=q.value.trim().toLowerCase();e=e.filter(b=>(b.language||"").toLowerCase().includes(s))}if(H.value.trim()){const s=H.value.trim().toLowerCase();e=e.filter(b=>(b.framework||"").toLowerCase().includes(s))}return e}),Ue=Y(()=>V.value?ie.value.filter(e=>e.template===V.value):ie.value);function we(e){return{react:"cyan",vue:"green",express:"gold",fastapi:"magenta",spring_boot:"red"}[e]||"default"}function Ge(e){return{react:"#13c2c2",vue:"#52c41a",express:"#faad14",fastapi:"#eb2f96",spring_boot:"#ff4d4f"}[e]||"#888"}function de(e){const s=`codegen.severityLabels.${e}`,b=l(s);return b===s?e:b}function ce(e){return{critical:"red",high:"orange",medium:"gold",low:"default",info:"blue"}[e]||"default"}function De(e){return{critical:"#ff4d4f",high:"#fa8c16",medium:"#faad14",low:"#888",info:"#1677ff"}[e]||"#888"}function Ee(e,s){return s?Math.round(e/s*100):0}function ae(e,s){return e?e.length<=s?e:e.slice(0,s)+"…":""}function N(e){return`"${String(e).replace(/"/g,'\\"')}"`}async function K(){S.value=!0;try{const[e,s,b,oe]=await Promise.all([r.execute("codegen list --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("codegen reviews --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("codegen scaffolds --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("codegen stats --json",8e3).catch(()=>({output:""}))]);J.value=_t(e.output),be.value=wt(s.output),ie.value=St(b.output),U.value=xt(oe.output)}catch(e){A.error(l("codegen.msg.loadFailed")+": "+(e?.message||e))}finally{S.value=!1}}async function Je(){if(!m.prompt.trim()){A.warning(l("codegen.msg.promptEmpty"));return}L.value=!0;try{const e=[`codegen generate -p ${N(m.prompt.trim())}`];m.language.trim()&&e.push(`-l ${N(m.language.trim())}`),m.framework.trim()&&e.push(`-f ${N(m.framework.trim())}`),m.code.trim()&&e.push(`--code ${N(m.code.trim())}`),m.files>0&&e.push(`--files ${m.files}`),m.tokens>0&&e.push(`--tokens ${m.tokens}`),e.push("--json");const{output:s}=await r.execute(e.join(" "),1e4),b=Re(s);if(!b.ok){A.error(l("codegen.msg.generateFailed")+": "+(b.reason||s.slice(0,120)));return}A.success(l("codegen.msg.generateSuccess",{id:b.id?.slice(0,8)})),Z.value=!1,he(),await K()}catch(e){A.error(l("codegen.msg.generateFailed")+": "+(e?.message||e))}finally{L.value=!1}}async function Be(){if(!x.code.trim()){A.warning(l("codegen.msg.codeEmpty"));return}T.value=!0,h.value=null;try{const e=[`codegen review -c ${N(x.code)}`];x.language.trim()&&e.push(`-l ${N(x.language.trim())}`),x.generationId.trim()&&e.push(`-g ${N(x.generationId.trim())}`),e.push("--json");const{output:s}=await r.execute(e.join(" "),1e4);h.value=ht(s),!h.value.ok&&h.value.reason?A.error(l("codegen.msg.reviewFailed")+": "+h.value.reason):h.value.ok?(A.success(l("codegen.msg.reviewSuccess",{n:h.value.issuesFound,sec:h.value.securityIssues})),await K()):A.error(l("codegen.msg.reviewFailed")+": "+s.slice(0,120))}catch(e){A.error(l("codegen.msg.reviewFailed")+": "+(e?.message||e))}finally{T.value=!1}}async function Me(e){x.generationId=e.id,x.language=e.language||"",x.code=e.generatedCode||"",h.value=null,ee.value=!0}async function qe(){if(!y.projectName.trim()){A.warning(l("codegen.msg.projectEmpty"));return}if(y.optionsJson.trim())try{JSON.parse(y.optionsJson)}catch{A.warning(l("codegen.msg.optionsBadJson"));return}E.value=!0;try{const e=[`codegen scaffold -t ${y.template}`,`-n ${N(y.projectName.trim())}`];y.optionsJson.trim()&&e.push(`-o ${N(y.optionsJson.trim())}`),y.files>0&&e.push(`--files ${y.files}`),y.outputPath.trim()&&e.push(`--output ${N(y.outputPath.trim())}`),e.push("--json");const{output:s}=await r.execute(e.join(" "),1e4),b=Re(s);if(!b.ok){A.error(l("codegen.msg.scaffoldFailed")+": "+(b.reason||s.slice(0,120)));return}A.success(l("codegen.msg.scaffoldSuccess",{id:b.id?.slice(0,8)})),te.value=!1,$e(),await K()}catch(e){A.error(l("codegen.msg.scaffoldFailed")+": "+(e?.message||e))}finally{E.value=!1}}function He(e){F.value=e,re.value=!0}function Ve(e){$.value=e,ue.value=!0}function he(){m.prompt="",m.language="",m.framework="",m.code="",m.files=0,m.tokens=0}function $e(){y.template="react",y.projectName="",y.optionsJson="",y.files=0,y.outputPath=""}return vt(K),(e,s)=>{const b=g("a-button"),oe=g("a-menu-item"),Ke=g("a-menu"),We=g("a-dropdown"),Se=g("a-space"),G=g("a-statistic"),B=g("a-card"),O=g("a-col"),fe=g("a-row"),j=g("a-tag"),D=g("a-input"),pe=g("a-table"),ge=g("a-tab-pane"),Ce=g("a-radio-button"),Qe=g("a-radio-group"),Ye=g("a-tabs"),le=g("a-textarea"),I=g("a-form-item"),me=g("a-input-number"),ve=g("a-form"),W=g("a-modal"),Xe=g("a-divider"),Ze=g("a-empty"),et=g("a-alert"),tt=g("a-select-option"),at=g("a-select"),z=g("a-descriptions-item"),xe=g("a-descriptions"),ot=g("a-progress"),lt=g("a-list-item"),nt=g("a-list");return u(),c("div",null,[v("div",It,[v("div",null,[v("h2",zt,i(e.$t("codegen.title")),1),v("p",At,i(e.$t("codegen.subtitle")),1)]),t(Se,null,{default:a(()=>[t(b,{loading:S.value,onClick:K},{icon:a(()=>[t(_(ct))]),default:a(()=>[f(" "+i(e.$t("codegen.refresh")),1)]),_:1},8,["loading"]),t(b,{onClick:s[0]||(s[0]=o=>ee.value=!0)},{icon:a(()=>[t(_(ye))]),default:a(()=>[f(" "+i(e.$t("codegen.review")),1)]),_:1}),t(We,null,{overlay:a(()=>[t(Ke,null,{default:a(()=>[t(oe,{key:"generate",onClick:s[1]||(s[1]=o=>Z.value=!0)},{default:a(()=>[f(i(e.$t("codegen.actions.generate")),1)]),_:1}),t(oe,{key:"scaffold",onClick:s[2]||(s[2]=o=>te.value=!0)},{default:a(()=>[f(i(e.$t("codegen.actions.scaffold")),1)]),_:1})]),_:1})]),default:a(()=>[t(b,{type:"primary"},{icon:a(()=>[t(_(ft))]),default:a(()=>[f(" "+i(e.$t("codegen.newDropdown")),1)]),_:1})]),_:1})]),_:1})]),t(fe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.generations"),value:U.value.generations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[t(_(ze))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.reviews"),value:U.value.reviews.total,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[t(_(pt))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.securityIssues"),value:U.value.reviews.totalSecurityIssues,"value-style":{color:U.value.reviews.totalSecurityIssues>0?"#ff4d4f":"#52c41a",fontSize:"20px"}},{prefix:a(()=>[t(_(Ae))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(O,{xs:12,sm:8,lg:5},{default:a(()=>[t(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.scaffolds"),value:U.value.scaffolds.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:a(()=>[t(_(Fe))]),_:1},8,["title","value"])]),_:1})]),_:1}),t(O,{xs:24,sm:8,lg:4},{default:a(()=>[t(B,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(G,{title:e.$t("codegen.stats.languages"),value:U.value.generations.uniqueLanguages,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:a(()=>[t(_(gt))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),t(B,{title:e.$t("codegen.templatesCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:a(()=>[t(fe,{gutter:[12,12]},{default:a(()=>[(u(!0),c(P,null,Q(_(ne),o=>(u(),k(O,{key:o,xs:12,sm:8,lg:4},{default:a(()=>[v("div",{class:"tmpl-pill",style:je({borderLeftColor:Ge(o)})},[t(j,{color:we(o),style:{"font-family":"monospace"}},{default:a(()=>[f(i(o),1)]),_:2},1032,["color"]),v("span",Ft,i(U.value.scaffolds.byTemplate[o]||0),1)],4)]),_:2},1024))),128))]),_:1})]),_:1},8,["title"]),t(Ye,{activeKey:ke.value,"onUpdate:activeKey":s[6]||(s[6]=o=>ke.value=o),class:"codegen-tabs"},{default:a(()=>[t(ge,{key:"generations",tab:e.$t("codegen.tabs.generations")},{default:a(()=>[v("div",jt,[t(D,{value:q.value,"onUpdate:value":s[3]||(s[3]=o=>q.value=o),placeholder:e.$t("codegen.filter.languagePlaceholder"),"allow-clear":"",size:"small",style:{"max-width":"180px"}},null,8,["value","placeholder"]),t(D,{value:H.value,"onUpdate:value":s[4]||(s[4]=o=>H.value=o),placeholder:e.$t("codegen.filter.frameworkPlaceholder"),"allow-clear":"",size:"small",style:{"max-width":"180px"}},null,8,["value","placeholder"])]),t(pe,{columns:Le.value,"data-source":Oe.value,pagination:{pageSize:20,showTotal:o=>e.$t("codegen.table.totalSuffix",{n:o})},size:"small",loading:S.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="prompt"?(u(),c(P,{key:0},[v("span",Pt,i(ae(d.prompt,60)),1),v("div",Rt,i(d.id.slice(0,16)),1)],64)):p("",!0),o.key==="language"?(u(),c(P,{key:1},[d.language?(u(),k(j,{key:0,color:"blue",style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.language),1)]),_:2},1024)):(u(),c("span",Lt,"—"))],64)):p("",!0),o.key==="framework"?(u(),c(P,{key:2},[d.framework?(u(),k(j,{key:0,color:"purple",style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.framework),1)]),_:2},1024)):(u(),c("span",Nt,"—"))],64)):p("",!0),o.key==="fileCount"?(u(),c("span",Tt,i(d.fileCount),1)):p("",!0),o.key==="tokenCount"?(u(),c("span",Ot,i(d.tokenCount),1)):p("",!0),o.key==="createdAt"?(u(),c("span",Ut,i(_(X)(d.createdAt)),1)):p("",!0),o.key==="action"?(u(),c(P,{key:6},[t(b,{size:"small",type:"link",onClick:Ie=>He(d)},{default:a(()=>[f(i(e.$t("codegen.table.actionDetails")),1)]),_:1},8,["onClick"]),d.generatedCode?(u(),k(b,{key:0,size:"small",type:"link",onClick:Ie=>Me(d)},{default:a(()=>[f(i(e.$t("codegen.table.actionReview")),1)]),_:1},8,["onClick"])):p("",!0)],64)):p("",!0)]),emptyText:a(()=>[v("div",Gt,[t(_(ze),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(q.value||H.value?e.$t("codegen.table.emptyGenerationsFiltered"):e.$t("codegen.table.emptyGenerations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(ge,{key:"reviews",tab:e.$t("codegen.tabs.reviews")},{default:a(()=>[t(pe,{columns:Ne.value,"data-source":be.value,pagination:{pageSize:20,showTotal:o=>e.$t("codegen.table.totalSuffix",{n:o})},size:"small",loading:S.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="codeHash"?(u(),c(P,{key:0},[v("span",Dt,i(d.codeHash),1),v("div",Et,i(d.id.slice(0,16)),1)],64)):p("",!0),o.key==="language"?(u(),c(P,{key:1},[d.language?(u(),k(j,{key:0,color:"blue",style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.language),1)]),_:2},1024)):(u(),c("span",Jt,"—"))],64)):p("",!0),o.key==="issuesFound"?(u(),k(j,{key:2,color:d.issuesFound===0?"green":d.issuesFound>5?"red":"orange"},{default:a(()=>[f(i(e.$t("codegen.table.issuesSuffix",{n:d.issuesFound})),1)]),_:2},1032,["color"])):p("",!0),o.key==="securityIssues"?(u(),c(P,{key:3},[d.securityIssues>0?(u(),k(j,{key:0,color:"red"},{default:a(()=>[t(_(Ae)),f(" "+i(d.securityIssues),1)]),_:2},1024)):(u(),k(j,{key:1,color:"green"},{default:a(()=>[t(_(mt)),s[26]||(s[26]=f(" 0 ",-1))]),_:1}))],64)):p("",!0),o.key==="severityBreak"?(u(),c("span",Bt,[d.severitySummary.critical>0?(u(),c("span",Mt,"C:"+i(d.severitySummary.critical),1)):p("",!0),d.severitySummary.high>0?(u(),c("span",qt,"H:"+i(d.severitySummary.high),1)):p("",!0),d.severitySummary.medium>0?(u(),c("span",Ht,"M:"+i(d.severitySummary.medium),1)):p("",!0),d.severitySummary.low>0?(u(),c("span",Vt,"L:"+i(d.severitySummary.low),1)):p("",!0),d.severitySummary.info>0?(u(),c("span",Kt,"I:"+i(d.severitySummary.info),1)):p("",!0),d.issuesFound===0?(u(),c("span",Wt,i(e.$t("codegen.table.noIssues")),1)):p("",!0)])):p("",!0),o.key==="reviewedAt"?(u(),c("span",Qt,i(_(X)(d.reviewedAt)),1)):p("",!0),o.key==="action"?(u(),k(b,{key:6,size:"small",type:"link",onClick:Ie=>Ve(d)},{default:a(()=>[f(i(e.$t("codegen.table.actionDetails")),1)]),_:1},8,["onClick"])):p("",!0)]),emptyText:a(()=>[v("div",Yt,[t(_(ye),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(e.$t("codegen.table.emptyReviews")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),t(ge,{key:"scaffolds",tab:e.$t("codegen.tabs.scaffolds")},{default:a(()=>[v("div",Xt,[t(Qe,{value:V.value,"onUpdate:value":s[5]||(s[5]=o=>V.value=o),size:"small","button-style":"solid"},{default:a(()=>[t(Ce,{value:""},{default:a(()=>[f(i(e.$t("codegen.filter.allTemplates")),1)]),_:1}),(u(!0),c(P,null,Q(_(ne),o=>(u(),k(Ce,{key:o,value:o},{default:a(()=>[f(i(o),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),t(pe,{columns:Te.value,"data-source":Ue.value,pagination:{pageSize:20,showTotal:o=>e.$t("codegen.table.totalSuffix",{n:o})},size:"small",loading:S.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:o,record:d})=>[o.key==="projectName"?(u(),c(P,{key:0},[v("span",Zt,i(d.projectName||e.$t("codegen.table.unnamed")),1),v("div",ea,i(d.id.slice(0,16)),1)],64)):p("",!0),o.key==="template"?(u(),k(j,{key:1,color:we(d.template),style:{"font-family":"monospace"}},{default:a(()=>[f(i(d.template),1)]),_:2},1032,["color"])):p("",!0),o.key==="filesGenerated"?(u(),c("span",ta,i(d.filesGenerated),1)):p("",!0),o.key==="outputPath"?(u(),c(P,{key:3},[d.outputPath?(u(),c("span",aa,i(ae(d.outputPath,40)),1)):(u(),c("span",oa,"—"))],64)):p("",!0),o.key==="createdAt"?(u(),c("span",la,i(_(X)(d.createdAt)),1)):p("",!0)]),emptyText:a(()=>[v("div",na,[t(_(Fe),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+i(V.value?e.$t("codegen.table.emptyScaffoldsFiltered"):e.$t("codegen.table.emptyScaffolds")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),t(W,{open:Z.value,"onUpdate:open":s[13]||(s[13]=o=>Z.value=o),title:e.$t("codegen.generate_modal.title"),"confirm-loading":L.value,width:560,"ok-text":e.$t("codegen.generate_modal.ok"),"cancel-text":e.$t("codegen.generate_modal.cancel"),onOk:Je,onCancel:he},{default:a(()=>[t(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[t(I,{label:e.$t("codegen.generate_modal.promptLabel"),required:""},{default:a(()=>[t(le,{value:m.prompt,"onUpdate:value":s[7]||(s[7]=o=>m.prompt=o),placeholder:e.$t("codegen.generate_modal.promptPlaceholder"),"auto-size":{minRows:2,maxRows:5}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.languageLabel")},{default:a(()=>[t(D,{value:m.language,"onUpdate:value":s[8]||(s[8]=o=>m.language=o),placeholder:e.$t("codegen.generate_modal.languagePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.frameworkLabel")},{default:a(()=>[t(D,{value:m.framework,"onUpdate:value":s[9]||(s[9]=o=>m.framework=o),placeholder:e.$t("codegen.generate_modal.frameworkPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.codeLabel")},{default:a(()=>[t(le,{value:m.code,"onUpdate:value":s[10]||(s[10]=o=>m.code=o),placeholder:e.$t("codegen.generate_modal.codePlaceholder"),"auto-size":{minRows:3,maxRows:10}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.filesLabel")},{default:a(()=>[t(me,{value:m.files,"onUpdate:value":s[11]||(s[11]=o=>m.files=o),min:0,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.generate_modal.tokensLabel")},{default:a(()=>[t(me,{value:m.tokens,"onUpdate:value":s[12]||(s[12]=o=>m.tokens=o),min:0,style:{width:"160px"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(W,{open:ee.value,"onUpdate:open":s[17]||(s[17]=o=>ee.value=o),title:e.$t("codegen.review_modal.title"),width:720,footer:null},{default:a(()=>[v("div",sa,[t(ve,{"label-col":{span:5},"wrapper-col":{span:19}},{default:a(()=>[t(I,{label:e.$t("codegen.review_modal.languageLabel")},{default:a(()=>[t(D,{value:x.language,"onUpdate:value":s[14]||(s[14]=o=>x.language=o),placeholder:e.$t("codegen.review_modal.languagePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.review_modal.generationIdLabel")},{default:a(()=>[t(D,{value:x.generationId,"onUpdate:value":s[15]||(s[15]=o=>x.generationId=o),placeholder:e.$t("codegen.review_modal.generationIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.review_modal.codeLabel"),required:""},{default:a(()=>[t(le,{value:x.code,"onUpdate:value":s[16]||(s[16]=o=>x.code=o),placeholder:e.$t("codegen.review_modal.codePlaceholder"),"auto-size":{minRows:6,maxRows:16}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{"wrapper-col":{offset:5,span:19}},{default:a(()=>[t(b,{type:"primary",loading:T.value,onClick:Be},{icon:a(()=>[t(_(ye))]),default:a(()=>[f(" "+i(e.$t("codegen.review_modal.submit")),1)]),_:1},8,["loading"])]),_:1})]),_:1}),t(Xe),h.value?(u(),c("div",ia,[t(fe,{gutter:12,style:{"margin-bottom":"12px"}},{default:a(()=>[t(O,{span:8},{default:a(()=>[t(G,{title:e.$t("codegen.review_modal.issuesStat"),value:h.value.issuesFound,"value-style":{color:h.value.issuesFound>0?"#fa8c16":"#52c41a",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1}),t(O,{span:8},{default:a(()=>[t(G,{title:e.$t("codegen.review_modal.securityStat"),value:h.value.securityIssues,"value-style":{color:h.value.securityIssues>0?"#ff4d4f":"#52c41a",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1}),t(O,{span:8},{default:a(()=>[t(G,{title:e.$t("codegen.review_modal.reviewIdStat"),value:h.value.reviewId?h.value.reviewId.slice(0,8):"—","value-style":{fontSize:"14px",fontFamily:"monospace"}},null,8,["title","value"])]),_:1})]),_:1}),v("h5",ra,i(e.$t("codegen.review_modal.bySeverity")),1),t(Se,null,{default:a(()=>[(u(!0),c(P,null,Q(_(se),o=>(u(),k(j,{key:o,color:ce(o)},{default:a(()=>[f(i(de(o))+": "+i(h.value.severitySummary[o]||0),1)]),_:2},1032,["color"]))),128))]),_:1}),h.value.reason?(u(),k(et,{key:0,type:"warning","show-icon":"",message:e.$t("codegen.review_modal.failedReason",{reason:h.value.reason}),style:{"margin-top":"12px"}},null,8,["message"])):p("",!0)])):(u(),k(Ze,{key:0,description:e.$t("codegen.review_modal.notReviewed"),image:_(R)},null,8,["description","image"]))])]),_:1},8,["open","title"]),t(W,{open:te.value,"onUpdate:open":s[23]||(s[23]=o=>te.value=o),title:e.$t("codegen.scaffold_modal.title"),"confirm-loading":E.value,width:560,"ok-text":e.$t("codegen.scaffold_modal.ok"),"cancel-text":e.$t("codegen.scaffold_modal.cancel"),onOk:qe,onCancel:$e},{default:a(()=>[t(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[t(I,{label:e.$t("codegen.scaffold_modal.templateLabel"),required:""},{default:a(()=>[t(at,{value:y.template,"onUpdate:value":s[18]||(s[18]=o=>y.template=o)},{default:a(()=>[(u(!0),c(P,null,Q(_(ne),o=>(u(),k(tt,{key:o,value:o},{default:a(()=>[f(i(o),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.projectLabel"),required:""},{default:a(()=>[t(D,{value:y.projectName,"onUpdate:value":s[19]||(s[19]=o=>y.projectName=o),placeholder:e.$t("codegen.scaffold_modal.projectPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.optionsLabel")},{default:a(()=>[t(le,{value:y.optionsJson,"onUpdate:value":s[20]||(s[20]=o=>y.optionsJson=o),placeholder:e.$t("codegen.scaffold_modal.optionsPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.filesLabel")},{default:a(()=>[t(me,{value:y.files,"onUpdate:value":s[21]||(s[21]=o=>y.files=o),min:0,style:{width:"120px"}},null,8,["value"])]),_:1},8,["label"]),t(I,{label:e.$t("codegen.scaffold_modal.outputLabel")},{default:a(()=>[t(D,{value:y.outputPath,"onUpdate:value":s[22]||(s[22]=o=>y.outputPath=o),placeholder:e.$t("codegen.scaffold_modal.outputPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(W,{open:re.value,"onUpdate:open":s[24]||(s[24]=o=>re.value=o),title:e.$t("codegen.gen_details.title",{id:F.value?.id?.slice(0,12)||""}),width:780,footer:null},{default:a(()=>[F.value?(u(),c("div",ua,[t(xe,{column:2,size:"small",bordered:""},{default:a(()=>[t(z,{label:e.$t("codegen.gen_details.id"),span:2},{default:a(()=>[v("span",da,i(F.value.id),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.language")},{default:a(()=>[F.value.language?(u(),k(j,{key:0,color:"blue"},{default:a(()=>[f(i(F.value.language),1)]),_:1})):(u(),c("span",ca,"—"))]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.framework")},{default:a(()=>[F.value.framework?(u(),k(j,{key:0,color:"purple"},{default:a(()=>[f(i(F.value.framework),1)]),_:1})):(u(),c("span",fa,"—"))]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.fileCount")},{default:a(()=>[f(i(F.value.fileCount),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.tokenCount")},{default:a(()=>[f(i(F.value.tokenCount),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.createdAt"),span:2},{default:a(()=>[f(i(_(X)(F.value.createdAt)),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.gen_details.prompt"),span:2},{default:a(()=>[v("pre",pa,i(F.value.prompt),1)]),_:1},8,["label"]),F.value.generatedCode?(u(),k(z,{key:0,label:e.$t("codegen.gen_details.code"),span:2},{default:a(()=>[v("pre",ga,i(ae(F.value.generatedCode,2e3)),1)]),_:1},8,["label"])):p("",!0)]),_:1})])):p("",!0)]),_:1},8,["open","title"]),t(W,{open:ue.value,"onUpdate:open":s[25]||(s[25]=o=>ue.value=o),title:e.$t("codegen.review_details.title",{id:$.value?.id?.slice(0,12)||""}),width:720,footer:null},{default:a(()=>[$.value?(u(),c("div",ma,[t(xe,{column:2,size:"small",bordered:""},{default:a(()=>[t(z,{label:e.$t("codegen.review_details.id"),span:2},{default:a(()=>[v("span",va,i($.value.id),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.codeHash"),span:2},{default:a(()=>[v("span",ya,i($.value.codeHash),1)]),_:1},8,["label"]),$.value.generationId?(u(),k(z,{key:0,label:e.$t("codegen.review_details.generationId"),span:2},{default:a(()=>[v("span",_a,i($.value.generationId),1)]),_:1},8,["label"])):p("",!0),t(z,{label:e.$t("codegen.review_details.language")},{default:a(()=>[$.value.language?(u(),k(j,{key:0,color:"blue"},{default:a(()=>[f(i($.value.language),1)]),_:1})):(u(),c("span",ba,"—"))]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.reviewedAt")},{default:a(()=>[f(i(_(X)($.value.reviewedAt)),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.issuesFound")},{default:a(()=>[f(i($.value.issuesFound),1)]),_:1},8,["label"]),t(z,{label:e.$t("codegen.review_details.securityIssues")},{default:a(()=>[v("span",{style:je({color:$.value.securityIssues>0?"#ff4d4f":"#52c41a"})},i($.value.securityIssues),5)]),_:1},8,["label"])]),_:1}),v("h4",ka,i(e.$t("codegen.review_details.bySeverity")),1),(u(!0),c(P,null,Q(_(se),o=>(u(),c("div",{key:o,class:"bd-row"},[t(j,{color:ce(o),style:{"min-width":"70px","text-align":"center"}},{default:a(()=>[f(i(de(o)),1)]),_:2},1032,["color"]),t(ot,{percent:Ee($.value.severitySummary[o]||0,$.value.issuesFound),"stroke-color":De(o),format:()=>`${$.value.severitySummary[o]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128)),$.value.issuesDetail.length?(u(),c("h4",wa,i(e.$t("codegen.review_details.issues")),1)):p("",!0),$.value.issuesDetail.length?(u(),k(nt,{key:1,size:"small","data-source":$.value.issuesDetail,pagination:{pageSize:8}},{renderItem:a(({item:o})=>[t(lt,null,{default:a(()=>[t(j,{color:ce(o.severity),style:{"min-width":"60px","text-align":"center"}},{default:a(()=>[f(i(de(o.severity)),1)]),_:2},1032,["color"]),v("span",ha,i(o.rule),1),v("code",$a,i(ae(o.match,60)),1)]),_:2},1024)]),_:1},8,["data-source"])):p("",!0)])):p("",!0)]),_:1},8,["open","title"])])}}},Aa=st(Sa,[["__scopeId","data-v-c77cb6a0"]]);export{Aa as default};
@@ -1 +1 @@
1
- import{q as O,f as m,h as $,i as w}from"./index-Cb0QVAZL.js";import{b as G,c as I}from"./index-BKLatStI.js";import{d as R,c as _,f as g}from"./vendor-DhFY8mDK.js";function A(r){return typeof r=="number"?`${r} ${r} auto`:/^\d+(\.\d+)?(px|em|rem|%)$/.test(r)?`0 0 ${r}`:r}const E=()=>({span:[String,Number],order:[String,Number],offset:[String,Number],push:[String,Number],pull:[String,Number],xs:{type:[String,Number,Object],default:void 0},sm:{type:[String,Number,Object],default:void 0},md:{type:[String,Number,Object],default:void 0},lg:{type:[String,Number,Object],default:void 0},xl:{type:[String,Number,Object],default:void 0},xxl:{type:[String,Number,Object],default:void 0},prefixCls:String,flex:[String,Number]}),F=["xs","sm","md","lg","xl","xxl"],q=R({compatConfig:{MODE:3},name:"ACol",inheritAttrs:!1,props:E(),setup(r,b){let{slots:p,attrs:d}=b;const{gutter:S,supportFlexGap:h,wrap:x}=G(),{prefixCls:f,direction:y}=O("col",r),[N,v]=I(f),j=g(()=>{const{span:n,order:u,offset:s,push:o,pull:c}=r,t=f.value;let i={};return F.forEach(l=>{let e={};const a=r[l];typeof a=="number"?e.span=a:typeof a=="object"&&(e=a||{}),i=$($({},i),{[`${t}-${l}-${e.span}`]:e.span!==void 0,[`${t}-${l}-order-${e.order}`]:e.order||e.order===0,[`${t}-${l}-offset-${e.offset}`]:e.offset||e.offset===0,[`${t}-${l}-push-${e.push}`]:e.push||e.push===0,[`${t}-${l}-pull-${e.pull}`]:e.pull||e.pull===0,[`${t}-rtl`]:y.value==="rtl"})}),w(t,{[`${t}-${n}`]:n!==void 0,[`${t}-order-${u}`]:u,[`${t}-offset-${s}`]:s,[`${t}-push-${o}`]:o,[`${t}-pull-${c}`]:c},i,d.class,v.value)}),C=g(()=>{const{flex:n}=r,u=S.value,s={};if(u&&u[0]>0){const o=`${u[0]/2}px`;s.paddingLeft=o,s.paddingRight=o}if(u&&u[1]>0&&!h.value){const o=`${u[1]/2}px`;s.paddingTop=o,s.paddingBottom=o}return n&&(s.flex=A(n),x.value===!1&&!s.minWidth&&(s.minWidth=0)),s});return()=>{var n;return N(_("div",m(m({},d),{},{class:j.value,style:[C.value,d.style]}),[(n=p.default)===null||n===void 0?void 0:n.call(p)]))}}});export{q as C};
1
+ import{q as O,f as m,h as $,i as w}from"./index-DL2e2Kwh.js";import{b as G,c as I}from"./index-Dk_cKbpp.js";import{d as R,c as _,f as g}from"./vendor-DhFY8mDK.js";function A(r){return typeof r=="number"?`${r} ${r} auto`:/^\d+(\.\d+)?(px|em|rem|%)$/.test(r)?`0 0 ${r}`:r}const E=()=>({span:[String,Number],order:[String,Number],offset:[String,Number],push:[String,Number],pull:[String,Number],xs:{type:[String,Number,Object],default:void 0},sm:{type:[String,Number,Object],default:void 0},md:{type:[String,Number,Object],default:void 0},lg:{type:[String,Number,Object],default:void 0},xl:{type:[String,Number,Object],default:void 0},xxl:{type:[String,Number,Object],default:void 0},prefixCls:String,flex:[String,Number]}),F=["xs","sm","md","lg","xl","xxl"],q=R({compatConfig:{MODE:3},name:"ACol",inheritAttrs:!1,props:E(),setup(r,b){let{slots:p,attrs:d}=b;const{gutter:S,supportFlexGap:h,wrap:x}=G(),{prefixCls:f,direction:y}=O("col",r),[N,v]=I(f),j=g(()=>{const{span:n,order:u,offset:s,push:o,pull:c}=r,t=f.value;let i={};return F.forEach(l=>{let e={};const a=r[l];typeof a=="number"?e.span=a:typeof a=="object"&&(e=a||{}),i=$($({},i),{[`${t}-${l}-${e.span}`]:e.span!==void 0,[`${t}-${l}-order-${e.order}`]:e.order||e.order===0,[`${t}-${l}-offset-${e.offset}`]:e.offset||e.offset===0,[`${t}-${l}-push-${e.push}`]:e.push||e.push===0,[`${t}-${l}-pull-${e.pull}`]:e.pull||e.pull===0,[`${t}-rtl`]:y.value==="rtl"})}),w(t,{[`${t}-${n}`]:n!==void 0,[`${t}-order-${u}`]:u,[`${t}-offset-${s}`]:s,[`${t}-push-${o}`]:o,[`${t}-pull-${c}`]:c},i,d.class,v.value)}),C=g(()=>{const{flex:n}=r,u=S.value,s={};if(u&&u[0]>0){const o=`${u[0]/2}px`;s.paddingLeft=o,s.paddingRight=o}if(u&&u[1]>0&&!h.value){const o=`${u[1]/2}px`;s.paddingTop=o,s.paddingBottom=o}return n&&(s.flex=A(n),x.value===!1&&!s.minWidth&&(s.minWidth=0)),s});return()=>{var n;return N(_("div",m(m({},d),{},{class:j.value,style:[C.value,d.style]}),[(n=p.default)===null||n===void 0?void 0:n.call(p)]))}}});export{q as C};
@@ -1 +1 @@
1
- import{_ as Ct,b as wt,u as zt,d}from"./index-Cb0QVAZL.js";import{S as Ft,p as Rt,a as Ot,b as St,c as Tt}from"./community-parser-CO25nZFt.js";import{R as $t,ai as At,aN as It,Q as Z,aD as tt,l as et,h as Nt,B as Ut,aR as Lt}from"./icons-BOPtEWK4.js";import{r as g,o as Pt,M as y,R as v,P as c,u as o,c as a,N as n,K as p,L as r,O as f,F as S,Y as qt,Q as T,_ as Bt,S as k,f as U,a as at}from"./vendor-DhFY8mDK.js";const jt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Dt={class:"page-title"},Mt={class:"page-sub"},Kt={key:0,style:{"text-align":"center",padding:"60px"}},Vt={key:1,style:{"text-align":"center",padding:"60px",color:"var(--text-muted)"}},Et={key:2,class:"post-feed"},Qt={class:"post-head"},Ht={class:"post-meta"},Wt={class:"post-author"},Yt={class:"post-time"},Gt={class:"post-body"},Jt={style:{color:"var(--text-primary)","font-weight":"500"}},Xt={key:0,style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},Zt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},te={key:0,style:{color:"var(--text-primary)","font-weight":"500"}},ee={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},ae={key:1,style:{color:"var(--text-muted)"}},oe={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},ne={key:1,style:{color:"var(--text-muted)"}},se={key:3,style:{color:"var(--text-secondary)","font-size":"11px"}},le={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ie={__name:"Community",setup(ce){const{t,locale:ot}=wt(),x=zt(),F=g(!1),L=g(!1),P=g(!1),q=g(""),z=g({...Ft}),B=g([]),j=g([]),$=g([]),D=g("posts"),A=g(!1),I=g(!1),h=at({author:"",content:""}),u=at({name:"",did:"",email:"",notes:""}),nt=U(()=>[{title:t("community.contactColumns.name"),key:"name",dataIndex:"name",width:"160px"},{title:t("community.contactColumns.did"),key:"did",dataIndex:"did"},{title:t("community.contactColumns.email"),key:"email",dataIndex:"email",width:"200px"},{title:t("community.contactColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"160px"},{title:t("community.contactColumns.action"),key:"action",width:"180px"}]),st=U(()=>[{title:t("community.friendColumns.contact"),key:"contact"},{title:t("community.friendColumns.status"),key:"status",width:"120px"},{title:t("community.friendColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"160px"},{title:t("community.friendColumns.action"),key:"action",width:"100px"}]),lt=U(()=>j.value.map(s=>{const e=B.value.find(i=>i.id===s.contactId);return{...s,contactName:e?e.name:""}})),it=U(()=>new Set(j.value.map(s=>s.contactId)));function ct(s){return it.value.has(s)}function rt(s){const e=["#1677ff","#52c41a","#722ed1","#faad14","#ff4d4f","#13c2c2","#eb2f96"];let i=0;for(let b=0;b<s.length;b++)i=i*31+s.charCodeAt(b)>>>0;return e[i%e.length]}function ut(s){return s?s.length>28?s.slice(0,16)+"..."+s.slice(-8):s:""}function K(s){if(!s)return"—";if(typeof s!="string")return String(s);const e=new Date(s);if(isNaN(e.getTime()))return s;const i=ot.value==="zh-CN"?"zh-CN":"en-US";return e.toLocaleString(i,{hour12:!1})}function mt(s){return{accepted:"green",pending:"orange",blocked:"red"}[s]||"default"}function dt(s){const e=`community.status.${s}`,i=t(e);return i===e?s:i}async function C(){F.value=!0;try{const[s,e,i,b]=await Promise.all([x.execute("social stats --json",1e4).catch(()=>({output:""})),x.execute("social contact list --json",1e4).catch(()=>({output:""})),x.execute("social friend list --json",1e4).catch(()=>({output:""})),x.execute("social post list --json",1e4).catch(()=>({output:""}))]);z.value=Rt(s.output),B.value=Ot(e.output),j.value=St(i.output),$.value=Tt(b.output).sort((_,w)=>(w.createdAt||"").localeCompare(_.createdAt||""))}catch(s){d.error(t("community.messages.loadFailed",{err:s?.message||s}))}finally{F.value=!1}}async function pt(){const s=h.content.trim();if(!s){d.warning(t("community.messages.contentRequired"));return}L.value=!0;try{const e=s.replace(/"/g,'\\"'),i=h.author.trim(),b=i?`social post publish "${e}" --author "${i.replace(/"/g,'\\"')}"`:`social post publish "${e}"`,{output:_}=await x.execute(b,15e3);if(/error|失败/i.test(_)&&!/"id"/.test(_)){d.error(t("community.messages.publishFailed",{err:_.slice(0,120)}));return}d.success(t("community.messages.publishOk")),A.value=!1,V(),await C()}catch(e){d.error(t("community.messages.publishFailed",{err:e?.message||e}))}finally{L.value=!1}}async function yt(){const s=u.name.trim();if(!s){d.warning(t("community.messages.nameRequired"));return}P.value=!0;try{const e=[`social contact add "${s.replace(/"/g,'\\"')}"`];u.did.trim()&&e.push(`--did "${u.did.trim().replace(/"/g,'\\"')}"`),u.email.trim()&&e.push(`--email "${u.email.trim().replace(/"/g,'\\"')}"`),u.notes.trim()&&e.push(`--notes "${u.notes.trim().replace(/"/g,'\\"')}"`);const{output:i}=await x.execute(e.join(" "),15e3);if(/error|失败/i.test(i)&&!/"id"/.test(i)){d.error(t("community.messages.addFailed",{err:i.slice(0,120)}));return}d.success(t("community.messages.addOk")),I.value=!1,E(),await C()}catch(e){d.error(t("community.messages.addFailed",{err:e?.message||e}))}finally{P.value=!1}}async function ft(s){try{const{output:e}=await x.execute(`social contact delete ${s.id}`,1e4);if(/error|失败/i.test(e)){d.error(t("community.messages.deleteFailed",{err:e.slice(0,120)}));return}d.success(t("community.messages.deleteOk")),await C()}catch(e){d.error(t("community.messages.deleteFailed",{err:e?.message||e}))}}async function vt(s){q.value=s.id;try{const{output:e}=await x.execute(`social friend add ${s.id}`,1e4);if(/error|失败/i.test(e)&&!/"id"/.test(e)){d.error(t("community.messages.friendRequestFailed",{err:e.slice(0,120)}));return}d.success(t("community.messages.friendRequestOk")),await C(),D.value="friends"}catch(e){d.error(t("community.messages.friendRequestFailed",{err:e?.message||e}))}finally{q.value=""}}async function _t(s){try{const{output:e}=await x.execute(`social friend remove ${s.contactId}`,1e4);if(/error|失败/i.test(e)){d.error(t("community.messages.removeFailed",{err:e.slice(0,120)}));return}d.success(t("community.messages.removeOk")),await C()}catch(e){d.error(t("community.messages.removeFailed",{err:e?.message||e}))}}async function gt(s){try{await x.execute(`social post like ${s.id}`,1e4),s.likes++,C()}catch(e){d.error(t("community.messages.likeFailed",{err:e?.message||e}))}}function V(){h.author="",h.content=""}function E(){u.name="",u.did="",u.email="",u.notes=""}return Pt(C),(s,e)=>{const i=p("a-button"),b=p("a-space"),_=p("a-statistic"),w=p("a-card"),O=p("a-col"),xt=p("a-row"),bt=p("a-spin"),kt=p("a-avatar"),M=p("a-tab-pane"),Q=p("a-tag"),H=p("a-popconfirm"),W=p("a-table"),ht=p("a-tabs"),N=p("a-input"),R=p("a-form-item"),Y=p("a-textarea"),G=p("a-form"),J=p("a-modal");return r(),y("div",null,[v("div",jt,[v("div",null,[v("h2",Dt,c(o(t)("community.title")),1),v("p",Mt,c(o(t)("community.subtitle")),1)]),a(b,null,{default:n(()=>[a(i,{loading:F.value,onClick:C},{icon:n(()=>[a(o($t))]),default:n(()=>[f(" "+c(o(t)("community.refresh")),1)]),_:1},8,["loading"]),a(i,{type:"primary",onClick:e[0]||(e[0]=l=>A.value=!0)},{icon:n(()=>[a(o(At))]),default:n(()=>[f(" "+c(o(t)("community.publishButton")),1)]),_:1}),a(i,{onClick:e[1]||(e[1]=l=>I.value=!0)},{icon:n(()=>[a(o(It))]),default:n(()=>[f(" "+c(o(t)("community.addContactButton")),1)]),_:1})]),_:1})]),a(xt,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[a(O,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.contacts"),value:z.value.contacts,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:n(()=>[a(o(Z))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(O,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.friends"),value:z.value.friends,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:n(()=>[a(o(tt))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(O,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.posts"),value:z.value.posts,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:n(()=>[a(o(et))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(O,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.messages"),value:z.value.messages,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:n(()=>[a(o(Nt))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(O,{xs:24,sm:8,lg:4},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.pendingRequests"),value:z.value.pendingRequests,"value-style":{color:z.value.pendingRequests>0?"#ff4d4f":"#888",fontSize:"20px"}},{prefix:n(()=>[a(o(Ut))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),a(ht,{activeKey:D.value,"onUpdate:activeKey":e[2]||(e[2]=l=>D.value=l),class:"community-tabs"},{default:n(()=>[a(M,{key:"posts",tab:o(t)("community.tabs.posts")},{default:n(()=>[F.value&&!$.value.length?(r(),y("div",Kt,[a(bt,{size:"large"})])):$.value.length?(r(),y("div",Et,[(r(!0),y(S,null,qt($.value,l=>(r(),T(w,{key:l.key,class:"post-card","body-style":{padding:"16px"}},{default:n(()=>[v("div",Qt,[a(kt,{style:Bt({backgroundColor:rt(l.author)})},{default:n(()=>[f(c(l.author.slice(0,1).toUpperCase()),1)]),_:2},1032,["style"]),v("div",Ht,[v("div",Wt,c(l.author),1),v("div",Yt,c(K(l.createdAt)),1)]),a(i,{size:"small",type:"text",onClick:m=>gt(l)},{icon:n(()=>[a(o(Lt))]),default:n(()=>[f(" "+c(l.likes),1)]),_:2},1032,["onClick"])]),v("div",Gt,c(l.content),1)]),_:2},1024))),128))])):(r(),y("div",Vt,[a(o(et),{style:{"font-size":"40px","margin-bottom":"12px",display:"block"}}),f(" "+c(o(t)("community.posts.emptyText")),1)]))]),_:1},8,["tab"]),a(M,{key:"friends",tab:o(t)("community.tabs.friends")},{default:n(()=>[a(W,{columns:st.value,"data-source":lt.value,pagination:{pageSize:20,showTotal:l=>o(t)("community.totals.rows",{count:l})},size:"small",loading:F.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:l,record:m})=>[l.key==="contact"?(r(),y(S,{key:0},[v("span",Jt,c(m.contactName||m.contactId),1),m.contactName?(r(),y("div",Xt,c(m.contactId),1)):k("",!0)],64)):k("",!0),l.key==="status"?(r(),T(Q,{key:1,color:mt(m.status)},{default:n(()=>[f(c(dt(m.status)),1)]),_:2},1032,["color"])):k("",!0),l.key==="action"?(r(),T(H,{key:2,title:o(t)("community.friends.removeConfirm"),"ok-text":o(t)("community.friends.removeOk"),"cancel-text":o(t)("common.cancel"),onConfirm:X=>_t(m)},{default:n(()=>[a(i,{size:"small",type:"link",danger:""},{default:n(()=>[f(c(o(t)("community.friends.remove")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):k("",!0)]),emptyText:n(()=>[v("div",Zt,[a(o(tt),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+c(o(t)("community.friends.emptyText")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(M,{key:"contacts",tab:o(t)("community.tabs.contacts")},{default:n(()=>[a(W,{columns:nt.value,"data-source":B.value,pagination:{pageSize:20,showTotal:l=>o(t)("community.totals.rows",{count:l})},size:"small",loading:F.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:l,record:m})=>[l.key==="name"?(r(),y("span",te,c(m.name),1)):k("",!0),l.key==="did"?(r(),y(S,{key:1},[m.did?(r(),y("span",ee,c(ut(m.did)),1)):(r(),y("span",ae,"—"))],64)):k("",!0),l.key==="email"?(r(),y(S,{key:2},[m.email?(r(),y("span",oe,c(m.email),1)):(r(),y("span",ne,"—"))],64)):k("",!0),l.key==="createdAt"?(r(),y("span",se,c(K(m.createdAt)),1)):k("",!0),l.key==="action"?(r(),y(S,{key:4},[ct(m.id)?(r(),T(Q,{key:1,color:"green",style:{"font-size":"11px"}},{default:n(()=>[f(c(o(t)("community.contacts.alreadyFriend")),1)]),_:1})):(r(),T(i,{key:0,size:"small",type:"link",loading:q.value===m.id,onClick:X=>vt(m)},{default:n(()=>[f(c(o(t)("community.contacts.addFriend")),1)]),_:1},8,["loading","onClick"])),a(H,{title:o(t)("community.contacts.deleteConfirm"),"ok-text":o(t)("community.contacts.deleteOk"),"cancel-text":o(t)("common.cancel"),onConfirm:X=>ft(m)},{default:n(()=>[a(i,{size:"small",type:"link",danger:"",style:{"margin-left":"4px"}},{default:n(()=>[f(c(o(t)("community.contacts.delete")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):k("",!0)]),emptyText:n(()=>[v("div",le,[a(o(Z),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+c(o(t)("community.contacts.emptyText")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(J,{open:A.value,"onUpdate:open":e[5]||(e[5]=l=>A.value=l),title:o(t)("community.posts.publishTitle"),"confirm-loading":L.value,"ok-text":o(t)("community.posts.publishOk"),"cancel-text":o(t)("common.cancel"),onOk:pt,onCancel:V},{default:n(()=>[a(G,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:n(()=>[a(R,{label:o(t)("community.posts.authorLabel")},{default:n(()=>[a(N,{value:h.author,"onUpdate:value":e[3]||(e[3]=l=>h.author=l),placeholder:o(t)("community.posts.authorPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(R,{label:o(t)("community.posts.contentLabel"),required:""},{default:n(()=>[a(Y,{value:h.content,"onUpdate:value":e[4]||(e[4]=l=>h.content=l),placeholder:o(t)("community.posts.contentPlaceholder"),"auto-size":{minRows:4,maxRows:10},maxlength:2e3,"show-count":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(J,{open:I.value,"onUpdate:open":e[10]||(e[10]=l=>I.value=l),title:o(t)("community.contacts.addTitle"),"confirm-loading":P.value,"ok-text":o(t)("community.contacts.addOk"),"cancel-text":o(t)("common.cancel"),onOk:yt,onCancel:E},{default:n(()=>[a(G,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[a(R,{label:o(t)("community.contacts.nameLabel"),required:""},{default:n(()=>[a(N,{value:u.name,"onUpdate:value":e[6]||(e[6]=l=>u.name=l),placeholder:o(t)("community.contacts.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(R,{label:o(t)("community.contacts.didLabel")},{default:n(()=>[a(N,{value:u.did,"onUpdate:value":e[7]||(e[7]=l=>u.did=l),placeholder:o(t)("community.contacts.didPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(R,{label:o(t)("community.contacts.emailLabel")},{default:n(()=>[a(N,{value:u.email,"onUpdate:value":e[8]||(e[8]=l=>u.email=l),placeholder:o(t)("community.contacts.emailPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(R,{label:o(t)("community.contacts.notesLabel")},{default:n(()=>[a(Y,{value:u.notes,"onUpdate:value":e[9]||(e[9]=l=>u.notes=l),"auto-size":{minRows:2,maxRows:4}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},pe=Ct(ie,[["__scopeId","data-v-a3181cb0"]]);export{pe as default};
1
+ import{_ as Ct,b as wt,u as zt,d}from"./index-DL2e2Kwh.js";import{S as Ft,p as Rt,a as Ot,b as St,c as Tt}from"./community-parser-CO25nZFt.js";import{R as $t,ai as At,aN as It,Q as Z,aD as tt,l as et,h as Nt,B as Ut,aR as Lt}from"./icons-BOPtEWK4.js";import{r as g,o as Pt,M as y,R as v,P as c,u as o,c as a,N as n,K as p,L as r,O as f,F as S,Y as qt,Q as T,_ as Bt,S as k,f as U,a as at}from"./vendor-DhFY8mDK.js";const jt={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Dt={class:"page-title"},Mt={class:"page-sub"},Kt={key:0,style:{"text-align":"center",padding:"60px"}},Vt={key:1,style:{"text-align":"center",padding:"60px",color:"var(--text-muted)"}},Et={key:2,class:"post-feed"},Qt={class:"post-head"},Ht={class:"post-meta"},Wt={class:"post-author"},Yt={class:"post-time"},Gt={class:"post-body"},Jt={style:{color:"var(--text-primary)","font-weight":"500"}},Xt={key:0,style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},Zt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},te={key:0,style:{color:"var(--text-primary)","font-weight":"500"}},ee={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},ae={key:1,style:{color:"var(--text-muted)"}},oe={key:0,style:{color:"var(--text-secondary)","font-size":"12px"}},ne={key:1,style:{color:"var(--text-muted)"}},se={key:3,style:{color:"var(--text-secondary)","font-size":"11px"}},le={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ie={__name:"Community",setup(ce){const{t,locale:ot}=wt(),x=zt(),F=g(!1),L=g(!1),P=g(!1),q=g(""),z=g({...Ft}),B=g([]),j=g([]),$=g([]),D=g("posts"),A=g(!1),I=g(!1),h=at({author:"",content:""}),u=at({name:"",did:"",email:"",notes:""}),nt=U(()=>[{title:t("community.contactColumns.name"),key:"name",dataIndex:"name",width:"160px"},{title:t("community.contactColumns.did"),key:"did",dataIndex:"did"},{title:t("community.contactColumns.email"),key:"email",dataIndex:"email",width:"200px"},{title:t("community.contactColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"160px"},{title:t("community.contactColumns.action"),key:"action",width:"180px"}]),st=U(()=>[{title:t("community.friendColumns.contact"),key:"contact"},{title:t("community.friendColumns.status"),key:"status",width:"120px"},{title:t("community.friendColumns.createdAt"),key:"createdAt",dataIndex:"createdAt",width:"160px"},{title:t("community.friendColumns.action"),key:"action",width:"100px"}]),lt=U(()=>j.value.map(s=>{const e=B.value.find(i=>i.id===s.contactId);return{...s,contactName:e?e.name:""}})),it=U(()=>new Set(j.value.map(s=>s.contactId)));function ct(s){return it.value.has(s)}function rt(s){const e=["#1677ff","#52c41a","#722ed1","#faad14","#ff4d4f","#13c2c2","#eb2f96"];let i=0;for(let b=0;b<s.length;b++)i=i*31+s.charCodeAt(b)>>>0;return e[i%e.length]}function ut(s){return s?s.length>28?s.slice(0,16)+"..."+s.slice(-8):s:""}function K(s){if(!s)return"—";if(typeof s!="string")return String(s);const e=new Date(s);if(isNaN(e.getTime()))return s;const i=ot.value==="zh-CN"?"zh-CN":"en-US";return e.toLocaleString(i,{hour12:!1})}function mt(s){return{accepted:"green",pending:"orange",blocked:"red"}[s]||"default"}function dt(s){const e=`community.status.${s}`,i=t(e);return i===e?s:i}async function C(){F.value=!0;try{const[s,e,i,b]=await Promise.all([x.execute("social stats --json",1e4).catch(()=>({output:""})),x.execute("social contact list --json",1e4).catch(()=>({output:""})),x.execute("social friend list --json",1e4).catch(()=>({output:""})),x.execute("social post list --json",1e4).catch(()=>({output:""}))]);z.value=Rt(s.output),B.value=Ot(e.output),j.value=St(i.output),$.value=Tt(b.output).sort((_,w)=>(w.createdAt||"").localeCompare(_.createdAt||""))}catch(s){d.error(t("community.messages.loadFailed",{err:s?.message||s}))}finally{F.value=!1}}async function pt(){const s=h.content.trim();if(!s){d.warning(t("community.messages.contentRequired"));return}L.value=!0;try{const e=s.replace(/"/g,'\\"'),i=h.author.trim(),b=i?`social post publish "${e}" --author "${i.replace(/"/g,'\\"')}"`:`social post publish "${e}"`,{output:_}=await x.execute(b,15e3);if(/error|失败/i.test(_)&&!/"id"/.test(_)){d.error(t("community.messages.publishFailed",{err:_.slice(0,120)}));return}d.success(t("community.messages.publishOk")),A.value=!1,V(),await C()}catch(e){d.error(t("community.messages.publishFailed",{err:e?.message||e}))}finally{L.value=!1}}async function yt(){const s=u.name.trim();if(!s){d.warning(t("community.messages.nameRequired"));return}P.value=!0;try{const e=[`social contact add "${s.replace(/"/g,'\\"')}"`];u.did.trim()&&e.push(`--did "${u.did.trim().replace(/"/g,'\\"')}"`),u.email.trim()&&e.push(`--email "${u.email.trim().replace(/"/g,'\\"')}"`),u.notes.trim()&&e.push(`--notes "${u.notes.trim().replace(/"/g,'\\"')}"`);const{output:i}=await x.execute(e.join(" "),15e3);if(/error|失败/i.test(i)&&!/"id"/.test(i)){d.error(t("community.messages.addFailed",{err:i.slice(0,120)}));return}d.success(t("community.messages.addOk")),I.value=!1,E(),await C()}catch(e){d.error(t("community.messages.addFailed",{err:e?.message||e}))}finally{P.value=!1}}async function ft(s){try{const{output:e}=await x.execute(`social contact delete ${s.id}`,1e4);if(/error|失败/i.test(e)){d.error(t("community.messages.deleteFailed",{err:e.slice(0,120)}));return}d.success(t("community.messages.deleteOk")),await C()}catch(e){d.error(t("community.messages.deleteFailed",{err:e?.message||e}))}}async function vt(s){q.value=s.id;try{const{output:e}=await x.execute(`social friend add ${s.id}`,1e4);if(/error|失败/i.test(e)&&!/"id"/.test(e)){d.error(t("community.messages.friendRequestFailed",{err:e.slice(0,120)}));return}d.success(t("community.messages.friendRequestOk")),await C(),D.value="friends"}catch(e){d.error(t("community.messages.friendRequestFailed",{err:e?.message||e}))}finally{q.value=""}}async function _t(s){try{const{output:e}=await x.execute(`social friend remove ${s.contactId}`,1e4);if(/error|失败/i.test(e)){d.error(t("community.messages.removeFailed",{err:e.slice(0,120)}));return}d.success(t("community.messages.removeOk")),await C()}catch(e){d.error(t("community.messages.removeFailed",{err:e?.message||e}))}}async function gt(s){try{await x.execute(`social post like ${s.id}`,1e4),s.likes++,C()}catch(e){d.error(t("community.messages.likeFailed",{err:e?.message||e}))}}function V(){h.author="",h.content=""}function E(){u.name="",u.did="",u.email="",u.notes=""}return Pt(C),(s,e)=>{const i=p("a-button"),b=p("a-space"),_=p("a-statistic"),w=p("a-card"),O=p("a-col"),xt=p("a-row"),bt=p("a-spin"),kt=p("a-avatar"),M=p("a-tab-pane"),Q=p("a-tag"),H=p("a-popconfirm"),W=p("a-table"),ht=p("a-tabs"),N=p("a-input"),R=p("a-form-item"),Y=p("a-textarea"),G=p("a-form"),J=p("a-modal");return r(),y("div",null,[v("div",jt,[v("div",null,[v("h2",Dt,c(o(t)("community.title")),1),v("p",Mt,c(o(t)("community.subtitle")),1)]),a(b,null,{default:n(()=>[a(i,{loading:F.value,onClick:C},{icon:n(()=>[a(o($t))]),default:n(()=>[f(" "+c(o(t)("community.refresh")),1)]),_:1},8,["loading"]),a(i,{type:"primary",onClick:e[0]||(e[0]=l=>A.value=!0)},{icon:n(()=>[a(o(At))]),default:n(()=>[f(" "+c(o(t)("community.publishButton")),1)]),_:1}),a(i,{onClick:e[1]||(e[1]=l=>I.value=!0)},{icon:n(()=>[a(o(It))]),default:n(()=>[f(" "+c(o(t)("community.addContactButton")),1)]),_:1})]),_:1})]),a(xt,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[a(O,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.contacts"),value:z.value.contacts,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:n(()=>[a(o(Z))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(O,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.friends"),value:z.value.friends,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:n(()=>[a(o(tt))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(O,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.posts"),value:z.value.posts,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:n(()=>[a(o(et))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(O,{xs:12,sm:8,lg:5},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.messages"),value:z.value.messages,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:n(()=>[a(o(Nt))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(O,{xs:24,sm:8,lg:4},{default:n(()=>[a(w,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(_,{title:o(t)("community.stats.pendingRequests"),value:z.value.pendingRequests,"value-style":{color:z.value.pendingRequests>0?"#ff4d4f":"#888",fontSize:"20px"}},{prefix:n(()=>[a(o(Ut))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),a(ht,{activeKey:D.value,"onUpdate:activeKey":e[2]||(e[2]=l=>D.value=l),class:"community-tabs"},{default:n(()=>[a(M,{key:"posts",tab:o(t)("community.tabs.posts")},{default:n(()=>[F.value&&!$.value.length?(r(),y("div",Kt,[a(bt,{size:"large"})])):$.value.length?(r(),y("div",Et,[(r(!0),y(S,null,qt($.value,l=>(r(),T(w,{key:l.key,class:"post-card","body-style":{padding:"16px"}},{default:n(()=>[v("div",Qt,[a(kt,{style:Bt({backgroundColor:rt(l.author)})},{default:n(()=>[f(c(l.author.slice(0,1).toUpperCase()),1)]),_:2},1032,["style"]),v("div",Ht,[v("div",Wt,c(l.author),1),v("div",Yt,c(K(l.createdAt)),1)]),a(i,{size:"small",type:"text",onClick:m=>gt(l)},{icon:n(()=>[a(o(Lt))]),default:n(()=>[f(" "+c(l.likes),1)]),_:2},1032,["onClick"])]),v("div",Gt,c(l.content),1)]),_:2},1024))),128))])):(r(),y("div",Vt,[a(o(et),{style:{"font-size":"40px","margin-bottom":"12px",display:"block"}}),f(" "+c(o(t)("community.posts.emptyText")),1)]))]),_:1},8,["tab"]),a(M,{key:"friends",tab:o(t)("community.tabs.friends")},{default:n(()=>[a(W,{columns:st.value,"data-source":lt.value,pagination:{pageSize:20,showTotal:l=>o(t)("community.totals.rows",{count:l})},size:"small",loading:F.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:l,record:m})=>[l.key==="contact"?(r(),y(S,{key:0},[v("span",Jt,c(m.contactName||m.contactId),1),m.contactName?(r(),y("div",Xt,c(m.contactId),1)):k("",!0)],64)):k("",!0),l.key==="status"?(r(),T(Q,{key:1,color:mt(m.status)},{default:n(()=>[f(c(dt(m.status)),1)]),_:2},1032,["color"])):k("",!0),l.key==="action"?(r(),T(H,{key:2,title:o(t)("community.friends.removeConfirm"),"ok-text":o(t)("community.friends.removeOk"),"cancel-text":o(t)("common.cancel"),onConfirm:X=>_t(m)},{default:n(()=>[a(i,{size:"small",type:"link",danger:""},{default:n(()=>[f(c(o(t)("community.friends.remove")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):k("",!0)]),emptyText:n(()=>[v("div",Zt,[a(o(tt),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+c(o(t)("community.friends.emptyText")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(M,{key:"contacts",tab:o(t)("community.tabs.contacts")},{default:n(()=>[a(W,{columns:nt.value,"data-source":B.value,pagination:{pageSize:20,showTotal:l=>o(t)("community.totals.rows",{count:l})},size:"small",loading:F.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:l,record:m})=>[l.key==="name"?(r(),y("span",te,c(m.name),1)):k("",!0),l.key==="did"?(r(),y(S,{key:1},[m.did?(r(),y("span",ee,c(ut(m.did)),1)):(r(),y("span",ae,"—"))],64)):k("",!0),l.key==="email"?(r(),y(S,{key:2},[m.email?(r(),y("span",oe,c(m.email),1)):(r(),y("span",ne,"—"))],64)):k("",!0),l.key==="createdAt"?(r(),y("span",se,c(K(m.createdAt)),1)):k("",!0),l.key==="action"?(r(),y(S,{key:4},[ct(m.id)?(r(),T(Q,{key:1,color:"green",style:{"font-size":"11px"}},{default:n(()=>[f(c(o(t)("community.contacts.alreadyFriend")),1)]),_:1})):(r(),T(i,{key:0,size:"small",type:"link",loading:q.value===m.id,onClick:X=>vt(m)},{default:n(()=>[f(c(o(t)("community.contacts.addFriend")),1)]),_:1},8,["loading","onClick"])),a(H,{title:o(t)("community.contacts.deleteConfirm"),"ok-text":o(t)("community.contacts.deleteOk"),"cancel-text":o(t)("common.cancel"),onConfirm:X=>ft(m)},{default:n(()=>[a(i,{size:"small",type:"link",danger:"",style:{"margin-left":"4px"}},{default:n(()=>[f(c(o(t)("community.contacts.delete")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):k("",!0)]),emptyText:n(()=>[v("div",le,[a(o(Z),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),f(" "+c(o(t)("community.contacts.emptyText")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(J,{open:A.value,"onUpdate:open":e[5]||(e[5]=l=>A.value=l),title:o(t)("community.posts.publishTitle"),"confirm-loading":L.value,"ok-text":o(t)("community.posts.publishOk"),"cancel-text":o(t)("common.cancel"),onOk:pt,onCancel:V},{default:n(()=>[a(G,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:n(()=>[a(R,{label:o(t)("community.posts.authorLabel")},{default:n(()=>[a(N,{value:h.author,"onUpdate:value":e[3]||(e[3]=l=>h.author=l),placeholder:o(t)("community.posts.authorPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(R,{label:o(t)("community.posts.contentLabel"),required:""},{default:n(()=>[a(Y,{value:h.content,"onUpdate:value":e[4]||(e[4]=l=>h.content=l),placeholder:o(t)("community.posts.contentPlaceholder"),"auto-size":{minRows:4,maxRows:10},maxlength:2e3,"show-count":""},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(J,{open:I.value,"onUpdate:open":e[10]||(e[10]=l=>I.value=l),title:o(t)("community.contacts.addTitle"),"confirm-loading":P.value,"ok-text":o(t)("community.contacts.addOk"),"cancel-text":o(t)("common.cancel"),onOk:yt,onCancel:E},{default:n(()=>[a(G,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:n(()=>[a(R,{label:o(t)("community.contacts.nameLabel"),required:""},{default:n(()=>[a(N,{value:u.name,"onUpdate:value":e[6]||(e[6]=l=>u.name=l),placeholder:o(t)("community.contacts.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(R,{label:o(t)("community.contacts.didLabel")},{default:n(()=>[a(N,{value:u.did,"onUpdate:value":e[7]||(e[7]=l=>u.did=l),placeholder:o(t)("community.contacts.didPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(R,{label:o(t)("community.contacts.emailLabel")},{default:n(()=>[a(N,{value:u.email,"onUpdate:value":e[8]||(e[8]=l=>u.email=l),placeholder:o(t)("community.contacts.emailPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(R,{label:o(t)("community.contacts.notesLabel")},{default:n(()=>[a(Y,{value:u.notes,"onUpdate:value":e[9]||(e[9]=l=>u.notes=l),"auto-size":{minRows:2,maxRows:4}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},pe=Ct(ie,[["__scopeId","data-v-a3181cb0"]]);export{pe as default};
@@ -1 +1 @@
1
- import{l as j,i as x,q as k,J as D,f as I,G as S,P as v,O as y}from"./index-Cb0QVAZL.js";import{c as O}from"./createContext-CQ8PEhyP.js";import{i as A,a as N,b as T,c as _,d as L,g as w,e as F,f as B}from"./_getTag-BVc6NQ_K.js";import{f as i,d as g,c as b}from"./vendor-DhFY8mDK.js";const q=t=>{const{componentCls:o}=t;return{[o]:{display:"inline-flex","&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},E=t=>{const{componentCls:o}=t;return{[o]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${o}-item`]:{"&:empty":{display:"none"}}}}},G=j("Space",t=>[E(t),q(t)]);var H="[object Map]",J="[object Set]",K=Object.prototype,M=K.hasOwnProperty;function h(t){if(t==null)return!0;if(A(t)&&(N(t)||typeof t=="string"||typeof t.splice=="function"||T(t)||_(t)||L(t)))return!t.length;var o=w(t);if(o==H||o==J)return!t.size;if(F(t))return!B(t).length;for(var e in t)if(M.call(t,e))return!1;return!0}const R=()=>({compactSize:String,compactDirection:v.oneOf(y("horizontal","vertical")).def("horizontal"),isFirstItem:S(),isLastItem:S()}),s=O(null),Z=(t,o)=>{const e=s.useInject(),a=i(()=>{if(!e||h(e))return"";const{compactDirection:r,isFirstItem:l,isLastItem:n}=e,c=r==="vertical"?"-vertical-":"-";return x({[`${t.value}-compact${c}item`]:!0,[`${t.value}-compact${c}first-item`]:l,[`${t.value}-compact${c}last-item`]:n,[`${t.value}-compact${c}item-rtl`]:o.value==="rtl"})});return{compactSize:i(()=>e?.compactSize),compactDirection:i(()=>e?.compactDirection),compactItemClassnames:a}},tt=g({name:"NoCompactStyle",setup(t,o){let{slots:e}=o;return s.useProvide(null),()=>{var a;return(a=e.default)===null||a===void 0?void 0:a.call(e)}}}),V=()=>({prefixCls:String,size:{type:String},direction:v.oneOf(y("horizontal","vertical")).def("horizontal"),align:v.oneOf(y("start","end","center","baseline")),block:{type:Boolean,default:void 0}}),Q=g({name:"CompactItem",props:R(),setup(t,o){let{slots:e}=o;return s.useProvide(t),()=>{var a;return(a=e.default)===null||a===void 0?void 0:a.call(e)}}}),et=g({name:"ASpaceCompact",inheritAttrs:!1,props:V(),setup(t,o){let{attrs:e,slots:a}=o;const{prefixCls:r,direction:l}=k("space-compact",t),n=s.useInject(),[c,$]=G(r),z=i(()=>x(r.value,$.value,{[`${r.value}-rtl`]:l.value==="rtl",[`${r.value}-block`]:t.block,[`${r.value}-vertical`]:t.direction==="vertical"}));return()=>{var m;const p=D(((m=a.default)===null||m===void 0?void 0:m.call(a))||[]);return p.length===0?null:c(b("div",I(I({},e),{},{class:[z.value,e.class]}),[p.map((u,d)=>{var f;const P=u&&u.key||`${r.value}-item-${d}`,C=!n||h(n);return b(Q,{key:P,compactSize:(f=t.size)!==null&&f!==void 0?f:"middle",compactDirection:t.direction,isFirstItem:d===0&&(C||n?.isFirstItem),isLastItem:d===p.length-1&&(C||n?.isLastItem)},{default:()=>[u]})})]))}}});export{et as C,tt as N,G as a,Z as u};
1
+ import{l as j,i as x,q as k,J as D,f as I,G as S,P as v,O as y}from"./index-DL2e2Kwh.js";import{c as O}from"./createContext-CeHSYhwo.js";import{i as A,a as N,b as T,c as _,d as L,g as w,e as F,f as B}from"./_getTag-BVc6NQ_K.js";import{f as i,d as g,c as b}from"./vendor-DhFY8mDK.js";const q=t=>{const{componentCls:o}=t;return{[o]:{display:"inline-flex","&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},E=t=>{const{componentCls:o}=t;return{[o]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${o}-item`]:{"&:empty":{display:"none"}}}}},G=j("Space",t=>[E(t),q(t)]);var H="[object Map]",J="[object Set]",K=Object.prototype,M=K.hasOwnProperty;function h(t){if(t==null)return!0;if(A(t)&&(N(t)||typeof t=="string"||typeof t.splice=="function"||T(t)||_(t)||L(t)))return!t.length;var o=w(t);if(o==H||o==J)return!t.size;if(F(t))return!B(t).length;for(var e in t)if(M.call(t,e))return!1;return!0}const R=()=>({compactSize:String,compactDirection:v.oneOf(y("horizontal","vertical")).def("horizontal"),isFirstItem:S(),isLastItem:S()}),s=O(null),Z=(t,o)=>{const e=s.useInject(),a=i(()=>{if(!e||h(e))return"";const{compactDirection:r,isFirstItem:l,isLastItem:n}=e,c=r==="vertical"?"-vertical-":"-";return x({[`${t.value}-compact${c}item`]:!0,[`${t.value}-compact${c}first-item`]:l,[`${t.value}-compact${c}last-item`]:n,[`${t.value}-compact${c}item-rtl`]:o.value==="rtl"})});return{compactSize:i(()=>e?.compactSize),compactDirection:i(()=>e?.compactDirection),compactItemClassnames:a}},tt=g({name:"NoCompactStyle",setup(t,o){let{slots:e}=o;return s.useProvide(null),()=>{var a;return(a=e.default)===null||a===void 0?void 0:a.call(e)}}}),V=()=>({prefixCls:String,size:{type:String},direction:v.oneOf(y("horizontal","vertical")).def("horizontal"),align:v.oneOf(y("start","end","center","baseline")),block:{type:Boolean,default:void 0}}),Q=g({name:"CompactItem",props:R(),setup(t,o){let{slots:e}=o;return s.useProvide(t),()=>{var a;return(a=e.default)===null||a===void 0?void 0:a.call(e)}}}),et=g({name:"ASpaceCompact",inheritAttrs:!1,props:V(),setup(t,o){let{attrs:e,slots:a}=o;const{prefixCls:r,direction:l}=k("space-compact",t),n=s.useInject(),[c,$]=G(r),z=i(()=>x(r.value,$.value,{[`${r.value}-rtl`]:l.value==="rtl",[`${r.value}-block`]:t.block,[`${r.value}-vertical`]:t.direction==="vertical"}));return()=>{var m;const p=D(((m=a.default)===null||m===void 0?void 0:m.call(a))||[]);return p.length===0?null:c(b("div",I(I({},e),{},{class:[z.value,e.class]}),[p.map((u,d)=>{var f;const P=u&&u.key||`${r.value}-item-${d}`,C=!n||h(n);return b(Q,{key:P,compactSize:(f=t.size)!==null&&f!==void 0?f:"middle",compactDirection:t.direction,isFirstItem:d===0&&(C||n?.isFirstItem),isLastItem:d===p.length-1&&(C||n?.isLastItem)},{default:()=>[u]})})]))}}});export{et as C,tt as N,G as a,Z as u};