chainlesschain 0.161.3 → 0.161.4

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 (192) hide show
  1. package/bin/chainlesschain.js +0 -0
  2. package/package.json +1 -1
  3. package/src/assets/web-panel/.build-hash +1 -1
  4. package/src/assets/web-panel/assets/{AIOps-FON6GZIt.js → AIOps-K85peDCg.js} +1 -1
  5. package/src/assets/web-panel/assets/{ActionButton-Byb_P_P9.js → ActionButton-DoRABhmk.js} +1 -1
  6. package/src/assets/web-panel/assets/{Analytics-CDG1OwOr.js → Analytics-B7p7X_lS.js} +2 -2
  7. package/src/assets/web-panel/assets/AppLayout-BQb9-BUE.js +1 -0
  8. package/src/assets/web-panel/assets/AppLayout-P7jhSfLy.css +1 -0
  9. package/src/assets/web-panel/assets/{Audit-p4krng5l.js → Audit-CHj8w38X.js} +1 -1
  10. package/src/assets/web-panel/assets/Backup-BsgPajcJ.js +1 -0
  11. package/src/assets/web-panel/assets/BaseInput-kGeksnCj.js +1 -0
  12. package/src/assets/web-panel/assets/Chat-2e3EGiwk.js +7 -0
  13. package/src/assets/web-panel/assets/Chat-D4oAhi11.css +1 -0
  14. package/src/assets/web-panel/assets/{Checkbox-CfDbHGdU.js → Checkbox-DirndeMM.js} +1 -1
  15. package/src/assets/web-panel/assets/{Codegen-D1mQ03ap.js → Codegen-UQuEF6rH.js} +1 -1
  16. package/src/assets/web-panel/assets/{Col-C0wS_dvU.js → Col-myVf7h0M.js} +1 -1
  17. package/src/assets/web-panel/assets/Community-C3Gt4JNP.js +1 -0
  18. package/src/assets/web-panel/assets/{Compact-CuVvz3Zf.js → Compact-B4TJcIuz.js} +1 -1
  19. package/src/assets/web-panel/assets/{Compliance-D6bnHyjs.js → Compliance-DKye9lMe.js} +1 -1
  20. package/src/assets/web-panel/assets/{Cowork-Dh3yt9pL.js → Cowork-bD9Z8K9J.js} +3 -3
  21. package/src/assets/web-panel/assets/{Cron-DiuKXbnA.js → Cron-BrQZ3zwQ.js} +2 -2
  22. package/src/assets/web-panel/assets/{Crosschain-BFgMa5sQ.js → Crosschain-C7m4dIrR.js} +1 -1
  23. package/src/assets/web-panel/assets/{DID-Dx7CFjrq.js → DID-CGniRypj.js} +2 -2
  24. package/src/assets/web-panel/assets/Dashboard-BqQfrJLe.js +3 -0
  25. package/src/assets/web-panel/assets/{Dropdown-sMGnnzUo.js → Dropdown-Csici42Z.js} +1 -1
  26. package/src/assets/web-panel/assets/{Federation-CGt7CYhN.js → Federation-D2boc2WU.js} +1 -1
  27. package/src/assets/web-panel/assets/{FormItemContext-DuVk39z3.js → FormItemContext-BpXHcM06.js} +1 -1
  28. package/src/assets/web-panel/assets/{Git-glb99UzZ.js → Git-C7QHt3Hy.js} +2 -2
  29. package/src/assets/web-panel/assets/{Governance-CQXGee_r.js → Governance-DPBJNo9u.js} +1 -1
  30. package/src/assets/web-panel/assets/{Inference-Czm-Q3w3.js → Inference-Ca8VokDu.js} +1 -1
  31. package/src/assets/web-panel/assets/KnowledgeGraph-CrFGz4u2.js +1 -0
  32. package/src/assets/web-panel/assets/{Logs-ChGXdo0Q.js → Logs-DMhNTvH6.js} +2 -2
  33. package/src/assets/web-panel/assets/{Marketplace-DW6P2uIY.js → Marketplace-DB0lVRRk.js} +1 -1
  34. package/src/assets/web-panel/assets/{McpTools-ChOwY-wy.js → McpTools-BmFQp5wQ.js} +3 -3
  35. package/src/assets/web-panel/assets/{Memory-vIbbUTel.js → Memory-DDooyF2l.js} +2 -2
  36. package/src/assets/web-panel/assets/Mtc-Ci6BDiRi.js +6 -0
  37. package/src/assets/web-panel/assets/Mtc-DHwbdUqA.css +1 -0
  38. package/src/assets/web-panel/assets/MtcAudit-B0x8gahq.css +1 -0
  39. package/src/assets/web-panel/assets/MtcAudit-J-DgVOwR.js +19 -0
  40. package/src/assets/web-panel/assets/{NLProgramming-fRrjhjpW.js → NLProgramming-Uv0jicWQ.js} +1 -1
  41. package/src/assets/web-panel/assets/Notes-BHauapxR.css +1 -0
  42. package/src/assets/web-panel/assets/Notes-SGtdMwfH.js +7 -0
  43. package/src/assets/web-panel/assets/NotificationSettings-Cg4yXikq.js +1 -0
  44. package/src/assets/web-panel/assets/NotificationSettings-Co0e0uEO.css +1 -0
  45. package/src/assets/web-panel/assets/{Organization-Bebfm6lF.js → Organization-Bij8W2mU.js} +4 -4
  46. package/src/assets/web-panel/assets/{Overflow-D8ZjaRpc.js → Overflow-DNGM4vCD.js} +1 -1
  47. package/src/assets/web-panel/assets/{OverrideContext-Nubhv68k.js → OverrideContext-DSwW21YS.js} +1 -1
  48. package/src/assets/web-panel/assets/{P2P-BjgamPxI.js → P2P-9DlPC_rr.js} +2 -2
  49. package/src/assets/web-panel/assets/{Permissions-uwoi4HnY.js → Permissions-BVJwnBDW.js} +3 -3
  50. package/src/assets/web-panel/assets/{Pipeline-C2aHcq6n.js → Pipeline-lWCcdQ9k.js} +1 -1
  51. package/src/assets/web-panel/assets/{Privacy-lU34k_c5.js → Privacy-BN60IEMG.js} +1 -1
  52. package/src/assets/web-panel/assets/{ProjectSettings-Dy-Iie9L.js → ProjectSettings-GJoyBlLy.js} +1 -1
  53. package/src/assets/web-panel/assets/{Projects-B4Vt0iiH.js → Projects-Dvs_UqGv.js} +2 -2
  54. package/src/assets/web-panel/assets/{Providers-Cu9uRsVk.js → Providers-A5KukRrJ.js} +2 -2
  55. package/src/assets/web-panel/assets/QuickAsk-D4K2pIHJ.js +1 -0
  56. package/src/assets/web-panel/assets/{Recommend-DJ9nU8HM.js → Recommend-DQKR520B.js} +1 -1
  57. package/src/assets/web-panel/assets/{Reputation-ThffxFwr.js → Reputation-BVntfhQV.js} +1 -1
  58. package/src/assets/web-panel/assets/Row-Do4ULXpm.js +1 -0
  59. package/src/assets/web-panel/assets/{RssFeed-DaxFEUe6.js → RssFeed-FAHzJo-E.js} +3 -3
  60. package/src/assets/web-panel/assets/{Search-4zVFnx_Y.js → Search-DsOTkKd1.js} +1 -1
  61. package/src/assets/web-panel/assets/{Security-BEfSoaTM.js → Security-hglxmoVZ.js} +3 -3
  62. package/src/assets/web-panel/assets/{Services-DTAaoYJC.js → Services-C6Rv4i8z.js} +1 -1
  63. package/src/assets/web-panel/assets/{Skeleton-CIZErmoY.js → Skeleton-D-dXFspp.js} +1 -1
  64. package/src/assets/web-panel/assets/{Skills-CacIwBCt.js → Skills-D6sVDuOT.js} +1 -1
  65. package/src/assets/web-panel/assets/{Sla-Si0g7a0u.js → Sla-8O-JYjQq.js} +1 -1
  66. package/src/assets/web-panel/assets/{SpeechSettings-H19DqdAG.js → SpeechSettings-DSOYsk6R.js} +1 -1
  67. package/src/assets/web-panel/assets/{SyncSettings-bsC4-4rU.js → SyncSettings-C5nhT_6b.js} +1 -1
  68. package/src/assets/web-panel/assets/{Tasks-Bxlj8OVW.js → Tasks-NrpJCUFD.js} +1 -1
  69. package/src/assets/web-panel/assets/Templates-Ca2HO-Ff.js +1 -0
  70. package/src/assets/web-panel/assets/Tenant-BWXC1pLX.js +1 -0
  71. package/src/assets/web-panel/assets/{Tokens-B2wJjOdI.js → Tokens-DUtMwWxZ.js} +1 -1
  72. package/src/assets/web-panel/assets/{Trigger-DU9-3gN9.js → Trigger-TyynxipZ.js} +1 -1
  73. package/src/assets/web-panel/assets/{Trust-_yan18qg.js → Trust-b4KDouFb.js} +1 -1
  74. package/src/assets/web-panel/assets/UkeySign-CJpVhu8c.js +1 -0
  75. package/src/assets/web-panel/assets/{VideoEditing-CUgere5i.js → VideoEditing-Bpn0V8T2.js} +1 -1
  76. package/src/assets/web-panel/assets/{Wallet-DSnzYVqY.js → Wallet-CzBLjCnl.js} +4 -4
  77. package/src/assets/web-panel/assets/{WebAuthn-De4aHZ87.js → WebAuthn-HnRCEu5Q.js} +5 -5
  78. package/src/assets/web-panel/assets/{WorkflowEditor-C-QNGwia.js → WorkflowEditor-CMWDod4n.js} +1 -1
  79. package/src/assets/web-panel/assets/{_getTag-CWA3v-Ds.js → _getTag-BVc6NQ_K.js} +1 -1
  80. package/src/assets/web-panel/assets/chat-D7QE42qx.js +1 -0
  81. package/src/assets/web-panel/assets/{collapseMotion-BIjDVXtT.js → collapseMotion-6-_FbiKl.js} +1 -1
  82. package/src/assets/web-panel/assets/{colors-CHuBSydj.js → colors-BO5nQJrH.js} +1 -1
  83. package/src/assets/web-panel/assets/{compact-item-DtCmGKIm.js → compact-item-By0t_ZDX.js} +1 -1
  84. package/src/assets/web-panel/assets/{createContext-Cetup5Fb.js → createContext-CHZw2WQy.js} +1 -1
  85. package/src/assets/web-panel/assets/{debounce-Q0BOJsYd.js → debounce-D9xTw4Sx.js} +1 -1
  86. package/src/assets/web-panel/assets/{echarts-DmBLM6YO.js → echarts-BrEnqXDv.js} +1 -1
  87. package/src/assets/web-panel/assets/{hasIn-Q509tIlQ.js → hasIn-CHScXGSD.js} +1 -1
  88. package/src/assets/web-panel/assets/icons-B2G69bhT.js +57 -0
  89. package/src/assets/web-panel/assets/{index-Bjz1Y3Gs.js → index-B-VML4Pz.js} +1 -1
  90. package/src/assets/web-panel/assets/index-B6FaCH6K.js +55 -0
  91. package/src/assets/web-panel/assets/{index-DKWvx42k.js → index-BCoEssNV.js} +1 -1
  92. package/src/assets/web-panel/assets/index-BFMpMM1y.js +21 -0
  93. package/src/assets/web-panel/assets/index-BIoymtmG.js +1 -0
  94. package/src/assets/web-panel/assets/{index-C2y5MxfU.js → index-BVL4FbJ3.js} +2 -2
  95. package/src/assets/web-panel/assets/{index-BmHsGJ8F.js → index-BXXqtwrw.js} +1 -1
  96. package/src/assets/web-panel/assets/index-BY-BnqWj.js +12 -0
  97. package/src/assets/web-panel/assets/{index-BvAwpPN9.js → index-Bbf4Smm-.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-Ctdt2gEP.js → index-BdOG1g8i.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-R5D_-l07.js → index-BgAPyeU5.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-B2f4ltyM.js → index-Bn_0bupT.js} +19 -15
  101. package/src/assets/web-panel/assets/index-BnaKc6VJ.js +1 -0
  102. package/src/assets/web-panel/assets/index-BqMhh2pY.js +1 -0
  103. package/src/assets/web-panel/assets/{index-B5d7Dkyp.js → index-BuzilAPw.js} +2 -2
  104. package/src/assets/web-panel/assets/{index-Dq6E-pj8.js → index-By3TOq5w.js} +1 -1
  105. package/src/assets/web-panel/assets/index-C1ssAFdz.js +1 -0
  106. package/src/assets/web-panel/assets/{index-CeXoNBLu.js → index-CAPiTJT4.js} +2 -2
  107. package/src/assets/web-panel/assets/{index-nfLO3XrF.js → index-CCOGrBpN.js} +1 -1
  108. package/src/assets/web-panel/assets/index-COVlQxSz.js +7 -0
  109. package/src/assets/web-panel/assets/{index-DVQSXYwb.js → index-CYCwDDoS.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-C8agLSzC.js → index-C_EIwaP7.js} +3 -3
  111. package/src/assets/web-panel/assets/{index-7kdZ5ox5.js → index-CfZqQ0JR.js} +3 -3
  112. package/src/assets/web-panel/assets/{index-C7baQwUM.js → index-CpHzrw8g.js} +1 -1
  113. package/src/assets/web-panel/assets/index-CszhN_r3.js +1 -0
  114. package/src/assets/web-panel/assets/{index-CRZ8WjUK.js → index-Czk89HQF.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-DaMTgJkE.js → index-D3WrGn-J.js} +2 -2
  116. package/src/assets/web-panel/assets/index-DS0o68gc.js +3 -0
  117. package/src/assets/web-panel/assets/{index-SR2lFA_W.js → index-DZ4t_1f-.js} +2 -2
  118. package/src/assets/web-panel/assets/{index-hSpRlh93.js → index-D_QlAaj5.js} +1 -1
  119. package/src/assets/web-panel/assets/index-DgWJBqLh.js +13 -0
  120. package/src/assets/web-panel/assets/{index-HqJ94PSG.js → index-DiHryOr_.js} +2 -2
  121. package/src/assets/web-panel/assets/index-DqPwMq7i.js +1 -0
  122. package/src/assets/web-panel/assets/{index-BTwIwesN.js → index-Qm6Kn3iq.js} +1 -1
  123. package/src/assets/web-panel/assets/index-U1O0AXXH.js +1 -0
  124. package/src/assets/web-panel/assets/index-jRQNL6Yj.js +12 -0
  125. package/src/assets/web-panel/assets/index-sgVQrC2c.js +1 -0
  126. package/src/assets/web-panel/assets/{index-C61WQXE3.js → index-yLdzB8i-.js} +1 -1
  127. package/src/assets/web-panel/assets/{initDefaultProps-D7iOaKOY.js → initDefaultProps-CMFUJGsa.js} +1 -1
  128. package/src/assets/web-panel/assets/{isPlainObject-DSTnI585.js → isPlainObject-_gz-soRW.js} +1 -1
  129. package/src/assets/web-panel/assets/isSymbol-DAy2hlR5.js +1 -0
  130. package/src/assets/web-panel/assets/{motion-CvCFk7sy.js → motion-CTtMugIF.js} +2 -2
  131. package/src/assets/web-panel/assets/{move-BVj5YZrV.js → move-DHjaLqhq.js} +1 -1
  132. package/src/assets/web-panel/assets/mtc-parser-Cc3pB9Xm.js +1 -0
  133. package/src/assets/web-panel/assets/{omit-N_JDguMt.js → omit-COm0v71g.js} +1 -1
  134. package/src/assets/web-panel/assets/operationUnit-vCu2co3e.js +1 -0
  135. package/src/assets/web-panel/assets/{pickAttrs-BWcuLN5j.js → pickAttrs-C3Ftf-sl.js} +1 -1
  136. package/src/assets/web-panel/assets/{placementArrow--1l0FzZx.js → placementArrow-IJhTwCmF.js} +1 -1
  137. package/src/assets/web-panel/assets/{responsiveObserve-CGX6EYRt.js → responsiveObserve-Cmu2mrKT.js} +1 -1
  138. package/src/assets/web-panel/assets/{slide-B3hJzlWm.js → slide-CnWCDeu_.js} +1 -1
  139. package/src/assets/web-panel/assets/{statusUtils-BJuExZuw.js → statusUtils-CSOJeZ-L.js} +1 -1
  140. package/src/assets/web-panel/assets/{styleChecker-pshnIK0r.js → styleChecker-94VBD7Xs.js} +1 -1
  141. package/src/assets/web-panel/assets/useFlexGapSupport-CBjbWuc9.js +1 -0
  142. package/src/assets/web-panel/assets/{useFs-BW1piLQM.js → useFs-DfXp51Mk.js} +1 -1
  143. package/src/assets/web-panel/assets/{useMergedState-TP9VIF2K.js → useMergedState-n0f81Aew.js} +1 -1
  144. package/src/assets/web-panel/assets/{useRefs-BhIz_lC3.js → useRefs-CTh0C9xI.js} +1 -1
  145. package/src/assets/web-panel/assets/{useState-CpKsyozn.js → useState-4T1Ntfpx.js} +1 -1
  146. package/src/assets/web-panel/assets/{vendor-B6ToihkA.js → vendor-Ci2pTZ_t.js} +1 -1
  147. package/src/assets/web-panel/assets/{vnode-D98L6HI1.js → vnode-CGY3YRLi.js} +1 -1
  148. package/src/assets/web-panel/assets/{zoom-DnmMtXgZ.js → zoom-CZllDiMO.js} +1 -1
  149. package/src/assets/web-panel/index.html +3 -3
  150. package/src/commands/mtc.js +2 -0
  151. package/src/gateways/ws/chat-intent-protocol.js +192 -0
  152. package/src/gateways/ws/message-dispatcher.js +6 -0
  153. package/src/gateways/ws/ws-server.js +20 -0
  154. package/src/lib/chat-intent-service.js +530 -0
  155. package/src/assets/web-panel/assets/AppLayout-CtGprHSx.css +0 -1
  156. package/src/assets/web-panel/assets/AppLayout-lM1Y2Wgo.js +0 -1
  157. package/src/assets/web-panel/assets/Backup-G6AQe6k8.js +0 -1
  158. package/src/assets/web-panel/assets/BaseInput-tUASXi57.js +0 -1
  159. package/src/assets/web-panel/assets/Chat-B46MHHAs.js +0 -2
  160. package/src/assets/web-panel/assets/Chat-ByiYUboW.css +0 -1
  161. package/src/assets/web-panel/assets/Community-CB4KQIpB.js +0 -1
  162. package/src/assets/web-panel/assets/Dashboard-D3QHFHex.js +0 -3
  163. package/src/assets/web-panel/assets/KnowledgeGraph-DFrr-B78.js +0 -1
  164. package/src/assets/web-panel/assets/Mtc-60jSuMAz.js +0 -6
  165. package/src/assets/web-panel/assets/Mtc-Cc8OJxe_.css +0 -1
  166. package/src/assets/web-panel/assets/Notes-C0zhC6_B.js +0 -7
  167. package/src/assets/web-panel/assets/Notes-DKkPfXlY.css +0 -1
  168. package/src/assets/web-panel/assets/QuickAsk-BE29MB0d.js +0 -1
  169. package/src/assets/web-panel/assets/Row-CqBtO8lC.js +0 -1
  170. package/src/assets/web-panel/assets/Templates-B9YsJQcb.js +0 -1
  171. package/src/assets/web-panel/assets/Tenant-D4YncKb7.js +0 -1
  172. package/src/assets/web-panel/assets/UkeySign-CZ7Xrq96.js +0 -1
  173. package/src/assets/web-panel/assets/chat-DFt6UJUS.js +0 -1
  174. package/src/assets/web-panel/assets/icons-zXb7lDZs.js +0 -57
  175. package/src/assets/web-panel/assets/index-0KFwdHZg.js +0 -1
  176. package/src/assets/web-panel/assets/index-BDK2Fkgd.js +0 -13
  177. package/src/assets/web-panel/assets/index-BJFH7IlV.js +0 -21
  178. package/src/assets/web-panel/assets/index-BlPG_vWg.js +0 -55
  179. package/src/assets/web-panel/assets/index-CJjwnpac.js +0 -1
  180. package/src/assets/web-panel/assets/index-CX7WO0g5.js +0 -12
  181. package/src/assets/web-panel/assets/index-CbQ3AZcJ.js +0 -3
  182. package/src/assets/web-panel/assets/index-Cxk-8scO.js +0 -1
  183. package/src/assets/web-panel/assets/index-D0oJF6nX.js +0 -7
  184. package/src/assets/web-panel/assets/index-D7Smgwky.js +0 -1
  185. package/src/assets/web-panel/assets/index-DGAGIqDR.js +0 -1
  186. package/src/assets/web-panel/assets/index-Dd68wDHG.js +0 -12
  187. package/src/assets/web-panel/assets/index-Dem-mhfD.js +0 -1
  188. package/src/assets/web-panel/assets/index-DuQfQVBe.js +0 -1
  189. package/src/assets/web-panel/assets/index-jfzI94IT.js +0 -1
  190. package/src/assets/web-panel/assets/isSymbol-CsP9Ob42.js +0 -1
  191. package/src/assets/web-panel/assets/mtc-parser-pGMSt10g.js +0 -1
  192. package/src/assets/web-panel/assets/useFlexGapSupport-3FQZdpBd.js +0 -1
@@ -0,0 +1,19 @@
1
+ import{d as Le,o as xe,c as r,s as kt,t as Et,a as se,w as Ze,r as K,W as It,e as Tt,n as tt,b as Dt,f as we,F as ue,z as Ot,M as ne,N as o,u as e,Q as B,S as P,L as R,O as S,R as j,a1 as At,P as _}from"./vendor-Ci2pTZ_t.js";import{f as k,e as le,k as Rt,h as ut,p as dt,w as nt,M as Fe,O as $t,Q as _t,u as ke,_ as Mt,d as X}from"./index-Bn_0bupT.js";import{u as Ee}from"./useShellMode-CgR0wCYM.js";import{K as Ce}from"./KeyCode-D63Tfrq7.js";import{w as Ve}from"./raf-Deuc0E8-.js";import{i as ct}from"./styleChecker-94VBD7Xs.js";import L,{Textarea as Se}from"./index-BY-BnqWj.js";import{aZ as Nt,a_ as Bt,ag as Pt,af as zt,aG as Ut}from"./icons-B2G69bhT.js";import{i as Kt}from"./index-Bbf4Smm-.js";import{o as pt}from"./operationUnit-vCu2co3e.js";import{s as Ht}from"./BaseInput-kGeksnCj.js";import{R as Lt}from"./index-BdOG1g8i.js";import{T as Je}from"./index-BnaKc6VJ.js";import{o as ye}from"./omit-COm0v71g.js";import{u as jt}from"./useMergedState-n0f81Aew.js";import q from"./index-CAPiTJT4.js";import Wt,{TabPane as be}from"./index-DS0o68gc.js";import he,{FormItem as O}from"./index-By3TOq5w.js";import{B as z}from"./index-B-VML4Pz.js";import rt,{DescriptionsItem as Y}from"./index-CCOGrBpN.js";import re from"./index-D_QlAaj5.js";import ie from"./index-C_EIwaP7.js";import Q from"./index-Czk89HQF.js";import Xe from"./index-CszhN_r3.js";import Be,{ListItem as pe}from"./index-BIoymtmG.js";import lt from"./index-DgWJBqLh.js";import Ft from"./index-Qm6Kn3iq.js";import"./FormItemContext-BpXHcM06.js";import"./createContext-CHZw2WQy.js";import"./statusUtils-CSOJeZ-L.js";import"./vnode-CGY3YRLi.js";import"./Compact-B4TJcIuz.js";import"./_getTag-BVc6NQ_K.js";import"./isPlainObject-_gz-soRW.js";import"./compact-item-By0t_ZDX.js";import"./ResizeObserver.es-D6qJbdzf.js";import"./Trigger-TyynxipZ.js";import"./motion-CTtMugIF.js";import"./isVisible-C7tPsqfj.js";import"./placementArrow-IJhTwCmF.js";import"./firstNotUndefined-CLFzEa0p.js";import"./colors-BO5nQJrH.js";import"./zoom-CZllDiMO.js";import"./initDefaultProps-CMFUJGsa.js";import"./index-CfZqQ0JR.js";import"./devWarning-CNIS3FrJ.js";import"./warning-Pq00owYb.js";import"./_arrayIncludes-B8uzE354.js";import"./injectionKey-BXVc-oGP.js";import"./Overflow-DNGM4vCD.js";import"./collapseMotion-6-_FbiKl.js";import"./slide-CnWCDeu_.js";import"./OverrideContext-DSwW21YS.js";import"./Dropdown-Csici42Z.js";import"./useState-4T1Ntfpx.js";import"./useRefs-CTh0C9xI.js";import"./hasIn-CHScXGSD.js";import"./isSymbol-DAy2hlR5.js";import"./isMobile--2fOlCHx.js";import"./Row-Do4ULXpm.js";import"./responsiveObserve-Cmu2mrKT.js";import"./useFlexGapSupport-CBjbWuc9.js";import"./index-yLdzB8i-.js";import"./debounce-D9xTw4Sx.js";import"./Col-myVf7h0M.js";import"./index-CpHzrw8g.js";import"./Skeleton-D-dXFspp.js";import"./index-C1ssAFdz.js";import"./index-BFMpMM1y.js";import"./index-DiHryOr_.js";import"./pickAttrs-C3Ftf-sl.js";import"./move-DHjaLqhq.js";import"./ActionButton-DoRABhmk.js";var Vt=function(t,s){var a={};for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&s.indexOf(l)<0&&(a[l]=t[l]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,l=Object.getOwnPropertySymbols(t);i<l.length;i++)s.indexOf(l[i])<0&&Object.prototype.propertyIsEnumerable.call(t,l[i])&&(a[l[i]]=t[l[i]]);return a};const Jt={border:0,background:"transparent",padding:0,lineHeight:"inherit",display:"inline-block"},ot=Le({compatConfig:{MODE:3},name:"TransButton",inheritAttrs:!1,props:{noStyle:{type:Boolean,default:void 0},onClick:Function,disabled:{type:Boolean,default:void 0},autofocus:{type:Boolean,default:void 0}},setup(t,s){let{slots:a,emit:l,attrs:i,expose:d}=s;const c=kt(),p=g=>{const{keyCode:y}=g;y===Ce.ENTER&&g.preventDefault()},C=g=>{const{keyCode:y}=g;y===Ce.ENTER&&l("click",g)},M=g=>{l("click",g)},w=()=>{c.value&&c.value.focus()},f=()=>{c.value&&c.value.blur()};return xe(()=>{t.autofocus&&w()}),d({focus:w,blur:f}),()=>{var g;const{noStyle:y,disabled:I}=t,b=Vt(t,["noStyle","disabled"]);let h={};return y||(h=k({},Jt)),I&&(h.pointerEvents="none"),r("div",le(le(le({role:"button",tabindex:0,ref:c},b),i),{},{onClick:M,onKeydown:p,onKeyup:C,style:k(k({},h),i.style||{})}),[(g=a.default)===null||g===void 0?void 0:g.call(a)])}}}),Xt=(t,s,a,l)=>{const{sizeMarginHeadingVerticalEnd:i,fontWeightStrong:d}=l;return{marginBottom:i,color:a,fontWeight:d,fontSize:t,lineHeight:s}},qt=t=>{const s=[1,2,3,4,5],a={};return s.forEach(l=>{a[`
2
+ h${l}&,
3
+ div&-h${l},
4
+ div&-h${l} > textarea,
5
+ h${l}
6
+ `]=Xt(t[`fontSizeHeading${l}`],t[`lineHeightHeading${l}`],t.colorTextHeading,t)}),a},Qt=t=>{const{componentCls:s}=t;return{"a&, a":k(k({},pt(t)),{textDecoration:t.linkDecoration,"&:active, &:hover":{textDecoration:t.linkHoverDecoration},[`&[disabled], &${s}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed","&:active, &:hover":{color:t.colorTextDisabled},"&:active":{pointerEvents:"none"}}})}},Gt=()=>({code:{margin:"0 0.2em",paddingInline:"0.4em",paddingBlock:"0.2em 0.1em",fontSize:"85%",background:"rgba(150, 150, 150, 0.1)",border:"1px solid rgba(100, 100, 100, 0.2)",borderRadius:3},kbd:{margin:"0 0.2em",paddingInline:"0.4em",paddingBlock:"0.15em 0.1em",fontSize:"90%",background:"rgba(150, 150, 150, 0.06)",border:"1px solid rgba(100, 100, 100, 0.2)",borderBottomWidth:2,borderRadius:3},mark:{padding:0,backgroundColor:Nt[2]},"u, ins":{textDecoration:"underline",textDecorationSkipInk:"auto"},"s, del":{textDecoration:"line-through"},strong:{fontWeight:600},"ul, ol":{marginInline:0,marginBlock:"0 1em",padding:0,li:{marginInline:"20px 0",marginBlock:0,paddingInline:"4px 0",paddingBlock:0}},ul:{listStyleType:"circle",ul:{listStyleType:"disc"}},ol:{listStyleType:"decimal"},"pre, blockquote":{margin:"1em 0"},pre:{padding:"0.4em 0.6em",whiteSpace:"pre-wrap",wordWrap:"break-word",background:"rgba(150, 150, 150, 0.1)",border:"1px solid rgba(100, 100, 100, 0.2)",borderRadius:3,code:{display:"inline",margin:0,padding:0,fontSize:"inherit",fontFamily:"inherit",background:"transparent",border:0}},blockquote:{paddingInline:"0.6em 0",paddingBlock:0,borderInlineStart:"4px solid rgba(100, 100, 100, 0.2)",opacity:.85}}),Zt=t=>{const{componentCls:s}=t,l=Kt(t).inputPaddingVertical+1;return{"&-edit-content":{position:"relative","div&":{insetInlineStart:-t.paddingSM,marginTop:-l,marginBottom:`calc(1em - ${l}px)`},[`${s}-edit-content-confirm`]:{position:"absolute",insetInlineEnd:t.marginXS+2,insetBlockEnd:t.marginXS,color:t.colorTextDescription,fontWeight:"normal",fontSize:t.fontSize,fontStyle:"normal",pointerEvents:"none"},textarea:{margin:"0!important",MozTransition:"none",height:"1em"}}}},Yt=t=>({"&-copy-success":{"\n &,\n &:hover,\n &:focus":{color:t.colorSuccess}}}),en=()=>({"\n a&-ellipsis,\n span&-ellipsis\n ":{display:"inline-block",maxWidth:"100%"},"&-single-line":{whiteSpace:"nowrap"},"&-ellipsis-single-line":{overflow:"hidden",textOverflow:"ellipsis","a&, span&":{verticalAlign:"bottom"}},"&-ellipsis-multiple-line":{display:"-webkit-box",overflow:"hidden",WebkitLineClamp:3,WebkitBoxOrient:"vertical"}}),tn=t=>{const{componentCls:s,sizeMarginHeadingVerticalStart:a}=t;return{[s]:k(k(k(k(k(k(k(k(k({color:t.colorText,wordBreak:"break-word",lineHeight:t.lineHeight,[`&${s}-secondary`]:{color:t.colorTextDescription},[`&${s}-success`]:{color:t.colorSuccess},[`&${s}-warning`]:{color:t.colorWarning},[`&${s}-danger`]:{color:t.colorError,"a&:active, a&:focus":{color:t.colorErrorActive},"a&:hover":{color:t.colorErrorHover}},[`&${s}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed",userSelect:"none"},"\n div&,\n p\n ":{marginBottom:"1em"}},qt(t)),{[`
7
+ & + h1${s},
8
+ & + h2${s},
9
+ & + h3${s},
10
+ & + h4${s},
11
+ & + h5${s}
12
+ `]:{marginTop:a},"\n div,\n ul,\n li,\n p,\n h1,\n h2,\n h3,\n h4,\n h5":{"\n + h1,\n + h2,\n + h3,\n + h4,\n + h5\n ":{marginTop:a}}}),Gt()),Qt(t)),{[`
13
+ ${s}-expand,
14
+ ${s}-edit,
15
+ ${s}-copy
16
+ `]:k(k({},pt(t)),{marginInlineStart:t.marginXXS})}),Zt(t)),Yt(t)),en()),{"&-rtl":{direction:"rtl"}})}},ft=Rt("Typography",t=>[tn(t)],{sizeMarginHeadingVerticalStart:"1.2em",sizeMarginHeadingVerticalEnd:"0.5em"}),nn=()=>({prefixCls:String,value:String,maxlength:Number,autoSize:{type:[Boolean,Object]},onSave:Function,onCancel:Function,onEnd:Function,onChange:Function,originContent:String,direction:String,component:String}),rn=Le({compatConfig:{MODE:3},name:"Editable",inheritAttrs:!1,props:nn(),setup(t,s){let{emit:a,slots:l,attrs:i}=s;const{prefixCls:d}=Et(t),c=se({current:t.value||"",lastKeyCode:void 0,inComposition:!1,cancelFlag:!1});Ze(()=>t.value,T=>{c.current=T});const p=K();xe(()=>{var T;if(p.value){const D=(T=p.value)===null||T===void 0?void 0:T.resizableTextArea,H=D?.textArea;H.focus();const{length:U}=H.value;H.setSelectionRange(U,U)}});function C(T){p.value=T}function M(T){let{target:{value:D}}=T;c.current=D.replace(/[\r\n]/g,""),a("change",c.current)}function w(){c.inComposition=!0}function f(){c.inComposition=!1}function g(T){const{keyCode:D}=T;D===Ce.ENTER&&T.preventDefault(),!c.inComposition&&(c.lastKeyCode=D)}function y(T){const{keyCode:D,ctrlKey:H,altKey:U,metaKey:V,shiftKey:N}=T;c.lastKeyCode===D&&!c.inComposition&&!H&&!U&&!V&&!N&&(D===Ce.ENTER?(b(),a("end")):D===Ce.ESC&&(c.current=t.originContent,a("cancel")))}function I(){b()}function b(){a("save",c.current.trim())}const[h,A]=ft(d);return()=>{const T=ut({[`${d.value}`]:!0,[`${d.value}-edit-content`]:!0,[`${d.value}-rtl`]:t.direction==="rtl",[t.component?`${d.value}-${t.component}`:""]:!0},i.class,A.value);return h(r("div",le(le({},i),{},{class:T}),[r(Se,{ref:C,maxlength:t.maxlength,value:c.current,onChange:M,onKeydown:g,onKeyup:y,onCompositionstart:w,onCompositionend:f,onBlur:I,rows:1,autoSize:t.autoSize===void 0||t.autoSize},null),l.enterIcon?l.enterIcon({className:`${t.prefixCls}-edit-content-confirm`}):r(Bt,{class:`${t.prefixCls}-edit-content-confirm`},null)]))}}}),ln=3,on=8;let J;const qe={padding:0,margin:0,display:"inline",lineHeight:"inherit"};function mt(t,s){t.setAttribute("aria-hidden","true");const a=window.getComputedStyle(s),l=Ht(a);t.setAttribute("style",l),t.style.position="fixed",t.style.left="0",t.style.height="auto",t.style.minHeight="auto",t.style.maxHeight="auto",t.style.paddingTop="0",t.style.paddingBottom="0",t.style.borderTopWidth="0",t.style.borderBottomWidth="0",t.style.top="-999999px",t.style.zIndex="-1000",t.style.textOverflow="clip",t.style.whiteSpace="normal",t.style.webkitLineClamp="none"}function an(t){const s=document.createElement("div");mt(s,t),s.appendChild(document.createTextNode("text")),document.body.appendChild(s);const a=s.getBoundingClientRect().height;return document.body.removeChild(s),a}const sn=((t,s,a,l,i)=>{J||(J=document.createElement("div"),J.setAttribute("aria-hidden","true"),document.body.appendChild(J));const{rows:d,suffix:c=""}=s,p=an(t),C=Math.round(p*d*100)/100;mt(J,t);const M=It({render(){return r("div",{style:qe},[r("span",{style:qe},[a,c]),r("span",{style:qe},[l])])}});M.mount(J);function w(){return Math.round(J.getBoundingClientRect().height*100)/100-.1<=C}if(w())return M.unmount(),{content:a,text:J.innerHTML,ellipsis:!1};const f=Array.prototype.slice.apply(J.childNodes[0].childNodes[0].cloneNode(!0).childNodes).filter(D=>{let{nodeType:H,data:U}=D;return H!==on&&U!==""}),g=Array.prototype.slice.apply(J.childNodes[0].childNodes[1].cloneNode(!0).childNodes);M.unmount();const y=[];J.innerHTML="";const I=document.createElement("span");J.appendChild(I);const b=document.createTextNode(i+c);I.appendChild(b),g.forEach(D=>{J.appendChild(D)});function h(D){I.insertBefore(D,b)}function A(D,H){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,V=arguments.length>3&&arguments[3]!==void 0?arguments[3]:H.length,N=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;const G=Math.floor((U+V)/2),ve=H.slice(0,G);if(D.textContent=ve,U>=V-1)for(let ee=V;ee>=U;ee-=1){const oe=H.slice(0,ee);if(D.textContent=oe,w()||!oe)return ee===H.length?{finished:!1,vNode:H}:{finished:!0,vNode:oe}}return w()?A(D,H,G,V,G):A(D,H,U,G,N)}function T(D){if(D.nodeType===ln){const U=D.textContent||"",V=document.createTextNode(U);return h(V),A(V,U)}return{finished:!1,vNode:null}}return f.some(D=>{const{finished:H,vNode:U}=T(D);return U&&y.push(U),H}),{content:y,text:J.innerHTML,ellipsis:!0}});var un=function(t,s){var a={};for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&s.indexOf(l)<0&&(a[l]=t[l]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,l=Object.getOwnPropertySymbols(t);i<l.length;i++)s.indexOf(l[i])<0&&Object.prototype.propertyIsEnumerable.call(t,l[i])&&(a[l[i]]=t[l[i]]);return a};const dn=()=>({prefixCls:String,direction:String,component:String}),W=Le({name:"ATypography",inheritAttrs:!1,props:dn(),setup(t,s){let{slots:a,attrs:l}=s;const{prefixCls:i,direction:d}=dt("typography",t),[c,p]=ft(i);return()=>{var C;const M=k(k({},t),l),{prefixCls:w,direction:f,component:g="article"}=M,y=un(M,["prefixCls","direction","component"]);return c(r(g,le(le({},y),{},{class:ut(i.value,{[`${i.value}-rtl`]:d.value==="rtl"},l.class,p.value)}),{default:()=>[(C=a.default)===null||C===void 0?void 0:C.call(a)]}))}}}),cn=()=>{const t=document.getSelection();if(!t.rangeCount)return function(){};let s=document.activeElement;const a=[];for(let l=0;l<t.rangeCount;l++)a.push(t.getRangeAt(l));switch(s.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":s.blur();break;default:s=null;break}return t.removeAllRanges(),function(){t.type==="Caret"&&t.removeAllRanges(),t.rangeCount||a.forEach(function(l){t.addRange(l)}),s&&s.focus()}},at={"text/plain":"Text","text/html":"Url",default:"Text"},pn="Copy to clipboard: #{key}, Enter";function fn(t){const s=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return t.replace(/#{\s*key\s*}/g,s)}function mn(t,s){let a,l,i,d,c,p=!1;s||(s={});const C=s.debug||!1;try{if(l=cn(),i=document.createRange(),d=document.getSelection(),c=document.createElement("span"),c.textContent=t,c.style.all="unset",c.style.position="fixed",c.style.top=0,c.style.clip="rect(0, 0, 0, 0)",c.style.whiteSpace="pre",c.style.webkitUserSelect="text",c.style.MozUserSelect="text",c.style.msUserSelect="text",c.style.userSelect="text",c.addEventListener("copy",function(w){if(w.stopPropagation(),s.format)if(w.preventDefault(),typeof w.clipboardData>"u"){C&&console.warn("unable to use e.clipboardData"),C&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();const f=at[s.format]||at.default;window.clipboardData.setData(f,t)}else w.clipboardData.clearData(),w.clipboardData.setData(s.format,t);s.onCopy&&(w.preventDefault(),s.onCopy(w.clipboardData))}),document.body.appendChild(c),i.selectNodeContents(c),d.addRange(i),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");p=!0}catch(M){C&&console.error("unable to copy using execCommand: ",M),C&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(s.format||"text",t),s.onCopy&&s.onCopy(window.clipboardData),p=!0}catch(w){C&&console.error("unable to copy using clipboardData: ",w),C&&console.error("falling back to prompt"),a=fn("message"in s?s.message:pn),window.prompt(a,t)}}finally{d&&(typeof d.removeRange=="function"?d.removeRange(i):d.removeAllRanges()),c&&document.body.removeChild(c),l()}return p}var yn=function(t,s){var a={};for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&s.indexOf(l)<0&&(a[l]=t[l]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,l=Object.getOwnPropertySymbols(t);i<l.length;i++)s.indexOf(l[i])<0&&Object.prototype.propertyIsEnumerable.call(t,l[i])&&(a[l[i]]=t[l[i]]);return a};const vn=ct("webkitLineClamp"),gn=ct("textOverflow"),it="...",Ie=()=>({editable:{type:[Boolean,Object],default:void 0},copyable:{type:[Boolean,Object],default:void 0},prefixCls:String,component:String,type:String,disabled:{type:Boolean,default:void 0},ellipsis:{type:[Boolean,Object],default:void 0},code:{type:Boolean,default:void 0},mark:{type:Boolean,default:void 0},underline:{type:Boolean,default:void 0},delete:{type:Boolean,default:void 0},strong:{type:Boolean,default:void 0},keyboard:{type:Boolean,default:void 0},content:String,"onUpdate:content":Function}),Te=Le({compatConfig:{MODE:3},name:"TypographyBase",inheritAttrs:!1,props:Ie(),setup(t,s){let{slots:a,attrs:l,emit:i}=s;const{prefixCls:d,direction:c}=dt("typography",t),p=se({copied:!1,ellipsisText:"",ellipsisContent:null,isEllipsis:!1,expanded:!1,clientRendered:!1,expandStr:"",copyStr:"",copiedStr:"",editStr:"",copyId:void 0,rafId:void 0,prevProps:void 0,originContent:""}),C=K(),M=K(),w=we(()=>{const v=t.ellipsis;return v?k({rows:1,expandable:!1},typeof v=="object"?v:null):{}});xe(()=>{p.clientRendered=!0,G()}),Tt(()=>{clearTimeout(p.copyId),Ve.cancel(p.rafId)}),Ze([()=>w.value.rows,()=>t.content],()=>{tt(()=>{V()})},{flush:"post",deep:!0}),Dt(()=>{t.content===void 0&&(nt(!t.editable),nt(!t.ellipsis))});function f(){var v;return t.ellipsis||t.editable?t.content:(v=Fe(C.value))===null||v===void 0?void 0:v.innerText}function g(v){const{onExpand:E}=w.value;p.expanded=!0,E?.(v)}function y(v){v.preventDefault(),p.originContent=t.content,U(!0)}function I(v){b(v),U(!1)}function b(v){const{onChange:E}=T.value;v!==t.content&&(i("update:content",v),E?.(v))}function h(){var v,E;(E=(v=T.value).onCancel)===null||E===void 0||E.call(v),U(!1)}function A(v){v.preventDefault(),v.stopPropagation();const{copyable:E}=t,$=k({},typeof E=="object"?E:null);$.text===void 0&&($.text=f()),mn($.text||""),p.copied=!0,tt(()=>{$.onCopy&&$.onCopy(v),p.copyId=setTimeout(()=>{p.copied=!1},3e3)})}const T=we(()=>{const v=t.editable;return v?k({},typeof v=="object"?v:null):{editing:!1}}),[D,H]=jt(!1,{value:we(()=>T.value.editing)});function U(v){const{onStart:E}=T.value;v&&E&&E(),H(v)}Ze(D,v=>{var E;v||(E=M.value)===null||E===void 0||E.focus()},{flush:"post"});function V(v){if(v){const{width:E,height:$}=v;if(!E||!$)return}Ve.cancel(p.rafId),p.rafId=Ve(()=>{G()})}const N=we(()=>{const{rows:v,expandable:E,suffix:$,onEllipsis:m,tooltip:n}=w.value;return $||n||t.editable||t.copyable||E||m?!1:v===1?gn:vn}),G=()=>{const{ellipsisText:v,isEllipsis:E}=p,{rows:$,suffix:m,onEllipsis:n}=w.value;if(!$||$<0||!Fe(C.value)||p.expanded||t.content===void 0||N.value)return;const{content:u,text:F,ellipsis:ae}=sn(Fe(C.value),{rows:$,suffix:m},t.content,$e(!0),it);(v!==F||p.isEllipsis!==ae)&&(p.ellipsisText=F,p.ellipsisContent=u,p.isEllipsis=ae,E!==ae&&n&&n(ae))};function ve(v,E){let{mark:$,code:m,underline:n,delete:u,strong:F,keyboard:ae}=v,ge=E;function te(_e,Z){if(!_e)return;const Me=(function(){return ge})();ge=r(Z,null,{default:()=>[Me]})}return te(F,"strong"),te(n,"u"),te(u,"del"),te(m,"code"),te($,"mark"),te(ae,"kbd"),ge}function ee(v){const{expandable:E,symbol:$}=w.value;if(!E||!v&&(p.expanded||!p.isEllipsis))return null;const m=(a.ellipsisSymbol?a.ellipsisSymbol():$)||p.expandStr;return r("a",{key:"expand",class:`${d.value}-expand`,onClick:g,"aria-label":p.expandStr},[m])}function oe(){if(!t.editable)return;const{tooltip:v,triggerType:E=["icon"]}=t.editable,$=a.editableIcon?a.editableIcon():r(Pt,{role:"button"},null),m=a.editableTooltip?a.editableTooltip():p.editStr,n=typeof m=="string"?m:"";return E.indexOf("icon")!==-1?r(Je,{key:"edit",title:v===!1?"":m},{default:()=>[r(ot,{ref:M,class:`${d.value}-edit`,onClick:y,"aria-label":n},{default:()=>[$]})]}):null}function x(){if(!t.copyable)return;const{tooltip:v}=t.copyable,E=p.copied?p.copiedStr:p.copyStr,$=a.copyableTooltip?a.copyableTooltip({copied:p.copied}):E,m=typeof $=="string"?$:"",n=p.copied?r(zt,null,null):r(Ut,null,null),u=a.copyableIcon?a.copyableIcon({copied:!!p.copied}):n;return r(Je,{key:"copy",title:v===!1?"":$},{default:()=>[r(ot,{class:[`${d.value}-copy`,{[`${d.value}-copy-success`]:p.copied}],onClick:A,"aria-label":m},{default:()=>[u]})]})}function je(){const{class:v,style:E}=l,{maxlength:$,autoSize:m,onEnd:n}=T.value;return r(rn,{class:v,style:E,prefixCls:d.value,value:t.content,originContent:p.originContent,maxlength:$,autoSize:m,onSave:I,onChange:b,onCancel:h,onEnd:n,direction:c.value,component:t.component},{enterIcon:a.editableEnterIcon})}function $e(v){return[ee(v),oe(),x()].filter(E=>E)}return()=>{var v;const{triggerType:E=["icon"]}=T.value,$=t.ellipsis||t.editable?t.content!==void 0?t.content:(v=a.default)===null||v===void 0?void 0:v.call(a):a.default?a.default():t.content;return D.value?je():r($t,{componentName:"Text",children:m=>{const n=k(k({},t),l),{type:u,disabled:F,content:ae,class:ge,style:te}=n,_e=yn(n,["type","disabled","content","class","style"]),{rows:Z,suffix:Me,tooltip:We}=w.value,{edit:yt,copy:vt,copied:gt,expand:bt}=m;p.editStr=yt,p.copyStr=vt,p.copiedStr=gt,p.expandStr=bt;const ht=ye(_e,["prefixCls","editable","copyable","ellipsis","mark","code","delete","underline","strong","keyboard","onUpdate:content"]),Ne=N.value,wt=Z===1&&Ne,Ye=Z&&Z>1&&Ne;let de=$,St;if(Z&&p.isEllipsis&&!p.expanded&&!Ne){const{title:et}=_e;let ce=et||"";!et&&(typeof $=="string"||typeof $=="number")&&(ce=String($)),ce=ce?.slice(String(p.ellipsisContent||"").length),de=r(ue,null,[Ot(p.ellipsisContent),r("span",{title:ce,"aria-hidden":"true"},[it]),Me])}else de=r(ue,null,[$,Me]);de=ve(t,de);const Ct=We&&Z&&p.isEllipsis&&!p.expanded&&!Ne,xt=a.ellipsisTooltip?a.ellipsisTooltip():We;return r(Lt,{onResize:V,disabled:!Z},{default:()=>[r(W,le({ref:C,class:[{[`${d.value}-${u}`]:u,[`${d.value}-disabled`]:F,[`${d.value}-ellipsis`]:Z,[`${d.value}-single-line`]:Z===1&&!p.isEllipsis,[`${d.value}-ellipsis-single-line`]:wt,[`${d.value}-ellipsis-multiple-line`]:Ye},ge],style:k(k({},te),{WebkitLineClamp:Ye?Z:void 0}),"aria-label":St,direction:c.value,onClick:E.indexOf("text")!==-1?y:()=>{}},ht),{default:()=>[Ct?r(Je,{title:We===!0?$:xt},{default:()=>[r("span",null,[de])]}):de,$e()]})]})}},null)}}});var bn=function(t,s){var a={};for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&s.indexOf(l)<0&&(a[l]=t[l]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,l=Object.getOwnPropertySymbols(t);i<l.length;i++)s.indexOf(l[i])<0&&Object.prototype.propertyIsEnumerable.call(t,l[i])&&(a[l[i]]=t[l[i]]);return a};const hn=()=>ye(k(k({},Ie()),{ellipsis:{type:Boolean,default:void 0}}),["component"]),De=(t,s)=>{let{slots:a,attrs:l}=s;const i=k(k({},t),l),{ellipsis:d,rel:c}=i,p=bn(i,["ellipsis","rel"]),C=k(k({},p),{rel:c===void 0&&p.target==="_blank"?"noopener noreferrer":c,ellipsis:!!d,component:"a"});return delete C.navigate,r(Te,C,a)};De.displayName="ATypographyLink";De.inheritAttrs=!1;De.props=hn();const wn=()=>ye(Ie(),["component"]),Oe=(t,s)=>{let{slots:a,attrs:l}=s;const i=k(k(k({},t),{component:"div"}),l);return r(Te,i,a)};Oe.displayName="ATypographyParagraph";Oe.inheritAttrs=!1;Oe.props=wn();const Sn=()=>k(k({},ye(Ie(),["component"])),{ellipsis:{type:[Boolean,Object],default:void 0}}),Ae=(t,s)=>{let{slots:a,attrs:l}=s;const{ellipsis:i}=t,d=k(k(k({},t),{ellipsis:i&&typeof i=="object"?ye(i,["expandable","rows"]):i,component:"span"}),l);return r(Te,d,a)};Ae.displayName="ATypographyText";Ae.inheritAttrs=!1;Ae.props=Sn();var Cn=function(t,s){var a={};for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&s.indexOf(l)<0&&(a[l]=t[l]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,l=Object.getOwnPropertySymbols(t);i<l.length;i++)s.indexOf(l[i])<0&&Object.prototype.propertyIsEnumerable.call(t,l[i])&&(a[l[i]]=t[l[i]]);return a};const xn=_t(1,2,3,4,5),kn=()=>k(k({},ye(Ie(),["component","strong"])),{level:Number}),Re=(t,s)=>{let{slots:a,attrs:l}=s;const{level:i=1}=t,d=Cn(t,["level"]);let c;xn.includes(i)?c=`h${i}`:c="h1";const p=k(k(k({},d),{component:c}),l);return r(Te,p,a)};Re.displayName="ATypographyTitle";Re.inheritAttrs=!1;Re.props=kn();W.Text=Ae;W.Title=Re;W.Paragraph=Oe;W.Link=De;W.Base=Te;W.install=function(t){return t.component(W.name,W),t.component(W.Text.displayName,Ae),t.component(W.Title.displayName,Re),t.component(W.Paragraph.displayName,Oe),t.component(W.Link.displayName,De),t};const En=12e3;function In(t){if(t&&t.ok===!1)throw new Error(t.error||"mtc.envelope.get handler failed");return t?.result??t}function Tn(){const t=ke(),{isEmbedded:s}=Ee(),a=K({phase:"idle"});async function l(d,c){if(!d||!c){a.value={phase:"error",message:"communityId / messageId 必填"};return}if(!s){a.value={phase:"error",message:"此功能仅在嵌入式 web-shell 中可用"};return}a.value={phase:"loading"};try{const p=await t.sendRaw({type:"mtc.envelope.get",communityId:d,messageId:c},En),C=In(p);if(!C||C.success!==!0){a.value={phase:"not-found",reason:C?.error};return}a.value={phase:"found",result:{origin:C.origin||"local",envelope:C.envelope||{},landmark:C.landmark??null,treeHeadId:C.treeHeadId||"",namespace:C.namespace,batchId:C.batchId,leafIndex:C.leafIndex,staging:C.staging}}}catch(p){a.value={phase:"error",message:p?.message||String(p)}}}function i(){a.value={phase:"idle"}}return{state:a,fetch:l,reset:i,isEmbedded:s}}const Pe=6e4;function ze(t){if(t&&t.ok===!1)throw new Error(t.error||"archive handler failed");return t?.result??t}function Dn(){const t=ke(),{isEmbedded:s}=Ee(),a=K([]),l=K(null),i=K(!1),d=K(""),c=K(null);function p(g){return d.value=g?.message||String(g),null}async function C(g,y){if(d.value="",!g)return p(new Error("communityId 必填"));i.value=!0;try{const I=await t.sendRaw({type:"mtc.archive.list",communityId:g,providerSpec:y},Pe),b=ze(I);return!b||b.success!==!0?p(new Error(b?.error||"列出归档失败")):(a.value=Array.isArray(b.archives)?b.archives:[],a.value)}catch(I){return p(I)}finally{i.value=!1}}async function M(g,y,I={}){if(d.value="",!g)return p(new Error("communityId 必填"));i.value=!0;try{const b=await t.sendRaw({type:"mtc.archive.push",communityId:g,providerSpec:y,packOpts:I},Pe),h=ze(b);return!h||h.success!==!0?p(new Error(h?.error||"归档推送失败")):(l.value=h.result,h.result)}catch(b){return p(b)}finally{i.value=!1}}async function w(g,y,I){if(d.value="",!g||!y)return p(new Error("communityId + archiveName 必填"));i.value=!0;try{const b=await t.sendRaw({type:"mtc.archive.restore",communityId:g,archiveName:y,providerSpec:I},Pe),h=ze(b);return!h||h.success!==!0?p(new Error(h?.error||"归档恢复失败")):(l.value=h.result,h.result)}catch(b){return p(b)}finally{i.value=!1}}async function f(){d.value="";try{const g=await t.sendRaw({type:"mtc.archive.has-stored-webdav-credentials"},Pe),y=ze(g);return!y||y.success!==!0?(c.value=!1,!1):(c.value=!!y.hasCredentials,c.value)}catch(g){return c.value=!1,p(g)}}return{archives:a,lastResult:l,loading:i,errorMessage:d,isEmbedded:s,hasStoredWebdavCredentials:c,listArchives:C,pushArchive:M,restoreArchive:w,checkStoredWebdavCredentials:f}}const fe=12e3;function me(t){if(t&&t.ok===!1)throw new Error(t.error||"governance-mofn handler failed");return t?.result??t}function st(t){if(typeof Buffer<"u"&&Buffer.isBuffer(t))return t.toString("base64");if(t instanceof Uint8Array){let s="";for(let a=0;a<t.length;a++)s+=String.fromCharCode(t[a]);return globalThis.btoa(s)}if(typeof t=="string")return t;throw new TypeError("signerKeys.{secretKey,publicKey} must be Buffer / Uint8Array / base64 string")}function On(){const t=ke(),{isEmbedded:s}=Ee(),a=K([]),l=K(null),i=K(!1),d=K("");function c(y){return d.value=y?.message||String(y),null}async function p(y){if(d.value="",!y)return c(new Error("communityId 必填"));i.value=!0;try{const I=await t.sendRaw({type:"mtc.governance-mofn.list",communityId:y},fe),b=me(I);return!b||b.success!==!0?c(new Error(b?.error||"提案列表读取失败")):(a.value=Array.isArray(b.proposals)?b.proposals:[],a.value)}catch(I){return c(I)}finally{i.value=!1}}async function C({communityId:y,proposalId:I,payload:b,members:h,threshold:A}){d.value="",i.value=!0;try{const T=await t.sendRaw({type:"mtc.governance-mofn.create",communityId:y,proposalId:I,payload:b,members:h,threshold:A},fe),D=me(T);return!D||D.success!==!0?c(new Error(D?.error||"创建提案失败")):D.proposal}catch(T){return c(T)}finally{i.value=!1}}async function M(y,I,b){if(d.value="",!b||!b.did)return c(new Error("signerKeys 必须含 did/secretKey/publicKey"));i.value=!0;try{const h={did:b.did,secretKey:st(b.secretKey),publicKey:st(b.publicKey)},A=await t.sendRaw({type:"mtc.governance-mofn.sign",communityId:y,proposalId:I,signerKeys:h},fe),T=me(A);return!T||T.success!==!0?c(new Error(T?.error||"签名提交失败")):(l.value=T.status,T.status)}catch(h){return c(h)}finally{i.value=!1}}async function w(y,I){if(d.value="",!y||!I)return c(new Error("communityId + proposalId 必填"));i.value=!0;try{const b=await t.sendRaw({type:"mtc.governance-mofn.sign-as-self",communityId:y,proposalId:I},fe),h=me(b);return!h||h.success!==!0?c(new Error(h?.error||"代签失败")):(l.value=h.status,{...h.status,signerDID:h.signerDID})}catch(b){return c(b)}finally{i.value=!1}}async function f(y,I){d.value="",i.value=!0;try{const b=await t.sendRaw({type:"mtc.governance-mofn.status",communityId:y,proposalId:I},fe),h=me(b);return!h||h.success!==!0?c(new Error(h?.error||"状态读取失败")):(l.value=h.status,h.status)}catch(b){return c(b)}finally{i.value=!1}}async function g(y,I){d.value="",i.value=!0;try{const b=await t.sendRaw({type:"mtc.governance-mofn.finalize",communityId:y,proposalId:I},fe),h=me(b);return!h||h.success!==!0?c(new Error(h?.error||"提案 finalize 失败")):h.result}catch(b){return c(b)}finally{i.value=!1}}return{proposals:a,currentStatus:l,loading:i,errorMessage:d,isEmbedded:s,listProposals:p,createProposal:C,addSignature:M,signAsSelf:w,getStatus:f,finalize:g}}const Ue=8e3;function Ke(t){if(t&&t.ok===!1)throw new Error(t.error||"cross-fed-trust handler failed");return t?.result??t}function An(){const t=ke(),{isEmbedded:s}=Ee(),a=K([]),l=K([]),i=K(!1),d=K("");function c(f){return d.value=f?.message||String(f),null}async function p(f){if(d.value="",!f)return c(new Error("localCommunityId 必填"));i.value=!0;try{const g=await t.sendRaw({type:"mtc.cross-fed-trust.list",localCommunityId:f},Ue),y=Ke(g);return!y||y.success!==!0?c(new Error(y?.error||"信任列表读取失败")):(a.value=Array.isArray(y.records)?y.records:[],a.value)}catch(g){return c(g)}finally{i.value=!1}}async function C({localCommunityId:f,remoteCommunityId:g,remoteMembers:y,expiresAt:I,note:b}){d.value="",i.value=!0;try{const h=await t.sendRaw({type:"mtc.cross-fed-trust.establish",localCommunityId:f,remoteCommunityId:g,remoteMembers:y,expiresAt:I||void 0,note:b||void 0},Ue),A=Ke(h);return!A||A.success!==!0?c(new Error(A?.error||"建立信任失败")):A.record}catch(h){return c(h)}finally{i.value=!1}}async function M(f,g){d.value="",i.value=!0;try{const y=await t.sendRaw({type:"mtc.cross-fed-trust.revoke",localCommunityId:f,remoteCommunityId:g},Ue),I=Ke(y);return!I||I.success!==!0?c(new Error(I?.error||"撤销信任失败")):I.removed}catch(y){return c(y)}finally{i.value=!1}}async function w(f){if(d.value="",!f)return c(new Error("localCommunityId 必填"));i.value=!0;try{const g=await t.sendRaw({type:"mtc.cross-fed-trust.get-trusted-dids",localCommunityId:f},Ue),y=Ke(g);return!y||y.success!==!0?c(new Error(y?.error||"DID 列表读取失败")):(l.value=Array.isArray(y.dids)?y.dids:[],l.value)}catch(g){return c(g)}finally{i.value=!1}}return{records:a,trustedDids:l,loading:i,errorMessage:d,isEmbedded:s,listTrust:p,establishTrust:C,revokeTrust:M,getTrustedDids:w}}const Qe=6e4;function Ge(t){if(t&&t.ok===!1)throw new Error(t.error||"auto-archive handler failed");return t?.result??t}function Rn(){const t=ke(),{isEmbedded:s}=Ee(),a=K(null),l=K(null),i=K(!1),d=K("");function c(w){return d.value=w?.message||String(w),null}async function p(){d.value="",i.value=!0;try{const w=await t.sendRaw({type:"mtc.auto-archive.config-get"},Qe),f=Ge(w);return!f||f.success!==!0?c(new Error(f?.error||"config-get failed")):(a.value=f.config,f.config)}catch(w){return c(w)}finally{i.value=!1}}async function C(w){if(d.value="",!w||typeof w!="object")return c(new Error("patch 必须是对象"));i.value=!0;try{const f=await t.sendRaw({type:"mtc.auto-archive.config-set",patch:w},Qe),g=Ge(f);return!g||g.success!==!0?c(new Error(g?.error||"config-set failed")):(a.value=g.config,g.config)}catch(f){return c(f)}finally{i.value=!1}}async function M(){d.value="",i.value=!0;try{const w=await t.sendRaw({type:"mtc.auto-archive.run-now"},Qe*5),f=Ge(w);return!f||f.success!==!0?c(new Error(f?.error||"run-now failed")):(l.value=f.result,await p(),f.result)}catch(w){return c(w)}finally{i.value=!1}}return{config:a,lastRunResult:l,loading:i,errorMessage:d,isEmbedded:s,getConfig:p,setConfig:C,runNow:M}}const $n={class:"mtc-audit-page"},_n={style:{"margin-top":"16px"}},Mn={key:0,style:{"margin-top":"8px"}},Nn={style:{"font-size":"12px","max-height":"240px",overflow:"auto"}},Bn={style:{"font-size":"12px","max-height":"240px",overflow:"auto"}},Pn={style:{"font-size":"12px","max-height":"200px",overflow:"auto"}},zn={style:{"font-size":"12px","max-height":"240px",overflow:"auto"}},Un={key:1},Kn={style:{"font-size":"12px","max-height":"200px",overflow:"auto"}},He=36e5,Hn={__name:"MtcAudit",setup(t){const s=Tn(),a=Dn(),l=On(),i=An(),d=Rn(),c=K("envelope"),p=se({communityId:"",messageId:""});async function C(){await s.fetch(p.communityId,p.messageId)}const M=K(!1);function w(m){navigator.clipboard&&(navigator.clipboard.writeText(JSON.stringify(m,null,2)),X.success("已复制到剪贴板"))}const f=se({communityId:"",providerKind:"filesystem",rootDir:"",useStoredCredentials:!0,url:"",username:"",password:"",remotePath:"",sinceBatchId:"",archiveName:""});async function g(){a.isEmbedded&&await a.checkStoredWebdavCredentials()}xe(g);const y=we(()=>f.providerKind==="filesystem"?{kind:"filesystem",rootDir:f.rootDir}:f.providerKind==="webdav"?f.useStoredCredentials?{kind:"webdav",useStoredCredentials:!0}:{kind:"webdav",url:f.url,username:f.username,password:f.password,remotePath:f.remotePath}:null);async function I(){await a.listArchives(f.communityId,y.value)}async function b(){const m={};f.sinceBatchId&&(m.sinceBatchId=f.sinceBatchId);const n=await a.pushArchive(f.communityId,y.value,m);n&&X.success(`归档已推送:${n.name} (${n.bytes} bytes)`)}async function h(){const m=await a.restoreArchive(f.communityId,f.archiveName,y.value);m&&X.success(`恢复完成:${m.restored} 新文件 / ${m.skipped} 跳过`)}const A=se({communityId:"",proposalId:"",payload:'{ "kind": "rule_change", "body": "" }',members:"",threshold:2});async function T(){await l.listProposals(A.communityId)}async function D(){let m;try{m=JSON.parse(A.payload)}catch(F){X.error("payload 必须是合法 JSON: "+F.message);return}const n=A.members.split(/\s+/).map(F=>F.trim()).filter(Boolean),u=await l.createProposal({communityId:A.communityId,proposalId:A.proposalId,payload:m,members:n,threshold:A.threshold});u&&(X.success(`提案已创建:${u.proposalId} (${u.threshold}-of-${u.members.length})`),await T())}async function H(m){const n=await l.finalize(A.communityId,m);n&&(X.success(`提案已 finalize: ${n.treeHeadId.slice(0,24)}...`),await T())}async function U(m){await l.getStatus(A.communityId,m)}async function V(m){const n=await l.signAsSelf(A.communityId,m);n&&(X.success(`已用本人身份 (${(n.signerDID||"").slice(-8)}) 代签 — 已收集 ${n.collected}/${n.threshold}`),await T())}const N=se({localCommunityId:"",remoteCommunityId:"",remoteMembers:"",expiresAt:"",note:""});async function G(){await i.listTrust(N.localCommunityId)}async function ve(){const m=N.remoteMembers.split(/\s+/).map(u=>u.trim()).filter(Boolean);await i.establishTrust({localCommunityId:N.localCommunityId,remoteCommunityId:N.remoteCommunityId,remoteMembers:m,expiresAt:N.expiresAt,note:N.note})&&(X.success(`信任已建立: ${N.localCommunityId} ↔ ${N.remoteCommunityId}`),await G())}async function ee(m){Ft.confirm({title:"确认撤销跨联邦信任?",content:`${N.localCommunityId} → ${m} 将不再被 inbound landmark 校验接受`,onOk:async()=>{await i.revokeTrust(N.localCommunityId,m)&&(X.success("已撤销"),await G())}})}async function oe(){await i.getTrustedDids(N.localCommunityId)}const x=se({enabled:!1,intervalHours:24,providerKind:"webdav",rootDir:"",useStoredCredentials:!0,url:"",username:"",password:"",remotePath:"",communityIdsRaw:""});function je(){const m=Number(x.intervalHours);return Number.isFinite(m)&&m>=5/60?Math.round(m*He):He*24}function $e(){return x.providerKind==="filesystem"?{kind:"filesystem",rootDir:x.rootDir}:x.useStoredCredentials?{kind:"webdav",useStoredCredentials:!0}:{kind:"webdav",url:x.url,username:x.username,password:x.password,remotePath:x.remotePath}}async function v(){const m=await d.getConfig();m&&(x.enabled=!!m.enabled,x.intervalHours=Math.round((m.intervalMs||He*24)/He),m.providerSpec&&(x.providerKind=m.providerSpec.kind,m.providerSpec.kind==="filesystem"?x.rootDir=m.providerSpec.rootDir||"":m.providerSpec.kind==="webdav"&&(x.useStoredCredentials=!!m.providerSpec.useStoredCredentials,m.providerSpec.useStoredCredentials||(x.url=m.providerSpec.url||"",x.username=m.providerSpec.username||"",x.remotePath=m.providerSpec.remotePath||""))),x.communityIdsRaw=(m.communityIds||[]).join(`
17
+ `))}async function E(){const m=x.communityIdsRaw.split(/\s+/).map(u=>u.trim()).filter(Boolean);await d.setConfig({enabled:x.enabled,intervalMs:je(),providerSpec:$e(),communityIds:m})&&X.success(x.enabled?"已保存并启动定时归档":"已保存(定时归档关闭)")}async function $(){const m=await d.runNow();if(m)if(m.status==="ok")X.success(`归档完成:${m.summary?.totalArchives||0} 包 / ${m.summary?.totalBytes||0} bytes`);else if(m.status==="partial"){const n=Object.entries(m.summary?.perCommunity||{}).filter(([,u])=>!u.ok).length;X.warning(`部分成功:${m.summary?.totalArchives||0} 包成功,${n} 个 community 失败`)}else X.error(`归档失败:${m.error||"未知错误"}`)}return xe(async()=>{d.isEmbedded&&await v()}),(m,n)=>(R(),ne("div",$n,[r(e(W).Title,{level:3},{default:o(()=>[...n[38]||(n[38]=[S("🔐 MTC 审计套件 (B4)",-1)])]),_:1}),r(e(W).Paragraph,{type:"secondary"},{default:o(()=>[...n[39]||(n[39]=[S(" Merkle envelope 查询 / 外部归档 / M-of-N 治理 / 跨联邦信任锚 — 全套对外暴露。 默认壳走 WS topic ",-1),j("code",null,"mtc.*",-1),S(",主进程未托管对应 manager 时按钮会返回错误信息。 ",-1)])]),_:1}),e(s).isEmbedded?P("",!0):(R(),B(e(q),{key:0,type:"warning","show-icon":"",message:"非嵌入式 web-shell",description:"此页所有功能依赖桌面主进程的 channelEventBatcher / channelEnvelopeArchiver / governanceMultiSig / crossFedTrust 实例 — 请用桌面 Web Shell 访问,纯浏览器模式下按钮会一律失败。",style:{"margin-bottom":"16px"}})),r(e(Wt),{"active-key":c.value,"onUpdate:activeKey":n[37]||(n[37]=u=>c.value=u)},{default:o(()=>[r(e(be),{key:"envelope",tab:"Envelope 查询"},{default:o(()=>[r(e(he),{layout:"inline",onSubmit:At(C,["prevent"])},{default:o(()=>[r(e(O),{label:"communityId"},{default:o(()=>[r(e(L),{value:p.communityId,"onUpdate:value":n[0]||(n[0]=u=>p.communityId=u),placeholder:"comm-X","allow-clear":""},null,8,["value"])]),_:1}),r(e(O),{label:"messageId"},{default:o(()=>[r(e(L),{value:p.messageId,"onUpdate:value":n[1]||(n[1]=u=>p.messageId=u),placeholder:"msg-X","allow-clear":""},null,8,["value"])]),_:1}),r(e(O),null,{default:o(()=>[r(e(z),{type:"primary","html-type":"submit",loading:e(s).state.value.phase==="loading",disabled:!e(s).isEmbedded},{default:o(()=>[...n[40]||(n[40]=[S(" 查询 ",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),_:1}),j("div",_n,[e(s).state.value.phase==="error"?(R(),B(e(q),{key:0,type:"error","show-icon":"",message:e(s).state.value.message},null,8,["message"])):e(s).state.value.phase==="not-found"?(R(),B(e(q),{key:1,type:"warning","show-icon":"",message:"未找到密码学证据",description:e(s).state.value.reason||"消息可能尚未被打包到 Merkle 批,或发送方未在线。"},null,8,["description"])):e(s).state.value.phase==="found"?(R(),ne(ue,{key:2},[r(e(rt),{bordered:"",column:1,size:"small"},{default:o(()=>[r(e(Y),{label:"来源"},{default:o(()=>[r(e(re),{color:e(s).state.value.result.origin==="local"?"green":"blue"},{default:o(()=>[S(_(e(s).state.value.result.origin==="local"?"本机批次":"远端拉取"),1)]),_:1},8,["color"]),e(s).state.value.result.staging?(R(),B(e(re),{key:0,color:"orange"},{default:o(()=>[...n[41]||(n[41]=[S("尚未关闭批次",-1)])]),_:1})):P("",!0)]),_:1}),r(e(Y),{label:"Tree Head ID"},{default:o(()=>[j("code",null,_(e(s).state.value.result.treeHeadId),1)]),_:1}),e(s).state.value.result.batchId?(R(),B(e(Y),{key:0,label:"Batch ID"},{default:o(()=>[S(_(e(s).state.value.result.batchId),1)]),_:1})):P("",!0),e(s).state.value.result.namespace?(R(),B(e(Y),{key:1,label:"Namespace"},{default:o(()=>[j("code",null,_(e(s).state.value.result.namespace),1)]),_:1})):P("",!0),e(s).state.value.result.leafIndex!==void 0?(R(),B(e(Y),{key:2,label:"Leaf Index"},{default:o(()=>[S(_(e(s).state.value.result.leafIndex),1)]),_:1})):P("",!0)]),_:1}),r(e(z),{type:"link",size:"small",style:{"padding-left":"0","margin-top":"8px"},onClick:n[2]||(n[2]=u=>M.value=!M.value)},{default:o(()=>[S(_(M.value?"收起":"展开")+" raw JSON ",1)]),_:1}),M.value?(R(),ne("div",Mn,[r(e(ie),{size:"small"},{title:o(()=>[r(e(Q),null,{default:o(()=>[n[43]||(n[43]=j("span",null,"Envelope",-1)),r(e(z),{size:"small",onClick:n[3]||(n[3]=u=>w(e(s).state.value.result.envelope))},{default:o(()=>[...n[42]||(n[42]=[S("复制",-1)])]),_:1})]),_:1})]),default:o(()=>[j("pre",Nn,_(JSON.stringify(e(s).state.value.result.envelope,null,2)),1)]),_:1}),e(s).state.value.result.landmark?(R(),B(e(ie),{key:0,size:"small",style:{"margin-top":"8px"}},{title:o(()=>[r(e(Q),null,{default:o(()=>[n[45]||(n[45]=j("span",null,"Landmark",-1)),r(e(z),{size:"small",onClick:n[4]||(n[4]=u=>w(e(s).state.value.result.landmark))},{default:o(()=>[...n[44]||(n[44]=[S("复制",-1)])]),_:1})]),_:1})]),default:o(()=>[j("pre",Bn,_(JSON.stringify(e(s).state.value.result.landmark,null,2)),1)]),_:1})):P("",!0)])):P("",!0)],64)):P("",!0)])]),_:1}),r(e(be),{key:"archive",tab:"Archive 归档"},{default:o(()=>[r(e(he),{layout:"vertical"},{default:o(()=>[r(e(O),{label:"communityId",required:""},{default:o(()=>[r(e(L),{value:f.communityId,"onUpdate:value":n[5]||(n[5]=u=>f.communityId=u),placeholder:"comm-X"},null,8,["value"])]),_:1}),r(e(O),{label:"provider 类型"},{default:o(()=>[r(e(Q),null,{default:o(()=>[r(e(z),{type:f.providerKind==="filesystem"?"primary":"default",onClick:n[6]||(n[6]=u=>f.providerKind="filesystem")},{default:o(()=>[...n[46]||(n[46]=[S(" Filesystem ",-1)])]),_:1},8,["type"]),r(e(z),{type:f.providerKind==="webdav"?"primary":"default",onClick:n[7]||(n[7]=u=>f.providerKind="webdav")},{default:o(()=>[...n[47]||(n[47]=[S(" WebDAV ",-1)])]),_:1},8,["type"])]),_:1})]),_:1}),f.providerKind==="filesystem"?(R(),B(e(O),{key:0,label:"rootDir 本地路径",required:""},{default:o(()=>[r(e(L),{value:f.rootDir,"onUpdate:value":n[8]||(n[8]=u=>f.rootDir=u),placeholder:"/path/to/archive-mirror"},null,8,["value"])]),_:1})):(R(),ne(ue,{key:1},[r(e(O),{label:"使用已保存的 WebDAV 凭据"},{default:o(()=>[r(e(Q),{direction:"vertical",style:{width:"100%"}},{default:o(()=>[r(e(Xe),{checked:f.useStoredCredentials,"onUpdate:checked":n[9]||(n[9]=u=>f.useStoredCredentials=u),disabled:e(a).hasStoredWebdavCredentials.value===!1,"checked-children":"使用 Settings 中已保存的 WebDAV 配置","un-checked-children":"本次手输(仍只在 main 进程暂存,不写盘)"},null,8,["checked","disabled"]),f.useStoredCredentials&&e(a).hasStoredWebdavCredentials.value===!0?(R(),B(e(q),{key:0,type:"success","show-icon":"",message:"已找到 Settings → 同步 → WebDAV 中保存的凭据,主进程会从 secure-config.enc(safeStorage / AES-256-GCM 加密)解密后构造 WebDAVClient — 渲染端不接触明文密码。"})):f.useStoredCredentials&&e(a).hasStoredWebdavCredentials.value===!1?(R(),B(e(q),{key:1,type:"warning","show-icon":"",message:"尚未保存 WebDAV 凭据,请先在 Settings → 同步 → WebDAV 中配置一次,然后再回来推送归档。"})):P("",!0)]),_:1})]),_:1}),f.useStoredCredentials?P("",!0):(R(),ne(ue,{key:0},[r(e(O),{label:"url"},{default:o(()=>[r(e(L),{value:f.url,"onUpdate:value":n[10]||(n[10]=u=>f.url=u),placeholder:"https://nas.example/dav"},null,8,["value"])]),_:1}),r(e(O),{label:"username"},{default:o(()=>[r(e(L),{value:f.username,"onUpdate:value":n[11]||(n[11]=u=>f.username=u)},null,8,["value"])]),_:1}),r(e(O),{label:"password"},{default:o(()=>[r(e(L),{value:f.password,"onUpdate:value":n[12]||(n[12]=u=>f.password=u),type:"password"},null,8,["value"])]),_:1}),r(e(O),{label:"remotePath"},{default:o(()=>[r(e(L),{value:f.remotePath,"onUpdate:value":n[13]||(n[13]=u=>f.remotePath=u),placeholder:"/cc-archives"},null,8,["value"])]),_:1})],64))],64)),r(e(O),{label:"(可选) sinceBatchId 增量推"},{default:o(()=>[r(e(L),{value:f.sinceBatchId,"onUpdate:value":n[14]||(n[14]=u=>f.sinceBatchId=u),placeholder:"000005"},null,8,["value"])]),_:1}),r(e(O),{label:"(restore 用) archiveName"},{default:o(()=>[r(e(L),{value:f.archiveName,"onUpdate:value":n[15]||(n[15]=u=>f.archiveName=u),placeholder:"channel-mtc-...zip"},null,8,["value"])]),_:1}),r(e(O),null,{default:o(()=>[r(e(Q),null,{default:o(()=>[r(e(z),{loading:e(a).loading.value,onClick:I},{default:o(()=>[...n[48]||(n[48]=[S("列出归档",-1)])]),_:1},8,["loading"]),r(e(z),{type:"primary",loading:e(a).loading.value,disabled:!e(a).isEmbedded,onClick:b},{default:o(()=>[...n[49]||(n[49]=[S(" 推送 ",-1)])]),_:1},8,["loading","disabled"]),r(e(z),{loading:e(a).loading.value,disabled:!e(a).isEmbedded,onClick:h},{default:o(()=>[...n[50]||(n[50]=[S(" 恢复 ",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1}),e(a).errorMessage.value?(R(),B(e(q),{key:0,type:"error","show-icon":"",message:e(a).errorMessage.value},null,8,["message"])):P("",!0),e(a).archives.value.length?(R(),B(e(Be),{key:1,size:"small",bordered:"","data-source":e(a).archives.value,style:{"margin-top":"12px"}},{header:o(()=>[j("span",null,"provider 现有归档("+_(e(a).archives.value.length)+")",1)]),renderItem:o(({item:u})=>[r(e(pe),null,{default:o(()=>[j("code",null,_(u),1),r(e(z),{size:"small",type:"link",onClick:F=>f.archiveName=u},{default:o(()=>[...n[51]||(n[51]=[S("填入恢复",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:1},8,["data-source"])):P("",!0),e(a).lastResult.value?(R(),B(e(ie),{key:2,size:"small",style:{"margin-top":"12px"}},{title:o(()=>[...n[52]||(n[52]=[S("最近一次操作",-1)])]),default:o(()=>[j("pre",Pn,_(JSON.stringify(e(a).lastResult.value,null,2)),1)]),_:1})):P("",!0)]),_:1}),r(e(be),{key:"mofn",tab:"Governance M-of-N"},{default:o(()=>[r(e(he),{layout:"vertical"},{default:o(()=>[r(e(O),{label:"communityId",required:""},{default:o(()=>[r(e(L),{value:A.communityId,"onUpdate:value":n[16]||(n[16]=u=>A.communityId=u),placeholder:"comm-X"},null,8,["value"])]),_:1}),r(e(O),{label:"proposalId",required:""},{default:o(()=>[r(e(L),{value:A.proposalId,"onUpdate:value":n[17]||(n[17]=u=>A.proposalId=u),placeholder:"prop-rule-1"},null,8,["value"])]),_:1}),r(e(O),{label:"payload (JSON)"},{default:o(()=>[r(e(Se),{value:A.payload,"onUpdate:value":n[18]||(n[18]=u=>A.payload=u),rows:3},null,8,["value"])]),_:1}),r(e(O),{label:"members(DID 列表,空白分隔)"},{default:o(()=>[r(e(Se),{value:A.members,"onUpdate:value":n[19]||(n[19]=u=>A.members=u),rows:3,placeholder:`did:chainlesschain:abc
18
+ did:chainlesschain:def`},null,8,["value"])]),_:1}),r(e(O),{label:"threshold"},{default:o(()=>[r(e(lt),{value:A.threshold,"onUpdate:value":n[20]||(n[20]=u=>A.threshold=u),min:1,max:100},null,8,["value"])]),_:1}),r(e(O),null,{default:o(()=>[r(e(Q),null,{default:o(()=>[r(e(z),{loading:e(l).loading.value,onClick:T},{default:o(()=>[...n[53]||(n[53]=[S("刷新提案列表",-1)])]),_:1},8,["loading"]),r(e(z),{type:"primary",loading:e(l).loading.value,disabled:!e(l).isEmbedded,onClick:D},{default:o(()=>[...n[54]||(n[54]=[S(" 创建提案 ",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1}),e(l).errorMessage.value?(R(),B(e(q),{key:0,type:"error","show-icon":"",message:e(l).errorMessage.value,style:{margin:"12px 0"}},null,8,["message"])):P("",!0),r(e(q),{type:"success","show-icon":"",message:"签名收集 v2 — 主进程代签",description:"点击提案行的「代我签名」按钮:renderer 只发 (communityId, proposalId),桌面主进程从 DIDManager 取本人当前身份,在主进程内完成 Ed25519 签名后写入 staging/。私钥永不离开主进程。",style:{"margin-bottom":"12px"}}),e(l).proposals.value.length?(R(),B(e(Be),{key:1,size:"small",bordered:"","data-source":e(l).proposals.value},{header:o(()=>[j("span",null,"提案列表("+_(e(l).proposals.value.length)+")",1)]),renderItem:o(({item:u})=>[r(e(pe),null,{default:o(()=>[r(e(pe).Meta,null,{title:o(()=>[r(e(Q),null,{default:o(()=>[j("code",null,_(u.proposalId),1),r(e(re),{color:u.finalized?"green":"blue"},{default:o(()=>[S(_(u.finalized?"已最终化":`${u.collected}/${u.threshold} 收集中`),1)]),_:2},1032,["color"])]),_:2},1024)]),description:o(()=>[S(" members="+_(u.members.length)+" · created "+_(u.createdAt),1)]),_:2},1024),r(e(Q),null,{default:o(()=>[r(e(z),{size:"small",loading:e(l).loading.value,onClick:F=>U(u.proposalId)},{default:o(()=>[...n[55]||(n[55]=[S("详情",-1)])]),_:1},8,["loading","onClick"]),r(e(z),{size:"small",disabled:u.finalized||!e(l).isEmbedded,loading:e(l).loading.value,onClick:F=>V(u.proposalId)},{default:o(()=>[...n[56]||(n[56]=[S(" 代我签名 ",-1)])]),_:1},8,["disabled","loading","onClick"]),r(e(z),{size:"small",type:"primary",disabled:u.finalized||u.collected<u.threshold||!e(l).isEmbedded,loading:e(l).loading.value,onClick:F=>H(u.proposalId)},{default:o(()=>[...n[57]||(n[57]=[S(" Finalize ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:2},1024)]),_:2},1024)]),_:1},8,["data-source"])):P("",!0),e(l).currentStatus.value?(R(),B(e(ie),{key:2,size:"small",style:{"margin-top":"12px"}},{title:o(()=>[...n[58]||(n[58]=[S("当前提案状态",-1)])]),default:o(()=>[j("pre",zn,_(JSON.stringify(e(l).currentStatus.value,null,2)),1)]),_:1})):P("",!0)]),_:1}),r(e(be),{key:"trust",tab:"Cross-Fed Trust"},{default:o(()=>[r(e(he),{layout:"vertical"},{default:o(()=>[r(e(O),{label:"localCommunityId",required:""},{default:o(()=>[r(e(L),{value:N.localCommunityId,"onUpdate:value":n[21]||(n[21]=u=>N.localCommunityId=u),placeholder:"comm-engineering"},null,8,["value"])]),_:1}),r(e(O),{label:"remoteCommunityId"},{default:o(()=>[r(e(L),{value:N.remoteCommunityId,"onUpdate:value":n[22]||(n[22]=u=>N.remoteCommunityId=u),placeholder:"comm-research"},null,8,["value"])]),_:1}),r(e(O),{label:"remoteMembers(DID 列表,空白分隔)"},{default:o(()=>[r(e(Se),{value:N.remoteMembers,"onUpdate:value":n[23]||(n[23]=u=>N.remoteMembers=u),rows:3},null,8,["value"])]),_:1}),r(e(O),{label:"expiresAt(ISO 时间,留空表示永久)"},{default:o(()=>[r(e(L),{value:N.expiresAt,"onUpdate:value":n[24]||(n[24]=u=>N.expiresAt=u),placeholder:"2099-01-01T00:00:00Z"},null,8,["value"])]),_:1}),r(e(O),{label:"note (可选)"},{default:o(()=>[r(e(L),{value:N.note,"onUpdate:value":n[25]||(n[25]=u=>N.note=u)},null,8,["value"])]),_:1}),r(e(O),null,{default:o(()=>[r(e(Q),null,{default:o(()=>[r(e(z),{loading:e(i).loading.value,onClick:G},{default:o(()=>[...n[59]||(n[59]=[S("刷新",-1)])]),_:1},8,["loading"]),r(e(z),{type:"primary",loading:e(i).loading.value,disabled:!e(i).isEmbedded,onClick:ve},{default:o(()=>[...n[60]||(n[60]=[S(" 建立信任 ",-1)])]),_:1},8,["loading","disabled"]),r(e(z),{loading:e(i).loading.value,onClick:oe},{default:o(()=>[...n[61]||(n[61]=[S("查看合并 DID 集",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),e(i).errorMessage.value?(R(),B(e(q),{key:0,type:"error","show-icon":"",message:e(i).errorMessage.value},null,8,["message"])):P("",!0),e(i).records.value.length?(R(),B(e(Be),{key:1,size:"small",bordered:"","data-source":e(i).records.value,style:{"margin-top":"12px"}},{header:o(()=>[j("span",null,"已建立信任("+_(e(i).records.value.length)+")",1)]),renderItem:o(({item:u})=>[r(e(pe),null,{default:o(()=>[r(e(pe).Meta,null,{title:o(()=>[r(e(Q),null,{default:o(()=>[j("code",null,_(u.remoteCommunityId),1),r(e(re),{color:"blue"},{default:o(()=>[S(_(u.remoteMembers.length)+" 成员",1)]),_:2},1024),u.expiresAt?(R(),B(e(re),{key:0,color:"orange"},{default:o(()=>[S("expires "+_(u.expiresAt),1)]),_:2},1024)):(R(),B(e(re),{key:1,color:"green"},{default:o(()=>[...n[62]||(n[62]=[S("永久",-1)])]),_:1}))]),_:2},1024)]),description:o(()=>[S(_(u.note||"(无备注)")+" · issued "+_(u.issuedAt),1)]),_:2},1024),r(e(z),{size:"small",danger:"",disabled:!e(i).isEmbedded,onClick:F=>ee(u.remoteCommunityId)},{default:o(()=>[...n[63]||(n[63]=[S(" 撤销 ",-1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),_:1},8,["data-source"])):P("",!0),e(i).trustedDids.value.length?(R(),B(e(ie),{key:2,size:"small",style:{"margin-top":"12px"}},{title:o(()=>[S("合并 DID 集("+_(e(i).trustedDids.value.length)+" 个)",1)]),default:o(()=>[r(e(Be),{size:"small","data-source":e(i).trustedDids.value},{renderItem:o(({item:u})=>[r(e(pe),null,{default:o(()=>[j("code",null,_(u),1)]),_:2},1024)]),_:1},8,["data-source"])]),_:1})):P("",!0)]),_:1}),r(e(be),{key:"auto-archive",tab:"Auto Archive 定时归档"},{default:o(()=>[r(e(q),{type:"info","show-icon":"",message:"B4-auto-archive v1 — 主进程内的定时器",description:"开启后桌面主进程会按设定的间隔自动 ChannelEnvelopeArchiver.push 一遍所有目标 community。最小间隔 5 分钟(防误配)。任何归档失败会记入 lastRunStatus='partial',不会中断后续 community 的归档。",style:{"margin-bottom":"16px"}}),r(e(he),{layout:"vertical"},{default:o(()=>[r(e(O),{label:"启用定时归档"},{default:o(()=>[r(e(Xe),{checked:x.enabled,"onUpdate:checked":n[26]||(n[26]=u=>x.enabled=u)},null,8,["checked"])]),_:1}),r(e(O),{label:"归档间隔(小时)"},{default:o(()=>[r(e(lt),{value:x.intervalHours,"onUpdate:value":n[27]||(n[27]=u=>x.intervalHours=u),min:.1,max:168,step:1},null,8,["value"]),r(e(W).Text,{type:"secondary",style:{"margin-left":"8px"}},{default:o(()=>[...n[64]||(n[64]=[S(" ≥ 5 分钟(0.083 小时);常用值:1 / 6 / 24 / 168 ",-1)])]),_:1})]),_:1}),r(e(O),{label:"归档目标 provider"},{default:o(()=>[r(e(Q),null,{default:o(()=>[r(e(z),{type:x.providerKind==="filesystem"?"primary":"default",onClick:n[28]||(n[28]=u=>x.providerKind="filesystem")},{default:o(()=>[...n[65]||(n[65]=[S(" Filesystem ",-1)])]),_:1},8,["type"]),r(e(z),{type:x.providerKind==="webdav"?"primary":"default",onClick:n[29]||(n[29]=u=>x.providerKind="webdav")},{default:o(()=>[...n[66]||(n[66]=[S(" WebDAV ",-1)])]),_:1},8,["type"])]),_:1})]),_:1}),x.providerKind==="filesystem"?(R(),B(e(O),{key:0,label:"rootDir 本地路径",required:""},{default:o(()=>[r(e(L),{value:x.rootDir,"onUpdate:value":n[30]||(n[30]=u=>x.rootDir=u),placeholder:"/path/to/archive-mirror"},null,8,["value"])]),_:1})):(R(),ne(ue,{key:1},[r(e(O),{label:"使用已保存的 WebDAV 凭据"},{default:o(()=>[r(e(Xe),{checked:x.useStoredCredentials,"onUpdate:checked":n[31]||(n[31]=u=>x.useStoredCredentials=u)},null,8,["checked"]),r(e(W).Text,{type:"secondary",style:{"margin-left":"8px"}},{default:o(()=>[...n[67]||(n[67]=[S(" 建议 ON — main 进程从 secure-config.enc 解密,密码不写入 cron 配置 ",-1)])]),_:1})]),_:1}),x.useStoredCredentials?P("",!0):(R(),ne(ue,{key:0},[r(e(O),{label:"url"},{default:o(()=>[r(e(L),{value:x.url,"onUpdate:value":n[32]||(n[32]=u=>x.url=u),placeholder:"https://nas.example/dav"},null,8,["value"])]),_:1}),r(e(O),{label:"username"},{default:o(()=>[r(e(L),{value:x.username,"onUpdate:value":n[33]||(n[33]=u=>x.username=u)},null,8,["value"])]),_:1}),r(e(O),{label:"password"},{default:o(()=>[r(e(L),{value:x.password,"onUpdate:value":n[34]||(n[34]=u=>x.password=u),type:"password"},null,8,["value"])]),_:1}),r(e(O),{label:"remotePath"},{default:o(()=>[r(e(L),{value:x.remotePath,"onUpdate:value":n[35]||(n[35]=u=>x.remotePath=u),placeholder:"/cc-archives"},null,8,["value"])]),_:1})],64))],64)),r(e(O),{label:"目标 community(每行一个;留空表示全部已加入的)"},{default:o(()=>[r(e(Se),{value:x.communityIdsRaw,"onUpdate:value":n[36]||(n[36]=u=>x.communityIdsRaw=u),rows:3,placeholder:`comm-A
19
+ comm-B`},null,8,["value"])]),_:1}),r(e(O),null,{default:o(()=>[r(e(Q),null,{default:o(()=>[r(e(z),{type:"primary",loading:e(d).loading.value,disabled:!e(d).isEmbedded,onClick:E},{default:o(()=>[...n[68]||(n[68]=[S(" 保存配置 ",-1)])]),_:1},8,["loading","disabled"]),r(e(z),{loading:e(d).loading.value,disabled:!e(d).isEmbedded,onClick:$},{default:o(()=>[...n[69]||(n[69]=[S(" 立即归档一次 ",-1)])]),_:1},8,["loading","disabled"]),r(e(z),{disabled:!e(d).isEmbedded,onClick:v},{default:o(()=>[...n[70]||(n[70]=[S("刷新",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1}),e(d).errorMessage.value?(R(),B(e(q),{key:0,type:"error","show-icon":"",message:e(d).errorMessage.value,style:{"margin-top":"12px"}},null,8,["message"])):P("",!0),e(d).config.value?(R(),B(e(ie),{key:1,size:"small",title:"当前持久化配置 + 上次运行状态",style:{"margin-top":"16px"}},{default:o(()=>[r(e(rt),{column:2,size:"small"},{default:o(()=>[r(e(Y),{label:"enabled"},{default:o(()=>[r(e(re),{color:e(d).config.value.enabled?"green":"default"},{default:o(()=>[S(_(e(d).config.value.enabled?"ON":"OFF"),1)]),_:1},8,["color"])]),_:1}),r(e(Y),{label:"interval"},{default:o(()=>[S(_(Math.round((e(d).config.value.intervalMs||0)/1e3/60))+" 分钟 ",1)]),_:1}),r(e(Y),{label:"providerKind"},{default:o(()=>[S(_(e(d).config.value.providerSpec?.kind||"—"),1)]),_:1}),r(e(Y),{label:"targets"},{default:o(()=>[S(_(e(d).config.value.communityIds.length||"全部"),1)]),_:1}),r(e(Y),{label:"lastRunAt"},{default:o(()=>[S(_(e(d).config.value.lastRunAt?new Date(e(d).config.value.lastRunAt).toLocaleString():"—"),1)]),_:1}),r(e(Y),{label:"lastRunStatus"},{default:o(()=>[e(d).config.value.lastRunStatus?(R(),B(e(re),{key:0,color:e(d).config.value.lastRunStatus==="ok"?"green":e(d).config.value.lastRunStatus==="partial"?"orange":"red"},{default:o(()=>[S(_(e(d).config.value.lastRunStatus),1)]),_:1},8,["color"])):(R(),ne("span",Un,"—"))]),_:1})]),_:1}),e(d).config.value.lastRunError?(R(),B(e(q),{key:0,type:"error","show-icon":"",message:e(d).config.value.lastRunError,style:{"margin-top":"8px"}},null,8,["message"])):P("",!0)]),_:1})):P("",!0),e(d).lastRunResult.value&&e(d).lastRunResult.value.summary?(R(),B(e(ie),{key:2,size:"small",title:"本次手动 run-now 摘要",style:{"margin-top":"12px"}},{default:o(()=>[j("pre",Kn,_(JSON.stringify(e(d).lastRunResult.value.summary,null,2)),1)]),_:1})):P("",!0)]),_:1})]),_:1},8,["active-key"])]))}},il=Mt(Hn,[["__scopeId","data-v-96ccb8cf"]]);export{il as default};
@@ -1 +1 @@
1
- import{_ as nt,u as at,b as ot,d as v}from"./index-B2f4ltyM.js";import{s as lt}from"./community-parser-CO25nZFt.js";import{R as rt,al as st,B as it,o as _e,k as be,aO as ut,aC as ct,f as pt}from"./icons-zXb7lDZs.js";import{o as dt,M as m,R as b,P as i,c as a,N as t,Q as h,S as _,K as d,r as x,L as u,O as p,u as y,F as C,_ as j,$ as ft,f as Y,a as ke}from"./vendor-B6ToihkA.js";function P(s){const r=lt(s);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 oe=Object.freeze(["create_component","add_feature","fix_bug","refactor","add_api","add_test","update_style","configure","general"]),Le=Object.freeze(["draft","complete","refined"]),xe=Object.freeze(["naming","architecture","testing","style","imports","components"]);function D(s,r=0){return typeof s=="number"&&Number.isFinite(s)?s:r}function q(s,r){if(s==null)return r;if(typeof s!="string")return s;try{return JSON.parse(s)}catch{return s}}function mt(s){const r=P(s);return!r||typeof r!="object"||Array.isArray(r)?null:{intent:String(r.intent||"general"),confidence:D(r.confidence,0)}}function gt(s){const r=P(s);if(!r||typeof r!="object"||Array.isArray(r))return null;const l=Array.isArray(r.entities)?r.entities.map(g=>g&&typeof g=="object"?{type:String(g.type||""),value:String(g.value||"")}:null).filter(Boolean):[];return{entities:l,count:D(r.count,l.length)}}function yt(s){const r=P(s);if(!r||typeof r!="object"||Array.isArray(r))return null;const l=Array.isArray(r.detected)?r.detected.filter(g=>typeof g=="string"):[];return{detected:l,primary:r.primary?String(r.primary):l[0]||null}}function vt(s,r=0){if(!s||typeof s!="object")return null;const l=s.id||"";return l?{key:l,id:l,inputText:s.inputText??s.input_text??"",intent:String(s.intent||"general"),entities:q(s.entities,[]),techStack:q(s.techStack??s.tech_stack,[]),spec:q(s.spec,null),completenessScore:D(s.completenessScore??s.completeness_score,0),ambiguities:q(s.ambiguities,[]),status:String(s.status||"draft").toLowerCase(),createdAt:s.createdAt??s.created_at??null,updatedAt:s.updatedAt??s.updated_at??null,_idx:r}:null}function _t(s){const r=P(s);return Array.isArray(r)?r.map(vt).filter(Boolean):[]}function bt(s){const r=P(s);return!r||typeof r!="object"||Array.isArray(r)||r.translationId===void 0?null:{translated:!!r.translated,translationId:r.translationId,intent:String(r.intent||""),completeness:D(r.completeness,0)}}function kt(s){if(!s)return{noDb:!1,error:""};const r=/No ChainlessChain project database/i.test(s)||/Cannot read properties of undefined \(reading ['"]prepare['"]\)/i.test(s)||/TypeError.*prepare/i.test(s),l=s.match(/Error:\s*(No ChainlessChain project database[^\r\n]*)/i);if(l)return{noDb:!0,error:l[1].trim()};const g=s.match(/TypeError:\s*(.+?)(?:\r?\n|$)/i);return{noDb:r,error:g?g[1].trim():""}}function xt(s,r=0){if(!s||typeof s!="object")return null;const l=s.id||"";return l?{key:l,id:l,category:String(s.category||""),pattern:String(s.pattern||""),examples:q(s.examples,[]),confidence:D(s.confidence,0),sourceFiles:q(s.sourceFiles??s.source_files,[]),createdAt:s.createdAt??s.created_at??null,_idx:r}:null}function ht(s){const r=P(s);return Array.isArray(r)?r.map(xt).filter(Boolean):[]}const $t={translations:{total:0,byIntent:{},byStatus:{draft:0,complete:0,refined:0},avgCompleteness:0},conventions:{total:0,byCategory:{}}};function Ct(s){const r=JSON.parse(JSON.stringify($t));for(const g of oe)r.translations.byIntent[g]=0;for(const g of xe)r.conventions.byCategory[g]=0;const l=P(s);if(!l||typeof l!="object"||Array.isArray(l))return r;if(l.translations&&typeof l.translations=="object"){if(r.translations.total=D(l.translations.total,0),r.translations.avgCompleteness=D(l.translations.avgCompleteness??l.translations.avg_completeness,0),l.translations.byIntent&&typeof l.translations.byIntent=="object")for(const[g,S]of Object.entries(l.translations.byIntent))typeof S=="number"&&Number.isFinite(S)&&(r.translations.byIntent[g]=S);if(l.translations.byStatus&&typeof l.translations.byStatus=="object")for(const g of Object.keys(r.translations.byStatus))r.translations.byStatus[g]=D(l.translations.byStatus[g],0)}if(l.conventions&&typeof l.conventions=="object"&&(r.conventions.total=D(l.conventions.total,0),l.conventions.byCategory&&typeof l.conventions.byCategory=="object"))for(const[g,S]of Object.entries(l.conventions.byCategory))typeof S=="number"&&Number.isFinite(S)&&(r.conventions.byCategory[g]=S);return r}function ae(s){if(s==null||s==="")return"—";const r=typeof s=="number"?new Date(s):new Date(String(s));return isNaN(r.getTime())?String(s):r.toLocaleString("zh-CN",{hour12:!1})}const St={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},zt={class:"page-title"},At={class:"page-sub"},Tt={class:"filter-bar"},jt={key:0,style:{color:"var(--text-primary)"}},Ft={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},wt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Nt={class:"filter-bar"},Ot={key:1,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Lt={key:0,style:{color:"var(--text-muted)"}},Dt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Rt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Et={key:0,style:{"margin-bottom":"12px"}},It={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Ut={style:{color:"var(--text-secondary)","font-size":"12px"}},Pt={key:1,style:{"margin-bottom":"12px"}},Jt={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Mt={key:0,style:{color:"var(--text-muted)"}},Bt={key:2},qt={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Kt={key:0,style:{color:"var(--text-muted)"}},Vt={key:0,style:{"padding-top":"8px"}},Wt={style:{"white-space":"pre-wrap",color:"var(--text-primary)"}},Gt={style:{"margin-top":"16px"}},Qt={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},Yt={class:"json-block"},Ht={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},Xt={class:"json-block"},Zt={key:0},en={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},tn={class:"json-block"},nn={__name:"NLProgramming",setup(s){const r=at(),{t:l}=ot(),g=x(!1),S=x(!1),le=x(!1),re=x(!1),he=x([]),se=x([]),F=x({translations:{total:0,byIntent:{},byStatus:{draft:0,complete:0,refined:0},avgCompleteness:0},conventions:{total:0,byCategory:{}}}),ie=x("translations"),K=x(""),V=x(""),H=x(""),ue=x(!1),X=x(!1),Z=x(!1),ce=x(!1),pe=ke({text:""}),w=ke({text:"",intent:null}),k=ke({category:"naming",pattern:"",examples:"",confidence:.8}),N=x(null),O=x(null),T=x(null),ee=x({noDb:!1,error:""}),$=x(null),De=Y(()=>[{title:l("nlprog.translationCols.inputText"),key:"inputText"},{title:l("nlprog.translationCols.intent"),key:"intent",width:"140px"},{title:l("nlprog.translationCols.completeness"),key:"completeness",width:"160px"},{title:l("nlprog.translationCols.status"),key:"status",width:"100px"},{title:l("nlprog.translationCols.updatedAt"),key:"updatedAt",width:"160px"},{title:l("nlprog.translationCols.action"),key:"action",width:"210px"}]),Re=Y(()=>[{title:l("nlprog.conventionCols.category"),key:"category",width:"120px"},{title:l("nlprog.conventionCols.pattern"),key:"pattern"},{title:l("nlprog.conventionCols.examples"),key:"examples",width:"220px"},{title:l("nlprog.conventionCols.confidence"),key:"confidence",width:"90px"},{title:l("nlprog.conventionCols.createdAt"),key:"createdAt",width:"160px"},{title:l("nlprog.conventionCols.action"),key:"action",width:"90px"}]),Ee=Y(()=>F.value.translations.avgCompleteness*100),Ie=Y(()=>{let e=he.value;return K.value&&(e=e.filter(n=>n.intent===K.value)),V.value&&(e=e.filter(n=>n.status===V.value)),e}),Ue=Y(()=>H.value?se.value.filter(e=>e.category===H.value):se.value);function J(e){const n=`nlprog.intentLabels.${e}`,c=l(n);return c===n?e:c}function te(e){return{create_component:"blue",add_feature:"green",fix_bug:"red",refactor:"purple",add_api:"cyan",add_test:"orange",update_style:"magenta",configure:"gold",general:"default"}[e]||"default"}function W(e){const n=`nlprog.statusLabels.${e}`,c=l(n);return c===n?e:c}function $e(e){return{draft:"default",complete:"green",refined:"cyan"}[e]||"default"}function de(e){const n=`nlprog.categoryLabels.${e}`,c=l(n);return c===n?e:c}function Pe(e){return{naming:"blue",architecture:"purple",testing:"cyan",style:"magenta",imports:"orange",components:"green"}[e]||"default"}function fe(e){return e>=.7?"#52c41a":e>=.4?"#faad14":"#ff4d4f"}function Je(e,n){return e?e.length>n?e.slice(0,n)+"...":e:""}function me(e){if(e==null)return"—";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Me({key:e}){e==="analyze"?(N.value=null,O.value=null,T.value=null,ue.value=!0):e==="translate"?(ee.value={noDb:!1,error:""},X.value=!0):e==="convention"&&(Z.value=!0)}async function R(){g.value=!0;try{const[e,n,c]=await Promise.all([r.execute("nlprog list --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("nlprog conventions --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("nlprog stats --json",8e3).catch(()=>({output:""}))]);he.value=_t(e.output),se.value=ht(n.output),F.value=Ct(c.output)}catch(e){v.error(l("nlprog.msg.loadFailed")+": "+(e?.message||e))}finally{g.value=!1}}async function Be(){const e=pe.text.trim();if(!e){v.warning(l("nlprog.msg.textEmpty"));return}S.value=!0,N.value=null,O.value=null,T.value=null;try{const n=e.replace(/"/g,'\\"'),[c,L,E]=await Promise.all([r.execute(`nlprog classify "${n}" --json`,8e3).catch(()=>({output:""})),r.execute(`nlprog extract "${n}" --json`,8e3).catch(()=>({output:""})),r.execute(`nlprog detect-stack "${n}" --json`,8e3).catch(()=>({output:""}))]);N.value=mt(c.output),O.value=gt(L.output),T.value=yt(E.output),!N.value&&!O.value&&!T.value&&v.error(l("nlprog.msg.analyzeFailed"))}catch(n){v.error(l("nlprog.msg.analyzeFailed")+": "+(n?.message||n))}finally{S.value=!1}}async function qe(){const e=w.text.trim();if(!e){v.warning(l("nlprog.msg.translateTextEmpty"));return}le.value=!0,ee.value={noDb:!1,error:""};try{const n=[`nlprog translate "${e.replace(/"/g,'\\"')}"`];w.intent&&n.push(`--intent ${w.intent}`),n.push("--json");const{output:c}=await r.execute(n.join(" "),12e3),L=kt(c);if(L.noDb){ee.value=L;return}const E=bt(c);if(!E){v.error(l("nlprog.msg.translateFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.translateSuccess",{pct:(E.completeness*100).toFixed(0)})),X.value=!1,Ce(),await R()}catch(n){v.error(l("nlprog.msg.translateFailed")+": "+(n?.message||n))}finally{le.value=!1}}async function Ke(e,n){if(n!==e.status)try{const{output:c}=await r.execute(`nlprog status ${e.id} ${n} --json`,8e3);if(/error|invalid/i.test(c)&&!/"updated"/.test(c)){v.error(l("nlprog.msg.transitionFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.transitionSuccess",{label:W(n)})),await R()}catch(c){v.error(l("nlprog.msg.transitionFailed")+": "+(c?.message||c))}}async function Ve(e){try{const{output:n}=await r.execute(`nlprog remove ${e.id} --json`,8e3);if(/error/i.test(n)&&!/"removed"/.test(n)){v.error(l("nlprog.msg.deleteFailed")+": "+n.slice(0,120));return}v.success(l("nlprog.msg.deleteSuccess")),await R()}catch(n){v.error(l("nlprog.msg.deleteFailed")+": "+(n?.message||n))}}function We(e){$.value=e,ce.value=!0}async function Ge(){const e=k.pattern.trim();if(!e){v.warning(l("nlprog.msg.patternEmpty"));return}if(k.examples.trim())try{JSON.parse(k.examples)}catch{v.warning(l("nlprog.msg.examplesBadJson"));return}re.value=!0;try{const n=[`nlprog convention-add --category ${k.category}`];n.push(`--pattern "${e.replace(/"/g,'\\"')}"`),k.examples.trim()&&n.push(`--examples '${k.examples.trim().replace(/'/g,"'\\''")}'`),k.confidence!=null&&n.push(`--confidence ${k.confidence}`),n.push("--json");const{output:c}=await r.execute(n.join(" "),1e4);if(/error|invalid|失败/i.test(c)&&!/"added"/.test(c)){v.error(l("nlprog.msg.addFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.addSuccess")),Z.value=!1,Se(),ie.value="conventions",await R()}catch(n){v.error(l("nlprog.msg.addFailed")+": "+(n?.message||n))}finally{re.value=!1}}async function Qe(e){try{const{output:n}=await r.execute(`nlprog convention-remove ${e.id} --json`,8e3);if(/error/i.test(n)&&!/"removed"/.test(n)){v.error(l("nlprog.msg.deleteFailed")+": "+n.slice(0,120));return}v.success(l("nlprog.msg.deleteSuccess")),await R()}catch(n){v.error(l("nlprog.msg.deleteFailed")+": "+(n?.message||n))}}function Ce(){w.text="",w.intent=null}function Se(){k.category="naming",k.pattern="",k.examples="",k.confidence=.8}return dt(R),(e,n)=>{const c=d("a-button"),L=d("a-menu-item"),E=d("a-menu"),ze=d("a-dropdown"),Ae=d("a-space"),G=d("a-statistic"),I=d("a-card"),Q=d("a-col"),Ye=d("a-row"),z=d("a-tag"),M=d("a-radio-button"),ge=d("a-radio-group"),Te=d("a-progress"),je=d("a-popconfirm"),Fe=d("a-table"),we=d("a-tab-pane"),He=d("a-tabs"),ye=d("a-textarea"),U=d("a-form-item"),ve=d("a-form"),ne=d("a-modal"),Ne=d("a-select-option"),Oe=d("a-select"),Xe=d("a-alert"),Ze=d("a-input"),et=d("a-input-number"),B=d("a-descriptions-item"),tt=d("a-descriptions");return u(),m("div",null,[b("div",St,[b("div",null,[b("h2",zt,i(e.$t("nlprog.title")),1),b("p",At,i(e.$t("nlprog.subtitle")),1)]),a(Ae,null,{default:t(()=>[a(c,{loading:g.value,onClick:R},{icon:t(()=>[a(y(rt))]),default:t(()=>[p(" "+i(e.$t("nlprog.refresh")),1)]),_:1},8,["loading"]),a(ze,{trigger:["click"]},{overlay:t(()=>[a(E,{onClick:Me},{default:t(()=>[a(L,{key:"analyze"},{default:t(()=>[a(y(it)),p(" "+i(e.$t("nlprog.actions.analyze")),1)]),_:1}),a(L,{key:"translate"},{default:t(()=>[a(y(_e)),p(" "+i(e.$t("nlprog.actions.translate")),1)]),_:1}),a(L,{key:"convention"},{default:t(()=>[a(y(be)),p(" "+i(e.$t("nlprog.actions.convention")),1)]),_:1})]),_:1})]),default:t(()=>[a(c,{type:"primary"},{icon:t(()=>[a(y(st))]),default:t(()=>[p(" "+i(e.$t("nlprog.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),a(Ye,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(Q,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(G,{title:e.$t("nlprog.stats.translations"),value:F.value.translations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(y(_e))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(Q,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(G,{title:e.$t("nlprog.stats.avgCompleteness"),value:Ee.value,precision:1,suffix:"%","value-style":{color:F.value.translations.avgCompleteness>=.7?"#52c41a":"#faad14",fontSize:"20px"}},{prefix:t(()=>[a(y(ut))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(Q,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(G,{title:e.$t("nlprog.stats.drafts"),value:F.value.translations.byStatus.draft,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:t(()=>[a(y(ct))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(Q,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(G,{title:e.$t("nlprog.stats.completed"),value:F.value.translations.byStatus.complete,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:t(()=>[a(y(pt))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(Q,{xs:24,sm:8,lg:4},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(G,{title:e.$t("nlprog.stats.conventions"),value:F.value.conventions.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:t(()=>[a(y(be))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),F.value.translations.total>0?(u(),h(I,{key:0,title:e.$t("nlprog.intentCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:t(()=>[a(Ae,{size:[12,8],wrap:""},{default:t(()=>[(u(!0),m(C,null,j(y(oe),o=>(u(),h(z,{key:o,color:te(o)},{default:t(()=>[p(i(J(o))+": "+i(F.value.translations.byIntent[o]||0),1)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):_("",!0),a(He,{activeKey:ie.value,"onUpdate:activeKey":n[3]||(n[3]=o=>ie.value=o),class:"nlprog-tabs"},{default:t(()=>[a(we,{key:"translations",tab:e.$t("nlprog.tabs.translations")},{default:t(()=>[b("div",Tt,[a(ge,{value:K.value,"onUpdate:value":n[0]||(n[0]=o=>K.value=o),size:"small"},{default:t(()=>[a(M,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allIntents")),1)]),_:1}),(u(!0),m(C,null,j(y(oe),o=>(u(),h(M,{key:o,value:o},{default:t(()=>[p(i(J(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),a(ge,{value:V.value,"onUpdate:value":n[1]||(n[1]=o=>V.value=o),size:"small","button-style":"solid"},{default:t(()=>[a(M,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allStatuses")),1)]),_:1}),(u(!0),m(C,null,j(y(Le),o=>(u(),h(M,{key:o,value:o},{default:t(()=>[p(i(W(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Fe,{columns:De.value,"data-source":Ie.value,pagination:{pageSize:20,showTotal:o=>e.$t("nlprog.table.totalSuffix",{n:o})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:o,record:f})=>[o.key==="inputText"?(u(),m("span",jt,i(Je(f.inputText,80)),1)):_("",!0),o.key==="intent"?(u(),h(z,{key:1,color:te(f.intent),style:{"font-size":"11px"}},{default:t(()=>[p(i(J(f.intent)),1)]),_:2},1032,["color"])):_("",!0),o.key==="completeness"?(u(),h(Te,{key:2,percent:Math.round(f.completenessScore*100),size:"small","stroke-color":fe(f.completenessScore),format:()=>(f.completenessScore*100).toFixed(0)+"%"},null,8,["percent","stroke-color","format"])):_("",!0),o.key==="status"?(u(),h(z,{key:3,color:$e(f.status)},{default:t(()=>[p(i(W(f.status)),1)]),_:2},1032,["color"])):_("",!0),o.key==="updatedAt"?(u(),m("span",Ft,i(y(ae)(f.updatedAt)),1)):_("",!0),o.key==="action"?(u(),m(C,{key:5},[a(c,{size:"small",type:"link",onClick:A=>We(f)},{default:t(()=>[p(i(e.$t("nlprog.table.actionDetails")),1)]),_:1},8,["onClick"]),a(ze,{trigger:["click"]},{overlay:t(()=>[a(E,{onClick:A=>Ke(f,A.key)},{default:t(()=>[(u(!0),m(C,null,j(y(Le),A=>(u(),h(L,{key:A,disabled:A===f.status},{default:t(()=>[p(i(W(A)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:t(()=>[a(c,{size:"small",type:"link"},{default:t(()=>[p(i(e.$t("nlprog.table.actionStatusDropdown")),1)]),_:1})]),_:2},1024),a(je,{title:e.$t("nlprog.deleteTranslationConfirm.title"),"ok-text":e.$t("nlprog.deleteTranslationConfirm.ok"),"cancel-text":e.$t("nlprog.deleteTranslationConfirm.cancel"),onConfirm:A=>Ve(f)},{default:t(()=>[a(c,{size:"small",type:"link",danger:""},{default:t(()=>[p(i(e.$t("nlprog.deleteTranslationConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):_("",!0)]),emptyText:t(()=>[b("div",wt,[a(y(_e),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+i(K.value||V.value?e.$t("nlprog.table.emptyTranslationsFiltered"):e.$t("nlprog.table.emptyTranslations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(we,{key:"conventions",tab:e.$t("nlprog.tabs.conventions")},{default:t(()=>[b("div",Nt,[a(ge,{value:H.value,"onUpdate:value":n[2]||(n[2]=o=>H.value=o),size:"small","button-style":"solid"},{default:t(()=>[a(M,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allCategories")),1)]),_:1}),(u(!0),m(C,null,j(y(xe),o=>(u(),h(M,{key:o,value:o},{default:t(()=>[p(i(de(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Fe,{columns:Re.value,"data-source":Ue.value,pagination:{pageSize:20,showTotal:o=>e.$t("nlprog.table.totalSuffix",{n:o})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:o,record:f})=>[o.key==="category"?(u(),h(z,{key:0,color:Pe(f.category)},{default:t(()=>[p(i(de(f.category)),1)]),_:2},1032,["color"])):_("",!0),o.key==="pattern"?(u(),m("span",Ot,i(f.pattern),1)):_("",!0),o.key==="examples"?(u(),m(C,{key:2},[(u(!0),m(C,null,j(Array.isArray(f.examples)?f.examples.slice(0,3):[],A=>(u(),h(z,{key:A,color:"default",style:{"font-size":"10px","font-family":"monospace",margin:"1px"}},{default:t(()=>[p(i(A),1)]),_:2},1024))),128)),!Array.isArray(f.examples)||f.examples.length===0?(u(),m("span",Lt,"—")):_("",!0)],64)):_("",!0),o.key==="confidence"?(u(),m("span",{key:3,style:ft({color:fe(f.confidence),fontWeight:500})},i((f.confidence*100).toFixed(0))+"% ",5)):_("",!0),o.key==="createdAt"?(u(),m("span",Dt,i(y(ae)(f.createdAt)),1)):_("",!0),o.key==="action"?(u(),h(je,{key:5,title:e.$t("nlprog.deleteConventionConfirm.title"),"ok-text":e.$t("nlprog.deleteConventionConfirm.ok"),"cancel-text":e.$t("nlprog.deleteConventionConfirm.cancel"),onConfirm:A=>Qe(f)},{default:t(()=>[a(c,{size:"small",type:"link",danger:""},{default:t(()=>[p(i(e.$t("nlprog.deleteConventionConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):_("",!0)]),emptyText:t(()=>[b("div",Rt,[a(y(be),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+i(e.$t("nlprog.table.emptyConventions")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(ne,{open:ue.value,"onUpdate:open":n[5]||(n[5]=o=>ue.value=o),title:e.$t("nlprog.analyze_modal.title"),"confirm-loading":S.value,width:600,"ok-text":e.$t("nlprog.analyze_modal.ok"),"cancel-text":e.$t("nlprog.analyze_modal.cancel"),onOk:Be},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.analyze_modal.textLabel"),required:""},{default:t(()=>[a(ye,{value:pe.text,"onUpdate:value":n[4]||(n[4]=o=>pe.text=o),placeholder:e.$t("nlprog.analyze_modal.textPlaceholder"),"auto-size":{minRows:3,maxRows:6}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),N.value||O.value||T.value?(u(),h(I,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:t(()=>[N.value?(u(),m("div",Et,[b("div",It,i(e.$t("nlprog.analyze_modal.intent")),1),a(z,{color:te(N.value.intent),style:{"margin-right":"6px"}},{default:t(()=>[p(i(J(N.value.intent)),1)]),_:1},8,["color"]),b("span",Ut,i(e.$t("nlprog.analyze_modal.confidenceLine",{pct:(N.value.confidence*100).toFixed(0)})),1)])):_("",!0),O.value?(u(),m("div",Pt,[b("div",Jt,i(e.$t("nlprog.analyze_modal.entities",{n:O.value.count})),1),O.value.entities.length?_("",!0):(u(),m("span",Mt,i(e.$t("nlprog.analyze_modal.notDetected")),1)),(u(!0),m(C,null,j(O.value.entities,(o,f)=>(u(),h(z,{key:f,color:"purple",style:{"font-family":"monospace","font-size":"11px",margin:"1px"}},{default:t(()=>[p(" ["+i(o.type)+"] "+i(o.value),1)]),_:2},1024))),128))])):_("",!0),T.value?(u(),m("div",Bt,[b("div",qt,i(e.$t("nlprog.analyze_modal.stack")),1),T.value.detected.length?(u(),m(C,{key:1},[a(z,{color:"cyan",style:{"font-family":"monospace"}},{default:t(()=>[p(i(e.$t("nlprog.analyze_modal.stackPrimary",{name:T.value.primary})),1)]),_:1}),(u(!0),m(C,null,j(T.value.detected.filter(o=>o!==T.value.primary),o=>(u(),h(z,{key:o,color:"default",style:{"font-family":"monospace","font-size":"11px"}},{default:t(()=>[p(i(o),1)]),_:2},1024))),128))],64)):(u(),m("span",Kt,i(e.$t("nlprog.analyze_modal.notDetected")),1))])):_("",!0)]),_:1})):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:X.value,"onUpdate:open":n[8]||(n[8]=o=>X.value=o),title:e.$t("nlprog.translate_modal.title"),"confirm-loading":le.value,width:540,"ok-text":e.$t("nlprog.translate_modal.ok"),"cancel-text":e.$t("nlprog.translate_modal.cancel"),onOk:qe,onCancel:Ce},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.translate_modal.textLabel"),required:""},{default:t(()=>[a(ye,{value:w.text,"onUpdate:value":n[6]||(n[6]=o=>w.text=o),placeholder:e.$t("nlprog.translate_modal.textPlaceholder"),"auto-size":{minRows:3,maxRows:6}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.translate_modal.intentLabel")},{default:t(()=>[a(Oe,{value:w.intent,"onUpdate:value":n[7]||(n[7]=o=>w.intent=o),"allow-clear":"",placeholder:e.$t("nlprog.translate_modal.intentPlaceholder")},{default:t(()=>[(u(!0),m(C,null,j(y(oe),o=>(u(),h(Ne,{key:o,value:o},{default:t(()=>[p(i(J(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),ee.value.noDb?(u(),h(Xe,{key:0,type:"warning","show-icon":"",message:e.$t("nlprog.translate_modal.noDbMessage"),description:e.$t("nlprog.translate_modal.noDbDescription"),style:{"margin-top":"12px"}},null,8,["message","description"])):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:Z.value,"onUpdate:open":n[13]||(n[13]=o=>Z.value=o),title:e.$t("nlprog.convention_modal.title"),"confirm-loading":re.value,width:540,"ok-text":e.$t("nlprog.convention_modal.ok"),"cancel-text":e.$t("nlprog.convention_modal.cancel"),onOk:Ge,onCancel:Se},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.convention_modal.categoryLabel"),required:""},{default:t(()=>[a(Oe,{value:k.category,"onUpdate:value":n[9]||(n[9]=o=>k.category=o)},{default:t(()=>[(u(!0),m(C,null,j(y(xe),o=>(u(),h(Ne,{key:o,value:o},{default:t(()=>[p(i(de(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.patternLabel"),required:""},{default:t(()=>[a(Ze,{value:k.pattern,"onUpdate:value":n[10]||(n[10]=o=>k.pattern=o),placeholder:e.$t("nlprog.convention_modal.patternPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.examplesLabel")},{default:t(()=>[a(ye,{value:k.examples,"onUpdate:value":n[11]||(n[11]=o=>k.examples=o),placeholder:e.$t("nlprog.convention_modal.examplesPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.confidenceLabel")},{default:t(()=>[a(et,{value:k.confidence,"onUpdate:value":n[12]||(n[12]=o=>k.confidence=o),min:0,max:1,step:.05,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:ce.value,"onUpdate:open":n[14]||(n[14]=o=>ce.value=o),title:e.$t("nlprog.details.title",{id:$.value?.id?.slice(0,8)||""}),width:720,footer:null},{default:t(()=>[$.value?(u(),m("div",Vt,[a(tt,{column:2,size:"small",bordered:""},{default:t(()=>[a(B,{label:e.$t("nlprog.details.intent")},{default:t(()=>[a(z,{color:te($.value.intent)},{default:t(()=>[p(i(J($.value.intent)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.status")},{default:t(()=>[a(z,{color:$e($.value.status)},{default:t(()=>[p(i(W($.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.completeness"),span:2},{default:t(()=>[a(Te,{percent:Math.round($.value.completenessScore*100),"stroke-color":fe($.value.completenessScore),size:"small"},null,8,["percent","stroke-color"])]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.createdAt")},{default:t(()=>[p(i(y(ae)($.value.createdAt)),1)]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.updatedAt")},{default:t(()=>[p(i(y(ae)($.value.updatedAt)),1)]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.inputText"),span:2},{default:t(()=>[b("span",Wt,i($.value.inputText),1)]),_:1},8,["label"])]),_:1}),b("div",Gt,[b("h4",Qt,i(e.$t("nlprog.details.entities")),1),b("pre",Yt,i(me($.value.entities)),1)]),b("div",null,[b("h4",Ht,i(e.$t("nlprog.details.techStack")),1),b("pre",Xt,i(me($.value.techStack)),1)]),$.value.spec?(u(),m("div",Zt,[b("h4",en,i(e.$t("nlprog.details.spec")),1),b("pre",tn,i(me($.value.spec)),1)])):_("",!0)])):_("",!0)]),_:1},8,["open","title"])])}}},sn=nt(nn,[["__scopeId","data-v-55209f60"]]);export{sn as default};
1
+ import{_ as nt,u as at,b as ot,d as v}from"./index-Bn_0bupT.js";import{s as lt}from"./community-parser-CO25nZFt.js";import{R as rt,ap as st,p as it,q as _e,k as be,aR as ut,ag as ct,f as pt}from"./icons-B2G69bhT.js";import{o as dt,M as m,R as b,P as i,c as a,N as t,Q as h,S as _,K as d,r as x,L as u,O as p,u as y,F as C,Y as j,$ as ft,f as Q,a as ke}from"./vendor-Ci2pTZ_t.js";function P(s){const r=lt(s);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 oe=Object.freeze(["create_component","add_feature","fix_bug","refactor","add_api","add_test","update_style","configure","general"]),Le=Object.freeze(["draft","complete","refined"]),xe=Object.freeze(["naming","architecture","testing","style","imports","components"]);function R(s,r=0){return typeof s=="number"&&Number.isFinite(s)?s:r}function q(s,r){if(s==null)return r;if(typeof s!="string")return s;try{return JSON.parse(s)}catch{return s}}function mt(s){const r=P(s);return!r||typeof r!="object"||Array.isArray(r)?null:{intent:String(r.intent||"general"),confidence:R(r.confidence,0)}}function gt(s){const r=P(s);if(!r||typeof r!="object"||Array.isArray(r))return null;const l=Array.isArray(r.entities)?r.entities.map(g=>g&&typeof g=="object"?{type:String(g.type||""),value:String(g.value||"")}:null).filter(Boolean):[];return{entities:l,count:R(r.count,l.length)}}function yt(s){const r=P(s);if(!r||typeof r!="object"||Array.isArray(r))return null;const l=Array.isArray(r.detected)?r.detected.filter(g=>typeof g=="string"):[];return{detected:l,primary:r.primary?String(r.primary):l[0]||null}}function vt(s,r=0){if(!s||typeof s!="object")return null;const l=s.id||"";return l?{key:l,id:l,inputText:s.inputText??s.input_text??"",intent:String(s.intent||"general"),entities:q(s.entities,[]),techStack:q(s.techStack??s.tech_stack,[]),spec:q(s.spec,null),completenessScore:R(s.completenessScore??s.completeness_score,0),ambiguities:q(s.ambiguities,[]),status:String(s.status||"draft").toLowerCase(),createdAt:s.createdAt??s.created_at??null,updatedAt:s.updatedAt??s.updated_at??null,_idx:r}:null}function _t(s){const r=P(s);return Array.isArray(r)?r.map(vt).filter(Boolean):[]}function bt(s){const r=P(s);return!r||typeof r!="object"||Array.isArray(r)||r.translationId===void 0?null:{translated:!!r.translated,translationId:r.translationId,intent:String(r.intent||""),completeness:R(r.completeness,0)}}function kt(s){if(!s)return{noDb:!1,error:""};const r=/No ChainlessChain project database/i.test(s)||/Cannot read properties of undefined \(reading ['"]prepare['"]\)/i.test(s)||/TypeError.*prepare/i.test(s),l=s.match(/Error:\s*(No ChainlessChain project database[^\r\n]*)/i);if(l)return{noDb:!0,error:l[1].trim()};const g=s.match(/TypeError:\s*(.+?)(?:\r?\n|$)/i);return{noDb:r,error:g?g[1].trim():""}}function xt(s,r=0){if(!s||typeof s!="object")return null;const l=s.id||"";return l?{key:l,id:l,category:String(s.category||""),pattern:String(s.pattern||""),examples:q(s.examples,[]),confidence:R(s.confidence,0),sourceFiles:q(s.sourceFiles??s.source_files,[]),createdAt:s.createdAt??s.created_at??null,_idx:r}:null}function ht(s){const r=P(s);return Array.isArray(r)?r.map(xt).filter(Boolean):[]}const $t={translations:{total:0,byIntent:{},byStatus:{draft:0,complete:0,refined:0},avgCompleteness:0},conventions:{total:0,byCategory:{}}};function Ct(s){const r=JSON.parse(JSON.stringify($t));for(const g of oe)r.translations.byIntent[g]=0;for(const g of xe)r.conventions.byCategory[g]=0;const l=P(s);if(!l||typeof l!="object"||Array.isArray(l))return r;if(l.translations&&typeof l.translations=="object"){if(r.translations.total=R(l.translations.total,0),r.translations.avgCompleteness=R(l.translations.avgCompleteness??l.translations.avg_completeness,0),l.translations.byIntent&&typeof l.translations.byIntent=="object")for(const[g,S]of Object.entries(l.translations.byIntent))typeof S=="number"&&Number.isFinite(S)&&(r.translations.byIntent[g]=S);if(l.translations.byStatus&&typeof l.translations.byStatus=="object")for(const g of Object.keys(r.translations.byStatus))r.translations.byStatus[g]=R(l.translations.byStatus[g],0)}if(l.conventions&&typeof l.conventions=="object"&&(r.conventions.total=R(l.conventions.total,0),l.conventions.byCategory&&typeof l.conventions.byCategory=="object"))for(const[g,S]of Object.entries(l.conventions.byCategory))typeof S=="number"&&Number.isFinite(S)&&(r.conventions.byCategory[g]=S);return r}function ae(s){if(s==null||s==="")return"—";const r=typeof s=="number"?new Date(s):new Date(String(s));return isNaN(r.getTime())?String(s):r.toLocaleString("zh-CN",{hour12:!1})}const St={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},zt={class:"page-title"},At={class:"page-sub"},Tt={class:"filter-bar"},jt={key:0,style:{color:"var(--text-primary)"}},Ft={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},wt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Nt={class:"filter-bar"},Ot={key:1,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Lt={key:0,style:{color:"var(--text-muted)"}},Rt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Dt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Et={key:0,style:{"margin-bottom":"12px"}},It={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Ut={style:{color:"var(--text-secondary)","font-size":"12px"}},Pt={key:1,style:{"margin-bottom":"12px"}},Jt={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Mt={key:0,style:{color:"var(--text-muted)"}},Bt={key:2},qt={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Kt={key:0,style:{color:"var(--text-muted)"}},Vt={key:0,style:{"padding-top":"8px"}},Wt={style:{"white-space":"pre-wrap",color:"var(--text-primary)"}},Yt={style:{"margin-top":"16px"}},Gt={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},Qt={class:"json-block"},Ht={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},Xt={class:"json-block"},Zt={key:0},en={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},tn={class:"json-block"},nn={__name:"NLProgramming",setup(s){const r=at(),{t:l}=ot(),g=x(!1),S=x(!1),le=x(!1),re=x(!1),he=x([]),se=x([]),F=x({translations:{total:0,byIntent:{},byStatus:{draft:0,complete:0,refined:0},avgCompleteness:0},conventions:{total:0,byCategory:{}}}),ie=x("translations"),K=x(""),V=x(""),H=x(""),ue=x(!1),X=x(!1),Z=x(!1),ce=x(!1),pe=ke({text:""}),w=ke({text:"",intent:null}),k=ke({category:"naming",pattern:"",examples:"",confidence:.8}),N=x(null),O=x(null),T=x(null),ee=x({noDb:!1,error:""}),$=x(null),Re=Q(()=>[{title:l("nlprog.translationCols.inputText"),key:"inputText"},{title:l("nlprog.translationCols.intent"),key:"intent",width:"140px"},{title:l("nlprog.translationCols.completeness"),key:"completeness",width:"160px"},{title:l("nlprog.translationCols.status"),key:"status",width:"100px"},{title:l("nlprog.translationCols.updatedAt"),key:"updatedAt",width:"160px"},{title:l("nlprog.translationCols.action"),key:"action",width:"210px"}]),De=Q(()=>[{title:l("nlprog.conventionCols.category"),key:"category",width:"120px"},{title:l("nlprog.conventionCols.pattern"),key:"pattern"},{title:l("nlprog.conventionCols.examples"),key:"examples",width:"220px"},{title:l("nlprog.conventionCols.confidence"),key:"confidence",width:"90px"},{title:l("nlprog.conventionCols.createdAt"),key:"createdAt",width:"160px"},{title:l("nlprog.conventionCols.action"),key:"action",width:"90px"}]),Ee=Q(()=>F.value.translations.avgCompleteness*100),Ie=Q(()=>{let e=he.value;return K.value&&(e=e.filter(n=>n.intent===K.value)),V.value&&(e=e.filter(n=>n.status===V.value)),e}),Ue=Q(()=>H.value?se.value.filter(e=>e.category===H.value):se.value);function J(e){const n=`nlprog.intentLabels.${e}`,c=l(n);return c===n?e:c}function te(e){return{create_component:"blue",add_feature:"green",fix_bug:"red",refactor:"purple",add_api:"cyan",add_test:"orange",update_style:"magenta",configure:"gold",general:"default"}[e]||"default"}function W(e){const n=`nlprog.statusLabels.${e}`,c=l(n);return c===n?e:c}function $e(e){return{draft:"default",complete:"green",refined:"cyan"}[e]||"default"}function de(e){const n=`nlprog.categoryLabels.${e}`,c=l(n);return c===n?e:c}function Pe(e){return{naming:"blue",architecture:"purple",testing:"cyan",style:"magenta",imports:"orange",components:"green"}[e]||"default"}function fe(e){return e>=.7?"#52c41a":e>=.4?"#faad14":"#ff4d4f"}function Je(e,n){return e?e.length>n?e.slice(0,n)+"...":e:""}function me(e){if(e==null)return"—";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Me({key:e}){e==="analyze"?(N.value=null,O.value=null,T.value=null,ue.value=!0):e==="translate"?(ee.value={noDb:!1,error:""},X.value=!0):e==="convention"&&(Z.value=!0)}async function D(){g.value=!0;try{const[e,n,c]=await Promise.all([r.execute("nlprog list --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("nlprog conventions --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("nlprog stats --json",8e3).catch(()=>({output:""}))]);he.value=_t(e.output),se.value=ht(n.output),F.value=Ct(c.output)}catch(e){v.error(l("nlprog.msg.loadFailed")+": "+(e?.message||e))}finally{g.value=!1}}async function Be(){const e=pe.text.trim();if(!e){v.warning(l("nlprog.msg.textEmpty"));return}S.value=!0,N.value=null,O.value=null,T.value=null;try{const n=e.replace(/"/g,'\\"'),[c,L,E]=await Promise.all([r.execute(`nlprog classify "${n}" --json`,8e3).catch(()=>({output:""})),r.execute(`nlprog extract "${n}" --json`,8e3).catch(()=>({output:""})),r.execute(`nlprog detect-stack "${n}" --json`,8e3).catch(()=>({output:""}))]);N.value=mt(c.output),O.value=gt(L.output),T.value=yt(E.output),!N.value&&!O.value&&!T.value&&v.error(l("nlprog.msg.analyzeFailed"))}catch(n){v.error(l("nlprog.msg.analyzeFailed")+": "+(n?.message||n))}finally{S.value=!1}}async function qe(){const e=w.text.trim();if(!e){v.warning(l("nlprog.msg.translateTextEmpty"));return}le.value=!0,ee.value={noDb:!1,error:""};try{const n=[`nlprog translate "${e.replace(/"/g,'\\"')}"`];w.intent&&n.push(`--intent ${w.intent}`),n.push("--json");const{output:c}=await r.execute(n.join(" "),12e3),L=kt(c);if(L.noDb){ee.value=L;return}const E=bt(c);if(!E){v.error(l("nlprog.msg.translateFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.translateSuccess",{pct:(E.completeness*100).toFixed(0)})),X.value=!1,Ce(),await D()}catch(n){v.error(l("nlprog.msg.translateFailed")+": "+(n?.message||n))}finally{le.value=!1}}async function Ke(e,n){if(n!==e.status)try{const{output:c}=await r.execute(`nlprog status ${e.id} ${n} --json`,8e3);if(/error|invalid/i.test(c)&&!/"updated"/.test(c)){v.error(l("nlprog.msg.transitionFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.transitionSuccess",{label:W(n)})),await D()}catch(c){v.error(l("nlprog.msg.transitionFailed")+": "+(c?.message||c))}}async function Ve(e){try{const{output:n}=await r.execute(`nlprog remove ${e.id} --json`,8e3);if(/error/i.test(n)&&!/"removed"/.test(n)){v.error(l("nlprog.msg.deleteFailed")+": "+n.slice(0,120));return}v.success(l("nlprog.msg.deleteSuccess")),await D()}catch(n){v.error(l("nlprog.msg.deleteFailed")+": "+(n?.message||n))}}function We(e){$.value=e,ce.value=!0}async function Ye(){const e=k.pattern.trim();if(!e){v.warning(l("nlprog.msg.patternEmpty"));return}if(k.examples.trim())try{JSON.parse(k.examples)}catch{v.warning(l("nlprog.msg.examplesBadJson"));return}re.value=!0;try{const n=[`nlprog convention-add --category ${k.category}`];n.push(`--pattern "${e.replace(/"/g,'\\"')}"`),k.examples.trim()&&n.push(`--examples '${k.examples.trim().replace(/'/g,"'\\''")}'`),k.confidence!=null&&n.push(`--confidence ${k.confidence}`),n.push("--json");const{output:c}=await r.execute(n.join(" "),1e4);if(/error|invalid|失败/i.test(c)&&!/"added"/.test(c)){v.error(l("nlprog.msg.addFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.addSuccess")),Z.value=!1,Se(),ie.value="conventions",await D()}catch(n){v.error(l("nlprog.msg.addFailed")+": "+(n?.message||n))}finally{re.value=!1}}async function Ge(e){try{const{output:n}=await r.execute(`nlprog convention-remove ${e.id} --json`,8e3);if(/error/i.test(n)&&!/"removed"/.test(n)){v.error(l("nlprog.msg.deleteFailed")+": "+n.slice(0,120));return}v.success(l("nlprog.msg.deleteSuccess")),await D()}catch(n){v.error(l("nlprog.msg.deleteFailed")+": "+(n?.message||n))}}function Ce(){w.text="",w.intent=null}function Se(){k.category="naming",k.pattern="",k.examples="",k.confidence=.8}return dt(D),(e,n)=>{const c=d("a-button"),L=d("a-menu-item"),E=d("a-menu"),ze=d("a-dropdown"),Ae=d("a-space"),Y=d("a-statistic"),I=d("a-card"),G=d("a-col"),Qe=d("a-row"),z=d("a-tag"),M=d("a-radio-button"),ge=d("a-radio-group"),Te=d("a-progress"),je=d("a-popconfirm"),Fe=d("a-table"),we=d("a-tab-pane"),He=d("a-tabs"),ye=d("a-textarea"),U=d("a-form-item"),ve=d("a-form"),ne=d("a-modal"),Ne=d("a-select-option"),Oe=d("a-select"),Xe=d("a-alert"),Ze=d("a-input"),et=d("a-input-number"),B=d("a-descriptions-item"),tt=d("a-descriptions");return u(),m("div",null,[b("div",St,[b("div",null,[b("h2",zt,i(e.$t("nlprog.title")),1),b("p",At,i(e.$t("nlprog.subtitle")),1)]),a(Ae,null,{default:t(()=>[a(c,{loading:g.value,onClick:D},{icon:t(()=>[a(y(rt))]),default:t(()=>[p(" "+i(e.$t("nlprog.refresh")),1)]),_:1},8,["loading"]),a(ze,{trigger:["click"]},{overlay:t(()=>[a(E,{onClick:Me},{default:t(()=>[a(L,{key:"analyze"},{default:t(()=>[a(y(it)),p(" "+i(e.$t("nlprog.actions.analyze")),1)]),_:1}),a(L,{key:"translate"},{default:t(()=>[a(y(_e)),p(" "+i(e.$t("nlprog.actions.translate")),1)]),_:1}),a(L,{key:"convention"},{default:t(()=>[a(y(be)),p(" "+i(e.$t("nlprog.actions.convention")),1)]),_:1})]),_:1})]),default:t(()=>[a(c,{type:"primary"},{icon:t(()=>[a(y(st))]),default:t(()=>[p(" "+i(e.$t("nlprog.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),a(Qe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.translations"),value:F.value.translations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(y(_e))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.avgCompleteness"),value:Ee.value,precision:1,suffix:"%","value-style":{color:F.value.translations.avgCompleteness>=.7?"#52c41a":"#faad14",fontSize:"20px"}},{prefix:t(()=>[a(y(ut))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.drafts"),value:F.value.translations.byStatus.draft,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:t(()=>[a(y(ct))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.completed"),value:F.value.translations.byStatus.complete,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:t(()=>[a(y(pt))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(G,{xs:24,sm:8,lg:4},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.conventions"),value:F.value.conventions.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:t(()=>[a(y(be))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),F.value.translations.total>0?(u(),h(I,{key:0,title:e.$t("nlprog.intentCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:t(()=>[a(Ae,{size:[12,8],wrap:""},{default:t(()=>[(u(!0),m(C,null,j(y(oe),o=>(u(),h(z,{key:o,color:te(o)},{default:t(()=>[p(i(J(o))+": "+i(F.value.translations.byIntent[o]||0),1)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):_("",!0),a(He,{activeKey:ie.value,"onUpdate:activeKey":n[3]||(n[3]=o=>ie.value=o),class:"nlprog-tabs"},{default:t(()=>[a(we,{key:"translations",tab:e.$t("nlprog.tabs.translations")},{default:t(()=>[b("div",Tt,[a(ge,{value:K.value,"onUpdate:value":n[0]||(n[0]=o=>K.value=o),size:"small"},{default:t(()=>[a(M,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allIntents")),1)]),_:1}),(u(!0),m(C,null,j(y(oe),o=>(u(),h(M,{key:o,value:o},{default:t(()=>[p(i(J(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),a(ge,{value:V.value,"onUpdate:value":n[1]||(n[1]=o=>V.value=o),size:"small","button-style":"solid"},{default:t(()=>[a(M,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allStatuses")),1)]),_:1}),(u(!0),m(C,null,j(y(Le),o=>(u(),h(M,{key:o,value:o},{default:t(()=>[p(i(W(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Fe,{columns:Re.value,"data-source":Ie.value,pagination:{pageSize:20,showTotal:o=>e.$t("nlprog.table.totalSuffix",{n:o})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:o,record:f})=>[o.key==="inputText"?(u(),m("span",jt,i(Je(f.inputText,80)),1)):_("",!0),o.key==="intent"?(u(),h(z,{key:1,color:te(f.intent),style:{"font-size":"11px"}},{default:t(()=>[p(i(J(f.intent)),1)]),_:2},1032,["color"])):_("",!0),o.key==="completeness"?(u(),h(Te,{key:2,percent:Math.round(f.completenessScore*100),size:"small","stroke-color":fe(f.completenessScore),format:()=>(f.completenessScore*100).toFixed(0)+"%"},null,8,["percent","stroke-color","format"])):_("",!0),o.key==="status"?(u(),h(z,{key:3,color:$e(f.status)},{default:t(()=>[p(i(W(f.status)),1)]),_:2},1032,["color"])):_("",!0),o.key==="updatedAt"?(u(),m("span",Ft,i(y(ae)(f.updatedAt)),1)):_("",!0),o.key==="action"?(u(),m(C,{key:5},[a(c,{size:"small",type:"link",onClick:A=>We(f)},{default:t(()=>[p(i(e.$t("nlprog.table.actionDetails")),1)]),_:1},8,["onClick"]),a(ze,{trigger:["click"]},{overlay:t(()=>[a(E,{onClick:A=>Ke(f,A.key)},{default:t(()=>[(u(!0),m(C,null,j(y(Le),A=>(u(),h(L,{key:A,disabled:A===f.status},{default:t(()=>[p(i(W(A)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:t(()=>[a(c,{size:"small",type:"link"},{default:t(()=>[p(i(e.$t("nlprog.table.actionStatusDropdown")),1)]),_:1})]),_:2},1024),a(je,{title:e.$t("nlprog.deleteTranslationConfirm.title"),"ok-text":e.$t("nlprog.deleteTranslationConfirm.ok"),"cancel-text":e.$t("nlprog.deleteTranslationConfirm.cancel"),onConfirm:A=>Ve(f)},{default:t(()=>[a(c,{size:"small",type:"link",danger:""},{default:t(()=>[p(i(e.$t("nlprog.deleteTranslationConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):_("",!0)]),emptyText:t(()=>[b("div",wt,[a(y(_e),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+i(K.value||V.value?e.$t("nlprog.table.emptyTranslationsFiltered"):e.$t("nlprog.table.emptyTranslations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(we,{key:"conventions",tab:e.$t("nlprog.tabs.conventions")},{default:t(()=>[b("div",Nt,[a(ge,{value:H.value,"onUpdate:value":n[2]||(n[2]=o=>H.value=o),size:"small","button-style":"solid"},{default:t(()=>[a(M,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allCategories")),1)]),_:1}),(u(!0),m(C,null,j(y(xe),o=>(u(),h(M,{key:o,value:o},{default:t(()=>[p(i(de(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Fe,{columns:De.value,"data-source":Ue.value,pagination:{pageSize:20,showTotal:o=>e.$t("nlprog.table.totalSuffix",{n:o})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:o,record:f})=>[o.key==="category"?(u(),h(z,{key:0,color:Pe(f.category)},{default:t(()=>[p(i(de(f.category)),1)]),_:2},1032,["color"])):_("",!0),o.key==="pattern"?(u(),m("span",Ot,i(f.pattern),1)):_("",!0),o.key==="examples"?(u(),m(C,{key:2},[(u(!0),m(C,null,j(Array.isArray(f.examples)?f.examples.slice(0,3):[],A=>(u(),h(z,{key:A,color:"default",style:{"font-size":"10px","font-family":"monospace",margin:"1px"}},{default:t(()=>[p(i(A),1)]),_:2},1024))),128)),!Array.isArray(f.examples)||f.examples.length===0?(u(),m("span",Lt,"—")):_("",!0)],64)):_("",!0),o.key==="confidence"?(u(),m("span",{key:3,style:ft({color:fe(f.confidence),fontWeight:500})},i((f.confidence*100).toFixed(0))+"% ",5)):_("",!0),o.key==="createdAt"?(u(),m("span",Rt,i(y(ae)(f.createdAt)),1)):_("",!0),o.key==="action"?(u(),h(je,{key:5,title:e.$t("nlprog.deleteConventionConfirm.title"),"ok-text":e.$t("nlprog.deleteConventionConfirm.ok"),"cancel-text":e.$t("nlprog.deleteConventionConfirm.cancel"),onConfirm:A=>Ge(f)},{default:t(()=>[a(c,{size:"small",type:"link",danger:""},{default:t(()=>[p(i(e.$t("nlprog.deleteConventionConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):_("",!0)]),emptyText:t(()=>[b("div",Dt,[a(y(be),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+i(e.$t("nlprog.table.emptyConventions")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(ne,{open:ue.value,"onUpdate:open":n[5]||(n[5]=o=>ue.value=o),title:e.$t("nlprog.analyze_modal.title"),"confirm-loading":S.value,width:600,"ok-text":e.$t("nlprog.analyze_modal.ok"),"cancel-text":e.$t("nlprog.analyze_modal.cancel"),onOk:Be},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.analyze_modal.textLabel"),required:""},{default:t(()=>[a(ye,{value:pe.text,"onUpdate:value":n[4]||(n[4]=o=>pe.text=o),placeholder:e.$t("nlprog.analyze_modal.textPlaceholder"),"auto-size":{minRows:3,maxRows:6}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),N.value||O.value||T.value?(u(),h(I,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:t(()=>[N.value?(u(),m("div",Et,[b("div",It,i(e.$t("nlprog.analyze_modal.intent")),1),a(z,{color:te(N.value.intent),style:{"margin-right":"6px"}},{default:t(()=>[p(i(J(N.value.intent)),1)]),_:1},8,["color"]),b("span",Ut,i(e.$t("nlprog.analyze_modal.confidenceLine",{pct:(N.value.confidence*100).toFixed(0)})),1)])):_("",!0),O.value?(u(),m("div",Pt,[b("div",Jt,i(e.$t("nlprog.analyze_modal.entities",{n:O.value.count})),1),O.value.entities.length?_("",!0):(u(),m("span",Mt,i(e.$t("nlprog.analyze_modal.notDetected")),1)),(u(!0),m(C,null,j(O.value.entities,(o,f)=>(u(),h(z,{key:f,color:"purple",style:{"font-family":"monospace","font-size":"11px",margin:"1px"}},{default:t(()=>[p(" ["+i(o.type)+"] "+i(o.value),1)]),_:2},1024))),128))])):_("",!0),T.value?(u(),m("div",Bt,[b("div",qt,i(e.$t("nlprog.analyze_modal.stack")),1),T.value.detected.length?(u(),m(C,{key:1},[a(z,{color:"cyan",style:{"font-family":"monospace"}},{default:t(()=>[p(i(e.$t("nlprog.analyze_modal.stackPrimary",{name:T.value.primary})),1)]),_:1}),(u(!0),m(C,null,j(T.value.detected.filter(o=>o!==T.value.primary),o=>(u(),h(z,{key:o,color:"default",style:{"font-family":"monospace","font-size":"11px"}},{default:t(()=>[p(i(o),1)]),_:2},1024))),128))],64)):(u(),m("span",Kt,i(e.$t("nlprog.analyze_modal.notDetected")),1))])):_("",!0)]),_:1})):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:X.value,"onUpdate:open":n[8]||(n[8]=o=>X.value=o),title:e.$t("nlprog.translate_modal.title"),"confirm-loading":le.value,width:540,"ok-text":e.$t("nlprog.translate_modal.ok"),"cancel-text":e.$t("nlprog.translate_modal.cancel"),onOk:qe,onCancel:Ce},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.translate_modal.textLabel"),required:""},{default:t(()=>[a(ye,{value:w.text,"onUpdate:value":n[6]||(n[6]=o=>w.text=o),placeholder:e.$t("nlprog.translate_modal.textPlaceholder"),"auto-size":{minRows:3,maxRows:6}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.translate_modal.intentLabel")},{default:t(()=>[a(Oe,{value:w.intent,"onUpdate:value":n[7]||(n[7]=o=>w.intent=o),"allow-clear":"",placeholder:e.$t("nlprog.translate_modal.intentPlaceholder")},{default:t(()=>[(u(!0),m(C,null,j(y(oe),o=>(u(),h(Ne,{key:o,value:o},{default:t(()=>[p(i(J(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),ee.value.noDb?(u(),h(Xe,{key:0,type:"warning","show-icon":"",message:e.$t("nlprog.translate_modal.noDbMessage"),description:e.$t("nlprog.translate_modal.noDbDescription"),style:{"margin-top":"12px"}},null,8,["message","description"])):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:Z.value,"onUpdate:open":n[13]||(n[13]=o=>Z.value=o),title:e.$t("nlprog.convention_modal.title"),"confirm-loading":re.value,width:540,"ok-text":e.$t("nlprog.convention_modal.ok"),"cancel-text":e.$t("nlprog.convention_modal.cancel"),onOk:Ye,onCancel:Se},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.convention_modal.categoryLabel"),required:""},{default:t(()=>[a(Oe,{value:k.category,"onUpdate:value":n[9]||(n[9]=o=>k.category=o)},{default:t(()=>[(u(!0),m(C,null,j(y(xe),o=>(u(),h(Ne,{key:o,value:o},{default:t(()=>[p(i(de(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.patternLabel"),required:""},{default:t(()=>[a(Ze,{value:k.pattern,"onUpdate:value":n[10]||(n[10]=o=>k.pattern=o),placeholder:e.$t("nlprog.convention_modal.patternPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.examplesLabel")},{default:t(()=>[a(ye,{value:k.examples,"onUpdate:value":n[11]||(n[11]=o=>k.examples=o),placeholder:e.$t("nlprog.convention_modal.examplesPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.confidenceLabel")},{default:t(()=>[a(et,{value:k.confidence,"onUpdate:value":n[12]||(n[12]=o=>k.confidence=o),min:0,max:1,step:.05,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:ce.value,"onUpdate:open":n[14]||(n[14]=o=>ce.value=o),title:e.$t("nlprog.details.title",{id:$.value?.id?.slice(0,8)||""}),width:720,footer:null},{default:t(()=>[$.value?(u(),m("div",Vt,[a(tt,{column:2,size:"small",bordered:""},{default:t(()=>[a(B,{label:e.$t("nlprog.details.intent")},{default:t(()=>[a(z,{color:te($.value.intent)},{default:t(()=>[p(i(J($.value.intent)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.status")},{default:t(()=>[a(z,{color:$e($.value.status)},{default:t(()=>[p(i(W($.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.completeness"),span:2},{default:t(()=>[a(Te,{percent:Math.round($.value.completenessScore*100),"stroke-color":fe($.value.completenessScore),size:"small"},null,8,["percent","stroke-color"])]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.createdAt")},{default:t(()=>[p(i(y(ae)($.value.createdAt)),1)]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.updatedAt")},{default:t(()=>[p(i(y(ae)($.value.updatedAt)),1)]),_:1},8,["label"]),a(B,{label:e.$t("nlprog.details.inputText"),span:2},{default:t(()=>[b("span",Wt,i($.value.inputText),1)]),_:1},8,["label"])]),_:1}),b("div",Yt,[b("h4",Gt,i(e.$t("nlprog.details.entities")),1),b("pre",Qt,i(me($.value.entities)),1)]),b("div",null,[b("h4",Ht,i(e.$t("nlprog.details.techStack")),1),b("pre",Xt,i(me($.value.techStack)),1)]),$.value.spec?(u(),m("div",Zt,[b("h4",en,i(e.$t("nlprog.details.spec")),1),b("pre",tn,i(me($.value.spec)),1)])):_("",!0)])):_("",!0)]),_:1},8,["open","title"])])}}},sn=nt(nn,[["__scopeId","data-v-55209f60"]]);export{sn as default};
@@ -0,0 +1 @@
1
+ .ss-error[data-v-03da8d86]{margin-bottom:12px}.ss-actions[data-v-03da8d86]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ss-preview[data-v-03da8d86]{max-height:240px;overflow:auto;border:1px solid var(--border-color, #f0f0f0);border-radius:4px;margin-bottom:12px;background:var(--bg-base, #fafafa)}.ss-preview img[data-v-03da8d86]{display:block;max-width:100%;height:auto}[data-v-fe526205] .note-row:hover td{background:var(--bg-card-hover)!important;cursor:pointer}
@@ -0,0 +1,7 @@
1
+ import{w as G,K as i,L as g,Q as L,N as a,M as N,c as t,S as T,r as f,a as ie,f as J,u as A,R as B,O as V,P as D,o as we,H as ye,F as re,Y as ue}from"./vendor-Ci2pTZ_t.js";import{u as oe,d as C,_ as ce}from"./index-Bn_0bupT.js";import{u as _e}from"./useFs-DfXp51Mk.js";import{u as de}from"./useShellMode-CgR0wCYM.js";import{at as pe,au as he,ap as ke,av as xe,R as be,k as Se,aw as $e}from"./icons-B2G69bhT.js";function Ce(c){if(c&&c.ok===!1)throw new Error(c.error||"knowledge handler failed");return c?.result??c}function ae(c){return String(c).replace(/(["\\])/g,"\\$1")}function fe(){const c=oe();async function q({title:R,content:x,tags:S=[],type:v="note"}={}){if(typeof R!="string"||!R.trim())throw new Error("title is required");if(typeof x!="string")throw new Error("content is required");const u=Array.isArray(S)?S.filter(Boolean):[];if(de().isEmbedded){const O=await c.sendRaw({type:"knowledge.add-item",item:{title:R.trim(),content:x,tags:u,type:v}},2e4),$=Ce(O);if($?.success===!1)throw new Error($.error||"knowledge.add-item failed");return $?.item??null}let r=`note add "${ae(R.trim())}" -c "${ae(x)}"`;u.length&&(r+=` -t "${ae(u.join(","))}"`);const{output:n}=await c.execute(r,15e3);if(n&&/^[\s\S]*✖|error/i.test(n))throw new Error(n.slice(0,200));return{title:R.trim(),content:x,tags:u,type:v}}return{addItem:q}}const Re={key:0,style:{"margin-bottom":"16px"}},Oe={__name:"ClipboardImportDialog",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","saved"],setup(c,{emit:q}){const R=c,x=q,S=fe(),v=J({get:()=>R.modelValue,set:d=>x("update:modelValue",d)}),u=f(!1),r=f(""),n=ie({title:"",content:"",tagsRaw:""}),O=()=>`剪贴板导入 - ${new Date().toLocaleString()}`;function $(){n.title=O(),n.content="",n.tagsRaw="",r.value=""}async function I(){if(r.value="",!navigator.clipboard?.readText){r.value="当前环境不支持剪贴板读取 API";return}try{const d=await navigator.clipboard.readText();n.content=d||"",d||(r.value="剪贴板为空")}catch(d){r.value="读取剪贴板失败:"+(d?.message||String(d))}}G(()=>R.modelValue,async d=>{d&&($(),await I())},{immediate:!0});async function w(){if(!n.content.trim()){C.warning("内容为空,无法保存");return}u.value=!0;try{const d=n.tagsRaw.split(/[,,]/).map(U=>U.trim()).filter(Boolean),h=await S.addItem({title:n.title.trim()||O(),content:n.content,tags:d,type:"note"});C.success("已保存到知识库"),x("saved",h),v.value=!1}catch(d){C.error("保存失败:"+(d?.message||String(d)))}finally{u.value=!1}}function m(){v.value=!1}return(d,h)=>{const U=i("a-alert"),b=i("a-input"),y=i("a-form-item"),M=i("a-textarea"),j=i("a-form"),Q=i("a-modal");return g(),L(Q,{open:v.value,"onUpdate:open":h[3]||(h[3]=z=>v.value=z),title:"剪贴板导入",width:640,"ok-text":u.value?"保存中…":"保存到知识库","cancel-text":"取消","ok-button-props":{loading:u.value,disabled:!n.content.trim()},onOk:w,onCancel:m},{default:a(()=>[r.value?(g(),N("div",Re,[t(U,{type:"warning","show-icon":"",message:r.value,description:"请确认浏览器/系统已授予剪贴板读取权限,或手动粘贴到下方输入框。"},null,8,["message"])])):T("",!0),t(j,{layout:"vertical",model:n},{default:a(()=>[t(y,{label:"标题"},{default:a(()=>[t(b,{value:n.title,"onUpdate:value":h[0]||(h[0]=z=>n.title=z),placeholder:"导入条目的标题","allow-clear":""},null,8,["value"])]),_:1}),t(y,{label:"内容"},{default:a(()=>[t(M,{value:n.content,"onUpdate:value":h[1]||(h[1]=z=>n.content=z),placeholder:"粘贴或编辑要保存的内容…","auto-size":{minRows:10,maxRows:20},"show-count":""},null,8,["value"])]),_:1}),t(y,{label:"标签(逗号分隔,可选)"},{default:a(()=>[t(b,{value:n.tagsRaw,"onUpdate:value":h[2]||(h[2]=z=>n.tagsRaw=z),placeholder:"例如:素材, 链接","allow-clear":""},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["open","ok-text","ok-button-props"])}}};function ne(c){if(c&&c.ok===!1)throw new Error(c.error||"screenshot handler failed");return c?.result??c}function Ve(){const c=oe();if(!de().isEmbedded)return{unsupported:!0,capture:async()=>{throw new Error("截图需要桌面壳;浏览器模式不支持")},ocr:async()=>{throw new Error("OCR 仅在桌面壳可用")},cleanup:async()=>{}};async function R({screenIndex:v}={}){const u=await c.sendRaw({type:"screenshot.capture",screenIndex:v},3e4),r=ne(u);if(r?.success===!1)throw new Error(r.error||"screenshot.capture failed");return r}async function x(v,u){if(!v)throw new Error("path is required");const r=await c.sendRaw({type:"screenshot.ocr",path:v,lang:u},9e4),n=ne(r);if(n?.success===!1)throw new Error(n.error||"screenshot.ocr failed");return n}async function S(v){if(v)try{const u=await c.sendRaw({type:"screenshot.cleanup",path:v},1e4),r=ne(u);r?.success===!1&&console.warn("[useScreenshot] cleanup failed:",r.error)}catch(u){console.warn("[useScreenshot] cleanup error:",u?.message||u)}}return{unsupported:!1,capture:R,ocr:x,cleanup:S}}const Ee={key:0,style:{"margin-bottom":"16px"}},Ue={key:1,class:"ss-error"},Ne={key:2},Ie={class:"ss-actions"},ze={key:0,class:"ss-preview"},Be=["src"],Te={__name:"ScreenshotImportDialog",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","saved"],setup(c,{emit:q}){const R=c,x=q,S=Ve(),v=fe(),u=J({get:()=>R.modelValue,set:p=>x("update:modelValue",p)}),r=f(!1),n=f(!1),O=f(!1),$=f(""),I=f(null),w=f(null),m=ie({title:"",content:"",tagsRaw:""}),d=J(()=>!!w.value&&(m.content.trim()||"").length>0),h=()=>`截图识别 - ${new Date().toLocaleString()}`;function U(){m.title=h(),m.content="",m.tagsRaw="",$.value="",I.value=null,w.value=null}async function b(){w.value?.path&&await S.cleanup(w.value.path)}async function y(){if(S.unsupported)return $.value="浏览器模式不支持截图,请用桌面壳",null;n.value=!0;try{return await S.capture({})}catch(p){return $.value=p?.message||String(p),null}finally{n.value=!1}}async function M(p){if(p){O.value=!0;try{const l=await S.ocr(p);m.content=l.text||"",I.value=typeof l.confidence=="number"?l.confidence:null,l.text||C.info("OCR 未识别到文本,可手动输入")}catch(l){C.warning("OCR 失败: "+(l?.message||String(l)))}finally{O.value=!1}}}async function j(){await b(),U();const p=await y();p&&(w.value=p,await M(p.path))}async function Q(){w.value?.path&&await M(w.value.path)}G(()=>R.modelValue,async p=>{if(p){U();const l=await y();l&&(w.value=l,await M(l.path))}else await b(),w.value=null},{immediate:!0});async function z(){if(!d.value){C.warning("识别文本为空,无法保存");return}r.value=!0;try{const p=m.tagsRaw.split(/[,,]/).map(F=>F.trim()).filter(Boolean),l=await v.addItem({title:m.title.trim()||h(),content:m.content,tags:p,type:"note"});C.success("已保存到知识库"),x("saved",l),await b(),u.value=!1}catch(p){C.error("保存失败: "+(p?.message||String(p)))}finally{r.value=!1}}async function P(){await b(),u.value=!1}return(p,l)=>{const F=i("a-alert"),K=i("a-button"),X=i("a-tag"),H=i("a-input"),o=i("a-form-item"),e=i("a-spin"),E=i("a-textarea"),W=i("a-form"),_=i("a-modal");return g(),L(_,{open:u.value,"onUpdate:open":l[3]||(l[3]=k=>u.value=k),title:"截图识别",width:780,"ok-text":r.value?"保存中…":"保存到知识库","cancel-text":"取消","ok-button-props":{loading:r.value,disabled:!d.value},onOk:z,onCancel:P},{default:a(()=>[A(S).unsupported?(g(),N("div",Ee,[t(F,{type:"warning","show-icon":"",message:"浏览器模式不支持截图",description:"screenshot-desktop 需要 OS 原生 API,请用桌面壳 (cc desktop) 打开本面板。"})])):$.value?(g(),N("div",Ue,[t(F,{type:"error","show-icon":"",message:$.value},null,8,["message"])])):(g(),N("div",Ne,[B("div",Ie,[t(K,{size:"small",loading:n.value,onClick:j},{icon:a(()=>[t(A(pe))]),default:a(()=>[l[4]||(l[4]=V(" 重新截图 ",-1))]),_:1},8,["loading"]),t(K,{size:"small",loading:O.value,disabled:!w.value||O.value,onClick:Q},{icon:a(()=>[t(A(he))]),default:a(()=>[l[5]||(l[5]=V(" 重跑 OCR ",-1))]),_:1},8,["loading","disabled"]),I.value!==null?(g(),L(X,{key:0},{default:a(()=>[V(" OCR 置信度 "+D(I.value)+"% ",1)]),_:1})):T("",!0)]),w.value?.dataUrl?(g(),N("div",ze,[B("img",{src:w.value.dataUrl,alt:"screenshot"},null,8,Be)])):T("",!0),t(W,{layout:"vertical",model:m},{default:a(()=>[t(o,{label:"标题"},{default:a(()=>[t(H,{value:m.title,"onUpdate:value":l[0]||(l[0]=k=>m.title=k),placeholder:"导入条目的标题","allow-clear":""},null,8,["value"])]),_:1}),t(o,null,{label:a(()=>[l[6]||(l[6]=B("span",null,"识别文本",-1)),O.value?(g(),L(e,{key:0,size:"small",style:{"margin-left":"8px"}})):T("",!0)]),default:a(()=>[t(E,{value:m.content,"onUpdate:value":l[1]||(l[1]=k=>m.content=k),placeholder:O.value?"正在识别…":"识别结果,可手动编辑","auto-size":{minRows:8,maxRows:16},"show-count":""},null,8,["value","placeholder"])]),_:1}),t(o,{label:"标签 (逗号分隔, 可选)"},{default:a(()=>[t(H,{value:m.tagsRaw,"onUpdate:value":l[2]||(l[2]=k=>m.tagsRaw=k),placeholder:"例如: 截图, 参考","allow-clear":""},null,8,["value"])]),_:1})]),_:1},8,["model"])]))]),_:1},8,["open","ok-text","ok-button-props"])}}},qe=ce(Te,[["__scopeId","data-v-03da8d86"]]),Le={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},De={class:"page-sub"},Ae={style:{"margin-bottom":"16px",display:"flex",gap:"10px"}},Fe={key:0,style:{"text-align":"center",padding:"60px"}},Me={key:0,style:{color:"#e0e0e0","font-weight":"500"}},Pe={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},We={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},je={key:0,style:{"max-height":"60vh","overflow-y":"auto"}},Qe={style:{"margin-bottom":"10px"}},Ke={style:{"white-space":"pre-wrap",color:"#ccc","font-family":"inherit","line-height":"1.7",background:"var(--bg-base)",padding:"16px","border-radius":"6px",border:"1px solid var(--border-color)"}},He={__name:"Notes",setup(c){const q=oe(),R=_e(),x=ye(),S=f(!1),v=f(!1),u=f(!1),r=f(!1),n=f(""),O=f([]),$=f([]),I=f(!1),w=f(""),m=f(!1),d=f(!1),h=f(!1),U=f(!1),b=f(null),y=f({title:"",content:"",tags:""});async function M(){C.success("剪贴板内容已保存到知识库"),await P()}async function j(){C.success("截图内容已保存到知识库"),await P()}const Q=J(()=>I.value?$.value:O.value),z=[{title:"标题",dataIndex:"title",key:"title",width:"30%"},{title:"预览",key:"content",ellipsis:!0},{title:"标签",key:"tags",width:"20%"},{title:"操作",key:"actions",width:"80px"}];async function P(){v.value=!0,n.value="";try{const{output:o}=await q.execute("note list",2e4);O.value=p(o)}catch(o){n.value=`加载失败: ${o.message}`}finally{v.value=!1}}function p(o){const e=[],E=o.split(`
2
+ `);for(const W of E){const _=W.trim();if(!_||_.startsWith("─")||_.startsWith("Note")||_.match(/^\d+ note/i))continue;const k=_.match(/^(\d+)\.\s+(.+?)(?:\s+\[([^\]]+)\])?\s*(?:-\s*(.*))?$/);k?e.push({key:k[1],id:k[1],title:k[2].trim(),tags:k[3]?k[3].split(",").map(Z=>Z.trim()):[],preview:(k[4]||"").trim().slice(0,100),content:""}):_.length>2&&!_.startsWith("✖")&&!_.startsWith("[")&&e.push({key:e.length,id:String(e.length),title:_,tags:[],preview:"",content:""})}return e}async function l(){if(!w.value.trim()){F();return}u.value=!0,I.value=!0;try{const{output:o}=await q.execute(`note search "${w.value}"`,15e3);$.value=p(o)}catch{$.value=[]}finally{u.value=!1}}function F(){w.value="",I.value=!1,$.value=[]}async function K(){if(!y.value.title.trim()){C.warning("请输入标题");return}r.value=!0;try{let o=`note add "${y.value.title}"`;y.value.content&&(o+=` -c "${y.value.content.replace(/"/g,'\\"')}"`),y.value.tags&&(o+=` -t "${y.value.tags}"`);const{output:e}=await q.execute(o,15e3);e.includes("✖")||e.toLowerCase().includes("error")?C.error("添加失败: "+e.slice(0,100)):(C.success("笔记已添加"),m.value=!1,y.value={title:"",content:"",tags:""},await P())}catch(o){C.error("添加失败: "+o.message)}finally{r.value=!1}}function X(o){b.value=o,d.value=!0}async function H(){if(!b.value)return;const o=b.value,e=o.tags?.length?`tags: [${o.tags.join(", ")}]
3
+
4
+ `:"",E=`# ${o.title}
5
+
6
+ ${e}${o.content||o.preview||""}
7
+ `,W=(o.title||"note").replace(/[\\/:*?"<>|\x00-\x1f]+/g,"_").slice(0,80)||"note";S.value=!0;try{const _=await R.saveText(E,{defaultPath:`${W}.md`,filters:[{name:"Markdown",extensions:["md"]}]});if(_.canceled)return;C.success(_.path?`已导出到 ${_.path}`:"已导出")}catch(_){C.error(`导出失败: ${_.message||_}`)}finally{S.value=!1}}return we(()=>{P(),x.query.clipboardImport&&(h.value=!0),x.query.screenshotOcr&&(U.value=!0)}),G(()=>x.query.clipboardImport,o=>{o&&(h.value=!0)}),G(()=>x.query.screenshotOcr,o=>{o&&(U.value=!0)}),(o,e)=>{const E=i("a-button"),W=i("a-space"),_=i("a-input-search"),k=i("a-tag"),Z=i("a-spin"),ve=i("a-table"),le=i("a-input"),ee=i("a-form-item"),me=i("a-textarea"),ge=i("a-form"),se=i("a-modal");return g(),N("div",null,[B("div",Le,[B("div",null,[e[12]||(e[12]=B("h2",{class:"page-title"},"笔记管理",-1)),B("p",De,"个人知识库 · "+D(O.value.length)+" 条笔记",1)]),t(W,null,{default:a(()=>[t(E,{onClick:e[0]||(e[0]=s=>m.value=!0),type:"primary"},{icon:a(()=>[t(A(ke))]),default:a(()=>[e[13]||(e[13]=V(" 新建笔记 ",-1))]),_:1}),t(E,{onClick:e[1]||(e[1]=s=>h.value=!0)},{icon:a(()=>[t(A(xe))]),default:a(()=>[e[14]||(e[14]=V(" 剪贴板导入 ",-1))]),_:1}),t(E,{onClick:e[2]||(e[2]=s=>U.value=!0)},{icon:a(()=>[t(A(pe))]),default:a(()=>[e[15]||(e[15]=V(" 截图识别 ",-1))]),_:1}),t(E,{ghost:"",loading:v.value,onClick:P},{icon:a(()=>[t(A(be))]),default:a(()=>[e[16]||(e[16]=V(" 刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),B("div",Ae,[t(_,{value:w.value,"onUpdate:value":e[3]||(e[3]=s=>w.value=s),placeholder:"搜索笔记...","allow-clear":"",style:{"max-width":"400px"},loading:u.value,onSearch:l,onClear:F},null,8,["value","loading"]),I.value?(g(),L(k,{key:0,color:"blue",closable:"",onClose:F},{default:a(()=>[V(" 搜索: "+D(w.value),1)]),_:1})):T("",!0)]),v.value?(g(),N("div",Fe,[t(Z,{size:"large"})])):(g(),L(ve,{key:1,columns:z,"data-source":Q.value,pagination:{pageSize:20,showTotal:s=>`共 ${s} 条`},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"note-row"},{bodyCell:a(({column:s,record:Y})=>[s.key==="title"?(g(),N("span",Me,D(Y.title),1)):T("",!0),s.key==="tags"?(g(!0),N(re,{key:1},ue(Y.tags,te=>(g(),L(k,{key:te,color:"blue",style:{"font-size":"10px",margin:"1px"}},{default:a(()=>[V(D(te),1)]),_:2},1024))),128)):T("",!0),s.key==="content"?(g(),N("span",Pe,D(Y.preview),1)):T("",!0),s.key==="actions"?(g(),L(E,{key:3,size:"small",type:"link",onClick:te=>X(Y)},{default:a(()=>[...e[17]||(e[17]=[V("查看",-1)])]),_:1},8,["onClick"])):T("",!0)]),emptyText:a(()=>[B("div",We,[t(A(Se),{style:{"font-size":"40px","margin-bottom":"12px",display:"block"}}),V(" "+D(n.value||'暂无笔记,点击"新建笔记"添加'),1)])]),_:1},8,["data-source","pagination"])),t(se,{open:m.value,"onUpdate:open":e[7]||(e[7]=s=>m.value=s),title:"新建笔记","confirm-loading":r.value,onOk:K},{default:a(()=>[t(ge,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:a(()=>[t(ee,{label:"标题",required:""},{default:a(()=>[t(le,{value:y.value.title,"onUpdate:value":e[4]||(e[4]=s=>y.value.title=s),placeholder:"笔记标题"},null,8,["value"])]),_:1}),t(ee,{label:"内容"},{default:a(()=>[t(me,{value:y.value.content,"onUpdate:value":e[5]||(e[5]=s=>y.value.content=s),rows:5,placeholder:"笔记内容..."},null,8,["value"])]),_:1}),t(ee,{label:"标签"},{default:a(()=>[t(le,{value:y.value.tags,"onUpdate:value":e[6]||(e[6]=s=>y.value.tags=s),placeholder:"用逗号分隔,如: work,ideas"},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["open","confirm-loading"]),t(Oe,{modelValue:h.value,"onUpdate:modelValue":e[8]||(e[8]=s=>h.value=s),onSaved:M},null,8,["modelValue"]),t(qe,{modelValue:U.value,"onUpdate:modelValue":e[9]||(e[9]=s=>U.value=s),onSaved:j},null,8,["modelValue"]),t(se,{open:d.value,"onUpdate:open":e[11]||(e[11]=s=>d.value=s),title:b.value?.title,width:"700px"},{footer:a(()=>[t(E,{onClick:e[10]||(e[10]=s=>d.value=!1)},{default:a(()=>[...e[18]||(e[18]=[V("关闭",-1)])]),_:1}),b.value?(g(),L(E,{key:0,type:"primary",loading:S.value,onClick:H},{icon:a(()=>[t(A($e))]),default:a(()=>[e[19]||(e[19]=V(" 导出 .md ",-1))]),_:1},8,["loading"])):T("",!0)]),default:a(()=>[b.value?(g(),N("div",je,[B("div",Qe,[(g(!0),N(re,null,ue(b.value.tags,s=>(g(),L(k,{key:s,color:"blue"},{default:a(()=>[V(D(s),1)]),_:2},1024))),128))]),B("pre",Ke,D(b.value.content||b.value.preview),1)])):T("",!0)]),_:1},8,["open","title"])])}}},et=ce(He,[["__scopeId","data-v-fe526205"]]);export{et as default};
@@ -0,0 +1 @@
1
+ import{u as D,_ as F,d as E}from"./index-Bn_0bupT.js";import{u as M}from"./useShellMode-CgR0wCYM.js";import{r as h,o as O,M as C,R as r,u as s,Q as A,S as N,c as t,N as d,K as f,L as y,F as W,O as j,P as q}from"./vendor-Ci2pTZ_t.js";import{R as z}from"./icons-B2G69bhT.js";const m={enabled:!0,sound:!0,badge:!0,desktop:!0};function V(n){if(n&&n.ok===!1)throw new Error(n.error||"notification-settings handler failed");return n?.result??n}const g={settings:h({...m})};function I(){const n=D(),o=M().isEmbedded;async function l(){if(!o)return g.settings.value={...m},g.settings.value;const u=await n.sendRaw({type:"notification-settings.get"},1e4),i=V(u);if(i?.success===!1)throw new Error(i.error||"notification-settings.get failed");return g.settings.value={...m,...i?.settings||{}},g.settings.value}async function b(u){if(!u||typeof u!="object")throw new Error("patch is required");if(!o)throw new Error("通知设置仅在嵌入式 web-shell 中可写");const i=await n.sendRaw({type:"notification-settings.update",settings:u},1e4),a=V(i);if(a?.success===!1)throw new Error(a.error||"notification-settings.update failed");return g.settings.value={...m,...a?.settings||{}},g.settings.value}return{settings:g.settings,isEmbedded:o,load:l,update:b,DEFAULTS:m}}const K={class:"footer-row"},P={key:0,class:"last-saved"},Q={__name:"NotificationSettings",setup(n){const{settings:o,isEmbedded:l,load:b,update:u}=I(),i=h(!1),a=h(!1),S=h("");async function x(){i.value=!0;try{await b()}catch(p){E.error("加载失败: "+(p?.message||String(p)))}finally{i.value=!1}}async function v(p,e){if(l){a.value=!0;try{await u({[p]:e}),S.value=new Date().toLocaleTimeString(),E.success("已保存")}catch(w){E.error("保存失败: "+(w?.message||String(w))),await b().catch(()=>{})}finally{a.value=!1}}}return O(x),(p,e)=>{const w=f("a-alert"),_=f("a-switch"),k=f("a-form-item"),R=f("a-form"),B=f("a-divider"),L=f("a-button"),T=f("a-card");return y(),C("div",null,[e[9]||(e[9]=r("div",{class:"page-head"},[r("div",null,[r("h2",{class:"page-title"},"通知设置"),r("p",{class:"page-sub"},"控制应用通知行为 · 与桌面 V5/V6 设置同源")])],-1)),s(l)?N("",!0):(y(),A(w,{key:0,type:"info","show-icon":"",style:{"margin-bottom":"16px"},message:"浏览器模式只读",description:"纯浏览器没有 Electron AppConfig 后端,本页只能展示默认值。请使用桌面壳 (cc desktop) 写入。"})),t(T,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:d(()=>[t(R,{layout:"horizontal","label-col":{span:6},"wrapper-col":{span:18}},{default:d(()=>[t(k,{label:"启用通知"},{default:d(()=>[t(_,{checked:s(o).enabled,disabled:!s(l)||a.value,onChange:e[0]||(e[0]=c=>v("enabled",c))},null,8,["checked","disabled"]),e[4]||(e[4]=r("span",{class:"hint"},"关闭后所有通知静默",-1))]),_:1}),s(o).enabled?(y(),C(W,{key:0},[t(k,{label:"通知声音"},{default:d(()=>[t(_,{checked:s(o).sound,disabled:!s(l)||a.value,onChange:e[1]||(e[1]=c=>v("sound",c))},null,8,["checked","disabled"]),e[5]||(e[5]=r("span",{class:"hint"},"桌面通知伴随系统提示音",-1))]),_:1}),t(k,{label:"角标提示"},{default:d(()=>[t(_,{checked:s(o).badge,disabled:!s(l)||a.value,onChange:e[2]||(e[2]=c=>v("badge",c))},null,8,["checked","disabled"]),e[6]||(e[6]=r("span",{class:"hint"},"在应用图标 / 任务栏角标显示未读数",-1))]),_:1}),t(k,{label:"桌面通知"},{default:d(()=>[t(_,{checked:s(o).desktop,disabled:!s(l)||a.value,onChange:e[3]||(e[3]=c=>v("desktop",c))},null,8,["checked","disabled"]),e[7]||(e[7]=r("span",{class:"hint"},"系统级 toast (Windows / macOS / Linux 原生通知)",-1))]),_:1})],64)):N("",!0)]),_:1}),t(B),r("div",K,[t(L,{loading:i.value,onClick:x},{icon:d(()=>[t(s(z))]),default:d(()=>[e[8]||(e[8]=j(" 重新加载 ",-1))]),_:1},8,["loading"]),S.value?(y(),C("span",P,"最近保存: "+q(S.value),1)):N("",!0)])]),_:1})])}}},X=F(Q,[["__scopeId","data-v-63dfa730"]]);export{X as default};
@@ -0,0 +1 @@
1
+ .page-head[data-v-63dfa730]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title[data-v-63dfa730]{margin:0;color:var(--text-primary);font-size:22px;font-weight:600}.page-sub[data-v-63dfa730]{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.hint[data-v-63dfa730]{margin-left:12px;color:var(--text-secondary);font-size:12px}.footer-row[data-v-63dfa730]{display:flex;align-items:center;gap:12px}.last-saved[data-v-63dfa730]{color:var(--text-muted);font-size:12px}
@@ -1,4 +1,4 @@
1
- import{o as Qe,M as y,R as O,P as u,u as o,c as n,N as s,r as d,K as _,L as p,O as b,Q as w,S as f,F as xe,a1 as ke,f as A}from"./vendor-B6ToihkA.js";import{_ as Ze,b as Ge,u as He,d as g}from"./index-B2f4ltyM.js";import{R as Xe,al as _e,Z as Ye,aw as we,at as ea,b as aa,a2 as ta}from"./icons-zXb7lDZs.js";const oa={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},na={class:"page-title"},la={class:"page-sub"},ia={key:0,style:{"text-align":"center",padding:"60px"}},sa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ra={key:1,style:{color:"#1677ff"}},ua={key:2,style:{color:"var(--text-secondary)"}},da={key:3,style:{color:"var(--text-muted)","font-size":"12px"}},pa={key:0,style:{"text-align":"center",padding:"40px"}},ca={key:1},ma={style:{"font-family":"monospace",color:"#ccc"}},ga={key:0,style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-secondary)","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)","max-height":"300px","overflow-y":"auto"}},va={style:{"margin-bottom":"16px",display:"flex","align-items":"center",gap:"12px"}},ya={key:0,style:{"text-align":"center",padding:"60px"}},fa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ba={key:1,style:{color:"#e0e0e0"}},_a={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},za={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"12px"}},xa={style:{color:"var(--text-primary)",margin:"0","font-size":"15px"}},ka={key:0,style:{"text-align":"center",padding:"40px"}},wa={key:0,style:{color:"#e0e0e0"}},ha={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},Ca={key:2,style:{color:"var(--text-secondary)"}},Oa={key:0,style:{"text-align":"center",padding:"60px"}},Ia={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},La={key:1,style:{color:"#e0e0e0"}},Ta={key:3,style:{color:"var(--text-secondary)"}},ja={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},Aa={__name:"Organization",setup($a){const{t:e}=Ge(),k=He(),$=d("orgs"),te=d(!1);async function he(){te.value=!0;try{$.value==="orgs"?await T():$.value==="members"?(await T(),z.value&&(await me(),await ge())):$.value==="approvals"&&await S()}finally{te.value=!1}}function Ce(l){l==="orgs"&&I.value.length===0&&T(),l==="members"&&I.value.length===0&&T(),l==="approvals"&&G.value.length===0&&S()}function U(l){try{const a=l.trim(),t=a.indexOf("["),r=a.indexOf("{"),c=t>=0&&(r<0||t<r)?t:r;return c>=0?JSON.parse(a.slice(c)):null}catch{return null}}const oe=d(!1),I=d([]),D=d(!1),ne=d(!1),F=d(""),V=d(""),le=d(!1),ie=d(!1),h=d({}),L=d(""),Oe=A(()=>[{title:e("organization.orgColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:e("organization.orgColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:e("organization.orgColumns.owner"),key:"owner",dataIndex:"owner",width:"140px"},{title:e("organization.orgColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:e("organization.orgColumns.memberCount"),key:"memberCount",dataIndex:"memberCount",width:"90px"}]),ze=A(()=>I.value.map(l=>({label:l.name,value:l.id})));async function T(){oe.value=!0;try{const{output:l}=await k.execute("org list --json",15e3),a=U(l);Array.isArray(a)?I.value=a.map((t,r)=>({key:t.id||r,id:t.id||"-",name:t.name||"-",owner:t.owner||"-",description:t.description||"",memberCount:t.memberCount??t.members??0})):I.value=Ie(l)}catch(l){g.error(e("organization.messages.loadOrgsFailed",{err:l.message}))}finally{oe.value=!1}}function Ie(l){const a=[],t=l.split(`
2
- `);for(const r of t){const c=r.trim();if(!c||c.startsWith("─")||c.match(/^\d+ org/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=3&&a.push({key:a.length,id:v[0]||"-",name:v[1]||"-",owner:v[2]||"-",description:v[3]||"",memberCount:parseInt(v[4],10)||0})}return a}async function Le(){if(!F.value.trim()){g.warning(e("organization.messages.orgNameRequired"));return}ne.value=!0;try{const l=F.value.trim().replace(/"/g,'\\"'),a=V.value.trim().replace(/"/g,'\\"');let t=`org create "${l}" --json`;a&&(t=`org create "${l}" --description "${a}" --json`);const{output:r}=await k.execute(t,2e4);r.includes("error")||r.includes("失败")?g.error(e("organization.messages.orgCreateFailed",{err:r.slice(0,120)})):(g.success(e("organization.messages.orgCreateOk")),D.value=!1,F.value="",V.value="",await T())}catch(l){g.error(e("organization.messages.orgCreateFailed",{err:l.message}))}finally{ne.value=!1}}async function Te(l){h.value={...l},L.value="",le.value=!0,ie.value=!0;try{const{output:a}=await k.execute(`org show ${l.id} --json`,15e3),t=U(a);t&&typeof t=="object"?(h.value={id:t.id||l.id,name:t.name||l.name,owner:t.owner||l.owner,description:t.description||l.description,memberCount:t.memberCount??t.members??l.memberCount,createdAt:t.createdAt||t.created||""},L.value=JSON.stringify(t,null,2)):L.value=a}catch(a){L.value=e("organization.messages.loadDetailFailed",{err:a.message})}finally{ie.value=!1}}const z=d(null),se=d(!1),re=d([]),ue=d(!1),de=d([]),K=d(!1),pe=d(!1),q=d(""),W=d(""),J=d("member"),E=d(!1),ce=d(!1),P=d(""),Q=d(""),Z=d(""),je=A(()=>[{label:e("organization.members.roleAdmin"),value:"admin"},{label:e("organization.members.roleMember"),value:"member"},{label:e("organization.members.roleViewer"),value:"viewer"}]),Ae=A(()=>[{title:e("organization.memberColumns.userId"),key:"userId",dataIndex:"userId",width:"160px"},{title:e("organization.memberColumns.name"),key:"name",dataIndex:"name",width:"140px"},{title:e("organization.memberColumns.role"),key:"role",dataIndex:"role",width:"100px"},{title:e("organization.memberColumns.joinedAt"),key:"joinedAt",dataIndex:"joinedAt",width:"180px"}]),$e=A(()=>[{title:e("organization.teamColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:e("organization.teamColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:e("organization.teamColumns.lead"),key:"lead",dataIndex:"lead",width:"140px"}]);function Ue(l){return{admin:"gold",member:"blue",viewer:"default",owner:"purple"}[(l||"").toLowerCase()]||"default"}async function Fe(){z.value&&await Promise.all([me(),ge()])}async function me(){if(z.value){se.value=!0;try{const{output:l}=await k.execute(`org members ${z.value} --json`,15e3),a=U(l);Array.isArray(a)?re.value=a.map((t,r)=>({key:t.userId||t.id||r,userId:t.userId||t.id||"-",name:t.name||t.displayName||"-",role:t.role||"member",joinedAt:t.joinedAt||t.joined||"-"})):re.value=qe(l)}catch(l){g.error(e("organization.messages.loadMembersFailed",{err:l.message}))}finally{se.value=!1}}}function qe(l){const a=[],t=l.split(`
3
- `);for(const r of t){const c=r.trim();if(!c||c.startsWith("─")||c.match(/^\d+ member/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=3&&a.push({key:a.length,userId:v[0]||"-",name:v[1]||"-",role:v[2]||"member",joinedAt:v[3]||"-"})}return a}async function ge(){if(z.value){ue.value=!0;try{const{output:l}=await k.execute(`org teams ${z.value} --json`,15e3),a=U(l);Array.isArray(a)?de.value=a.map((t,r)=>({key:t.id||t.name||r,name:t.name||"-",description:t.description||"",lead:t.lead||t.leader||"-"})):de.value=[]}catch(l){g.error(e("organization.messages.loadTeamsFailed",{err:l.message}))}finally{ue.value=!1}}}async function Pe(){if(!q.value.trim()){g.warning(e("organization.messages.userIdRequired"));return}pe.value=!0;try{const l=q.value.trim().replace(/"/g,'\\"'),a=W.value.trim().replace(/"/g,'\\"');let t=`org invite ${z.value} ${l} --role ${J.value}`;a&&(t+=` --name "${a}"`);const{output:r}=await k.execute(t,2e4);r.includes("error")||r.includes("失败")?g.error(e("organization.messages.inviteFailed",{err:r.slice(0,120)})):(g.success(e("organization.messages.inviteOk")),K.value=!1,q.value="",W.value="",J.value="member",await me())}catch(l){g.error(e("organization.messages.inviteFailed",{err:l.message}))}finally{pe.value=!1}}async function Ne(){if(!P.value.trim()){g.warning(e("organization.messages.teamNameRequired"));return}ce.value=!0;try{const l=P.value.trim().replace(/"/g,'\\"'),a=Q.value.trim().replace(/"/g,'\\"'),t=Z.value.trim().replace(/"/g,'\\"');let r=`org teams ${z.value} create "${l}"`;a&&(r+=` --description "${a}"`),t&&(r+=` --lead "${t}"`);const{output:c}=await k.execute(r,2e4);c.includes("error")||c.includes("失败")?g.error(e("organization.messages.teamCreateFailed",{err:c.slice(0,120)})):(g.success(e("organization.messages.teamCreateOk")),E.value=!1,P.value="",Q.value="",Z.value="",await ge())}catch(l){g.error(e("organization.messages.teamCreateFailed",{err:l.message}))}finally{ce.value=!1}}const ve=d(!1),G=d([]),H=d(!1),ye=d(!1),N=d(null),M=d(""),X=d(""),Y=d(""),Me=A(()=>[{title:e("organization.approvalColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:e("organization.approvalColumns.title"),key:"title",dataIndex:"title",width:"200px"},{title:e("organization.approvalColumns.type"),key:"type",dataIndex:"type",width:"120px"},{title:e("organization.approvalColumns.requester"),key:"requester",dataIndex:"requester",width:"140px"},{title:e("organization.approvalColumns.status"),key:"status",dataIndex:"status",width:"100px"},{title:e("organization.approvalColumns.actions"),key:"actions",width:"180px"}]);function Se(l){return{pending:"orange",approved:"green",rejected:"red"}[(l||"").toLowerCase()]||"default"}async function S(){ve.value=!0;try{const{output:l}=await k.execute("org approvals --json",15e3),a=U(l);Array.isArray(a)?G.value=a.map((t,r)=>({key:t.id||r,id:t.id||"-",title:t.title||"-",type:t.type||"-",requester:t.requester||t.requestedBy||"-",status:t.status||"pending",_approving:!1,_rejecting:!1})):G.value=Re(l)}catch(l){g.error(e("organization.messages.loadApprovalsFailed",{err:l.message}))}finally{ve.value=!1}}function Re(l){const a=[],t=l.split(`
4
- `);for(const r of t){const c=r.trim();if(!c||c.startsWith("─")||c.match(/^\d+ approval/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=4&&a.push({key:a.length,id:v[0]||"-",title:v[1]||"-",type:v[2]||"-",requester:v[3]||"-",status:v[4]||"pending",_approving:!1,_rejecting:!1})}return a}async function Be(l){l._approving=!0;try{const{output:a}=await k.execute(`org approve ${l.id}`,15e3);a.includes("error")||a.includes("失败")?g.error(e("organization.messages.approveFailed",{err:a.slice(0,120)})):(g.success(e("organization.messages.approveOk")),await S())}catch(a){g.error(e("organization.messages.approveFailed",{err:a.message}))}finally{l._approving=!1}}async function De(l){l._rejecting=!0;try{const{output:a}=await k.execute(`org reject ${l.id}`,15e3);a.includes("error")||a.includes("失败")?g.error(e("organization.messages.rejectFailed",{err:a.slice(0,120)})):(g.success(e("organization.messages.rejectOk")),await S())}catch(a){g.error(e("organization.messages.rejectFailed",{err:a.message}))}finally{l._rejecting=!1}}async function Ve(){if(!N.value){g.warning(e("organization.messages.orgRequired"));return}if(!M.value.trim()){g.warning(e("organization.messages.approvalTitleRequired"));return}ye.value=!0;try{const l=M.value.trim().replace(/"/g,'\\"'),a=X.value.trim().replace(/"/g,'\\"'),t=Y.value.trim().replace(/"/g,'\\"');let r=`org approve --submit --org ${N.value} --title "${l}"`;a&&(r+=` --type "${a}"`),t&&(r+=` --description "${t}"`);const{output:c}=await k.execute(r,2e4);c.includes("error")||c.includes("失败")?g.error(e("organization.messages.submitFailed",{err:c.slice(0,120)})):(g.success(e("organization.messages.submitOk")),H.value=!1,N.value=null,M.value="",X.value="",Y.value="",await S())}catch(l){g.error(e("organization.messages.submitFailed",{err:l.message}))}finally{ye.value=!1}}return Qe(()=>{T()}),(l,a)=>{const t=_("a-button"),r=_("a-space"),c=_("a-spin"),v=_("a-tag"),R=_("a-empty"),ee=_("a-table"),j=_("a-descriptions-item"),Ke=_("a-descriptions"),B=_("a-modal"),C=_("a-input"),x=_("a-form-item"),ae=_("a-form"),fe=_("a-tab-pane"),be=_("a-select"),We=_("a-textarea"),Je=_("a-tabs");return p(),y("div",null,[O("div",oa,[O("div",null,[O("h2",na,u(o(e)("organization.title")),1),O("p",la,u(o(e)("organization.subtitle")),1)]),n(t,{type:"primary",ghost:"",loading:te.value,onClick:he},{icon:s(()=>[n(o(Xe))]),default:s(()=>[b(" "+u(o(e)("organization.refresh")),1)]),_:1},8,["loading"])]),n(Je,{activeKey:$.value,"onUpdate:activeKey":a[22]||(a[22]=i=>$.value=i),type:"card",onChange:Ce},{default:s(()=>[n(fe,{key:"orgs"},{tab:s(()=>[n(o(Ye)),b(" "+u(o(e)("organization.tabs.orgs")),1)]),default:s(()=>[n(r,{style:{"margin-bottom":"16px"}},{default:s(()=>[n(t,{type:"primary",onClick:a[0]||(a[0]=i=>D.value=!0)},{icon:s(()=>[n(o(_e))]),default:s(()=>[b(" "+u(o(e)("organization.orgs.createButton")),1)]),_:1})]),_:1}),oe.value?(p(),y("div",ia,[n(c,{size:"large"})])):(p(),w(ee,{key:1,columns:Oe.value,"data-source":I.value,pagination:{pageSize:20,showTotal:i=>o(e)("organization.totals.rows",{count:i})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row","custom-row":i=>({onClick:()=>Te(i)})},{bodyCell:s(({column:i,record:m})=>[i.key==="id"?(p(),y("span",sa,u(m.id),1)):f("",!0),i.key==="name"?(p(),y("a",ra,u(m.name),1)):f("",!0),i.key==="owner"?(p(),y("span",ua,u(m.owner),1)):f("",!0),i.key==="description"?(p(),y("span",da,u(m.description),1)):f("",!0),i.key==="memberCount"?(p(),w(v,{key:4,color:"blue"},{default:s(()=>[b(u(m.memberCount),1)]),_:2},1024)):f("",!0)]),emptyText:s(()=>[n(R,{description:o(e)("organization.orgs.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination","custom-row"])),n(B,{open:le.value,"onUpdate:open":a[1]||(a[1]=i=>le.value=i),title:o(e)("organization.orgs.detailTitle",{name:h.value.name||""}),footer:null,width:"640px"},{default:s(()=>[ie.value?(p(),y("div",pa,[n(c)])):(p(),y("div",ca,[n(Ke,{column:1,bordered:"",size:"small",style:{"margin-bottom":"16px"}},{default:s(()=>[n(j,{label:o(e)("organization.orgs.detailLabels.id")},{default:s(()=>[O("span",ma,u(h.value.id),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.name")},{default:s(()=>[b(u(h.value.name),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.owner")},{default:s(()=>[b(u(h.value.owner),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.description")},{default:s(()=>[b(u(h.value.description||"-"),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.memberCount")},{default:s(()=>[b(u(h.value.memberCount),1)]),_:1},8,["label"]),h.value.createdAt?(p(),w(j,{key:0,label:o(e)("organization.orgs.detailLabels.createdAt")},{default:s(()=>[b(u(h.value.createdAt),1)]),_:1},8,["label"])):f("",!0)]),_:1}),L.value?(p(),y("pre",ga,u(L.value),1)):f("",!0)]))]),_:1},8,["open","title"]),n(B,{open:D.value,"onUpdate:open":a[4]||(a[4]=i=>D.value=i),title:o(e)("organization.orgs.createTitle"),"confirm-loading":ne.value,onOk:Le,"ok-text":o(e)("organization.orgs.createOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[n(ae,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:s(()=>[n(x,{label:o(e)("organization.orgs.nameLabel"),required:""},{default:s(()=>[n(C,{value:F.value,"onUpdate:value":a[2]||(a[2]=i=>F.value=i),placeholder:o(e)("organization.orgs.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.orgs.descriptionLabel")},{default:s(()=>[n(C,{value:V.value,"onUpdate:value":a[3]||(a[3]=i=>V.value=i),placeholder:o(e)("organization.orgs.descriptionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),n(fe,{key:"members"},{tab:s(()=>[n(o(we)),b(" "+u(o(e)("organization.tabs.members")),1)]),default:s(()=>[O("div",va,[n(be,{value:z.value,"onUpdate:value":a[5]||(a[5]=i=>z.value=i),placeholder:o(e)("organization.members.selectPlaceholder"),style:{width:"280px"},options:ze.value,onChange:Fe},null,8,["value","placeholder","options"]),n(t,{type:"primary",disabled:!z.value,onClick:a[6]||(a[6]=i=>K.value=!0)},{icon:s(()=>[n(o(we))]),default:s(()=>[b(" "+u(o(e)("organization.members.inviteButton")),1)]),_:1},8,["disabled"])]),se.value?(p(),y("div",ya,[n(c,{size:"large"})])):z.value?(p(),w(ee,{key:1,columns:Ae.value,"data-source":re.value,pagination:{pageSize:20,showTotal:i=>o(e)("organization.totals.rows",{count:i})},size:"small",style:{background:"var(--bg-card)","margin-bottom":"24px"},"row-class-name":()=>"org-row"},{bodyCell:s(({column:i,record:m})=>[i.key==="userId"?(p(),y("span",fa,u(m.userId),1)):f("",!0),i.key==="name"?(p(),y("span",ba,u(m.name),1)):f("",!0),i.key==="role"?(p(),w(v,{key:2,color:Ue(m.role)},{default:s(()=>[b(u(m.role),1)]),_:2},1032,["color"])):f("",!0),i.key==="joinedAt"?(p(),y("span",_a,u(m.joinedAt),1)):f("",!0)]),emptyText:s(()=>[n(R,{description:o(e)("organization.members.emptyMembers")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])):(p(),w(R,{key:2,description:o(e)("organization.members.selectFirst"),style:{padding:"60px 0"}},null,8,["description"])),z.value?(p(),y(xe,{key:3},[O("div",za,[O("h3",xa,u(o(e)("organization.members.teamsTitle")),1),n(t,{size:"small",onClick:a[7]||(a[7]=i=>E.value=!0)},{icon:s(()=>[n(o(_e))]),default:s(()=>[b(" "+u(o(e)("organization.members.createTeamButton")),1)]),_:1})]),ue.value?(p(),y("div",ka,[n(c)])):(p(),w(ee,{key:1,columns:$e.value,"data-source":de.value,pagination:!1,size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:s(({column:i,record:m})=>[i.key==="name"?(p(),y("span",wa,u(m.name),1)):f("",!0),i.key==="description"?(p(),y("span",ha,u(m.description),1)):f("",!0),i.key==="lead"?(p(),y("span",Ca,u(m.lead),1)):f("",!0)]),emptyText:s(()=>[n(R,{description:o(e)("organization.members.emptyTeams")},null,8,["description"])]),_:1},8,["columns","data-source"]))],64)):f("",!0),n(B,{open:K.value,"onUpdate:open":a[11]||(a[11]=i=>K.value=i),title:o(e)("organization.members.inviteTitle"),"confirm-loading":pe.value,onOk:Pe,"ok-text":o(e)("organization.members.inviteOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[n(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:s(()=>[n(x,{label:o(e)("organization.members.userIdLabel"),required:""},{default:s(()=>[n(C,{value:q.value,"onUpdate:value":a[8]||(a[8]=i=>q.value=i),placeholder:o(e)("organization.members.userIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.nameLabel")},{default:s(()=>[n(C,{value:W.value,"onUpdate:value":a[9]||(a[9]=i=>W.value=i),placeholder:o(e)("organization.members.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.roleLabel")},{default:s(()=>[n(be,{value:J.value,"onUpdate:value":a[10]||(a[10]=i=>J.value=i),options:je.value},null,8,["value","options"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),n(B,{open:E.value,"onUpdate:open":a[15]||(a[15]=i=>E.value=i),title:o(e)("organization.members.createTeamTitle"),"confirm-loading":ce.value,onOk:Ne,"ok-text":o(e)("organization.members.createTeamOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[n(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:s(()=>[n(x,{label:o(e)("organization.members.teamNameLabel"),required:""},{default:s(()=>[n(C,{value:P.value,"onUpdate:value":a[12]||(a[12]=i=>P.value=i),placeholder:o(e)("organization.members.teamNamePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.teamDescLabel")},{default:s(()=>[n(C,{value:Q.value,"onUpdate:value":a[13]||(a[13]=i=>Q.value=i),placeholder:o(e)("organization.members.teamDescPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.teamLeadLabel")},{default:s(()=>[n(C,{value:Z.value,"onUpdate:value":a[14]||(a[14]=i=>Z.value=i),placeholder:o(e)("organization.members.teamLeadPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),n(fe,{key:"approvals"},{tab:s(()=>[n(o(ta)),b(" "+u(o(e)("organization.tabs.approvals")),1)]),default:s(()=>[n(r,{style:{"margin-bottom":"16px"}},{default:s(()=>[n(t,{type:"primary",onClick:a[16]||(a[16]=i=>H.value=!0)},{icon:s(()=>[n(o(_e))]),default:s(()=>[b(" "+u(o(e)("organization.approvals.submitButton")),1)]),_:1})]),_:1}),ve.value?(p(),y("div",Oa,[n(c,{size:"large"})])):(p(),w(ee,{key:1,columns:Me.value,"data-source":G.value,pagination:{pageSize:20,showTotal:i=>o(e)("organization.totals.rows",{count:i})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:s(({column:i,record:m})=>[i.key==="id"?(p(),y("span",Ia,u(m.id),1)):f("",!0),i.key==="title"?(p(),y("span",La,u(m.title),1)):f("",!0),i.key==="type"?(p(),w(v,{key:2,color:"blue"},{default:s(()=>[b(u(m.type),1)]),_:2},1024)):f("",!0),i.key==="requester"?(p(),y("span",Ta,u(m.requester),1)):f("",!0),i.key==="status"?(p(),w(v,{key:4,color:Se(m.status)},{default:s(()=>[b(u(m.status),1)]),_:2},1032,["color"])):f("",!0),i.key==="actions"?(p(),y(xe,{key:5},[(m.status||"").toLowerCase()==="pending"?(p(),w(r,{key:0},{default:s(()=>[n(t,{type:"primary",size:"small",loading:m._approving,onClick:ke(Ee=>Be(m),["stop"])},{icon:s(()=>[n(o(ea))]),default:s(()=>[b(" "+u(o(e)("organization.approvals.approve")),1)]),_:1},8,["loading","onClick"]),n(t,{danger:"",size:"small",loading:m._rejecting,onClick:ke(Ee=>De(m),["stop"])},{icon:s(()=>[n(o(aa))]),default:s(()=>[b(" "+u(o(e)("organization.approvals.reject")),1)]),_:1},8,["loading","onClick"])]),_:2},1024)):(p(),y("span",ja,"-"))],64)):f("",!0)]),emptyText:s(()=>[n(R,{description:o(e)("organization.approvals.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),n(B,{open:H.value,"onUpdate:open":a[21]||(a[21]=i=>H.value=i),title:o(e)("organization.approvals.submitTitle"),"confirm-loading":ye.value,onOk:Ve,"ok-text":o(e)("organization.approvals.submitOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[n(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:s(()=>[n(x,{label:o(e)("organization.approvals.orgLabel"),required:""},{default:s(()=>[n(be,{value:N.value,"onUpdate:value":a[17]||(a[17]=i=>N.value=i),placeholder:o(e)("organization.approvals.orgPlaceholder"),options:ze.value},null,8,["value","placeholder","options"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.approvals.titleLabel"),required:""},{default:s(()=>[n(C,{value:M.value,"onUpdate:value":a[18]||(a[18]=i=>M.value=i),placeholder:o(e)("organization.approvals.titlePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.approvals.typeLabel")},{default:s(()=>[n(C,{value:X.value,"onUpdate:value":a[19]||(a[19]=i=>X.value=i),placeholder:o(e)("organization.approvals.typePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.approvals.descLabel")},{default:s(()=>[n(We,{value:Y.value,"onUpdate:value":a[20]||(a[20]=i=>Y.value=i),placeholder:o(e)("organization.approvals.descPlaceholder"),rows:3},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1})]),_:1},8,["activeKey"])])}}},Pa=Ze(Aa,[["__scopeId","data-v-5c758732"]]);export{Pa as default};
1
+ import{o as Qe,M as y,R as O,P as u,u as o,c as n,N as s,r as d,K as _,L as p,O as b,Q as w,S as f,F as xe,a1 as ke,f as A}from"./vendor-Ci2pTZ_t.js";import{_ as Ge,b as He,u as Xe,d as g}from"./index-Bn_0bupT.js";import{R as Ye,ap as _e,$ as Ze,aC as we,af as ea,b as aa,a4 as ta}from"./icons-B2G69bhT.js";const oa={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},na={class:"page-title"},la={class:"page-sub"},ia={key:0,style:{"text-align":"center",padding:"60px"}},sa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ra={key:1,style:{color:"#1677ff"}},ua={key:2,style:{color:"var(--text-secondary)"}},da={key:3,style:{color:"var(--text-muted)","font-size":"12px"}},pa={key:0,style:{"text-align":"center",padding:"40px"}},ca={key:1},ma={style:{"font-family":"monospace",color:"#ccc"}},ga={key:0,style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-secondary)","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)","max-height":"300px","overflow-y":"auto"}},va={style:{"margin-bottom":"16px",display:"flex","align-items":"center",gap:"12px"}},ya={key:0,style:{"text-align":"center",padding:"60px"}},fa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ba={key:1,style:{color:"#e0e0e0"}},_a={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},za={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"12px"}},xa={style:{color:"var(--text-primary)",margin:"0","font-size":"15px"}},ka={key:0,style:{"text-align":"center",padding:"40px"}},wa={key:0,style:{color:"#e0e0e0"}},ha={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},Ca={key:2,style:{color:"var(--text-secondary)"}},Oa={key:0,style:{"text-align":"center",padding:"60px"}},Ia={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},La={key:1,style:{color:"#e0e0e0"}},Ta={key:3,style:{color:"var(--text-secondary)"}},ja={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},Aa={__name:"Organization",setup($a){const{t:e}=He(),k=Xe(),$=d("orgs"),te=d(!1);async function he(){te.value=!0;try{$.value==="orgs"?await T():$.value==="members"?(await T(),z.value&&(await me(),await ge())):$.value==="approvals"&&await S()}finally{te.value=!1}}function Ce(l){l==="orgs"&&I.value.length===0&&T(),l==="members"&&I.value.length===0&&T(),l==="approvals"&&H.value.length===0&&S()}function U(l){try{const a=l.trim(),t=a.indexOf("["),r=a.indexOf("{"),c=t>=0&&(r<0||t<r)?t:r;return c>=0?JSON.parse(a.slice(c)):null}catch{return null}}const oe=d(!1),I=d([]),D=d(!1),ne=d(!1),F=d(""),V=d(""),le=d(!1),ie=d(!1),h=d({}),L=d(""),Oe=A(()=>[{title:e("organization.orgColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:e("organization.orgColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:e("organization.orgColumns.owner"),key:"owner",dataIndex:"owner",width:"140px"},{title:e("organization.orgColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:e("organization.orgColumns.memberCount"),key:"memberCount",dataIndex:"memberCount",width:"90px"}]),ze=A(()=>I.value.map(l=>({label:l.name,value:l.id})));async function T(){oe.value=!0;try{const{output:l}=await k.execute("org list --json",15e3),a=U(l);Array.isArray(a)?I.value=a.map((t,r)=>({key:t.id||r,id:t.id||"-",name:t.name||"-",owner:t.owner||"-",description:t.description||"",memberCount:t.memberCount??t.members??0})):I.value=Ie(l)}catch(l){g.error(e("organization.messages.loadOrgsFailed",{err:l.message}))}finally{oe.value=!1}}function Ie(l){const a=[],t=l.split(`
2
+ `);for(const r of t){const c=r.trim();if(!c||c.startsWith("─")||c.match(/^\d+ org/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=3&&a.push({key:a.length,id:v[0]||"-",name:v[1]||"-",owner:v[2]||"-",description:v[3]||"",memberCount:parseInt(v[4],10)||0})}return a}async function Le(){if(!F.value.trim()){g.warning(e("organization.messages.orgNameRequired"));return}ne.value=!0;try{const l=F.value.trim().replace(/"/g,'\\"'),a=V.value.trim().replace(/"/g,'\\"');let t=`org create "${l}" --json`;a&&(t=`org create "${l}" --description "${a}" --json`);const{output:r}=await k.execute(t,2e4);r.includes("error")||r.includes("失败")?g.error(e("organization.messages.orgCreateFailed",{err:r.slice(0,120)})):(g.success(e("organization.messages.orgCreateOk")),D.value=!1,F.value="",V.value="",await T())}catch(l){g.error(e("organization.messages.orgCreateFailed",{err:l.message}))}finally{ne.value=!1}}async function Te(l){h.value={...l},L.value="",le.value=!0,ie.value=!0;try{const{output:a}=await k.execute(`org show ${l.id} --json`,15e3),t=U(a);t&&typeof t=="object"?(h.value={id:t.id||l.id,name:t.name||l.name,owner:t.owner||l.owner,description:t.description||l.description,memberCount:t.memberCount??t.members??l.memberCount,createdAt:t.createdAt||t.created||""},L.value=JSON.stringify(t,null,2)):L.value=a}catch(a){L.value=e("organization.messages.loadDetailFailed",{err:a.message})}finally{ie.value=!1}}const z=d(null),se=d(!1),re=d([]),ue=d(!1),de=d([]),K=d(!1),pe=d(!1),q=d(""),W=d(""),J=d("member"),E=d(!1),ce=d(!1),P=d(""),Q=d(""),G=d(""),je=A(()=>[{label:e("organization.members.roleAdmin"),value:"admin"},{label:e("organization.members.roleMember"),value:"member"},{label:e("organization.members.roleViewer"),value:"viewer"}]),Ae=A(()=>[{title:e("organization.memberColumns.userId"),key:"userId",dataIndex:"userId",width:"160px"},{title:e("organization.memberColumns.name"),key:"name",dataIndex:"name",width:"140px"},{title:e("organization.memberColumns.role"),key:"role",dataIndex:"role",width:"100px"},{title:e("organization.memberColumns.joinedAt"),key:"joinedAt",dataIndex:"joinedAt",width:"180px"}]),$e=A(()=>[{title:e("organization.teamColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:e("organization.teamColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:e("organization.teamColumns.lead"),key:"lead",dataIndex:"lead",width:"140px"}]);function Ue(l){return{admin:"gold",member:"blue",viewer:"default",owner:"purple"}[(l||"").toLowerCase()]||"default"}async function Fe(){z.value&&await Promise.all([me(),ge()])}async function me(){if(z.value){se.value=!0;try{const{output:l}=await k.execute(`org members ${z.value} --json`,15e3),a=U(l);Array.isArray(a)?re.value=a.map((t,r)=>({key:t.userId||t.id||r,userId:t.userId||t.id||"-",name:t.name||t.displayName||"-",role:t.role||"member",joinedAt:t.joinedAt||t.joined||"-"})):re.value=qe(l)}catch(l){g.error(e("organization.messages.loadMembersFailed",{err:l.message}))}finally{se.value=!1}}}function qe(l){const a=[],t=l.split(`
3
+ `);for(const r of t){const c=r.trim();if(!c||c.startsWith("─")||c.match(/^\d+ member/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=3&&a.push({key:a.length,userId:v[0]||"-",name:v[1]||"-",role:v[2]||"member",joinedAt:v[3]||"-"})}return a}async function ge(){if(z.value){ue.value=!0;try{const{output:l}=await k.execute(`org teams ${z.value} --json`,15e3),a=U(l);Array.isArray(a)?de.value=a.map((t,r)=>({key:t.id||t.name||r,name:t.name||"-",description:t.description||"",lead:t.lead||t.leader||"-"})):de.value=[]}catch(l){g.error(e("organization.messages.loadTeamsFailed",{err:l.message}))}finally{ue.value=!1}}}async function Pe(){if(!q.value.trim()){g.warning(e("organization.messages.userIdRequired"));return}pe.value=!0;try{const l=q.value.trim().replace(/"/g,'\\"'),a=W.value.trim().replace(/"/g,'\\"');let t=`org invite ${z.value} ${l} --role ${J.value}`;a&&(t+=` --name "${a}"`);const{output:r}=await k.execute(t,2e4);r.includes("error")||r.includes("失败")?g.error(e("organization.messages.inviteFailed",{err:r.slice(0,120)})):(g.success(e("organization.messages.inviteOk")),K.value=!1,q.value="",W.value="",J.value="member",await me())}catch(l){g.error(e("organization.messages.inviteFailed",{err:l.message}))}finally{pe.value=!1}}async function Ne(){if(!P.value.trim()){g.warning(e("organization.messages.teamNameRequired"));return}ce.value=!0;try{const l=P.value.trim().replace(/"/g,'\\"'),a=Q.value.trim().replace(/"/g,'\\"'),t=G.value.trim().replace(/"/g,'\\"');let r=`org teams ${z.value} create "${l}"`;a&&(r+=` --description "${a}"`),t&&(r+=` --lead "${t}"`);const{output:c}=await k.execute(r,2e4);c.includes("error")||c.includes("失败")?g.error(e("organization.messages.teamCreateFailed",{err:c.slice(0,120)})):(g.success(e("organization.messages.teamCreateOk")),E.value=!1,P.value="",Q.value="",G.value="",await ge())}catch(l){g.error(e("organization.messages.teamCreateFailed",{err:l.message}))}finally{ce.value=!1}}const ve=d(!1),H=d([]),X=d(!1),ye=d(!1),N=d(null),M=d(""),Y=d(""),Z=d(""),Me=A(()=>[{title:e("organization.approvalColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:e("organization.approvalColumns.title"),key:"title",dataIndex:"title",width:"200px"},{title:e("organization.approvalColumns.type"),key:"type",dataIndex:"type",width:"120px"},{title:e("organization.approvalColumns.requester"),key:"requester",dataIndex:"requester",width:"140px"},{title:e("organization.approvalColumns.status"),key:"status",dataIndex:"status",width:"100px"},{title:e("organization.approvalColumns.actions"),key:"actions",width:"180px"}]);function Se(l){return{pending:"orange",approved:"green",rejected:"red"}[(l||"").toLowerCase()]||"default"}async function S(){ve.value=!0;try{const{output:l}=await k.execute("org approvals --json",15e3),a=U(l);Array.isArray(a)?H.value=a.map((t,r)=>({key:t.id||r,id:t.id||"-",title:t.title||"-",type:t.type||"-",requester:t.requester||t.requestedBy||"-",status:t.status||"pending",_approving:!1,_rejecting:!1})):H.value=Re(l)}catch(l){g.error(e("organization.messages.loadApprovalsFailed",{err:l.message}))}finally{ve.value=!1}}function Re(l){const a=[],t=l.split(`
4
+ `);for(const r of t){const c=r.trim();if(!c||c.startsWith("─")||c.match(/^\d+ approval/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=4&&a.push({key:a.length,id:v[0]||"-",title:v[1]||"-",type:v[2]||"-",requester:v[3]||"-",status:v[4]||"pending",_approving:!1,_rejecting:!1})}return a}async function Be(l){l._approving=!0;try{const{output:a}=await k.execute(`org approve ${l.id}`,15e3);a.includes("error")||a.includes("失败")?g.error(e("organization.messages.approveFailed",{err:a.slice(0,120)})):(g.success(e("organization.messages.approveOk")),await S())}catch(a){g.error(e("organization.messages.approveFailed",{err:a.message}))}finally{l._approving=!1}}async function De(l){l._rejecting=!0;try{const{output:a}=await k.execute(`org reject ${l.id}`,15e3);a.includes("error")||a.includes("失败")?g.error(e("organization.messages.rejectFailed",{err:a.slice(0,120)})):(g.success(e("organization.messages.rejectOk")),await S())}catch(a){g.error(e("organization.messages.rejectFailed",{err:a.message}))}finally{l._rejecting=!1}}async function Ve(){if(!N.value){g.warning(e("organization.messages.orgRequired"));return}if(!M.value.trim()){g.warning(e("organization.messages.approvalTitleRequired"));return}ye.value=!0;try{const l=M.value.trim().replace(/"/g,'\\"'),a=Y.value.trim().replace(/"/g,'\\"'),t=Z.value.trim().replace(/"/g,'\\"');let r=`org approve --submit --org ${N.value} --title "${l}"`;a&&(r+=` --type "${a}"`),t&&(r+=` --description "${t}"`);const{output:c}=await k.execute(r,2e4);c.includes("error")||c.includes("失败")?g.error(e("organization.messages.submitFailed",{err:c.slice(0,120)})):(g.success(e("organization.messages.submitOk")),X.value=!1,N.value=null,M.value="",Y.value="",Z.value="",await S())}catch(l){g.error(e("organization.messages.submitFailed",{err:l.message}))}finally{ye.value=!1}}return Qe(()=>{T()}),(l,a)=>{const t=_("a-button"),r=_("a-space"),c=_("a-spin"),v=_("a-tag"),R=_("a-empty"),ee=_("a-table"),j=_("a-descriptions-item"),Ke=_("a-descriptions"),B=_("a-modal"),C=_("a-input"),x=_("a-form-item"),ae=_("a-form"),fe=_("a-tab-pane"),be=_("a-select"),We=_("a-textarea"),Je=_("a-tabs");return p(),y("div",null,[O("div",oa,[O("div",null,[O("h2",na,u(o(e)("organization.title")),1),O("p",la,u(o(e)("organization.subtitle")),1)]),n(t,{type:"primary",ghost:"",loading:te.value,onClick:he},{icon:s(()=>[n(o(Ye))]),default:s(()=>[b(" "+u(o(e)("organization.refresh")),1)]),_:1},8,["loading"])]),n(Je,{activeKey:$.value,"onUpdate:activeKey":a[22]||(a[22]=i=>$.value=i),type:"card",onChange:Ce},{default:s(()=>[n(fe,{key:"orgs"},{tab:s(()=>[n(o(Ze)),b(" "+u(o(e)("organization.tabs.orgs")),1)]),default:s(()=>[n(r,{style:{"margin-bottom":"16px"}},{default:s(()=>[n(t,{type:"primary",onClick:a[0]||(a[0]=i=>D.value=!0)},{icon:s(()=>[n(o(_e))]),default:s(()=>[b(" "+u(o(e)("organization.orgs.createButton")),1)]),_:1})]),_:1}),oe.value?(p(),y("div",ia,[n(c,{size:"large"})])):(p(),w(ee,{key:1,columns:Oe.value,"data-source":I.value,pagination:{pageSize:20,showTotal:i=>o(e)("organization.totals.rows",{count:i})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row","custom-row":i=>({onClick:()=>Te(i)})},{bodyCell:s(({column:i,record:m})=>[i.key==="id"?(p(),y("span",sa,u(m.id),1)):f("",!0),i.key==="name"?(p(),y("a",ra,u(m.name),1)):f("",!0),i.key==="owner"?(p(),y("span",ua,u(m.owner),1)):f("",!0),i.key==="description"?(p(),y("span",da,u(m.description),1)):f("",!0),i.key==="memberCount"?(p(),w(v,{key:4,color:"blue"},{default:s(()=>[b(u(m.memberCount),1)]),_:2},1024)):f("",!0)]),emptyText:s(()=>[n(R,{description:o(e)("organization.orgs.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination","custom-row"])),n(B,{open:le.value,"onUpdate:open":a[1]||(a[1]=i=>le.value=i),title:o(e)("organization.orgs.detailTitle",{name:h.value.name||""}),footer:null,width:"640px"},{default:s(()=>[ie.value?(p(),y("div",pa,[n(c)])):(p(),y("div",ca,[n(Ke,{column:1,bordered:"",size:"small",style:{"margin-bottom":"16px"}},{default:s(()=>[n(j,{label:o(e)("organization.orgs.detailLabels.id")},{default:s(()=>[O("span",ma,u(h.value.id),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.name")},{default:s(()=>[b(u(h.value.name),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.owner")},{default:s(()=>[b(u(h.value.owner),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.description")},{default:s(()=>[b(u(h.value.description||"-"),1)]),_:1},8,["label"]),n(j,{label:o(e)("organization.orgs.detailLabels.memberCount")},{default:s(()=>[b(u(h.value.memberCount),1)]),_:1},8,["label"]),h.value.createdAt?(p(),w(j,{key:0,label:o(e)("organization.orgs.detailLabels.createdAt")},{default:s(()=>[b(u(h.value.createdAt),1)]),_:1},8,["label"])):f("",!0)]),_:1}),L.value?(p(),y("pre",ga,u(L.value),1)):f("",!0)]))]),_:1},8,["open","title"]),n(B,{open:D.value,"onUpdate:open":a[4]||(a[4]=i=>D.value=i),title:o(e)("organization.orgs.createTitle"),"confirm-loading":ne.value,onOk:Le,"ok-text":o(e)("organization.orgs.createOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[n(ae,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:s(()=>[n(x,{label:o(e)("organization.orgs.nameLabel"),required:""},{default:s(()=>[n(C,{value:F.value,"onUpdate:value":a[2]||(a[2]=i=>F.value=i),placeholder:o(e)("organization.orgs.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.orgs.descriptionLabel")},{default:s(()=>[n(C,{value:V.value,"onUpdate:value":a[3]||(a[3]=i=>V.value=i),placeholder:o(e)("organization.orgs.descriptionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),n(fe,{key:"members"},{tab:s(()=>[n(o(we)),b(" "+u(o(e)("organization.tabs.members")),1)]),default:s(()=>[O("div",va,[n(be,{value:z.value,"onUpdate:value":a[5]||(a[5]=i=>z.value=i),placeholder:o(e)("organization.members.selectPlaceholder"),style:{width:"280px"},options:ze.value,onChange:Fe},null,8,["value","placeholder","options"]),n(t,{type:"primary",disabled:!z.value,onClick:a[6]||(a[6]=i=>K.value=!0)},{icon:s(()=>[n(o(we))]),default:s(()=>[b(" "+u(o(e)("organization.members.inviteButton")),1)]),_:1},8,["disabled"])]),se.value?(p(),y("div",ya,[n(c,{size:"large"})])):z.value?(p(),w(ee,{key:1,columns:Ae.value,"data-source":re.value,pagination:{pageSize:20,showTotal:i=>o(e)("organization.totals.rows",{count:i})},size:"small",style:{background:"var(--bg-card)","margin-bottom":"24px"},"row-class-name":()=>"org-row"},{bodyCell:s(({column:i,record:m})=>[i.key==="userId"?(p(),y("span",fa,u(m.userId),1)):f("",!0),i.key==="name"?(p(),y("span",ba,u(m.name),1)):f("",!0),i.key==="role"?(p(),w(v,{key:2,color:Ue(m.role)},{default:s(()=>[b(u(m.role),1)]),_:2},1032,["color"])):f("",!0),i.key==="joinedAt"?(p(),y("span",_a,u(m.joinedAt),1)):f("",!0)]),emptyText:s(()=>[n(R,{description:o(e)("organization.members.emptyMembers")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])):(p(),w(R,{key:2,description:o(e)("organization.members.selectFirst"),style:{padding:"60px 0"}},null,8,["description"])),z.value?(p(),y(xe,{key:3},[O("div",za,[O("h3",xa,u(o(e)("organization.members.teamsTitle")),1),n(t,{size:"small",onClick:a[7]||(a[7]=i=>E.value=!0)},{icon:s(()=>[n(o(_e))]),default:s(()=>[b(" "+u(o(e)("organization.members.createTeamButton")),1)]),_:1})]),ue.value?(p(),y("div",ka,[n(c)])):(p(),w(ee,{key:1,columns:$e.value,"data-source":de.value,pagination:!1,size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:s(({column:i,record:m})=>[i.key==="name"?(p(),y("span",wa,u(m.name),1)):f("",!0),i.key==="description"?(p(),y("span",ha,u(m.description),1)):f("",!0),i.key==="lead"?(p(),y("span",Ca,u(m.lead),1)):f("",!0)]),emptyText:s(()=>[n(R,{description:o(e)("organization.members.emptyTeams")},null,8,["description"])]),_:1},8,["columns","data-source"]))],64)):f("",!0),n(B,{open:K.value,"onUpdate:open":a[11]||(a[11]=i=>K.value=i),title:o(e)("organization.members.inviteTitle"),"confirm-loading":pe.value,onOk:Pe,"ok-text":o(e)("organization.members.inviteOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[n(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:s(()=>[n(x,{label:o(e)("organization.members.userIdLabel"),required:""},{default:s(()=>[n(C,{value:q.value,"onUpdate:value":a[8]||(a[8]=i=>q.value=i),placeholder:o(e)("organization.members.userIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.nameLabel")},{default:s(()=>[n(C,{value:W.value,"onUpdate:value":a[9]||(a[9]=i=>W.value=i),placeholder:o(e)("organization.members.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.roleLabel")},{default:s(()=>[n(be,{value:J.value,"onUpdate:value":a[10]||(a[10]=i=>J.value=i),options:je.value},null,8,["value","options"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),n(B,{open:E.value,"onUpdate:open":a[15]||(a[15]=i=>E.value=i),title:o(e)("organization.members.createTeamTitle"),"confirm-loading":ce.value,onOk:Ne,"ok-text":o(e)("organization.members.createTeamOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[n(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:s(()=>[n(x,{label:o(e)("organization.members.teamNameLabel"),required:""},{default:s(()=>[n(C,{value:P.value,"onUpdate:value":a[12]||(a[12]=i=>P.value=i),placeholder:o(e)("organization.members.teamNamePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.teamDescLabel")},{default:s(()=>[n(C,{value:Q.value,"onUpdate:value":a[13]||(a[13]=i=>Q.value=i),placeholder:o(e)("organization.members.teamDescPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.members.teamLeadLabel")},{default:s(()=>[n(C,{value:G.value,"onUpdate:value":a[14]||(a[14]=i=>G.value=i),placeholder:o(e)("organization.members.teamLeadPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),n(fe,{key:"approvals"},{tab:s(()=>[n(o(ta)),b(" "+u(o(e)("organization.tabs.approvals")),1)]),default:s(()=>[n(r,{style:{"margin-bottom":"16px"}},{default:s(()=>[n(t,{type:"primary",onClick:a[16]||(a[16]=i=>X.value=!0)},{icon:s(()=>[n(o(_e))]),default:s(()=>[b(" "+u(o(e)("organization.approvals.submitButton")),1)]),_:1})]),_:1}),ve.value?(p(),y("div",Oa,[n(c,{size:"large"})])):(p(),w(ee,{key:1,columns:Me.value,"data-source":H.value,pagination:{pageSize:20,showTotal:i=>o(e)("organization.totals.rows",{count:i})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:s(({column:i,record:m})=>[i.key==="id"?(p(),y("span",Ia,u(m.id),1)):f("",!0),i.key==="title"?(p(),y("span",La,u(m.title),1)):f("",!0),i.key==="type"?(p(),w(v,{key:2,color:"blue"},{default:s(()=>[b(u(m.type),1)]),_:2},1024)):f("",!0),i.key==="requester"?(p(),y("span",Ta,u(m.requester),1)):f("",!0),i.key==="status"?(p(),w(v,{key:4,color:Se(m.status)},{default:s(()=>[b(u(m.status),1)]),_:2},1032,["color"])):f("",!0),i.key==="actions"?(p(),y(xe,{key:5},[(m.status||"").toLowerCase()==="pending"?(p(),w(r,{key:0},{default:s(()=>[n(t,{type:"primary",size:"small",loading:m._approving,onClick:ke(Ee=>Be(m),["stop"])},{icon:s(()=>[n(o(ea))]),default:s(()=>[b(" "+u(o(e)("organization.approvals.approve")),1)]),_:1},8,["loading","onClick"]),n(t,{danger:"",size:"small",loading:m._rejecting,onClick:ke(Ee=>De(m),["stop"])},{icon:s(()=>[n(o(aa))]),default:s(()=>[b(" "+u(o(e)("organization.approvals.reject")),1)]),_:1},8,["loading","onClick"])]),_:2},1024)):(p(),y("span",ja,"-"))],64)):f("",!0)]),emptyText:s(()=>[n(R,{description:o(e)("organization.approvals.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),n(B,{open:X.value,"onUpdate:open":a[21]||(a[21]=i=>X.value=i),title:o(e)("organization.approvals.submitTitle"),"confirm-loading":ye.value,onOk:Ve,"ok-text":o(e)("organization.approvals.submitOk"),"cancel-text":o(e)("common.cancel")},{default:s(()=>[n(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:s(()=>[n(x,{label:o(e)("organization.approvals.orgLabel"),required:""},{default:s(()=>[n(be,{value:N.value,"onUpdate:value":a[17]||(a[17]=i=>N.value=i),placeholder:o(e)("organization.approvals.orgPlaceholder"),options:ze.value},null,8,["value","placeholder","options"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.approvals.titleLabel"),required:""},{default:s(()=>[n(C,{value:M.value,"onUpdate:value":a[18]||(a[18]=i=>M.value=i),placeholder:o(e)("organization.approvals.titlePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.approvals.typeLabel")},{default:s(()=>[n(C,{value:Y.value,"onUpdate:value":a[19]||(a[19]=i=>Y.value=i),placeholder:o(e)("organization.approvals.typePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),n(x,{label:o(e)("organization.approvals.descLabel")},{default:s(()=>[n(We,{value:Z.value,"onUpdate:value":a[20]||(a[20]=i=>Z.value=i),placeholder:o(e)("organization.approvals.descPlaceholder"),rows:3},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1})]),_:1},8,["activeKey"])])}}},Pa=Ge(Aa,[["__scopeId","data-v-5c758732"]]);export{Pa as default};