chainlesschain 0.162.73 → 0.162.75

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 (153) hide show
  1. package/package.json +1 -1
  2. package/src/assets/web-panel/assets/{AIOps-DTI_-iZ_.js → AIOps-DJUU8WvI.js} +1 -1
  3. package/src/assets/web-panel/assets/{ActionButton-CtpbGicW.js → ActionButton-C6bVplO1.js} +1 -1
  4. package/src/assets/web-panel/assets/{Analytics-C1HwMd7E.js → Analytics-CQXP2eL2.js} +3 -3
  5. package/src/assets/web-panel/assets/{AppLayout-Db953rqB.js → AppLayout-BfYsbHhy.js} +4 -4
  6. package/src/assets/web-panel/assets/{Audit-CuIi9Vup.js → Audit-BoMi6sRy.js} +1 -1
  7. package/src/assets/web-panel/assets/{Backup-DwR7Wlve.js → Backup-C07DW-3o.js} +1 -1
  8. package/src/assets/web-panel/assets/{BaseInput-B5wNMp7S.js → BaseInput-DgNRlTo5.js} +1 -1
  9. package/src/assets/web-panel/assets/{Chat-DivalHgk.js → Chat-Cs1Jg5oy.js} +6 -6
  10. package/src/assets/web-panel/assets/{ChatBubbleRenderer-BwPSr02C.js → ChatBubbleRenderer-C3PWOZ28.js} +1 -1
  11. package/src/assets/web-panel/assets/{Checkbox-CJrXPCJH.js → Checkbox-Cv8qpJWs.js} +1 -1
  12. package/src/assets/web-panel/assets/{Codegen-BieZvOkC.js → Codegen-BCdfbfdU.js} +1 -1
  13. package/src/assets/web-panel/assets/{Col-BzvPsQgb.js → Col-C7cZVjiL.js} +1 -1
  14. package/src/assets/web-panel/assets/{Community-CWcAMlpQ.js → Community-CB0j52Qd.js} +1 -1
  15. package/src/assets/web-panel/assets/{Compact-Bj_BLBpw.js → Compact-CGtb9LAr.js} +1 -1
  16. package/src/assets/web-panel/assets/{Compliance-DKvo0WAi.js → Compliance-BP3iIG7c.js} +1 -1
  17. package/src/assets/web-panel/assets/{Cowork-DRajk8JO.js → Cowork-DqbX395P.js} +2 -2
  18. package/src/assets/web-panel/assets/{Cron-DPz9MoUo.js → Cron-BxUZH07-.js} +2 -2
  19. package/src/assets/web-panel/assets/{Crosschain-BpSuvmns.js → Crosschain-C6_LPwOR.js} +1 -1
  20. package/src/assets/web-panel/assets/{DID-Co98G00H.js → DID-Bl6zsc8O.js} +2 -2
  21. package/src/assets/web-panel/assets/{Dashboard-8TSG0W7f.js → Dashboard-BJLn_45P.js} +2 -2
  22. package/src/assets/web-panel/assets/{Dropdown-CKViu7w3.js → Dropdown-B7ytL81D.js} +1 -1
  23. package/src/assets/web-panel/assets/{EmailListRenderer-BqfdADvJ.js → EmailListRenderer-BVoav_18.js} +1 -1
  24. package/src/assets/web-panel/assets/{FamilyGuardDashboard-aWu1imGZ.js → FamilyGuardDashboard-B7BE_tkg.js} +1 -1
  25. package/src/assets/web-panel/assets/{Federation-w4YpT8EN.js → Federation-C2tuu7O4.js} +1 -1
  26. package/src/assets/web-panel/assets/{FormItemContext-CAk4CXid.js → FormItemContext-NOaMYwbp.js} +1 -1
  27. package/src/assets/web-panel/assets/{GenericCardRenderer-MoJw4J2L.js → GenericCardRenderer-dXFinwMY.js} +1 -1
  28. package/src/assets/web-panel/assets/{Git-HNU_a9Jz.js → Git-CuLmmSlq.js} +2 -2
  29. package/src/assets/web-panel/assets/{Governance-BkIXWYUS.js → Governance-DLc1WWGy.js} +1 -1
  30. package/src/assets/web-panel/assets/{Inference-CnquB88h.js → Inference-CLMaoN2j.js} +1 -1
  31. package/src/assets/web-panel/assets/{KnowledgeGraph-PGSMF-uq.js → KnowledgeGraph-DO8lKHzz.js} +1 -1
  32. package/src/assets/web-panel/assets/{Logs-DCc-nYzu.js → Logs-BrCmcuHR.js} +2 -2
  33. package/src/assets/web-panel/assets/{Marketplace-CyGX8XEt.js → Marketplace-BZmZqxPQ.js} +1 -1
  34. package/src/assets/web-panel/assets/{McpTools-DBkZ5yUL.js → McpTools-CKYJMQy1.js} +5 -5
  35. package/src/assets/web-panel/assets/{Memory-DmYLRCwo.js → Memory-1KHFaqPs.js} +2 -2
  36. package/src/assets/web-panel/assets/{MobileBridge-CszJjeNc.js → MobileBridge-D3nY1rzE.js} +2 -2
  37. package/src/assets/web-panel/assets/{MobileProjects-DWgtDsta.js → MobileProjects-DqSxF7YU.js} +1 -1
  38. package/src/assets/web-panel/assets/{Mtc-Bmt_Pmg4.js → Mtc-DiiuoH8K.js} +4 -4
  39. package/src/assets/web-panel/assets/{MtcAudit-BmG0ys0l.js → MtcAudit-Dt0BIwwI.js} +2 -2
  40. package/src/assets/web-panel/assets/{Multisig-DNd5iMmD.js → Multisig-DID4etkl.js} +3 -3
  41. package/src/assets/web-panel/assets/{NLProgramming-yxbNl09B.js → NLProgramming-Dbzc2IbX.js} +1 -1
  42. package/src/assets/web-panel/assets/{Notes-CQ0qAzI4.js → Notes-t80a_wVU.js} +3 -3
  43. package/src/assets/web-panel/assets/{NotificationSettings-CIzkE4ao.js → NotificationSettings-Dhxz-2B6.js} +1 -1
  44. package/src/assets/web-panel/assets/{OrderTableRenderer-e1VMUxTi.js → OrderTableRenderer-T7oZTAfb.js} +1 -1
  45. package/src/assets/web-panel/assets/{Organization-BNBIlf_R.js → Organization-brLOwxtI.js} +4 -4
  46. package/src/assets/web-panel/assets/{Overflow-C5GzzJTq.js → Overflow-C94nEwTC.js} +1 -1
  47. package/src/assets/web-panel/assets/{P2P-DjL2jIED.js → P2P-VNRwXOu4.js} +2 -2
  48. package/src/assets/web-panel/assets/{PdhVaultBrowser-C2EYDmpW.js → PdhVaultBrowser-yAbmIPRN.js} +3 -3
  49. package/src/assets/web-panel/assets/{Permissions-BVGCXxDp.js → Permissions-BmA_iqxo.js} +4 -4
  50. package/src/assets/web-panel/assets/{PersonalDataHub-B1xBro16.js → PersonalDataHub-omJGQYzw.js} +3 -3
  51. package/src/assets/web-panel/assets/{Pipeline-DIYWiDnt.js → Pipeline-CKhLghrk.js} +1 -1
  52. package/src/assets/web-panel/assets/{Privacy--Qx3QdO1.js → Privacy-Y4UuxKHw.js} +1 -1
  53. package/src/assets/web-panel/assets/{ProjectInit-DYOEcV04.js → ProjectInit-Hb0W44iD.js} +2 -2
  54. package/src/assets/web-panel/assets/{ProjectSettings-BcOx5-KS.js → ProjectSettings-NaPqUZ6t.js} +2 -2
  55. package/src/assets/web-panel/assets/{Projects-CO69txk4.js → Projects-A29s_fb2.js} +1 -1
  56. package/src/assets/web-panel/assets/Providers-CI1majBj.js +1 -0
  57. package/src/assets/web-panel/assets/{QuickAsk-Cukpq-4s.js → QuickAsk-CcHlPUZP.js} +1 -1
  58. package/src/assets/web-panel/assets/{Recommend-DJB5wUfM.js → Recommend-DP1rYqr-.js} +1 -1
  59. package/src/assets/web-panel/assets/{Reputation-B9t0-nT0.js → Reputation-BqsI6-UZ.js} +1 -1
  60. package/src/assets/web-panel/assets/{Row-4cniRgxC.js → Row-iV2FOwpi.js} +1 -1
  61. package/src/assets/web-panel/assets/{RssFeed-Y4db_T9t.js → RssFeed-CvO7z8MN.js} +3 -3
  62. package/src/assets/web-panel/assets/Search-yWIk7ytv.js +1 -0
  63. package/src/assets/web-panel/assets/{Security-C67A6kED.js → Security-DD2AD8EJ.js} +3 -3
  64. package/src/assets/web-panel/assets/{Services-BocBjvaa.js → Services-BQ0kJ-wF.js} +2 -2
  65. package/src/assets/web-panel/assets/{Skeleton-C9jI-iOy.js → Skeleton-DETjE588.js} +1 -1
  66. package/src/assets/web-panel/assets/{Skills-2baFHKOW.js → Skills-sg86ecRw.js} +1 -1
  67. package/src/assets/web-panel/assets/{Sla-CnowXeRb.js → Sla-jXlt49Xh.js} +1 -1
  68. package/src/assets/web-panel/assets/{SpeechSettings-DWGBkmUt.js → SpeechSettings-BUZ8jGij.js} +1 -1
  69. package/src/assets/web-panel/assets/{SyncSettings-B89qwCgX.js → SyncSettings-Ce_4y0Ip.js} +2 -2
  70. package/src/assets/web-panel/assets/{Tasks-C1_WvNc0.js → Tasks-BpQ_ouLr.js} +1 -1
  71. package/src/assets/web-panel/assets/{Templates-P8dBhbxa.js → Templates-CBkFzzKm.js} +1 -1
  72. package/src/assets/web-panel/assets/{Tenant-DHo0pxrm.js → Tenant-CoojCC4a.js} +1 -1
  73. package/src/assets/web-panel/assets/Terminal-CciQj5tl.js +3 -0
  74. package/src/assets/web-panel/assets/TimelineRenderer-ConHmR1s.js +1 -0
  75. package/src/assets/web-panel/assets/{Tokens-DnJxqOPM.js → Tokens-ukg1Hetd.js} +1 -1
  76. package/src/assets/web-panel/assets/{Trigger-C-FLgMzr.js → Trigger-DZ9DiRzv.js} +1 -1
  77. package/src/assets/web-panel/assets/{Trust-CIT_RVqA.js → Trust-DAZbvW48.js} +1 -1
  78. package/src/assets/web-panel/assets/{UkeySign-Cg9VS6y6.js → UkeySign-CI2MThO7.js} +1 -1
  79. package/src/assets/web-panel/assets/{VideoEditing-BzoxE8mA.js → VideoEditing-BtzPXaRk.js} +1 -1
  80. package/src/assets/web-panel/assets/{Wallet-ZkmCII8R.js → Wallet-CJyO1eQG.js} +4 -4
  81. package/src/assets/web-panel/assets/{WebAuthn-CptQdp3u.js → WebAuthn-D2yA_cm8.js} +4 -4
  82. package/src/assets/web-panel/assets/{WorkflowEditor-Vkz28khO.js → WorkflowEditor-BvT7smpx.js} +1 -1
  83. package/src/assets/web-panel/assets/{chat-DXdmvvEA.js → chat-D1EuH4Tl.js} +1 -1
  84. package/src/assets/web-panel/assets/{colors-De7FCj5l.js → colors-T6gyzKhq.js} +1 -1
  85. package/src/assets/web-panel/assets/{compact-item-DnT3XzME.js → compact-item-DBKZWMLn.js} +1 -1
  86. package/src/assets/web-panel/assets/{createContext-ECZfCCqd.js → createContext-D8NYtDF8.js} +1 -1
  87. package/src/assets/web-panel/assets/devWarning-IsPiTCwI.js +1 -0
  88. package/src/assets/web-panel/assets/{hasIn-Uodg6pAt.js → hasIn-vwKV2jlA.js} +1 -1
  89. package/src/assets/web-panel/assets/index-1hfqqDqJ.js +1 -0
  90. package/src/assets/web-panel/assets/{index-cHnmjGqB.js → index-3s7kIKmJ.js} +1 -1
  91. package/src/assets/web-panel/assets/{index-Db33l8Ix.js → index-B8CcqiuD.js} +1 -1
  92. package/src/assets/web-panel/assets/{index-BUMNJRCl.js → index-BN4iuVKZ.js} +1 -1
  93. package/src/assets/web-panel/assets/{index-C01WM7Pk.js → index-BP_jtWYR.js} +1 -1
  94. package/src/assets/web-panel/assets/{index-FU8Zo5cp.js → index-Bd2W0NSo.js} +1 -1
  95. package/src/assets/web-panel/assets/{index-C6JgjkY7.js → index-BhO_tBEX.js} +1 -1
  96. package/src/assets/web-panel/assets/{index-DBsl2SuZ.js → index-BnffAgC1.js} +1 -1
  97. package/src/assets/web-panel/assets/{index-Blo85ZKd.js → index-C1aaFHEB.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-CwXP0KcT.js → index-C3HmTRSt.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-1dWvOqru.js → index-CBwHUt_E.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-C9_Cnvha.js → index-CEktB_gi.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-JVwNC4yP.js → index-CMmN6eZk.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-Dkvf5upf.js → index-CYxJfKHa.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-CLzPxAp4.js → index-CbzC1LHp.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-CaDZ-LMg.js → index-CdpZGhR1.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-DPcpxSQt.js → index-CtoL3nSv.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-COTabJQd.js → index-D1QvN10I.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-DOIeo8Qs.js → index-D8wdCbsO.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-Dd9Bx3tJ.js → index-DAWoCpXx.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-BtJ8BHU0.js → index-DF_jZQYr.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-Dy0AT-uc.js → index-DKUzD00x.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-LwNszM-5.js → index-DKWXJDaY.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-CCguvASR.js → index-DTRszQzz.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-CPjI3AGE.js → index-DXx3D8ym.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-CcLDjTgI.js → index-Db3G7VVf.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-JqSxr1A7.js → index-DrAHEY62.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-D2YOclGO.js → index-DsKvea83.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-Bg1RsfAJ.js → index-GerFRbNP.js} +3 -3
  118. package/src/assets/web-panel/assets/{index-CffZBdA1.js → index-H7FLY7FN.js} +1 -1
  119. package/src/assets/web-panel/assets/{index-DCvmjxu9.js → index-JZh3rgHr.js} +1 -1
  120. package/src/assets/web-panel/assets/{index-Dbfj4QL5.js → index-KUYuuOSX.js} +1 -1
  121. package/src/assets/web-panel/assets/{index-DGwgEqwl.js → index-MHAo_s1c.js} +1 -1
  122. package/src/assets/web-panel/assets/{index-CMuqxCVw.js → index-RzhzeMPz.js} +1 -1
  123. package/src/assets/web-panel/assets/index-SAuQhElM.js +1 -0
  124. package/src/assets/web-panel/assets/{index-CbbfcGeJ.js → index-Yya88LfS.js} +1 -1
  125. package/src/assets/web-panel/assets/{index-BC8SOuGi.js → index-i9k3EBxJ.js} +1 -1
  126. package/src/assets/web-panel/assets/{index-KV6dXwKC.js → index-opI_2u40.js} +1 -1
  127. package/src/assets/web-panel/assets/{index-C4KhsGXo.js → index-vC4cgPxI.js} +1 -1
  128. package/src/assets/web-panel/assets/{initDefaultProps-B3H1sf95.js → initDefaultProps-CQkuQdrR.js} +1 -1
  129. package/src/assets/web-panel/assets/{motion-DreYO5eb.js → motion-BW81HBiB.js} +1 -1
  130. package/src/assets/web-panel/assets/{move-B0OVU04M.js → move-BUUC5tqm.js} +1 -1
  131. package/src/assets/web-panel/assets/{omit-PcEEXHLZ.js → omit-DQEUifWO.js} +1 -1
  132. package/src/assets/web-panel/assets/{pickAttrs-DH6-hDkF.js → pickAttrs-DEd4S7IW.js} +1 -1
  133. package/src/assets/web-panel/assets/{placementArrow-DFamUSEw.js → placementArrow-D43ynI1f.js} +1 -1
  134. package/src/assets/web-panel/assets/{responsiveObserve-DT1grAyh.js → responsiveObserve-mcWZsRxA.js} +1 -1
  135. package/src/assets/web-panel/assets/{slide-41lCsY6d.js → slide-B35mOkBv.js} +1 -1
  136. package/src/assets/web-panel/assets/{statusUtils-FzJ7j2T7.js → statusUtils-CyFiHqUK.js} +1 -1
  137. package/src/assets/web-panel/assets/{styleChecker-D0Zvn50h.js → styleChecker-T50Ab9kU.js} +1 -1
  138. package/src/assets/web-panel/assets/{useFlexGapSupport-BTxsJE5n.js → useFlexGapSupport-DVCtHY30.js} +1 -1
  139. package/src/assets/web-panel/assets/{useFs-DRVttEr3.js → useFs-D1HQ4VSZ.js} +1 -1
  140. package/src/assets/web-panel/assets/{usePersonalDataHub-BSe7NVv0.js → usePersonalDataHub-CxNZv1af.js} +1 -1
  141. package/src/assets/web-panel/assets/{vnode-D8O7tUXh.js → vnode-BmbMAcor.js} +1 -1
  142. package/src/assets/web-panel/assets/{zoom-CMQc1RZ4.js → zoom-DMWLfxrH.js} +1 -1
  143. package/src/assets/web-panel/index.html +1 -1
  144. package/src/commands/init.js +4 -6
  145. package/src/lib/downloader.js +10 -12
  146. package/src/lib/sync-engine-cli.js +6 -4
  147. package/src/assets/web-panel/assets/Providers-Bj8pCgzo.js +0 -1
  148. package/src/assets/web-panel/assets/Search-DggZDzlc.js +0 -1
  149. package/src/assets/web-panel/assets/Terminal-Dr-HvjH-.js +0 -3
  150. package/src/assets/web-panel/assets/TimelineRenderer-DM7dOaUR.js +0 -1
  151. package/src/assets/web-panel/assets/devWarning-gaA8VqZf.js +0 -1
  152. package/src/assets/web-panel/assets/index-DTpmiTGK.js +0 -1
  153. package/src/assets/web-panel/assets/index-DwpvMYUU.js +0 -1
@@ -1,4 +1,4 @@
1
- import{I as z,J as f,U as S,R as d,c as t,K as l,o as be,b as q,r as m,P as c,Q as _,V as y,S as O,F as _e,a2 as we}from"./vendor-BvqAck49.js";import{_ as qe,b as ze,u as xe,d as p}from"./index-Bg1RsfAJ.js";import{b as Fe,aj as Ne,as as De,R as Re,A as Be,aP as Ve,J as Je}from"./icons-DP3uiYxy.js";const We={__name:"Organization",setup(ke,{expose:s}){s();const{t:r}=ze(),e=xe(),D=m("orgs"),V=m(!1);async function T(){V.value=!0;try{D.value==="orgs"?await A():D.value==="members"?(await A(),j.value&&(await K(),await E())):D.value==="approvals"&&await N()}finally{V.value=!1}}function R(o){o==="orgs"&&k.value.length===0&&A(),o==="members"&&k.value.length===0&&A(),o==="approvals"&&Q.value.length===0&&N()}function x(o){try{const i=o.trim(),n=i.indexOf("["),g=i.indexOf("{"),v=n>=0&&(g<0||n<g)?n:g;return v>=0?JSON.parse(i.slice(v)):null}catch{return null}}const M=m(!1),k=m([]),P=m(!1),C=m(!1),F=m(""),I=m(""),h=m(!1),w=m(!1),U=m({}),L=m(""),B=q(()=>[{title:r("organization.orgColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:r("organization.orgColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:r("organization.orgColumns.owner"),key:"owner",dataIndex:"owner",width:"140px"},{title:r("organization.orgColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:r("organization.orgColumns.memberCount"),key:"memberCount",dataIndex:"memberCount",width:"90px"}]),X=q(()=>k.value.map(o=>({label:o.name,value:o.id})));async function A(){M.value=!0;try{const{output:o}=await e.execute("org list --json",15e3),i=x(o);Array.isArray(i)?k.value=i.map((n,g)=>({key:n.id||g,id:n.id||"-",name:n.name||"-",owner:n.owner||"-",description:n.description||"",memberCount:n.memberCount??n.members??0})):k.value=a(o)}catch(o){p.error(r("organization.messages.loadOrgsFailed",{err:o.message}))}finally{M.value=!1}}function a(o){const i=[],n=o.split(`
2
- `);for(const g of n){const v=g.trim();if(!v||v.startsWith("─")||v.match(/^\d+ org/i))continue;const b=v.split(/\s*[|│]\s*/);b.length>=3&&i.push({key:i.length,id:b[0]||"-",name:b[1]||"-",owner:b[2]||"-",description:b[3]||"",memberCount:parseInt(b[4],10)||0})}return i}async function u(){if(!F.value.trim()){p.warning(r("organization.messages.orgNameRequired"));return}C.value=!0;try{const o=F.value.trim().replace(/"/g,'\\"'),i=I.value.trim().replace(/"/g,'\\"');let n=`org create "${o}" --json`;i&&(n=`org create "${o}" --description "${i}" --json`);const{output:g}=await e.execute(n,2e4);g.includes("error")||g.includes("失败")?p.error(r("organization.messages.orgCreateFailed",{err:g.slice(0,120)})):(p.success(r("organization.messages.orgCreateOk")),P.value=!1,F.value="",I.value="",await A())}catch(o){p.error(r("organization.messages.orgCreateFailed",{err:o.message}))}finally{C.value=!1}}async function Y(o){U.value={...o},L.value="",h.value=!0,w.value=!0;try{const{output:i}=await e.execute(`org show ${o.id} --json`,15e3),n=x(i);n&&typeof n=="object"?(U.value={id:n.id||o.id,name:n.name||o.name,owner:n.owner||o.owner,description:n.description||o.description,memberCount:n.memberCount??n.members??o.memberCount,createdAt:n.createdAt||n.created||""},L.value=JSON.stringify(n,null,2)):L.value=i}catch(i){L.value=r("organization.messages.loadDetailFailed",{err:i.message})}finally{w.value=!1}}const j=m(null),Z=m(!1),$=m([]),ee=m(!1),ae=m([]),ge=m(!1),te=m(!1),J=m(""),oe=m(""),ne=m("member"),ue=m(!1),le=m(!1),W=m(""),ie=m(""),re=m(""),he=q(()=>[{label:r("organization.members.roleAdmin"),value:"admin"},{label:r("organization.members.roleMember"),value:"member"},{label:r("organization.members.roleViewer"),value:"viewer"}]),Oe=q(()=>[{title:r("organization.memberColumns.userId"),key:"userId",dataIndex:"userId",width:"160px"},{title:r("organization.memberColumns.name"),key:"name",dataIndex:"name",width:"140px"},{title:r("organization.memberColumns.role"),key:"role",dataIndex:"role",width:"100px"},{title:r("organization.memberColumns.joinedAt"),key:"joinedAt",dataIndex:"joinedAt",width:"180px"}]),Ce=q(()=>[{title:r("organization.teamColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:r("organization.teamColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:r("organization.teamColumns.lead"),key:"lead",dataIndex:"lead",width:"140px"}]);function Te(o){return{admin:"gold",member:"blue",viewer:"default",owner:"purple"}[(o||"").toLowerCase()]||"default"}async function Ie(){j.value&&await Promise.all([K(),E()])}async function K(){if(j.value){Z.value=!0;try{const{output:o}=await e.execute(`org members ${j.value} --json`,15e3),i=x(o);Array.isArray(i)?$.value=i.map((n,g)=>({key:n.userId||n.id||g,userId:n.userId||n.id||"-",name:n.name||n.displayName||"-",role:n.role||"member",joinedAt:n.joinedAt||n.joined||"-"})):$.value=pe(o)}catch(o){p.error(r("organization.messages.loadMembersFailed",{err:o.message}))}finally{Z.value=!1}}}function pe(o){const i=[],n=o.split(`
3
- `);for(const g of n){const v=g.trim();if(!v||v.startsWith("─")||v.match(/^\d+ member/i))continue;const b=v.split(/\s*[|│]\s*/);b.length>=3&&i.push({key:i.length,userId:b[0]||"-",name:b[1]||"-",role:b[2]||"member",joinedAt:b[3]||"-"})}return i}async function E(){if(j.value){ee.value=!0;try{const{output:o}=await e.execute(`org teams ${j.value} --json`,15e3),i=x(o);Array.isArray(i)?ae.value=i.map((n,g)=>({key:n.id||n.name||g,name:n.name||"-",description:n.description||"",lead:n.lead||n.leader||"-"})):ae.value=[]}catch(o){p.error(r("organization.messages.loadTeamsFailed",{err:o.message}))}finally{ee.value=!1}}}async function Le(){if(!J.value.trim()){p.warning(r("organization.messages.userIdRequired"));return}te.value=!0;try{const o=J.value.trim().replace(/"/g,'\\"'),i=oe.value.trim().replace(/"/g,'\\"');let n=`org invite ${j.value} ${o} --role ${ne.value}`;i&&(n+=` --name "${i}"`);const{output:g}=await e.execute(n,2e4);g.includes("error")||g.includes("失败")?p.error(r("organization.messages.inviteFailed",{err:g.slice(0,120)})):(p.success(r("organization.messages.inviteOk")),ge.value=!1,J.value="",oe.value="",ne.value="member",await K())}catch(o){p.error(r("organization.messages.inviteFailed",{err:o.message}))}finally{te.value=!1}}async function Ae(){if(!W.value.trim()){p.warning(r("organization.messages.teamNameRequired"));return}le.value=!0;try{const o=W.value.trim().replace(/"/g,'\\"'),i=ie.value.trim().replace(/"/g,'\\"'),n=re.value.trim().replace(/"/g,'\\"');let g=`org teams ${j.value} create "${o}"`;i&&(g+=` --description "${i}"`),n&&(g+=` --lead "${n}"`);const{output:v}=await e.execute(g,2e4);v.includes("error")||v.includes("失败")?p.error(r("organization.messages.teamCreateFailed",{err:v.slice(0,120)})):(p.success(r("organization.messages.teamCreateOk")),ue.value=!1,W.value="",ie.value="",re.value="",await E())}catch(o){p.error(r("organization.messages.teamCreateFailed",{err:o.message}))}finally{le.value=!1}}const se=m(!1),Q=m([]),ve=m(!1),de=m(!1),G=m(null),H=m(""),me=m(""),ce=m(""),je=q(()=>[{title:r("organization.approvalColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:r("organization.approvalColumns.title"),key:"title",dataIndex:"title",width:"200px"},{title:r("organization.approvalColumns.type"),key:"type",dataIndex:"type",width:"120px"},{title:r("organization.approvalColumns.requester"),key:"requester",dataIndex:"requester",width:"140px"},{title:r("organization.approvalColumns.status"),key:"status",dataIndex:"status",width:"100px"},{title:r("organization.approvalColumns.actions"),key:"actions",width:"180px"}]);function Me(o){return{pending:"orange",approved:"green",rejected:"red"}[(o||"").toLowerCase()]||"default"}async function N(){se.value=!0;try{const{output:o}=await e.execute("org approvals --json",15e3),i=x(o);Array.isArray(i)?Q.value=i.map((n,g)=>({key:n.id||g,id:n.id||"-",title:n.title||"-",type:n.type||"-",requester:n.requester||n.requestedBy||"-",status:n.status||"pending",_approving:!1,_rejecting:!1})):Q.value=fe(o)}catch(o){p.error(r("organization.messages.loadApprovalsFailed",{err:o.message}))}finally{se.value=!1}}function fe(o){const i=[],n=o.split(`
4
- `);for(const g of n){const v=g.trim();if(!v||v.startsWith("─")||v.match(/^\d+ approval/i))continue;const b=v.split(/\s*[|│]\s*/);b.length>=4&&i.push({key:i.length,id:b[0]||"-",title:b[1]||"-",type:b[2]||"-",requester:b[3]||"-",status:b[4]||"pending",_approving:!1,_rejecting:!1})}return i}async function Ue(o){o._approving=!0;try{const{output:i}=await e.execute(`org approve ${o.id}`,15e3);i.includes("error")||i.includes("失败")?p.error(r("organization.messages.approveFailed",{err:i.slice(0,120)})):(p.success(r("organization.messages.approveOk")),await N())}catch(i){p.error(r("organization.messages.approveFailed",{err:i.message}))}finally{o._approving=!1}}async function Se(o){o._rejecting=!0;try{const{output:i}=await e.execute(`org reject ${o.id}`,15e3);i.includes("error")||i.includes("失败")?p.error(r("organization.messages.rejectFailed",{err:i.slice(0,120)})):(p.success(r("organization.messages.rejectOk")),await N())}catch(i){p.error(r("organization.messages.rejectFailed",{err:i.message}))}finally{o._rejecting=!1}}async function Pe(){if(!G.value){p.warning(r("organization.messages.orgRequired"));return}if(!H.value.trim()){p.warning(r("organization.messages.approvalTitleRequired"));return}de.value=!0;try{const o=H.value.trim().replace(/"/g,'\\"'),i=me.value.trim().replace(/"/g,'\\"'),n=ce.value.trim().replace(/"/g,'\\"');let g=`org approve --submit --org ${G.value} --title "${o}"`;i&&(g+=` --type "${i}"`),n&&(g+=` --description "${n}"`);const{output:v}=await e.execute(g,2e4);v.includes("error")||v.includes("失败")?p.error(r("organization.messages.submitFailed",{err:v.slice(0,120)})):(p.success(r("organization.messages.submitOk")),ve.value=!1,G.value=null,H.value="",me.value="",ce.value="",await N())}catch(o){p.error(r("organization.messages.submitFailed",{err:o.message}))}finally{de.value=!1}}be(()=>{A()});const ye={t:r,ws:e,activeTab:D,refreshing:V,refreshCurrentTab:T,onTabChange:R,tryParseJson:x,orgLoading:M,orgList:k,showCreateOrgModal:P,creatingOrg:C,newOrgName:F,newOrgDesc:I,showDetailModal:h,detailLoading:w,detailOrg:U,detailRaw:L,orgColumns:B,orgSelectOptions:X,loadOrgList:A,parseOrgListText:a,createOrg:u,showOrgDetail:Y,selectedOrgId:j,memberLoading:Z,memberList:$,teamLoading:ee,teamList:ae,showInviteModal:ge,inviting:te,inviteUserId:J,inviteName:oe,inviteRole:ne,showCreateTeamModal:ue,creatingTeam:le,newTeamName:W,newTeamDesc:ie,newTeamLead:re,roleOptions:he,memberColumns:Oe,teamColumns:Ce,roleColor:Te,onOrgSelected:Ie,loadMembers:K,parseMemberListText:pe,loadTeams:E,inviteMember:Le,createTeam:Ae,approvalLoading:se,approvalList:Q,showSubmitApprovalModal:ve,submittingApproval:de,approvalOrgId:G,approvalTitle:H,approvalType:me,approvalDescription:ce,approvalColumns:je,approvalStatusColor:Me,loadApprovals:N,parseApprovalListText:fe,approveItem:Ue,rejectItem:Se,submitApproval:Pe,ref:m,computed:q,onMounted:be,get useI18n(){return ze},get TeamOutlined(){return Je},get UserAddOutlined(){return Ve},get AuditOutlined(){return Be},get ReloadOutlined(){return Re},get PlusOutlined(){return De},get CheckOutlined(){return Ne},get CloseOutlined(){return Fe},get message(){return p},get useWsStore(){return xe}};return Object.defineProperty(ye,"__isScriptSetup",{enumerable:!1,value:!0}),ye}},Ke={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ee={class:"page-title"},Qe={class:"page-sub"},Ge={key:0,style:{"text-align":"center",padding:"60px"}},He={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},Xe={key:1,style:{color:"#1677ff"}},Ye={key:2,style:{color:"var(--text-secondary)"}},Ze={key:3,style:{color:"var(--text-muted)","font-size":"12px"}},$e={key:0,style:{"text-align":"center",padding:"40px"}},ea={key:1},aa={style:{"font-family":"monospace",color:"#ccc"}},ta={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"}},oa={style:{"margin-bottom":"16px",display:"flex","align-items":"center",gap:"12px"}},na={key:0,style:{"text-align":"center",padding:"60px"}},la={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ia={key:1,style:{color:"#e0e0e0"}},ra={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},sa={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"12px"}},da={style:{color:"var(--text-primary)",margin:"0","font-size":"15px"}},ma={key:0,style:{"text-align":"center",padding:"40px"}},ca={key:0,style:{color:"#e0e0e0"}},ga={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},ua={key:2,style:{color:"var(--text-secondary)"}},pa={key:0,style:{"text-align":"center",padding:"60px"}},va={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},fa={key:1,style:{color:"#e0e0e0"}},ya={key:3,style:{color:"var(--text-secondary)"}},ba={key:1,style:{color:"var(--text-muted)","font-size":"12px"}};function _a(ke,s,r,e,D,V){const T=z("a-button"),R=z("a-space"),x=z("a-spin"),M=z("a-tag"),k=z("a-empty"),P=z("a-table"),C=z("a-descriptions-item"),F=z("a-descriptions"),I=z("a-modal"),h=z("a-input"),w=z("a-form-item"),U=z("a-form"),L=z("a-tab-pane"),B=z("a-select"),X=z("a-textarea"),A=z("a-tabs");return c(),f("div",null,[S("div",Ke,[S("div",null,[S("h2",Ee,d(e.t("organization.title")),1),S("p",Qe,d(e.t("organization.subtitle")),1)]),t(T,{type:"primary",ghost:"",loading:e.refreshing,onClick:e.refreshCurrentTab},{icon:l(()=>[t(e.ReloadOutlined)]),default:l(()=>[_(" "+d(e.t("organization.refresh")),1)]),_:1},8,["loading"])]),t(A,{activeKey:e.activeTab,"onUpdate:activeKey":s[22]||(s[22]=a=>e.activeTab=a),type:"card",onChange:e.onTabChange},{default:l(()=>[y(" Tab 1: Organization List "),t(L,{key:"orgs"},{tab:l(()=>[t(e.TeamOutlined),_(" "+d(e.t("organization.tabs.orgs")),1)]),default:l(()=>[t(R,{style:{"margin-bottom":"16px"}},{default:l(()=>[t(T,{type:"primary",onClick:s[0]||(s[0]=a=>e.showCreateOrgModal=!0)},{icon:l(()=>[t(e.PlusOutlined)]),default:l(()=>[_(" "+d(e.t("organization.orgs.createButton")),1)]),_:1})]),_:1}),e.orgLoading?(c(),f("div",Ge,[t(x,{size:"large"})])):(c(),O(P,{key:1,columns:e.orgColumns,"data-source":e.orgList,pagination:{pageSize:20,showTotal:a=>e.t("organization.totals.rows",{count:a})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row","custom-row":a=>({onClick:()=>e.showOrgDetail(a)})},{bodyCell:l(({column:a,record:u})=>[a.key==="id"?(c(),f("span",He,d(u.id),1)):y("v-if",!0),a.key==="name"?(c(),f("a",Xe,d(u.name),1)):y("v-if",!0),a.key==="owner"?(c(),f("span",Ye,d(u.owner),1)):y("v-if",!0),a.key==="description"?(c(),f("span",Ze,d(u.description),1)):y("v-if",!0),a.key==="memberCount"?(c(),O(M,{key:4,color:"blue"},{default:l(()=>[_(d(u.memberCount),1)]),_:2},1024)):y("v-if",!0)]),emptyText:l(()=>[t(k,{description:e.t("organization.orgs.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination","custom-row"])),t(I,{open:e.showDetailModal,"onUpdate:open":s[1]||(s[1]=a=>e.showDetailModal=a),title:e.t("organization.orgs.detailTitle",{name:e.detailOrg.name||""}),footer:null,width:"640px"},{default:l(()=>[e.detailLoading?(c(),f("div",$e,[t(x)])):(c(),f("div",ea,[t(F,{column:1,bordered:"",size:"small",style:{"margin-bottom":"16px"}},{default:l(()=>[t(C,{label:e.t("organization.orgs.detailLabels.id")},{default:l(()=>[S("span",aa,d(e.detailOrg.id),1)]),_:1},8,["label"]),t(C,{label:e.t("organization.orgs.detailLabels.name")},{default:l(()=>[_(d(e.detailOrg.name),1)]),_:1},8,["label"]),t(C,{label:e.t("organization.orgs.detailLabels.owner")},{default:l(()=>[_(d(e.detailOrg.owner),1)]),_:1},8,["label"]),t(C,{label:e.t("organization.orgs.detailLabels.description")},{default:l(()=>[_(d(e.detailOrg.description||"-"),1)]),_:1},8,["label"]),t(C,{label:e.t("organization.orgs.detailLabels.memberCount")},{default:l(()=>[_(d(e.detailOrg.memberCount),1)]),_:1},8,["label"]),e.detailOrg.createdAt?(c(),O(C,{key:0,label:e.t("organization.orgs.detailLabels.createdAt")},{default:l(()=>[_(d(e.detailOrg.createdAt),1)]),_:1},8,["label"])):y("v-if",!0)]),_:1}),e.detailRaw?(c(),f("pre",ta,d(e.detailRaw),1)):y("v-if",!0)]))]),_:1},8,["open","title"]),t(I,{open:e.showCreateOrgModal,"onUpdate:open":s[4]||(s[4]=a=>e.showCreateOrgModal=a),title:e.t("organization.orgs.createTitle"),"confirm-loading":e.creatingOrg,onOk:e.createOrg,"ok-text":e.t("organization.orgs.createOk"),"cancel-text":e.t("common.cancel")},{default:l(()=>[t(U,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:l(()=>[t(w,{label:e.t("organization.orgs.nameLabel"),required:""},{default:l(()=>[t(h,{value:e.newOrgName,"onUpdate:value":s[2]||(s[2]=a=>e.newOrgName=a),placeholder:e.t("organization.orgs.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.orgs.descriptionLabel")},{default:l(()=>[t(h,{value:e.newOrgDesc,"onUpdate:value":s[3]||(s[3]=a=>e.newOrgDesc=a),placeholder:e.t("organization.orgs.descriptionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),y(" Tab 2: Member Management "),t(L,{key:"members"},{tab:l(()=>[t(e.UserAddOutlined),_(" "+d(e.t("organization.tabs.members")),1)]),default:l(()=>[S("div",oa,[t(B,{value:e.selectedOrgId,"onUpdate:value":s[5]||(s[5]=a=>e.selectedOrgId=a),placeholder:e.t("organization.members.selectPlaceholder"),style:{width:"280px"},options:e.orgSelectOptions,onChange:e.onOrgSelected},null,8,["value","placeholder","options"]),t(T,{type:"primary",disabled:!e.selectedOrgId,onClick:s[6]||(s[6]=a=>e.showInviteModal=!0)},{icon:l(()=>[t(e.UserAddOutlined)]),default:l(()=>[_(" "+d(e.t("organization.members.inviteButton")),1)]),_:1},8,["disabled"])]),e.memberLoading?(c(),f("div",na,[t(x,{size:"large"})])):e.selectedOrgId?(c(),O(P,{key:1,columns:e.memberColumns,"data-source":e.memberList,pagination:{pageSize:20,showTotal:a=>e.t("organization.totals.rows",{count:a})},size:"small",style:{background:"var(--bg-card)","margin-bottom":"24px"},"row-class-name":()=>"org-row"},{bodyCell:l(({column:a,record:u})=>[a.key==="userId"?(c(),f("span",la,d(u.userId),1)):y("v-if",!0),a.key==="name"?(c(),f("span",ia,d(u.name),1)):y("v-if",!0),a.key==="role"?(c(),O(M,{key:2,color:e.roleColor(u.role)},{default:l(()=>[_(d(u.role),1)]),_:2},1032,["color"])):y("v-if",!0),a.key==="joinedAt"?(c(),f("span",ra,d(u.joinedAt),1)):y("v-if",!0)]),emptyText:l(()=>[t(k,{description:e.t("organization.members.emptyMembers")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])):(c(),O(k,{key:2,description:e.t("organization.members.selectFirst"),style:{padding:"60px 0"}},null,8,["description"])),e.selectedOrgId?(c(),f(_e,{key:3},[S("div",sa,[S("h3",da,d(e.t("organization.members.teamsTitle")),1),t(T,{size:"small",onClick:s[7]||(s[7]=a=>e.showCreateTeamModal=!0)},{icon:l(()=>[t(e.PlusOutlined)]),default:l(()=>[_(" "+d(e.t("organization.members.createTeamButton")),1)]),_:1})]),e.teamLoading?(c(),f("div",ma,[t(x)])):(c(),O(P,{key:1,columns:e.teamColumns,"data-source":e.teamList,pagination:!1,size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:l(({column:a,record:u})=>[a.key==="name"?(c(),f("span",ca,d(u.name),1)):y("v-if",!0),a.key==="description"?(c(),f("span",ga,d(u.description),1)):y("v-if",!0),a.key==="lead"?(c(),f("span",ua,d(u.lead),1)):y("v-if",!0)]),emptyText:l(()=>[t(k,{description:e.t("organization.members.emptyTeams")},null,8,["description"])]),_:1},8,["columns","data-source"]))],64)):y("v-if",!0),t(I,{open:e.showInviteModal,"onUpdate:open":s[11]||(s[11]=a=>e.showInviteModal=a),title:e.t("organization.members.inviteTitle"),"confirm-loading":e.inviting,onOk:e.inviteMember,"ok-text":e.t("organization.members.inviteOk"),"cancel-text":e.t("common.cancel")},{default:l(()=>[t(U,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:l(()=>[t(w,{label:e.t("organization.members.userIdLabel"),required:""},{default:l(()=>[t(h,{value:e.inviteUserId,"onUpdate:value":s[8]||(s[8]=a=>e.inviteUserId=a),placeholder:e.t("organization.members.userIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.members.nameLabel")},{default:l(()=>[t(h,{value:e.inviteName,"onUpdate:value":s[9]||(s[9]=a=>e.inviteName=a),placeholder:e.t("organization.members.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.members.roleLabel")},{default:l(()=>[t(B,{value:e.inviteRole,"onUpdate:value":s[10]||(s[10]=a=>e.inviteRole=a),options:e.roleOptions},null,8,["value","options"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(I,{open:e.showCreateTeamModal,"onUpdate:open":s[15]||(s[15]=a=>e.showCreateTeamModal=a),title:e.t("organization.members.createTeamTitle"),"confirm-loading":e.creatingTeam,onOk:e.createTeam,"ok-text":e.t("organization.members.createTeamOk"),"cancel-text":e.t("common.cancel")},{default:l(()=>[t(U,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:l(()=>[t(w,{label:e.t("organization.members.teamNameLabel"),required:""},{default:l(()=>[t(h,{value:e.newTeamName,"onUpdate:value":s[12]||(s[12]=a=>e.newTeamName=a),placeholder:e.t("organization.members.teamNamePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.members.teamDescLabel")},{default:l(()=>[t(h,{value:e.newTeamDesc,"onUpdate:value":s[13]||(s[13]=a=>e.newTeamDesc=a),placeholder:e.t("organization.members.teamDescPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.members.teamLeadLabel")},{default:l(()=>[t(h,{value:e.newTeamLead,"onUpdate:value":s[14]||(s[14]=a=>e.newTeamLead=a),placeholder:e.t("organization.members.teamLeadPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),y(" Tab 3: Approval Management "),t(L,{key:"approvals"},{tab:l(()=>[t(e.AuditOutlined),_(" "+d(e.t("organization.tabs.approvals")),1)]),default:l(()=>[t(R,{style:{"margin-bottom":"16px"}},{default:l(()=>[t(T,{type:"primary",onClick:s[16]||(s[16]=a=>e.showSubmitApprovalModal=!0)},{icon:l(()=>[t(e.PlusOutlined)]),default:l(()=>[_(" "+d(e.t("organization.approvals.submitButton")),1)]),_:1})]),_:1}),e.approvalLoading?(c(),f("div",pa,[t(x,{size:"large"})])):(c(),O(P,{key:1,columns:e.approvalColumns,"data-source":e.approvalList,pagination:{pageSize:20,showTotal:a=>e.t("organization.totals.rows",{count:a})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:l(({column:a,record:u})=>[a.key==="id"?(c(),f("span",va,d(u.id),1)):y("v-if",!0),a.key==="title"?(c(),f("span",fa,d(u.title),1)):y("v-if",!0),a.key==="type"?(c(),O(M,{key:2,color:"blue"},{default:l(()=>[_(d(u.type),1)]),_:2},1024)):y("v-if",!0),a.key==="requester"?(c(),f("span",ya,d(u.requester),1)):y("v-if",!0),a.key==="status"?(c(),O(M,{key:4,color:e.approvalStatusColor(u.status)},{default:l(()=>[_(d(u.status),1)]),_:2},1032,["color"])):y("v-if",!0),a.key==="actions"?(c(),f(_e,{key:5},[(u.status||"").toLowerCase()==="pending"?(c(),O(R,{key:0},{default:l(()=>[t(T,{type:"primary",size:"small",loading:u._approving,onClick:we(Y=>e.approveItem(u),["stop"])},{icon:l(()=>[t(e.CheckOutlined)]),default:l(()=>[_(" "+d(e.t("organization.approvals.approve")),1)]),_:1},8,["loading","onClick"]),t(T,{danger:"",size:"small",loading:u._rejecting,onClick:we(Y=>e.rejectItem(u),["stop"])},{icon:l(()=>[t(e.CloseOutlined)]),default:l(()=>[_(" "+d(e.t("organization.approvals.reject")),1)]),_:1},8,["loading","onClick"])]),_:2},1024)):(c(),f("span",ba,"-"))],64)):y("v-if",!0)]),emptyText:l(()=>[t(k,{description:e.t("organization.approvals.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),t(I,{open:e.showSubmitApprovalModal,"onUpdate:open":s[21]||(s[21]=a=>e.showSubmitApprovalModal=a),title:e.t("organization.approvals.submitTitle"),"confirm-loading":e.submittingApproval,onOk:e.submitApproval,"ok-text":e.t("organization.approvals.submitOk"),"cancel-text":e.t("common.cancel")},{default:l(()=>[t(U,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:l(()=>[t(w,{label:e.t("organization.approvals.orgLabel"),required:""},{default:l(()=>[t(B,{value:e.approvalOrgId,"onUpdate:value":s[17]||(s[17]=a=>e.approvalOrgId=a),placeholder:e.t("organization.approvals.orgPlaceholder"),options:e.orgSelectOptions},null,8,["value","placeholder","options"])]),_:1},8,["label"]),t(w,{label:e.t("organization.approvals.titleLabel"),required:""},{default:l(()=>[t(h,{value:e.approvalTitle,"onUpdate:value":s[18]||(s[18]=a=>e.approvalTitle=a),placeholder:e.t("organization.approvals.titlePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.approvals.typeLabel")},{default:l(()=>[t(h,{value:e.approvalType,"onUpdate:value":s[19]||(s[19]=a=>e.approvalType=a),placeholder:e.t("organization.approvals.typePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.approvals.descLabel")},{default:l(()=>[t(X,{value:e.approvalDescription,"onUpdate:value":s[20]||(s[20]=a=>e.approvalDescription=a),placeholder:e.t("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"])])}const ka=qe(We,[["render",_a],["__scopeId","data-v-4900dc74"],["__file","/tmp/cc-web-panel-wjpwq8/repo/packages/web-panel/src/views/Organization.vue"]]);export{ka as default};
1
+ import{I as z,J as f,U as S,R as d,c as t,K as l,o as be,b as F,r as m,P as c,Q as _,V as y,S as O,F as _e,a2 as we}from"./vendor-BvqAck49.js";import{_ as Fe,b as ze,u as xe,d as p}from"./index-GerFRbNP.js";import{b as Ne,aj as qe,as as De,R as Re,A as Be,aP as Ve,J as Je}from"./icons-DP3uiYxy.js";const We={__name:"Organization",setup(ke,{expose:s}){s();const{t:r}=ze(),e=xe(),D=m("orgs"),V=m(!1);async function T(){V.value=!0;try{D.value==="orgs"?await A():D.value==="members"?(await A(),j.value&&(await K(),await E())):D.value==="approvals"&&await q()}finally{V.value=!1}}function R(o){o==="orgs"&&k.value.length===0&&A(),o==="members"&&k.value.length===0&&A(),o==="approvals"&&G.value.length===0&&q()}function x(o){try{const i=o.trim(),n=i.indexOf("["),g=i.indexOf("{"),v=n>=0&&(g<0||n<g)?n:g;return v>=0?JSON.parse(i.slice(v)):null}catch{return null}}const M=m(!1),k=m([]),P=m(!1),C=m(!1),N=m(""),I=m(""),h=m(!1),w=m(!1),U=m({}),L=m(""),B=F(()=>[{title:r("organization.orgColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:r("organization.orgColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:r("organization.orgColumns.owner"),key:"owner",dataIndex:"owner",width:"140px"},{title:r("organization.orgColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:r("organization.orgColumns.memberCount"),key:"memberCount",dataIndex:"memberCount",width:"90px"}]),X=F(()=>k.value.map(o=>({label:o.name,value:o.id})));async function A(){M.value=!0;try{const{output:o}=await e.execute("org list --json",15e3),i=x(o);Array.isArray(i)?k.value=i.map((n,g)=>({key:n.id||g,id:n.id||"-",name:n.name||"-",owner:n.owner||"-",description:n.description||"",memberCount:n.memberCount??n.members??0})):k.value=a(o)}catch(o){p.error(r("organization.messages.loadOrgsFailed",{err:o.message}))}finally{M.value=!1}}function a(o){const i=[],n=o.split(`
2
+ `);for(const g of n){const v=g.trim();if(!v||v.startsWith("─")||v.match(/^\d+ org/i))continue;const b=v.split(/\s*[|│]\s*/);b.length>=3&&i.push({key:i.length,id:b[0]||"-",name:b[1]||"-",owner:b[2]||"-",description:b[3]||"",memberCount:parseInt(b[4],10)||0})}return i}async function u(){if(!N.value.trim()){p.warning(r("organization.messages.orgNameRequired"));return}C.value=!0;try{const o=N.value.trim().replace(/"/g,'\\"'),i=I.value.trim().replace(/"/g,'\\"');let n=`org create "${o}" --json`;i&&(n=`org create "${o}" --description "${i}" --json`);const{output:g}=await e.execute(n,2e4);g.includes("error")||g.includes("失败")?p.error(r("organization.messages.orgCreateFailed",{err:g.slice(0,120)})):(p.success(r("organization.messages.orgCreateOk")),P.value=!1,N.value="",I.value="",await A())}catch(o){p.error(r("organization.messages.orgCreateFailed",{err:o.message}))}finally{C.value=!1}}async function Y(o){U.value={...o},L.value="",h.value=!0,w.value=!0;try{const{output:i}=await e.execute(`org show ${o.id} --json`,15e3),n=x(i);n&&typeof n=="object"?(U.value={id:n.id||o.id,name:n.name||o.name,owner:n.owner||o.owner,description:n.description||o.description,memberCount:n.memberCount??n.members??o.memberCount,createdAt:n.createdAt||n.created||""},L.value=JSON.stringify(n,null,2)):L.value=i}catch(i){L.value=r("organization.messages.loadDetailFailed",{err:i.message})}finally{w.value=!1}}const j=m(null),Z=m(!1),$=m([]),ee=m(!1),ae=m([]),ge=m(!1),te=m(!1),J=m(""),oe=m(""),ne=m("member"),ue=m(!1),le=m(!1),W=m(""),ie=m(""),re=m(""),he=F(()=>[{label:r("organization.members.roleAdmin"),value:"admin"},{label:r("organization.members.roleMember"),value:"member"},{label:r("organization.members.roleViewer"),value:"viewer"}]),Oe=F(()=>[{title:r("organization.memberColumns.userId"),key:"userId",dataIndex:"userId",width:"160px"},{title:r("organization.memberColumns.name"),key:"name",dataIndex:"name",width:"140px"},{title:r("organization.memberColumns.role"),key:"role",dataIndex:"role",width:"100px"},{title:r("organization.memberColumns.joinedAt"),key:"joinedAt",dataIndex:"joinedAt",width:"180px"}]),Ce=F(()=>[{title:r("organization.teamColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:r("organization.teamColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:r("organization.teamColumns.lead"),key:"lead",dataIndex:"lead",width:"140px"}]);function Te(o){return{admin:"gold",member:"blue",viewer:"default",owner:"purple"}[(o||"").toLowerCase()]||"default"}async function Ie(){j.value&&await Promise.all([K(),E()])}async function K(){if(j.value){Z.value=!0;try{const{output:o}=await e.execute(`org members ${j.value} --json`,15e3),i=x(o);Array.isArray(i)?$.value=i.map((n,g)=>({key:n.userId||n.id||g,userId:n.userId||n.id||"-",name:n.name||n.displayName||"-",role:n.role||"member",joinedAt:n.joinedAt||n.joined||"-"})):$.value=pe(o)}catch(o){p.error(r("organization.messages.loadMembersFailed",{err:o.message}))}finally{Z.value=!1}}}function pe(o){const i=[],n=o.split(`
3
+ `);for(const g of n){const v=g.trim();if(!v||v.startsWith("─")||v.match(/^\d+ member/i))continue;const b=v.split(/\s*[|│]\s*/);b.length>=3&&i.push({key:i.length,userId:b[0]||"-",name:b[1]||"-",role:b[2]||"member",joinedAt:b[3]||"-"})}return i}async function E(){if(j.value){ee.value=!0;try{const{output:o}=await e.execute(`org teams ${j.value} --json`,15e3),i=x(o);Array.isArray(i)?ae.value=i.map((n,g)=>({key:n.id||n.name||g,name:n.name||"-",description:n.description||"",lead:n.lead||n.leader||"-"})):ae.value=[]}catch(o){p.error(r("organization.messages.loadTeamsFailed",{err:o.message}))}finally{ee.value=!1}}}async function Le(){if(!J.value.trim()){p.warning(r("organization.messages.userIdRequired"));return}te.value=!0;try{const o=J.value.trim().replace(/"/g,'\\"'),i=oe.value.trim().replace(/"/g,'\\"');let n=`org invite ${j.value} ${o} --role ${ne.value}`;i&&(n+=` --name "${i}"`);const{output:g}=await e.execute(n,2e4);g.includes("error")||g.includes("失败")?p.error(r("organization.messages.inviteFailed",{err:g.slice(0,120)})):(p.success(r("organization.messages.inviteOk")),ge.value=!1,J.value="",oe.value="",ne.value="member",await K())}catch(o){p.error(r("organization.messages.inviteFailed",{err:o.message}))}finally{te.value=!1}}async function Ae(){if(!W.value.trim()){p.warning(r("organization.messages.teamNameRequired"));return}le.value=!0;try{const o=W.value.trim().replace(/"/g,'\\"'),i=ie.value.trim().replace(/"/g,'\\"'),n=re.value.trim().replace(/"/g,'\\"');let g=`org teams ${j.value} create "${o}"`;i&&(g+=` --description "${i}"`),n&&(g+=` --lead "${n}"`);const{output:v}=await e.execute(g,2e4);v.includes("error")||v.includes("失败")?p.error(r("organization.messages.teamCreateFailed",{err:v.slice(0,120)})):(p.success(r("organization.messages.teamCreateOk")),ue.value=!1,W.value="",ie.value="",re.value="",await E())}catch(o){p.error(r("organization.messages.teamCreateFailed",{err:o.message}))}finally{le.value=!1}}const se=m(!1),G=m([]),ve=m(!1),de=m(!1),Q=m(null),H=m(""),me=m(""),ce=m(""),je=F(()=>[{title:r("organization.approvalColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:r("organization.approvalColumns.title"),key:"title",dataIndex:"title",width:"200px"},{title:r("organization.approvalColumns.type"),key:"type",dataIndex:"type",width:"120px"},{title:r("organization.approvalColumns.requester"),key:"requester",dataIndex:"requester",width:"140px"},{title:r("organization.approvalColumns.status"),key:"status",dataIndex:"status",width:"100px"},{title:r("organization.approvalColumns.actions"),key:"actions",width:"180px"}]);function Me(o){return{pending:"orange",approved:"green",rejected:"red"}[(o||"").toLowerCase()]||"default"}async function q(){se.value=!0;try{const{output:o}=await e.execute("org approvals --json",15e3),i=x(o);Array.isArray(i)?G.value=i.map((n,g)=>({key:n.id||g,id:n.id||"-",title:n.title||"-",type:n.type||"-",requester:n.requester||n.requestedBy||"-",status:n.status||"pending",_approving:!1,_rejecting:!1})):G.value=fe(o)}catch(o){p.error(r("organization.messages.loadApprovalsFailed",{err:o.message}))}finally{se.value=!1}}function fe(o){const i=[],n=o.split(`
4
+ `);for(const g of n){const v=g.trim();if(!v||v.startsWith("─")||v.match(/^\d+ approval/i))continue;const b=v.split(/\s*[|│]\s*/);b.length>=4&&i.push({key:i.length,id:b[0]||"-",title:b[1]||"-",type:b[2]||"-",requester:b[3]||"-",status:b[4]||"pending",_approving:!1,_rejecting:!1})}return i}async function Ue(o){o._approving=!0;try{const{output:i}=await e.execute(`org approve ${o.id}`,15e3);i.includes("error")||i.includes("失败")?p.error(r("organization.messages.approveFailed",{err:i.slice(0,120)})):(p.success(r("organization.messages.approveOk")),await q())}catch(i){p.error(r("organization.messages.approveFailed",{err:i.message}))}finally{o._approving=!1}}async function Se(o){o._rejecting=!0;try{const{output:i}=await e.execute(`org reject ${o.id}`,15e3);i.includes("error")||i.includes("失败")?p.error(r("organization.messages.rejectFailed",{err:i.slice(0,120)})):(p.success(r("organization.messages.rejectOk")),await q())}catch(i){p.error(r("organization.messages.rejectFailed",{err:i.message}))}finally{o._rejecting=!1}}async function Pe(){if(!Q.value){p.warning(r("organization.messages.orgRequired"));return}if(!H.value.trim()){p.warning(r("organization.messages.approvalTitleRequired"));return}de.value=!0;try{const o=H.value.trim().replace(/"/g,'\\"'),i=me.value.trim().replace(/"/g,'\\"'),n=ce.value.trim().replace(/"/g,'\\"');let g=`org approve --submit --org ${Q.value} --title "${o}"`;i&&(g+=` --type "${i}"`),n&&(g+=` --description "${n}"`);const{output:v}=await e.execute(g,2e4);v.includes("error")||v.includes("失败")?p.error(r("organization.messages.submitFailed",{err:v.slice(0,120)})):(p.success(r("organization.messages.submitOk")),ve.value=!1,Q.value=null,H.value="",me.value="",ce.value="",await q())}catch(o){p.error(r("organization.messages.submitFailed",{err:o.message}))}finally{de.value=!1}}be(()=>{A()});const ye={t:r,ws:e,activeTab:D,refreshing:V,refreshCurrentTab:T,onTabChange:R,tryParseJson:x,orgLoading:M,orgList:k,showCreateOrgModal:P,creatingOrg:C,newOrgName:N,newOrgDesc:I,showDetailModal:h,detailLoading:w,detailOrg:U,detailRaw:L,orgColumns:B,orgSelectOptions:X,loadOrgList:A,parseOrgListText:a,createOrg:u,showOrgDetail:Y,selectedOrgId:j,memberLoading:Z,memberList:$,teamLoading:ee,teamList:ae,showInviteModal:ge,inviting:te,inviteUserId:J,inviteName:oe,inviteRole:ne,showCreateTeamModal:ue,creatingTeam:le,newTeamName:W,newTeamDesc:ie,newTeamLead:re,roleOptions:he,memberColumns:Oe,teamColumns:Ce,roleColor:Te,onOrgSelected:Ie,loadMembers:K,parseMemberListText:pe,loadTeams:E,inviteMember:Le,createTeam:Ae,approvalLoading:se,approvalList:G,showSubmitApprovalModal:ve,submittingApproval:de,approvalOrgId:Q,approvalTitle:H,approvalType:me,approvalDescription:ce,approvalColumns:je,approvalStatusColor:Me,loadApprovals:q,parseApprovalListText:fe,approveItem:Ue,rejectItem:Se,submitApproval:Pe,ref:m,computed:F,onMounted:be,get useI18n(){return ze},get TeamOutlined(){return Je},get UserAddOutlined(){return Ve},get AuditOutlined(){return Be},get ReloadOutlined(){return Re},get PlusOutlined(){return De},get CheckOutlined(){return qe},get CloseOutlined(){return Ne},get message(){return p},get useWsStore(){return xe}};return Object.defineProperty(ye,"__isScriptSetup",{enumerable:!1,value:!0}),ye}},Ke={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ee={class:"page-title"},Ge={class:"page-sub"},Qe={key:0,style:{"text-align":"center",padding:"60px"}},He={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},Xe={key:1,style:{color:"#1677ff"}},Ye={key:2,style:{color:"var(--text-secondary)"}},Ze={key:3,style:{color:"var(--text-muted)","font-size":"12px"}},$e={key:0,style:{"text-align":"center",padding:"40px"}},ea={key:1},aa={style:{"font-family":"monospace",color:"#ccc"}},ta={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"}},oa={style:{"margin-bottom":"16px",display:"flex","align-items":"center",gap:"12px"}},na={key:0,style:{"text-align":"center",padding:"60px"}},la={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ia={key:1,style:{color:"#e0e0e0"}},ra={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},sa={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"12px"}},da={style:{color:"var(--text-primary)",margin:"0","font-size":"15px"}},ma={key:0,style:{"text-align":"center",padding:"40px"}},ca={key:0,style:{color:"#e0e0e0"}},ga={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},ua={key:2,style:{color:"var(--text-secondary)"}},pa={key:0,style:{"text-align":"center",padding:"60px"}},va={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},fa={key:1,style:{color:"#e0e0e0"}},ya={key:3,style:{color:"var(--text-secondary)"}},ba={key:1,style:{color:"var(--text-muted)","font-size":"12px"}};function _a(ke,s,r,e,D,V){const T=z("a-button"),R=z("a-space"),x=z("a-spin"),M=z("a-tag"),k=z("a-empty"),P=z("a-table"),C=z("a-descriptions-item"),N=z("a-descriptions"),I=z("a-modal"),h=z("a-input"),w=z("a-form-item"),U=z("a-form"),L=z("a-tab-pane"),B=z("a-select"),X=z("a-textarea"),A=z("a-tabs");return c(),f("div",null,[S("div",Ke,[S("div",null,[S("h2",Ee,d(e.t("organization.title")),1),S("p",Ge,d(e.t("organization.subtitle")),1)]),t(T,{type:"primary",ghost:"",loading:e.refreshing,onClick:e.refreshCurrentTab},{icon:l(()=>[t(e.ReloadOutlined)]),default:l(()=>[_(" "+d(e.t("organization.refresh")),1)]),_:1},8,["loading"])]),t(A,{activeKey:e.activeTab,"onUpdate:activeKey":s[22]||(s[22]=a=>e.activeTab=a),type:"card",onChange:e.onTabChange},{default:l(()=>[y(" Tab 1: Organization List "),t(L,{key:"orgs"},{tab:l(()=>[t(e.TeamOutlined),_(" "+d(e.t("organization.tabs.orgs")),1)]),default:l(()=>[t(R,{style:{"margin-bottom":"16px"}},{default:l(()=>[t(T,{type:"primary",onClick:s[0]||(s[0]=a=>e.showCreateOrgModal=!0)},{icon:l(()=>[t(e.PlusOutlined)]),default:l(()=>[_(" "+d(e.t("organization.orgs.createButton")),1)]),_:1})]),_:1}),e.orgLoading?(c(),f("div",Qe,[t(x,{size:"large"})])):(c(),O(P,{key:1,columns:e.orgColumns,"data-source":e.orgList,pagination:{pageSize:20,showTotal:a=>e.t("organization.totals.rows",{count:a})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row","custom-row":a=>({onClick:()=>e.showOrgDetail(a)})},{bodyCell:l(({column:a,record:u})=>[a.key==="id"?(c(),f("span",He,d(u.id),1)):y("v-if",!0),a.key==="name"?(c(),f("a",Xe,d(u.name),1)):y("v-if",!0),a.key==="owner"?(c(),f("span",Ye,d(u.owner),1)):y("v-if",!0),a.key==="description"?(c(),f("span",Ze,d(u.description),1)):y("v-if",!0),a.key==="memberCount"?(c(),O(M,{key:4,color:"blue"},{default:l(()=>[_(d(u.memberCount),1)]),_:2},1024)):y("v-if",!0)]),emptyText:l(()=>[t(k,{description:e.t("organization.orgs.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination","custom-row"])),t(I,{open:e.showDetailModal,"onUpdate:open":s[1]||(s[1]=a=>e.showDetailModal=a),title:e.t("organization.orgs.detailTitle",{name:e.detailOrg.name||""}),footer:null,width:"640px"},{default:l(()=>[e.detailLoading?(c(),f("div",$e,[t(x)])):(c(),f("div",ea,[t(N,{column:1,bordered:"",size:"small",style:{"margin-bottom":"16px"}},{default:l(()=>[t(C,{label:e.t("organization.orgs.detailLabels.id")},{default:l(()=>[S("span",aa,d(e.detailOrg.id),1)]),_:1},8,["label"]),t(C,{label:e.t("organization.orgs.detailLabels.name")},{default:l(()=>[_(d(e.detailOrg.name),1)]),_:1},8,["label"]),t(C,{label:e.t("organization.orgs.detailLabels.owner")},{default:l(()=>[_(d(e.detailOrg.owner),1)]),_:1},8,["label"]),t(C,{label:e.t("organization.orgs.detailLabels.description")},{default:l(()=>[_(d(e.detailOrg.description||"-"),1)]),_:1},8,["label"]),t(C,{label:e.t("organization.orgs.detailLabels.memberCount")},{default:l(()=>[_(d(e.detailOrg.memberCount),1)]),_:1},8,["label"]),e.detailOrg.createdAt?(c(),O(C,{key:0,label:e.t("organization.orgs.detailLabels.createdAt")},{default:l(()=>[_(d(e.detailOrg.createdAt),1)]),_:1},8,["label"])):y("v-if",!0)]),_:1}),e.detailRaw?(c(),f("pre",ta,d(e.detailRaw),1)):y("v-if",!0)]))]),_:1},8,["open","title"]),t(I,{open:e.showCreateOrgModal,"onUpdate:open":s[4]||(s[4]=a=>e.showCreateOrgModal=a),title:e.t("organization.orgs.createTitle"),"confirm-loading":e.creatingOrg,onOk:e.createOrg,"ok-text":e.t("organization.orgs.createOk"),"cancel-text":e.t("common.cancel")},{default:l(()=>[t(U,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:l(()=>[t(w,{label:e.t("organization.orgs.nameLabel"),required:""},{default:l(()=>[t(h,{value:e.newOrgName,"onUpdate:value":s[2]||(s[2]=a=>e.newOrgName=a),placeholder:e.t("organization.orgs.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.orgs.descriptionLabel")},{default:l(()=>[t(h,{value:e.newOrgDesc,"onUpdate:value":s[3]||(s[3]=a=>e.newOrgDesc=a),placeholder:e.t("organization.orgs.descriptionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),y(" Tab 2: Member Management "),t(L,{key:"members"},{tab:l(()=>[t(e.UserAddOutlined),_(" "+d(e.t("organization.tabs.members")),1)]),default:l(()=>[S("div",oa,[t(B,{value:e.selectedOrgId,"onUpdate:value":s[5]||(s[5]=a=>e.selectedOrgId=a),placeholder:e.t("organization.members.selectPlaceholder"),style:{width:"280px"},options:e.orgSelectOptions,onChange:e.onOrgSelected},null,8,["value","placeholder","options"]),t(T,{type:"primary",disabled:!e.selectedOrgId,onClick:s[6]||(s[6]=a=>e.showInviteModal=!0)},{icon:l(()=>[t(e.UserAddOutlined)]),default:l(()=>[_(" "+d(e.t("organization.members.inviteButton")),1)]),_:1},8,["disabled"])]),e.memberLoading?(c(),f("div",na,[t(x,{size:"large"})])):e.selectedOrgId?(c(),O(P,{key:1,columns:e.memberColumns,"data-source":e.memberList,pagination:{pageSize:20,showTotal:a=>e.t("organization.totals.rows",{count:a})},size:"small",style:{background:"var(--bg-card)","margin-bottom":"24px"},"row-class-name":()=>"org-row"},{bodyCell:l(({column:a,record:u})=>[a.key==="userId"?(c(),f("span",la,d(u.userId),1)):y("v-if",!0),a.key==="name"?(c(),f("span",ia,d(u.name),1)):y("v-if",!0),a.key==="role"?(c(),O(M,{key:2,color:e.roleColor(u.role)},{default:l(()=>[_(d(u.role),1)]),_:2},1032,["color"])):y("v-if",!0),a.key==="joinedAt"?(c(),f("span",ra,d(u.joinedAt),1)):y("v-if",!0)]),emptyText:l(()=>[t(k,{description:e.t("organization.members.emptyMembers")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])):(c(),O(k,{key:2,description:e.t("organization.members.selectFirst"),style:{padding:"60px 0"}},null,8,["description"])),e.selectedOrgId?(c(),f(_e,{key:3},[S("div",sa,[S("h3",da,d(e.t("organization.members.teamsTitle")),1),t(T,{size:"small",onClick:s[7]||(s[7]=a=>e.showCreateTeamModal=!0)},{icon:l(()=>[t(e.PlusOutlined)]),default:l(()=>[_(" "+d(e.t("organization.members.createTeamButton")),1)]),_:1})]),e.teamLoading?(c(),f("div",ma,[t(x)])):(c(),O(P,{key:1,columns:e.teamColumns,"data-source":e.teamList,pagination:!1,size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:l(({column:a,record:u})=>[a.key==="name"?(c(),f("span",ca,d(u.name),1)):y("v-if",!0),a.key==="description"?(c(),f("span",ga,d(u.description),1)):y("v-if",!0),a.key==="lead"?(c(),f("span",ua,d(u.lead),1)):y("v-if",!0)]),emptyText:l(()=>[t(k,{description:e.t("organization.members.emptyTeams")},null,8,["description"])]),_:1},8,["columns","data-source"]))],64)):y("v-if",!0),t(I,{open:e.showInviteModal,"onUpdate:open":s[11]||(s[11]=a=>e.showInviteModal=a),title:e.t("organization.members.inviteTitle"),"confirm-loading":e.inviting,onOk:e.inviteMember,"ok-text":e.t("organization.members.inviteOk"),"cancel-text":e.t("common.cancel")},{default:l(()=>[t(U,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:l(()=>[t(w,{label:e.t("organization.members.userIdLabel"),required:""},{default:l(()=>[t(h,{value:e.inviteUserId,"onUpdate:value":s[8]||(s[8]=a=>e.inviteUserId=a),placeholder:e.t("organization.members.userIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.members.nameLabel")},{default:l(()=>[t(h,{value:e.inviteName,"onUpdate:value":s[9]||(s[9]=a=>e.inviteName=a),placeholder:e.t("organization.members.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.members.roleLabel")},{default:l(()=>[t(B,{value:e.inviteRole,"onUpdate:value":s[10]||(s[10]=a=>e.inviteRole=a),options:e.roleOptions},null,8,["value","options"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),t(I,{open:e.showCreateTeamModal,"onUpdate:open":s[15]||(s[15]=a=>e.showCreateTeamModal=a),title:e.t("organization.members.createTeamTitle"),"confirm-loading":e.creatingTeam,onOk:e.createTeam,"ok-text":e.t("organization.members.createTeamOk"),"cancel-text":e.t("common.cancel")},{default:l(()=>[t(U,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:l(()=>[t(w,{label:e.t("organization.members.teamNameLabel"),required:""},{default:l(()=>[t(h,{value:e.newTeamName,"onUpdate:value":s[12]||(s[12]=a=>e.newTeamName=a),placeholder:e.t("organization.members.teamNamePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.members.teamDescLabel")},{default:l(()=>[t(h,{value:e.newTeamDesc,"onUpdate:value":s[13]||(s[13]=a=>e.newTeamDesc=a),placeholder:e.t("organization.members.teamDescPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.members.teamLeadLabel")},{default:l(()=>[t(h,{value:e.newTeamLead,"onUpdate:value":s[14]||(s[14]=a=>e.newTeamLead=a),placeholder:e.t("organization.members.teamLeadPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),y(" Tab 3: Approval Management "),t(L,{key:"approvals"},{tab:l(()=>[t(e.AuditOutlined),_(" "+d(e.t("organization.tabs.approvals")),1)]),default:l(()=>[t(R,{style:{"margin-bottom":"16px"}},{default:l(()=>[t(T,{type:"primary",onClick:s[16]||(s[16]=a=>e.showSubmitApprovalModal=!0)},{icon:l(()=>[t(e.PlusOutlined)]),default:l(()=>[_(" "+d(e.t("organization.approvals.submitButton")),1)]),_:1})]),_:1}),e.approvalLoading?(c(),f("div",pa,[t(x,{size:"large"})])):(c(),O(P,{key:1,columns:e.approvalColumns,"data-source":e.approvalList,pagination:{pageSize:20,showTotal:a=>e.t("organization.totals.rows",{count:a})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:l(({column:a,record:u})=>[a.key==="id"?(c(),f("span",va,d(u.id),1)):y("v-if",!0),a.key==="title"?(c(),f("span",fa,d(u.title),1)):y("v-if",!0),a.key==="type"?(c(),O(M,{key:2,color:"blue"},{default:l(()=>[_(d(u.type),1)]),_:2},1024)):y("v-if",!0),a.key==="requester"?(c(),f("span",ya,d(u.requester),1)):y("v-if",!0),a.key==="status"?(c(),O(M,{key:4,color:e.approvalStatusColor(u.status)},{default:l(()=>[_(d(u.status),1)]),_:2},1032,["color"])):y("v-if",!0),a.key==="actions"?(c(),f(_e,{key:5},[(u.status||"").toLowerCase()==="pending"?(c(),O(R,{key:0},{default:l(()=>[t(T,{type:"primary",size:"small",loading:u._approving,onClick:we(Y=>e.approveItem(u),["stop"])},{icon:l(()=>[t(e.CheckOutlined)]),default:l(()=>[_(" "+d(e.t("organization.approvals.approve")),1)]),_:1},8,["loading","onClick"]),t(T,{danger:"",size:"small",loading:u._rejecting,onClick:we(Y=>e.rejectItem(u),["stop"])},{icon:l(()=>[t(e.CloseOutlined)]),default:l(()=>[_(" "+d(e.t("organization.approvals.reject")),1)]),_:1},8,["loading","onClick"])]),_:2},1024)):(c(),f("span",ba,"-"))],64)):y("v-if",!0)]),emptyText:l(()=>[t(k,{description:e.t("organization.approvals.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),t(I,{open:e.showSubmitApprovalModal,"onUpdate:open":s[21]||(s[21]=a=>e.showSubmitApprovalModal=a),title:e.t("organization.approvals.submitTitle"),"confirm-loading":e.submittingApproval,onOk:e.submitApproval,"ok-text":e.t("organization.approvals.submitOk"),"cancel-text":e.t("common.cancel")},{default:l(()=>[t(U,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:l(()=>[t(w,{label:e.t("organization.approvals.orgLabel"),required:""},{default:l(()=>[t(B,{value:e.approvalOrgId,"onUpdate:value":s[17]||(s[17]=a=>e.approvalOrgId=a),placeholder:e.t("organization.approvals.orgPlaceholder"),options:e.orgSelectOptions},null,8,["value","placeholder","options"])]),_:1},8,["label"]),t(w,{label:e.t("organization.approvals.titleLabel"),required:""},{default:l(()=>[t(h,{value:e.approvalTitle,"onUpdate:value":s[18]||(s[18]=a=>e.approvalTitle=a),placeholder:e.t("organization.approvals.titlePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.approvals.typeLabel")},{default:l(()=>[t(h,{value:e.approvalType,"onUpdate:value":s[19]||(s[19]=a=>e.approvalType=a),placeholder:e.t("organization.approvals.typePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),t(w,{label:e.t("organization.approvals.descLabel")},{default:l(()=>[t(X,{value:e.approvalDescription,"onUpdate:value":s[20]||(s[20]=a=>e.approvalDescription=a),placeholder:e.t("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"])])}const ka=Fe(We,[["render",_a],["__scopeId","data-v-4900dc74"],["__file","/tmp/cc-web-panel-SkGS8t/repo/packages/web-panel/src/views/Organization.vue"]]);export{ka as default};
@@ -1 +1 @@
1
- import{P,f as u,i as H,h as D}from"./index-Bg1RsfAJ.js";import{d as k,p as ge,b as c,i as pe,x as be,c as v,r as he,w as Oe,s as C}from"./vendor-BvqAck49.js";import{R as ee}from"./index-C4KhsGXo.js";const te=Symbol("OverflowContextProviderKey"),X=k({compatConfig:{MODE:3},name:"OverflowContextProvider",inheritAttrs:!1,props:{value:{type:Object}},setup(e,o){let{slots:a}=o;return ge(te,c(()=>e.value)),()=>{var t;return(t=a.default)===null||t===void 0?void 0:t.call(a)}}}),Se=()=>pe(te,c(()=>null));var xe=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const _=void 0,$=k({compatConfig:{MODE:3},name:"Item",props:{prefixCls:String,item:P.any,renderItem:Function,responsive:Boolean,itemKey:{type:[String,Number]},registerSize:Function,display:Boolean,order:Number,component:P.any,invalidate:Boolean},setup(e,o){let{slots:a,expose:t}=o;const n=c(()=>e.responsive&&!e.display),p=he();t({itemNodeRef:p});function b(i){e.registerSize(e.itemKey,i)}return be(()=>{b(null)}),()=>{var i;const{prefixCls:O,invalidate:w,item:m,renderItem:y,responsive:f,registerSize:z,itemKey:R,display:V,order:I,component:M="div"}=e,S=xe(e,["prefixCls","invalidate","item","renderItem","responsive","registerSize","itemKey","display","order","component"]),W=(i=a.default)===null||i===void 0?void 0:i.call(a),T=y&&m!==_?y(m):W;let h;w||(h={opacity:n.value?0:1,height:n.value?0:_,overflowY:n.value?"hidden":_,order:f?I:_,pointerEvents:n.value?"none":_,position:n.value?"absolute":_});const N={};return n.value&&(N["aria-hidden"]=!0),v(ee,{disabled:!f,onResize:E=>{let{offsetWidth:B}=E;b(B)}},{default:()=>v(M,u(u(u({class:H(!w&&O),style:h},N),S),{},{ref:p}),{default:()=>[T]})})}}});var U=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const Ce=k({compatConfig:{MODE:3},name:"RawItem",inheritAttrs:!1,props:{component:P.any,title:P.any,id:String,onMouseenter:{type:Function},onMouseleave:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onFocus:{type:Function},role:String,tabindex:Number},setup(e,o){let{slots:a,attrs:t}=o;const n=Se();return()=>{var p;if(!n.value){const{component:y="div"}=e,f=U(e,["component"]);return v(y,u(u({},f),t),{default:()=>[(p=a.default)===null||p===void 0?void 0:p.call(a)]})}const b=n.value,{className:i}=b,O=U(b,["className"]),{class:w}=t,m=U(t,["class"]);return v(X,{value:null},{default:()=>[v($,u(u(u({class:H(i,w)},O),m),e),a)]})}}});var we=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const ne="responsive",le="invalidate";function Re(e){return`+ ${e.length} ...`}const Ie=()=>({id:String,prefixCls:String,data:Array,itemKey:[String,Number,Function],itemWidth:{type:Number,default:10},renderItem:Function,renderRawItem:Function,maxCount:[Number,String],renderRest:Function,renderRawRest:Function,suffix:P.any,component:String,itemComponent:P.any,onVisibleChange:Function,ssr:String,onMousedown:Function,role:String}),Y=k({name:"Overflow",inheritAttrs:!1,props:Ie(),emits:["visibleChange"],setup(e,o){let{attrs:a,emit:t,slots:n}=o;const p=c(()=>e.ssr==="full"),b=C(null),i=c(()=>b.value||0),O=C(new Map),w=C(0),m=C(0),y=C(0),f=C(null),z=C(null),R=c(()=>z.value===null&&p.value?Number.MAX_SAFE_INTEGER:z.value||0),V=C(!1),I=c(()=>`${e.prefixCls}-item`),M=c(()=>Math.max(w.value,m.value)),S=c(()=>!!(e.data.length&&e.maxCount===ne)),W=c(()=>e.maxCount===le),T=c(()=>S.value||typeof e.maxCount=="number"&&e.data.length>e.maxCount),h=c(()=>{let l=e.data;return S.value?b.value===null&&p.value?l=e.data:l=e.data.slice(0,Math.min(e.data.length,i.value/e.itemWidth)):typeof e.maxCount=="number"&&(l=e.data.slice(0,e.maxCount)),l}),N=c(()=>S.value?e.data.slice(R.value+1):e.data.slice(h.value.length)),E=(l,r)=>{var s;return typeof e.itemKey=="function"?e.itemKey(l):(s=e.itemKey&&l?.[e.itemKey])!==null&&s!==void 0?s:r},B=c(()=>e.renderItem||(l=>l)),A=(l,r)=>{z.value=l,r||(V.value=l<e.data.length-1,t("visibleChange",l))},ae=(l,r)=>{b.value=r.clientWidth},q=(l,r)=>{const s=new Map(O.value);r===null?s.delete(l):s.set(l,r),O.value=s},re=(l,r)=>{w.value=m.value,m.value=r},oe=(l,r)=>{y.value=r},G=l=>O.value.get(E(h.value[l],l));return Oe([i,O,m,y,()=>e.itemKey,h],()=>{if(i.value&&M.value&&h.value){let l=y.value;const r=h.value.length,s=r-1;if(!r){A(0),f.value=null;return}for(let g=0;g<r;g+=1){const F=G(g);if(F===void 0){A(g-1,!0);break}if(l+=F,s===0&&l<=i.value||g===s-1&&l+G(s)<=i.value){A(s),f.value=null;break}else if(l+M.value>i.value){A(g-1),f.value=l-F-y.value+m.value;break}}e.suffix&&G(0)+y.value>i.value&&(f.value=null)}}),()=>{const l=V.value&&!!N.value.length,{itemComponent:r,renderRawItem:s,renderRawRest:g,renderRest:F,prefixCls:ie="rc-overflow",suffix:J,component:se="div",id:ue,onMousedown:de}=e,{class:ce,style:ve}=a,fe=we(a,["class","style"]);let Q={};f.value!==null&&S.value&&(Q={position:"absolute",left:`${f.value}px`,top:0});const j={prefixCls:I.value,responsive:S.value,component:r,invalidate:W.value},me=s?(d,x)=>{const K=E(d,x);return v(X,{key:K,value:D(D({},j),{order:x,item:d,itemKey:K,registerSize:q,display:x<=R.value})},{default:()=>[s(d,x)]})}:(d,x)=>{const K=E(d,x);return v($,u(u({},j),{},{order:x,key:K,item:d,renderItem:B.value,itemKey:K,registerSize:q,display:x<=R.value}),null)};let L=()=>null;const Z={order:l?R.value:Number.MAX_SAFE_INTEGER,className:`${I.value} ${I.value}-rest`,registerSize:re,display:l};if(g)g&&(L=()=>v(X,{value:D(D({},j),Z)},{default:()=>[g(N.value)]}));else{const d=F||Re;L=()=>v($,u(u({},j),Z),{default:()=>typeof d=="function"?d(N.value):d})}const ye=()=>{var d;return v(se,u({id:ue,class:H(!W.value&&ie,ce),style:ve,onMousedown:de,role:e.role},fe),{default:()=>[h.value.map(me),T.value?L():null,J&&v($,u(u({},j),{},{order:R.value,class:`${I.value}-suffix`,registerSize:oe,display:!0,style:Q}),{default:()=>J}),(d=n.default)===null||d===void 0?void 0:d.call(n)]})};return v(ee,{disabled:!S.value,onResize:ae},{default:ye})}}});Y.Item=Ce;Y.RESPONSIVE=ne;Y.INVALIDATE=le;export{Y as O};
1
+ import{P,f as u,i as H,h as D}from"./index-GerFRbNP.js";import{d as k,p as ge,b as c,i as pe,x as be,c as v,r as he,w as Oe,s as C}from"./vendor-BvqAck49.js";import{R as ee}from"./index-vC4cgPxI.js";const te=Symbol("OverflowContextProviderKey"),X=k({compatConfig:{MODE:3},name:"OverflowContextProvider",inheritAttrs:!1,props:{value:{type:Object}},setup(e,o){let{slots:a}=o;return ge(te,c(()=>e.value)),()=>{var t;return(t=a.default)===null||t===void 0?void 0:t.call(a)}}}),Se=()=>pe(te,c(()=>null));var xe=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const _=void 0,$=k({compatConfig:{MODE:3},name:"Item",props:{prefixCls:String,item:P.any,renderItem:Function,responsive:Boolean,itemKey:{type:[String,Number]},registerSize:Function,display:Boolean,order:Number,component:P.any,invalidate:Boolean},setup(e,o){let{slots:a,expose:t}=o;const n=c(()=>e.responsive&&!e.display),p=he();t({itemNodeRef:p});function b(i){e.registerSize(e.itemKey,i)}return be(()=>{b(null)}),()=>{var i;const{prefixCls:O,invalidate:w,item:m,renderItem:y,responsive:f,registerSize:z,itemKey:R,display:V,order:I,component:M="div"}=e,S=xe(e,["prefixCls","invalidate","item","renderItem","responsive","registerSize","itemKey","display","order","component"]),W=(i=a.default)===null||i===void 0?void 0:i.call(a),T=y&&m!==_?y(m):W;let h;w||(h={opacity:n.value?0:1,height:n.value?0:_,overflowY:n.value?"hidden":_,order:f?I:_,pointerEvents:n.value?"none":_,position:n.value?"absolute":_});const N={};return n.value&&(N["aria-hidden"]=!0),v(ee,{disabled:!f,onResize:E=>{let{offsetWidth:B}=E;b(B)}},{default:()=>v(M,u(u(u({class:H(!w&&O),style:h},N),S),{},{ref:p}),{default:()=>[T]})})}}});var U=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const Ce=k({compatConfig:{MODE:3},name:"RawItem",inheritAttrs:!1,props:{component:P.any,title:P.any,id:String,onMouseenter:{type:Function},onMouseleave:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onFocus:{type:Function},role:String,tabindex:Number},setup(e,o){let{slots:a,attrs:t}=o;const n=Se();return()=>{var p;if(!n.value){const{component:y="div"}=e,f=U(e,["component"]);return v(y,u(u({},f),t),{default:()=>[(p=a.default)===null||p===void 0?void 0:p.call(a)]})}const b=n.value,{className:i}=b,O=U(b,["className"]),{class:w}=t,m=U(t,["class"]);return v(X,{value:null},{default:()=>[v($,u(u(u({class:H(i,w)},O),m),e),a)]})}}});var we=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const ne="responsive",le="invalidate";function Re(e){return`+ ${e.length} ...`}const Ie=()=>({id:String,prefixCls:String,data:Array,itemKey:[String,Number,Function],itemWidth:{type:Number,default:10},renderItem:Function,renderRawItem:Function,maxCount:[Number,String],renderRest:Function,renderRawRest:Function,suffix:P.any,component:String,itemComponent:P.any,onVisibleChange:Function,ssr:String,onMousedown:Function,role:String}),Y=k({name:"Overflow",inheritAttrs:!1,props:Ie(),emits:["visibleChange"],setup(e,o){let{attrs:a,emit:t,slots:n}=o;const p=c(()=>e.ssr==="full"),b=C(null),i=c(()=>b.value||0),O=C(new Map),w=C(0),m=C(0),y=C(0),f=C(null),z=C(null),R=c(()=>z.value===null&&p.value?Number.MAX_SAFE_INTEGER:z.value||0),V=C(!1),I=c(()=>`${e.prefixCls}-item`),M=c(()=>Math.max(w.value,m.value)),S=c(()=>!!(e.data.length&&e.maxCount===ne)),W=c(()=>e.maxCount===le),T=c(()=>S.value||typeof e.maxCount=="number"&&e.data.length>e.maxCount),h=c(()=>{let l=e.data;return S.value?b.value===null&&p.value?l=e.data:l=e.data.slice(0,Math.min(e.data.length,i.value/e.itemWidth)):typeof e.maxCount=="number"&&(l=e.data.slice(0,e.maxCount)),l}),N=c(()=>S.value?e.data.slice(R.value+1):e.data.slice(h.value.length)),E=(l,r)=>{var s;return typeof e.itemKey=="function"?e.itemKey(l):(s=e.itemKey&&l?.[e.itemKey])!==null&&s!==void 0?s:r},B=c(()=>e.renderItem||(l=>l)),A=(l,r)=>{z.value=l,r||(V.value=l<e.data.length-1,t("visibleChange",l))},ae=(l,r)=>{b.value=r.clientWidth},q=(l,r)=>{const s=new Map(O.value);r===null?s.delete(l):s.set(l,r),O.value=s},re=(l,r)=>{w.value=m.value,m.value=r},oe=(l,r)=>{y.value=r},G=l=>O.value.get(E(h.value[l],l));return Oe([i,O,m,y,()=>e.itemKey,h],()=>{if(i.value&&M.value&&h.value){let l=y.value;const r=h.value.length,s=r-1;if(!r){A(0),f.value=null;return}for(let g=0;g<r;g+=1){const F=G(g);if(F===void 0){A(g-1,!0);break}if(l+=F,s===0&&l<=i.value||g===s-1&&l+G(s)<=i.value){A(s),f.value=null;break}else if(l+M.value>i.value){A(g-1),f.value=l-F-y.value+m.value;break}}e.suffix&&G(0)+y.value>i.value&&(f.value=null)}}),()=>{const l=V.value&&!!N.value.length,{itemComponent:r,renderRawItem:s,renderRawRest:g,renderRest:F,prefixCls:ie="rc-overflow",suffix:J,component:se="div",id:ue,onMousedown:de}=e,{class:ce,style:ve}=a,fe=we(a,["class","style"]);let Q={};f.value!==null&&S.value&&(Q={position:"absolute",left:`${f.value}px`,top:0});const j={prefixCls:I.value,responsive:S.value,component:r,invalidate:W.value},me=s?(d,x)=>{const K=E(d,x);return v(X,{key:K,value:D(D({},j),{order:x,item:d,itemKey:K,registerSize:q,display:x<=R.value})},{default:()=>[s(d,x)]})}:(d,x)=>{const K=E(d,x);return v($,u(u({},j),{},{order:x,key:K,item:d,renderItem:B.value,itemKey:K,registerSize:q,display:x<=R.value}),null)};let L=()=>null;const Z={order:l?R.value:Number.MAX_SAFE_INTEGER,className:`${I.value} ${I.value}-rest`,registerSize:re,display:l};if(g)g&&(L=()=>v(X,{value:D(D({},j),Z)},{default:()=>[g(N.value)]}));else{const d=F||Re;L=()=>v($,u(u({},j),Z),{default:()=>typeof d=="function"?d(N.value):d})}const ye=()=>{var d;return v(se,u({id:ue,class:H(!W.value&&ie,ce),style:ve,onMousedown:de,role:e.role},fe),{default:()=>[h.value.map(me),T.value?L():null,J&&v($,u(u({},j),{},{order:R.value,class:`${I.value}-suffix`,registerSize:oe,display:!0,style:Q}),{default:()=>J}),(d=n.default)===null||d===void 0?void 0:d.call(n)]})};return v(ee,{disabled:!S.value,onResize:ae},{default:ye})}}});Y.Item=Ce;Y.RESPONSIVE=ne;Y.INVALIDATE=le;export{Y as O};
@@ -1,2 +1,2 @@
1
- import{I as d,J as y,U as u,R as l,c as t,K as a,V as p,o as Y,b as $,r,P as i,Q as g,S as O,F as ee,Z as re}from"./vendor-BvqAck49.js";import{_ as se,b as te,u as ne}from"./index-Bg1RsfAJ.js";import{M as ie,R as ce,as as de,al as pe,S as ue}from"./icons-DP3uiYxy.js";const ye={__name:"P2P",setup(ae,{expose:c}){c();const{t:s}=te(),e=ne(),z=r(!1),T=r(""),f=r([]),L=$(()=>[{title:s("p2p.peerColumns.name"),key:"name"},{title:s("p2p.peerColumns.id"),key:"id"},{title:s("p2p.peerColumns.status"),key:"status"},{title:s("p2p.peerColumns.action"),key:"action",width:100}]);async function k(){z.value=!0,T.value="";try{const{output:n}=await e.execute("p2p peers",15e3);f.value=R(n)}catch(n){T.value=s("p2p.messages.loadPeersFailed",{err:n.message})}finally{z.value=!1}}function R(n){if(!n||n.includes("No peers")||n.includes("no peers"))return[];const N=n.split(`
2
- `).filter(U=>U.trim()),P=[];for(const U of N){const I=U.match(/^\s*(\S+)\s+(.+?)\s+(connected|online|offline|disconnected)\s*$/i);if(I){P.push({id:I[1],name:I[2].trim(),connected:/connected|online/i.test(I[3])});continue}const V=U.match(/^\s*((?:12D3|Qm)\S{10,})\s*(.*)$/);if(V){const X=V[2].trim();P.push({id:V[1],name:X||V[1].slice(0,12),connected:/connected|online/i.test(X)})}}return P}const D=r(!1),M=r(!1),m=r(""),_=r("");async function C(){if(m.value.trim()){M.value=!0,_.value="";try{const{output:n}=await e.execute(`p2p pair "${m.value.trim()}"`,3e4);_.value=n,await k()}catch(n){_.value=s("p2p.messages.pairFailed",{err:n.message})}finally{M.value=!1}}}const E=r(!1),S=r(!1),b=r(void 0),w=r(""),x=r("");function o(n){b.value=n.id,w.value="",x.value="",E.value=!0}async function v(){if(!(!b.value||!w.value.trim())){S.value=!0,x.value="";try{const{output:n}=await e.execute(`p2p send ${b.value} "${w.value.trim()}"`,15e3);x.value=n||s("p2p.send.messageDefault")}catch(n){x.value=s("p2p.messages.sendFailed",{err:n.message})}finally{S.value=!1}}}const B=r(!1),j=r(""),A=r(!1),Q=r(""),J=r(0),K=r(""),h=r(""),W=r(!1),q=r(!1);async function F(){B.value=!0,j.value="";try{const{output:n}=await e.execute("sync status",15e3);Z(n)}catch(n){j.value=s("p2p.messages.loadSyncFailed",{err:n.message})}finally{B.value=!1}}function Z(n){if(!n){Q.value=s("p2p.sync.unknown");return}A.value=/synced|online|up.to.date/i.test(n),Q.value=A.value?s("p2p.sync.synced"):s("p2p.sync.notSynced");const N=n.match(/pending[:\s]+(\d+)/i);J.value=N?parseInt(N[1]):0;const P=n.match(/last[:\s]+(.+)/i);P&&(K.value=P[1].trim())}async function oe(){W.value=!0,h.value="";try{const{output:n}=await e.execute("sync push",3e4);h.value=n||s("p2p.sync.pushDefault"),await F()}catch(n){h.value=s("p2p.messages.pushFailed",{err:n.message})}finally{W.value=!1}}async function le(){q.value=!0,h.value="";try{const{output:n}=await e.execute("sync pull",3e4);h.value=n||s("p2p.sync.pullDefault"),await F()}catch(n){h.value=s("p2p.messages.pullFailed",{err:n.message})}finally{q.value=!1}}async function G(){await Promise.all([k(),F()])}Y(G);const H={t:s,ws:e,peersLoading:z,peersError:T,peers:f,peerColumns:L,loadPeers:k,parsePeersOutput:R,showPairModal:D,pairLoading:M,pairDeviceName:m,pairResult:_,doPair:C,showSendModal:E,sendLoading:S,sendTarget:b,sendMessage:w,sendResult:x,openSendTo:o,doSend:v,syncLoading:B,syncError:j,syncOnline:A,syncStatusText:Q,syncPending:J,lastSyncTime:K,syncOutput:h,pushLoading:W,pullLoading:q,loadSync:F,parseSyncStatus:Z,syncPush:oe,syncPull:le,refreshAll:G,ref:r,computed:$,onMounted:Y,get useI18n(){return te},get SyncOutlined(){return ue},get SendOutlined(){return pe},get PlusOutlined(){return de},get ReloadOutlined(){return ce},get MobileOutlined(){return ie},get useWsStore(){return ne}};return Object.defineProperty(H,"__isScriptSetup",{enumerable:!1,value:!0}),H}},ve={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},fe={class:"page-title"},me={class:"page-sub"},ge={key:0,style:{"text-align":"center",padding:"30px"}},_e={key:2,style:{"font-family":"monospace",color:"var(--text-muted)","font-size":"12px"}},be={key:3,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},xe={key:0,style:{"text-align":"center",padding:"30px"}},he={key:0,style:{"margin-top":"16px"}},ke={style:{color:"var(--text-secondary)","font-size":"11px","margin-bottom":"6px"}},Se={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","max-height":"200px","overflow-y":"auto","white-space":"pre-wrap"}},we={key:2,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},Pe={style:{"margin-bottom":"12px",color:"var(--text-secondary)"}},Oe={key:0,style:{"margin-top":"12px"}},Le={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},Me={style:{"margin-bottom":"8px",color:"var(--text-secondary)"}},Ce={style:{"margin-bottom":"8px",color:"var(--text-secondary)"}},ze={key:0,style:{"margin-top":"12px"}},Te={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}};function Re(ae,c,s,e,z,T){const f=d("a-button"),L=d("a-space"),k=d("a-spin"),R=d("a-empty"),D=d("a-tag"),M=d("a-table"),m=d("a-card"),_=d("a-statistic"),C=d("a-col"),E=d("a-row"),S=d("a-input"),b=d("a-modal"),w=d("a-select-option"),x=d("a-select");return i(),y("div",null,[u("div",ve,[u("div",null,[u("h2",fe,l(e.t("p2p.title")),1),u("p",me,l(e.t("p2p.subtitle")),1)]),t(f,{type:"primary",ghost:"",loading:e.peersLoading,onClick:e.refreshAll},{icon:a(()=>[t(e.ReloadOutlined)]),default:a(()=>[g(" "+l(e.t("p2p.refresh")),1)]),_:1},8,["loading"])]),p(" P2P Devices Section "),t(m,{title:e.t("p2p.peers.cardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"}},{extra:a(()=>[t(L,null,{default:a(()=>[t(f,{size:"small",onClick:c[0]||(c[0]=o=>e.showPairModal=!0),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[t(e.PlusOutlined)]),default:a(()=>[g(" "+l(e.t("p2p.peers.pairButton")),1)]),_:1}),t(f,{size:"small",onClick:c[1]||(c[1]=o=>e.showSendModal=!0),disabled:e.peers.length===0,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[t(e.SendOutlined)]),default:a(()=>[g(" "+l(e.t("p2p.peers.sendButton")),1)]),_:1},8,["disabled"])]),_:1})]),default:a(()=>[e.peersLoading?(i(),y("div",ge,[t(k)])):e.peers.length===0?(i(),O(R,{key:1,description:e.t("p2p.peers.emptyText")},null,8,["description"])):(i(),O(M,{key:2,columns:e.peerColumns,"data-source":e.peers,pagination:!1,size:"small","row-key":"id"},{bodyCell:a(({column:o,record:v})=>[o.key==="status"?(i(),O(D,{key:0,color:v.connected?"green":"default"},{default:a(()=>[g(l(v.connected?e.t("p2p.peers.online"):e.t("p2p.peers.offline")),1)]),_:2},1032,["color"])):p("v-if",!0),o.key==="name"?(i(),O(L,{key:1},{default:a(()=>[t(e.MobileOutlined,{style:{color:"var(--text-muted)"}}),u("span",null,l(v.name||v.id),1)]),_:2},1024)):p("v-if",!0),o.key==="id"?(i(),y("span",_e,l(v.id.length>16?v.id.slice(0,16)+"...":v.id),1)):p("v-if",!0),o.key==="action"?(i(),O(f,{key:3,size:"small",type:"link",onClick:B=>e.openSendTo(v)},{default:a(()=>[t(e.SendOutlined),g(" "+l(e.t("p2p.peers.rowSend")),1)]),_:1},8,["onClick"])):p("v-if",!0)]),_:1},8,["columns","data-source"])),e.peersError?(i(),y("div",be,l(e.peersError),1)):p("v-if",!0)]),_:1},8,["title"]),p(" Sync Section "),t(m,{title:e.t("p2p.sync.cardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:a(()=>[t(D,{color:e.syncOnline?"green":"default"},{default:a(()=>[g(l(e.syncOnline?e.t("p2p.sync.synced"):e.t("p2p.sync.notSynced")),1)]),_:1},8,["color"])]),default:a(()=>[e.syncLoading?(i(),y("div",xe,[t(k)])):(i(),y(ee,{key:1},[t(E,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(C,{xs:24,sm:8},{default:a(()=>[t(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(_,{title:e.t("p2p.sync.statusLabel"),value:e.syncStatusText,"value-style":{color:e.syncOnline?"#52c41a":"#888",fontSize:"16px"}},{prefix:a(()=>[t(e.SyncOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(C,{xs:24,sm:8},{default:a(()=>[t(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(_,{title:e.t("p2p.sync.pendingLabel"),value:e.syncPending,"value-style":{color:e.syncPending>0?"#faad14":"#52c41a",fontSize:"16px"}},{prefix:a(()=>[t(e.SyncOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(C,{xs:24,sm:8},{default:a(()=>[t(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(_,{title:e.t("p2p.sync.lastSyncLabel"),value:e.lastSyncTime||e.t("p2p.sync.noLastSync"),"value-style":{color:"var(--text-secondary)",fontSize:"16px"}},{prefix:a(()=>[t(e.SyncOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),t(L,null,{default:a(()=>[t(f,{loading:e.pushLoading,onClick:e.syncPush,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[t(e.SyncOutlined)]),default:a(()=>[g(" "+l(e.t("p2p.sync.pushButton")),1)]),_:1},8,["loading"]),t(f,{loading:e.pullLoading,onClick:e.syncPull,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[t(e.SyncOutlined)]),default:a(()=>[g(" "+l(e.t("p2p.sync.pullButton")),1)]),_:1},8,["loading"])]),_:1}),e.syncOutput?(i(),y("div",he,[u("div",ke,l(e.t("p2p.sync.outputLabel")),1),u("pre",Se,l(e.syncOutput),1)])):p("v-if",!0)],64)),e.syncError?(i(),y("div",we,l(e.syncError),1)):p("v-if",!0)]),_:1},8,["title"]),p(" Pair Modal "),t(b,{open:e.showPairModal,"onUpdate:open":c[3]||(c[3]=o=>e.showPairModal=o),title:e.t("p2p.pair.title"),"confirm-loading":e.pairLoading,onOk:e.doPair,"ok-text":e.t("p2p.pair.ok"),"cancel-text":e.t("common.cancel")},{default:a(()=>[u("div",Pe,l(e.t("p2p.pair.intro")),1),t(S,{value:e.pairDeviceName,"onUpdate:value":c[2]||(c[2]=o=>e.pairDeviceName=o),placeholder:e.t("p2p.pair.placeholder"),onPressEnter:e.doPair},null,8,["value","placeholder"]),e.pairResult?(i(),y("div",Oe,[u("pre",Le,l(e.pairResult),1)])):p("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),p(" Send Modal "),t(b,{open:e.showSendModal,"onUpdate:open":c[6]||(c[6]=o=>e.showSendModal=o),title:e.t("p2p.send.title"),"confirm-loading":e.sendLoading,onOk:e.doSend,"ok-text":e.t("p2p.send.ok"),"cancel-text":e.t("common.cancel")},{default:a(()=>[u("div",Me,l(e.t("p2p.send.targetLabel")),1),t(x,{value:e.sendTarget,"onUpdate:value":c[4]||(c[4]=o=>e.sendTarget=o),style:{width:"100%","margin-bottom":"16px"},placeholder:e.t("p2p.send.targetPlaceholder")},{default:a(()=>[(i(!0),y(ee,null,re(e.peers,o=>(i(),O(w,{key:o.id,value:o.id},{default:a(()=>[g(l(o.name||o.id),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"]),u("div",Ce,l(e.t("p2p.send.messageLabel")),1),t(S,{value:e.sendMessage,"onUpdate:value":c[5]||(c[5]=o=>e.sendMessage=o),placeholder:e.t("p2p.send.messagePlaceholder"),onPressEnter:e.doSend},null,8,["value","placeholder"]),e.sendResult?(i(),y("div",ze,[u("pre",Te,l(e.sendResult),1)])):p("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}const Fe=se(ye,[["render",Re],["__scopeId","data-v-f34183d8"],["__file","/tmp/cc-web-panel-wjpwq8/repo/packages/web-panel/src/views/P2P.vue"]]);export{Fe as default};
1
+ import{I as d,J as y,U as u,R as l,c as t,K as a,V as p,o as Y,b as $,r,P as i,Q as g,S as O,F as ee,Z as re}from"./vendor-BvqAck49.js";import{_ as se,b as te,u as ne}from"./index-GerFRbNP.js";import{M as ie,R as ce,as as de,al as pe,S as ue}from"./icons-DP3uiYxy.js";const ye={__name:"P2P",setup(ae,{expose:c}){c();const{t:s}=te(),e=ne(),z=r(!1),T=r(""),f=r([]),L=$(()=>[{title:s("p2p.peerColumns.name"),key:"name"},{title:s("p2p.peerColumns.id"),key:"id"},{title:s("p2p.peerColumns.status"),key:"status"},{title:s("p2p.peerColumns.action"),key:"action",width:100}]);async function k(){z.value=!0,T.value="";try{const{output:n}=await e.execute("p2p peers",15e3);f.value=R(n)}catch(n){T.value=s("p2p.messages.loadPeersFailed",{err:n.message})}finally{z.value=!1}}function R(n){if(!n||n.includes("No peers")||n.includes("no peers"))return[];const N=n.split(`
2
+ `).filter(U=>U.trim()),P=[];for(const U of N){const I=U.match(/^\s*(\S+)\s+(.+?)\s+(connected|online|offline|disconnected)\s*$/i);if(I){P.push({id:I[1],name:I[2].trim(),connected:/connected|online/i.test(I[3])});continue}const V=U.match(/^\s*((?:12D3|Qm)\S{10,})\s*(.*)$/);if(V){const X=V[2].trim();P.push({id:V[1],name:X||V[1].slice(0,12),connected:/connected|online/i.test(X)})}}return P}const D=r(!1),M=r(!1),m=r(""),_=r("");async function C(){if(m.value.trim()){M.value=!0,_.value="";try{const{output:n}=await e.execute(`p2p pair "${m.value.trim()}"`,3e4);_.value=n,await k()}catch(n){_.value=s("p2p.messages.pairFailed",{err:n.message})}finally{M.value=!1}}}const E=r(!1),S=r(!1),b=r(void 0),w=r(""),x=r("");function o(n){b.value=n.id,w.value="",x.value="",E.value=!0}async function v(){if(!(!b.value||!w.value.trim())){S.value=!0,x.value="";try{const{output:n}=await e.execute(`p2p send ${b.value} "${w.value.trim()}"`,15e3);x.value=n||s("p2p.send.messageDefault")}catch(n){x.value=s("p2p.messages.sendFailed",{err:n.message})}finally{S.value=!1}}}const B=r(!1),j=r(""),A=r(!1),Q=r(""),J=r(0),K=r(""),h=r(""),W=r(!1),G=r(!1);async function F(){B.value=!0,j.value="";try{const{output:n}=await e.execute("sync status",15e3);Z(n)}catch(n){j.value=s("p2p.messages.loadSyncFailed",{err:n.message})}finally{B.value=!1}}function Z(n){if(!n){Q.value=s("p2p.sync.unknown");return}A.value=/synced|online|up.to.date/i.test(n),Q.value=A.value?s("p2p.sync.synced"):s("p2p.sync.notSynced");const N=n.match(/pending[:\s]+(\d+)/i);J.value=N?parseInt(N[1]):0;const P=n.match(/last[:\s]+(.+)/i);P&&(K.value=P[1].trim())}async function oe(){W.value=!0,h.value="";try{const{output:n}=await e.execute("sync push",3e4);h.value=n||s("p2p.sync.pushDefault"),await F()}catch(n){h.value=s("p2p.messages.pushFailed",{err:n.message})}finally{W.value=!1}}async function le(){G.value=!0,h.value="";try{const{output:n}=await e.execute("sync pull",3e4);h.value=n||s("p2p.sync.pullDefault"),await F()}catch(n){h.value=s("p2p.messages.pullFailed",{err:n.message})}finally{G.value=!1}}async function q(){await Promise.all([k(),F()])}Y(q);const H={t:s,ws:e,peersLoading:z,peersError:T,peers:f,peerColumns:L,loadPeers:k,parsePeersOutput:R,showPairModal:D,pairLoading:M,pairDeviceName:m,pairResult:_,doPair:C,showSendModal:E,sendLoading:S,sendTarget:b,sendMessage:w,sendResult:x,openSendTo:o,doSend:v,syncLoading:B,syncError:j,syncOnline:A,syncStatusText:Q,syncPending:J,lastSyncTime:K,syncOutput:h,pushLoading:W,pullLoading:G,loadSync:F,parseSyncStatus:Z,syncPush:oe,syncPull:le,refreshAll:q,ref:r,computed:$,onMounted:Y,get useI18n(){return te},get SyncOutlined(){return ue},get SendOutlined(){return pe},get PlusOutlined(){return de},get ReloadOutlined(){return ce},get MobileOutlined(){return ie},get useWsStore(){return ne}};return Object.defineProperty(H,"__isScriptSetup",{enumerable:!1,value:!0}),H}},ve={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},fe={class:"page-title"},me={class:"page-sub"},ge={key:0,style:{"text-align":"center",padding:"30px"}},_e={key:2,style:{"font-family":"monospace",color:"var(--text-muted)","font-size":"12px"}},be={key:3,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},xe={key:0,style:{"text-align":"center",padding:"30px"}},he={key:0,style:{"margin-top":"16px"}},ke={style:{color:"var(--text-secondary)","font-size":"11px","margin-bottom":"6px"}},Se={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","max-height":"200px","overflow-y":"auto","white-space":"pre-wrap"}},we={key:2,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},Pe={style:{"margin-bottom":"12px",color:"var(--text-secondary)"}},Oe={key:0,style:{"margin-top":"12px"}},Le={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},Me={style:{"margin-bottom":"8px",color:"var(--text-secondary)"}},Ce={style:{"margin-bottom":"8px",color:"var(--text-secondary)"}},ze={key:0,style:{"margin-top":"12px"}},Te={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}};function Re(ae,c,s,e,z,T){const f=d("a-button"),L=d("a-space"),k=d("a-spin"),R=d("a-empty"),D=d("a-tag"),M=d("a-table"),m=d("a-card"),_=d("a-statistic"),C=d("a-col"),E=d("a-row"),S=d("a-input"),b=d("a-modal"),w=d("a-select-option"),x=d("a-select");return i(),y("div",null,[u("div",ve,[u("div",null,[u("h2",fe,l(e.t("p2p.title")),1),u("p",me,l(e.t("p2p.subtitle")),1)]),t(f,{type:"primary",ghost:"",loading:e.peersLoading,onClick:e.refreshAll},{icon:a(()=>[t(e.ReloadOutlined)]),default:a(()=>[g(" "+l(e.t("p2p.refresh")),1)]),_:1},8,["loading"])]),p(" P2P Devices Section "),t(m,{title:e.t("p2p.peers.cardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"}},{extra:a(()=>[t(L,null,{default:a(()=>[t(f,{size:"small",onClick:c[0]||(c[0]=o=>e.showPairModal=!0),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[t(e.PlusOutlined)]),default:a(()=>[g(" "+l(e.t("p2p.peers.pairButton")),1)]),_:1}),t(f,{size:"small",onClick:c[1]||(c[1]=o=>e.showSendModal=!0),disabled:e.peers.length===0,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[t(e.SendOutlined)]),default:a(()=>[g(" "+l(e.t("p2p.peers.sendButton")),1)]),_:1},8,["disabled"])]),_:1})]),default:a(()=>[e.peersLoading?(i(),y("div",ge,[t(k)])):e.peers.length===0?(i(),O(R,{key:1,description:e.t("p2p.peers.emptyText")},null,8,["description"])):(i(),O(M,{key:2,columns:e.peerColumns,"data-source":e.peers,pagination:!1,size:"small","row-key":"id"},{bodyCell:a(({column:o,record:v})=>[o.key==="status"?(i(),O(D,{key:0,color:v.connected?"green":"default"},{default:a(()=>[g(l(v.connected?e.t("p2p.peers.online"):e.t("p2p.peers.offline")),1)]),_:2},1032,["color"])):p("v-if",!0),o.key==="name"?(i(),O(L,{key:1},{default:a(()=>[t(e.MobileOutlined,{style:{color:"var(--text-muted)"}}),u("span",null,l(v.name||v.id),1)]),_:2},1024)):p("v-if",!0),o.key==="id"?(i(),y("span",_e,l(v.id.length>16?v.id.slice(0,16)+"...":v.id),1)):p("v-if",!0),o.key==="action"?(i(),O(f,{key:3,size:"small",type:"link",onClick:B=>e.openSendTo(v)},{default:a(()=>[t(e.SendOutlined),g(" "+l(e.t("p2p.peers.rowSend")),1)]),_:1},8,["onClick"])):p("v-if",!0)]),_:1},8,["columns","data-source"])),e.peersError?(i(),y("div",be,l(e.peersError),1)):p("v-if",!0)]),_:1},8,["title"]),p(" Sync Section "),t(m,{title:e.t("p2p.sync.cardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:a(()=>[t(D,{color:e.syncOnline?"green":"default"},{default:a(()=>[g(l(e.syncOnline?e.t("p2p.sync.synced"):e.t("p2p.sync.notSynced")),1)]),_:1},8,["color"])]),default:a(()=>[e.syncLoading?(i(),y("div",xe,[t(k)])):(i(),y(ee,{key:1},[t(E,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(C,{xs:24,sm:8},{default:a(()=>[t(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(_,{title:e.t("p2p.sync.statusLabel"),value:e.syncStatusText,"value-style":{color:e.syncOnline?"#52c41a":"#888",fontSize:"16px"}},{prefix:a(()=>[t(e.SyncOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(C,{xs:24,sm:8},{default:a(()=>[t(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(_,{title:e.t("p2p.sync.pendingLabel"),value:e.syncPending,"value-style":{color:e.syncPending>0?"#faad14":"#52c41a",fontSize:"16px"}},{prefix:a(()=>[t(e.SyncOutlined)]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),t(C,{xs:24,sm:8},{default:a(()=>[t(m,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(_,{title:e.t("p2p.sync.lastSyncLabel"),value:e.lastSyncTime||e.t("p2p.sync.noLastSync"),"value-style":{color:"var(--text-secondary)",fontSize:"16px"}},{prefix:a(()=>[t(e.SyncOutlined)]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),t(L,null,{default:a(()=>[t(f,{loading:e.pushLoading,onClick:e.syncPush,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[t(e.SyncOutlined)]),default:a(()=>[g(" "+l(e.t("p2p.sync.pushButton")),1)]),_:1},8,["loading"]),t(f,{loading:e.pullLoading,onClick:e.syncPull,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:a(()=>[t(e.SyncOutlined)]),default:a(()=>[g(" "+l(e.t("p2p.sync.pullButton")),1)]),_:1},8,["loading"])]),_:1}),e.syncOutput?(i(),y("div",he,[u("div",ke,l(e.t("p2p.sync.outputLabel")),1),u("pre",Se,l(e.syncOutput),1)])):p("v-if",!0)],64)),e.syncError?(i(),y("div",we,l(e.syncError),1)):p("v-if",!0)]),_:1},8,["title"]),p(" Pair Modal "),t(b,{open:e.showPairModal,"onUpdate:open":c[3]||(c[3]=o=>e.showPairModal=o),title:e.t("p2p.pair.title"),"confirm-loading":e.pairLoading,onOk:e.doPair,"ok-text":e.t("p2p.pair.ok"),"cancel-text":e.t("common.cancel")},{default:a(()=>[u("div",Pe,l(e.t("p2p.pair.intro")),1),t(S,{value:e.pairDeviceName,"onUpdate:value":c[2]||(c[2]=o=>e.pairDeviceName=o),placeholder:e.t("p2p.pair.placeholder"),onPressEnter:e.doPair},null,8,["value","placeholder"]),e.pairResult?(i(),y("div",Oe,[u("pre",Le,l(e.pairResult),1)])):p("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),p(" Send Modal "),t(b,{open:e.showSendModal,"onUpdate:open":c[6]||(c[6]=o=>e.showSendModal=o),title:e.t("p2p.send.title"),"confirm-loading":e.sendLoading,onOk:e.doSend,"ok-text":e.t("p2p.send.ok"),"cancel-text":e.t("common.cancel")},{default:a(()=>[u("div",Me,l(e.t("p2p.send.targetLabel")),1),t(x,{value:e.sendTarget,"onUpdate:value":c[4]||(c[4]=o=>e.sendTarget=o),style:{width:"100%","margin-bottom":"16px"},placeholder:e.t("p2p.send.targetPlaceholder")},{default:a(()=>[(i(!0),y(ee,null,re(e.peers,o=>(i(),O(w,{key:o.id,value:o.id},{default:a(()=>[g(l(o.name||o.id),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"]),u("div",Ce,l(e.t("p2p.send.messageLabel")),1),t(S,{value:e.sendMessage,"onUpdate:value":c[5]||(c[5]=o=>e.sendMessage=o),placeholder:e.t("p2p.send.messagePlaceholder"),onPressEnter:e.doSend},null,8,["value","placeholder"]),e.sendResult?(i(),y("div",ze,[u("pre",Te,l(e.sendResult),1)])):p("v-if",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}const Fe=se(ye,[["render",Re],["__scopeId","data-v-f34183d8"],["__file","/tmp/cc-web-panel-SkGS8t/repo/packages/web-panel/src/views/P2P.vue"]]);export{Fe as default};
@@ -1,7 +1,7 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ChatBubbleRenderer-BwPSr02C.js","./vendor-BvqAck49.js","./index-Bg1RsfAJ.js","./icons-DP3uiYxy.js","./index-Cq93VfoF.css","./ChatBubbleRenderer-gy5SDGw2.css","./OrderTableRenderer-e1VMUxTi.js","./OrderTableRenderer-CfrDjSHT.css","./TimelineRenderer-DM7dOaUR.js","./TimelineRenderer-BlTAtkOc.css","./EmailListRenderer-BqfdADvJ.js","./EmailListRenderer-DTPZPx_S.css","./GenericCardRenderer-MoJw4J2L.js","./GenericCardRenderer-o85VDYQS.css"])))=>i.map(i=>d[i]);
2
- import{E as ue,r as R,b as O,I as y,P as u,J as S,U as v,c,S as C,V as E,_ as M,F as V,Z as se,a0 as le,R as j,K as m,Q as b,W as L,o as J}from"./vendor-BvqAck49.js";import{u as U}from"./usePersonalDataHub-BSe7NVv0.js";import{_ as D,e as F,d as q}from"./index-Bg1RsfAJ.js";import{a9 as P,af as z,M as Q,aH as G,u as H,aG as K,ap as W,ab as Y,e as de,d as fe,k as pe,ah as me,az as _e,R as ge}from"./icons-DP3uiYxy.js";const I=Object.freeze({q:"",category:null,adapter:null,subtype:null,since:null,until:null}),B=50,Z=300,X=ue("pdhBrowser",()=>{const r=R({...I}),t=R([]),n=R(null),e=R(!1),o=R(!1),l=R(null),a=R(null),s=R(!1),i=R({byCategory:{},byAdapter:{},bySubtype:{},total:0});let d=0,_=null;const x=O(()=>t.value.length>0),A=O(()=>n.value!=null);function h(w={}){const p={},f=r.value;return f.q&&f.q.trim()&&(p.q=f.q.trim()),f.category&&(p.category=f.category),f.adapter&&(p.adapter=f.adapter),f.subtype&&(p.subtype=f.subtype),Number.isFinite(f.since)&&(p.since=f.since),Number.isFinite(f.until)&&(p.until=f.until),{...p,...w}}async function g(){const w=++d;e.value=!0,l.value=null;const p=U();try{const[f,T]=await Promise.all([p.searchEvents(h({limit:B})),p.facetCounts({...r.value.q&&r.value.q.trim()?{q:r.value.q.trim()}:{},...Number.isFinite(r.value.since)?{since:r.value.since}:{},...Number.isFinite(r.value.until)?{until:r.value.until}:{}})]);if(w!==d)return;t.value=f.rows||[],n.value=f.nextCursor||null,a.value=f.mode||"like",s.value=!!f.shortQuery,i.value={byCategory:T.byCategory||{},byAdapter:T.byAdapter||{},bySubtype:T.bySubtype||{},total:T.total||0}}catch(f){if(w!==d)return;l.value=f&&f.message?f.message:String(f),t.value=[],n.value=null}finally{w===d&&(e.value=!1)}}async function k(){if(!n.value||o.value)return;o.value=!0,l.value=null;const w=U();try{const p=await w.searchEvents(h({cursor:n.value,limit:B}));t.value=t.value.concat(p.rows||[]),n.value=p.nextCursor||null,a.value=p.mode||a.value}catch(p){l.value=p&&p.message?p.message:String(p)}finally{o.value=!1}}function ae(w,p){if(!(w in I))throw new Error(`pdhBrowser.setFilter: unknown key "${w}"`);r.value={...r.value,[w]:p},_&&clearTimeout(_),_=setTimeout(()=>{_=null,g()},Z)}function ie(w){return r.value={...I,...w},_&&(clearTimeout(_),_=null),g()}function ce(){r.value={...I},t.value=[],n.value=null,l.value=null,i.value={byCategory:{},byAdapter:{},bySubtype:{},total:0}}return{filters:r,results:t,cursor:n,isLoading:e,isAppending:o,error:l,mode:a,shortQuery:s,facets:i,hasResults:x,canLoadMore:A,search:g,loadMore:k,setFilter:ae,setFilters:ie,reset:ce,PAGE_SIZE:B,SEARCH_DEBOUNCE_MS:Z}}),ye=Object.freeze(["chat","social","email","shopping","travel","system","ai-chat","other"]),ve=Object.freeze({chat:"社交聊天",social:"内容平台",email:"邮件",shopping:"支付订单",travel:"出行",system:"系统数据","ai-chat":"AI 对话",other:"其他"});function N(r){return ve[r]||r||"未知"}const be=Object.freeze([["wechat","chat"],["messaging-","chat"],["social-","social"],["email-","email"],["shopping-","shopping"],["alipay-","shopping"],["travel-","travel"],["system-data","system"],["browser-","system"],["vscode","system"],["win-recent","system"],["git-activity","system"],["shell-history","system"],["local-files","system"],["ai-chat-","ai-chat"]]);function $(r){if(typeof r!="string"||r.length===0)return"other";for(const[t,n]of be)if(t.endsWith("-")||t==="system-data"){if(r.startsWith(t))return n}else if(r===t)return n;return"other"}const he={__name:"CategorySidebar",props:{selected:{type:String,default:null},facets:{type:Object,default:()=>({byCategory:{},total:0})}},emits:["select"],setup(r,{expose:t}){t();const n=r,e=O(()=>n.facets.total||0),o={chat:Y,social:W,email:K,shopping:H,travel:G,system:Q,"ai-chat":z,other:P};function l(i){return o[i]||P}function a(i){return i?{backgroundColor:"#fff",color:"#1677ff"}:{backgroundColor:"#f0f0f0",color:"#666"}}const s={props:n,total:e,ICONS:o,iconFor:l,badgeStyle:a,computed:O,get AppstoreOutlined(){return P},get MessageOutlined(){return Y},get PlayCircleOutlined(){return W},get MailOutlined(){return K},get ShoppingOutlined(){return H},get CarOutlined(){return G},get MobileOutlined(){return Q},get RobotOutlined(){return z},get CATEGORIES(){return ye},get categoryLabel(){return N}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}},we={class:"pdh-sidebar"},Se=["onClick"],Oe={class:"label"};function Ce(r,t,n,e,o,l){const a=y("a-badge");return u(),S("div",we,[t[2]||(t[2]=v("div",{class:"sidebar-title"},"数据类型",-1)),v("div",{class:M(["cat-item",{active:n.selected===null}]),onClick:t[0]||(t[0]=s=>r.$emit("select",null))},[c(e.AppstoreOutlined,{class:"icon"}),t[1]||(t[1]=v("span",{class:"label"},"全部",-1)),e.total>0?(u(),C(a,{key:0,count:e.total,"number-style":e.badgeStyle(n.selected===null),"overflow-count":9999},null,8,["count","number-style"])):E("v-if",!0)],2),(u(!0),S(V,null,se(e.CATEGORIES,s=>(u(),S("div",{key:s,class:M(["cat-item",{active:n.selected===s,dim:!n.facets.byCategory[s]}]),onClick:i=>r.$emit("select",s)},[(u(),C(le(e.iconFor(s)),{class:"icon"})),v("span",Oe,j(e.categoryLabel(s)),1),n.facets.byCategory[s]?(u(),C(a,{key:0,count:n.facets.byCategory[s],"number-style":e.badgeStyle(n.selected===s),"overflow-count":9999},null,8,["count","number-style"])):E("v-if",!0)],10,Se))),128))])}const ke=D(he,[["render",Ce],["__scopeId","data-v-6b62a22e"],["__file","/tmp/cc-web-panel-wjpwq8/repo/packages/web-panel/src/components/pdh/CategorySidebar.vue"]]),Ee={__name:"SearchFilterBar",props:{filters:{type:Object,required:!0},facets:{type:Object,default:()=>({byAdapter:{}})},isLoading:{type:Boolean,default:!1},mode:{type:String,default:null},shortQuery:{type:Boolean,default:!1}},emits:["set-filter","reset"],setup(r,{expose:t,emit:n}){t();const e=r,o=n,l=O(()=>e.filters.category?`在「${e.filters.category}」类目内搜索…`:"搜索关键词(如:支付宝、罗技、Kotlin)…"),a=O(()=>Object.entries(e.facets.byAdapter||{}).sort((g,k)=>k[1]-g[1]).map(([g,k])=>({value:g,label:`${g} (${k})`}))),s=O(()=>!e.filters.since&&!e.filters.until?null:[e.filters.since?new Date(e.filters.since):null,e.filters.until?new Date(e.filters.until):null]),i=O(()=>!!(e.filters.q||e.filters.adapter||e.filters.subtype||e.filters.since||e.filters.until));function d(h){o("set-filter","q",h||"")}function _(h){o("set-filter","q",h||"")}function x(h){if(!h||h.length===0){o("set-filter","since",null),o("set-filter","until",null);return}const[g,k]=h;o("set-filter","since",g?+g:null),o("set-filter","until",k?+k:null)}const A={props:e,emit:o,placeholderText:l,adapterOptions:a,dateRangeValue:s,hasActiveFilters:i,onQInput:d,onSearch:_,onDateChange:x,computed:O,get SearchOutlined(){return pe},get CloseCircleOutlined(){return fe},get InfoCircleOutlined(){return de}};return Object.defineProperty(A,"__isScriptSetup",{enumerable:!1,value:!0}),A}},Re={class:"pdh-filter-bar"},je={key:1,class:"hint"},xe={key:2,class:"hint"};function Ae(r,t,n,e,o,l){const a=y("a-input-search"),s=y("a-select"),i=y("a-range-picker"),d=y("a-button");return u(),S("div",Re,[c(a,{value:n.filters.q,placeholder:e.placeholderText,"enter-button":"搜索","allow-clear":"",loading:n.isLoading,style:{flex:"1","max-width":"480px"},"onUpdate:value":e.onQInput,onSearch:e.onSearch},{prefix:m(()=>[c(e.SearchOutlined)]),_:1},8,["value","placeholder","loading"]),c(s,{value:n.filters.adapter,placeholder:"所有 adapter","allow-clear":"",options:e.adapterOptions,style:{width:"200px"},"onUpdate:value":t[0]||(t[0]=_=>r.$emit("set-filter","adapter",_||null))},null,8,["value","options"]),c(i,{value:e.dateRangeValue,placeholder:["开始日期","结束日期"],style:{width:"280px"},"onUpdate:value":e.onDateChange},null,8,["value"]),e.hasActiveFilters?(u(),C(d,{key:0,type:"link",danger:"",onClick:t[1]||(t[1]=_=>r.$emit("reset"))},{icon:m(()=>[c(e.CloseCircleOutlined)]),default:m(()=>[t[2]||(t[2]=b(" 清空筛选 ",-1))]),_:1})):E("v-if",!0),n.shortQuery?(u(),S("span",je,[c(e.InfoCircleOutlined),t[3]||(t[3]=b(" 关键词需至少 3 字 (FTS5 trigram 限制) ",-1))])):n.mode==="like"?(u(),S("span",xe,[c(e.InfoCircleOutlined),t[4]||(t[4]=b(" 当前为 LIKE 兜底模式 ",-1))])):E("v-if",!0)])}const Le=D(Ee,[["render",Ae],["__scopeId","data-v-d7cce6e9"],["__file","/tmp/cc-web-panel-wjpwq8/repo/packages/web-panel/src/components/pdh/SearchFilterBar.vue"]]),Fe={__name:"RendererDispatcher",props:{event:{type:Object,required:!0}},setup(r,{expose:t}){t();const n=L(()=>F(()=>import("./ChatBubbleRenderer-BwPSr02C.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),e=L(()=>F(()=>import("./OrderTableRenderer-e1VMUxTi.js"),__vite__mapDeps([6,1,2,3,4,7]),import.meta.url)),o=L(()=>F(()=>import("./TimelineRenderer-DM7dOaUR.js"),__vite__mapDeps([8,1,2,3,4,9]),import.meta.url)),l=L(()=>F(()=>import("./EmailListRenderer-BqfdADvJ.js"),__vite__mapDeps([10,1,2,3,4,11]),import.meta.url)),a=L(()=>F(()=>import("./GenericCardRenderer-MoJw4J2L.js"),__vite__mapDeps([12,1,2,3,4,13]),import.meta.url));function s(d){const _=d&&d.source&&d.source.adapter;switch($(_)){case"chat":case"ai-chat":return n;case"shopping":return e;case"travel":return o;case"email":return l;default:return a}}const i={ChatBubbleRenderer:n,OrderTableRenderer:e,TimelineRenderer:o,EmailListRenderer:l,GenericCardRenderer:a,rendererFor:s,defineAsyncComponent:L,get getCategory(){return $}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}};function De(r,t,n,e,o,l){return u(),C(le(e.rendererFor(n.event)),{event:n.event},null,8,["event"])}const Te=D(Fe,[["render",De],["__file","/tmp/cc-web-panel-wjpwq8/repo/packages/web-panel/src/components/pdh/renderers/RendererDispatcher.vue"]]);function ee(r){return JSON.stringify(r,null,2)}function te(r){return r.map(t=>JSON.stringify(t)).join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ChatBubbleRenderer-C3PWOZ28.js","./vendor-BvqAck49.js","./index-GerFRbNP.js","./icons-DP3uiYxy.js","./index-Cq93VfoF.css","./ChatBubbleRenderer-gy5SDGw2.css","./OrderTableRenderer-T7oZTAfb.js","./OrderTableRenderer-CfrDjSHT.css","./TimelineRenderer-ConHmR1s.js","./TimelineRenderer-BlTAtkOc.css","./EmailListRenderer-BVoav_18.js","./EmailListRenderer-DTPZPx_S.css","./GenericCardRenderer-dXFinwMY.js","./GenericCardRenderer-o85VDYQS.css"])))=>i.map(i=>d[i]);
2
+ import{E as ue,r as R,b as w,I as y,P as u,J as O,U as v,c,S as C,V as E,_ as M,F as V,Z as se,a0 as le,R as x,K as m,Q as b,W as L,o as G}from"./vendor-BvqAck49.js";import{u as J}from"./usePersonalDataHub-CxNZv1af.js";import{_ as D,e as F,d as P}from"./index-GerFRbNP.js";import{a9 as q,af as U,M as z,aH as Q,u as H,aG as K,ap as W,ab as Y,e as de,d as fe,k as pe,ah as me,az as _e,R as ge}from"./icons-DP3uiYxy.js";const I=Object.freeze({q:"",category:null,adapter:null,subtype:null,since:null,until:null}),B=50,Z=300,X=ue("pdhBrowser",()=>{const r=R({...I}),t=R([]),n=R(null),e=R(!1),o=R(!1),l=R(null),a=R(null),s=R(!1),i=R({byCategory:{},byAdapter:{},bySubtype:{},total:0});let d=0,_=null;const j=w(()=>t.value.length>0),A=w(()=>n.value!=null);function h(S={}){const p={},f=r.value;return f.q&&f.q.trim()&&(p.q=f.q.trim()),f.category&&(p.category=f.category),f.adapter&&(p.adapter=f.adapter),f.subtype&&(p.subtype=f.subtype),Number.isFinite(f.since)&&(p.since=f.since),Number.isFinite(f.until)&&(p.until=f.until),{...p,...S}}async function g(){const S=++d;e.value=!0,l.value=null;const p=J();try{const[f,T]=await Promise.all([p.searchEvents(h({limit:B})),p.facetCounts({...r.value.q&&r.value.q.trim()?{q:r.value.q.trim()}:{},...Number.isFinite(r.value.since)?{since:r.value.since}:{},...Number.isFinite(r.value.until)?{until:r.value.until}:{}})]);if(S!==d)return;t.value=f.rows||[],n.value=f.nextCursor||null,a.value=f.mode||"like",s.value=!!f.shortQuery,i.value={byCategory:T.byCategory||{},byAdapter:T.byAdapter||{},bySubtype:T.bySubtype||{},total:T.total||0}}catch(f){if(S!==d)return;l.value=f&&f.message?f.message:String(f),t.value=[],n.value=null}finally{S===d&&(e.value=!1)}}async function k(){if(!n.value||o.value)return;o.value=!0,l.value=null;const S=J();try{const p=await S.searchEvents(h({cursor:n.value,limit:B}));t.value=t.value.concat(p.rows||[]),n.value=p.nextCursor||null,a.value=p.mode||a.value}catch(p){l.value=p&&p.message?p.message:String(p)}finally{o.value=!1}}function ae(S,p){if(!(S in I))throw new Error(`pdhBrowser.setFilter: unknown key "${S}"`);r.value={...r.value,[S]:p},_&&clearTimeout(_),_=setTimeout(()=>{_=null,g()},Z)}function ie(S){return r.value={...I,...S},_&&(clearTimeout(_),_=null),g()}function ce(){r.value={...I},t.value=[],n.value=null,l.value=null,i.value={byCategory:{},byAdapter:{},bySubtype:{},total:0}}return{filters:r,results:t,cursor:n,isLoading:e,isAppending:o,error:l,mode:a,shortQuery:s,facets:i,hasResults:j,canLoadMore:A,search:g,loadMore:k,setFilter:ae,setFilters:ie,reset:ce,PAGE_SIZE:B,SEARCH_DEBOUNCE_MS:Z}}),ye=Object.freeze(["chat","social","email","shopping","travel","system","ai-chat","other"]),ve=Object.freeze({chat:"社交聊天",social:"内容平台",email:"邮件",shopping:"支付订单",travel:"出行",system:"系统数据","ai-chat":"AI 对话",other:"其他"});function N(r){return ve[r]||r||"未知"}const be=Object.freeze([["wechat","chat"],["messaging-","chat"],["social-","social"],["email-","email"],["shopping-","shopping"],["alipay-","shopping"],["travel-","travel"],["system-data","system"],["browser-","system"],["vscode","system"],["win-recent","system"],["git-activity","system"],["shell-history","system"],["local-files","system"],["ai-chat-","ai-chat"]]);function $(r){if(typeof r!="string"||r.length===0)return"other";for(const[t,n]of be)if(t.endsWith("-")||t==="system-data"){if(r.startsWith(t))return n}else if(r===t)return n;return"other"}const he={__name:"CategorySidebar",props:{selected:{type:String,default:null},facets:{type:Object,default:()=>({byCategory:{},total:0})}},emits:["select"],setup(r,{expose:t}){t();const n=r,e=w(()=>n.facets.total||0),o={chat:Y,social:W,email:K,shopping:H,travel:Q,system:z,"ai-chat":U,other:q};function l(i){return o[i]||q}function a(i){return i?{backgroundColor:"#fff",color:"#1677ff"}:{backgroundColor:"#f0f0f0",color:"#666"}}const s={props:n,total:e,ICONS:o,iconFor:l,badgeStyle:a,computed:w,get AppstoreOutlined(){return q},get MessageOutlined(){return Y},get PlayCircleOutlined(){return W},get MailOutlined(){return K},get ShoppingOutlined(){return H},get CarOutlined(){return Q},get MobileOutlined(){return z},get RobotOutlined(){return U},get CATEGORIES(){return ye},get categoryLabel(){return N}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}},Se={class:"pdh-sidebar"},Oe=["onClick"],we={class:"label"};function Ce(r,t,n,e,o,l){const a=y("a-badge");return u(),O("div",Se,[t[2]||(t[2]=v("div",{class:"sidebar-title"},"数据类型",-1)),v("div",{class:M(["cat-item",{active:n.selected===null}]),onClick:t[0]||(t[0]=s=>r.$emit("select",null))},[c(e.AppstoreOutlined,{class:"icon"}),t[1]||(t[1]=v("span",{class:"label"},"全部",-1)),e.total>0?(u(),C(a,{key:0,count:e.total,"number-style":e.badgeStyle(n.selected===null),"overflow-count":9999},null,8,["count","number-style"])):E("v-if",!0)],2),(u(!0),O(V,null,se(e.CATEGORIES,s=>(u(),O("div",{key:s,class:M(["cat-item",{active:n.selected===s,dim:!n.facets.byCategory[s]}]),onClick:i=>r.$emit("select",s)},[(u(),C(le(e.iconFor(s)),{class:"icon"})),v("span",we,x(e.categoryLabel(s)),1),n.facets.byCategory[s]?(u(),C(a,{key:0,count:n.facets.byCategory[s],"number-style":e.badgeStyle(n.selected===s),"overflow-count":9999},null,8,["count","number-style"])):E("v-if",!0)],10,Oe))),128))])}const ke=D(he,[["render",Ce],["__scopeId","data-v-6b62a22e"],["__file","/tmp/cc-web-panel-SkGS8t/repo/packages/web-panel/src/components/pdh/CategorySidebar.vue"]]),Ee={__name:"SearchFilterBar",props:{filters:{type:Object,required:!0},facets:{type:Object,default:()=>({byAdapter:{}})},isLoading:{type:Boolean,default:!1},mode:{type:String,default:null},shortQuery:{type:Boolean,default:!1}},emits:["set-filter","reset"],setup(r,{expose:t,emit:n}){t();const e=r,o=n,l=w(()=>e.filters.category?`在「${e.filters.category}」类目内搜索…`:"搜索关键词(如:支付宝、罗技、Kotlin)…"),a=w(()=>Object.entries(e.facets.byAdapter||{}).sort((g,k)=>k[1]-g[1]).map(([g,k])=>({value:g,label:`${g} (${k})`}))),s=w(()=>!e.filters.since&&!e.filters.until?null:[e.filters.since?new Date(e.filters.since):null,e.filters.until?new Date(e.filters.until):null]),i=w(()=>!!(e.filters.q||e.filters.adapter||e.filters.subtype||e.filters.since||e.filters.until));function d(h){o("set-filter","q",h||"")}function _(h){o("set-filter","q",h||"")}function j(h){if(!h||h.length===0){o("set-filter","since",null),o("set-filter","until",null);return}const[g,k]=h;o("set-filter","since",g?+g:null),o("set-filter","until",k?+k:null)}const A={props:e,emit:o,placeholderText:l,adapterOptions:a,dateRangeValue:s,hasActiveFilters:i,onQInput:d,onSearch:_,onDateChange:j,computed:w,get SearchOutlined(){return pe},get CloseCircleOutlined(){return fe},get InfoCircleOutlined(){return de}};return Object.defineProperty(A,"__isScriptSetup",{enumerable:!1,value:!0}),A}},Re={class:"pdh-filter-bar"},xe={key:1,class:"hint"},je={key:2,class:"hint"};function Ae(r,t,n,e,o,l){const a=y("a-input-search"),s=y("a-select"),i=y("a-range-picker"),d=y("a-button");return u(),O("div",Re,[c(a,{value:n.filters.q,placeholder:e.placeholderText,"enter-button":"搜索","allow-clear":"",loading:n.isLoading,style:{flex:"1","max-width":"480px"},"onUpdate:value":e.onQInput,onSearch:e.onSearch},{prefix:m(()=>[c(e.SearchOutlined)]),_:1},8,["value","placeholder","loading"]),c(s,{value:n.filters.adapter,placeholder:"所有 adapter","allow-clear":"",options:e.adapterOptions,style:{width:"200px"},"onUpdate:value":t[0]||(t[0]=_=>r.$emit("set-filter","adapter",_||null))},null,8,["value","options"]),c(i,{value:e.dateRangeValue,placeholder:["开始日期","结束日期"],style:{width:"280px"},"onUpdate:value":e.onDateChange},null,8,["value"]),e.hasActiveFilters?(u(),C(d,{key:0,type:"link",danger:"",onClick:t[1]||(t[1]=_=>r.$emit("reset"))},{icon:m(()=>[c(e.CloseCircleOutlined)]),default:m(()=>[t[2]||(t[2]=b(" 清空筛选 ",-1))]),_:1})):E("v-if",!0),n.shortQuery?(u(),O("span",xe,[c(e.InfoCircleOutlined),t[3]||(t[3]=b(" 关键词需至少 3 字 (FTS5 trigram 限制) ",-1))])):n.mode==="like"?(u(),O("span",je,[c(e.InfoCircleOutlined),t[4]||(t[4]=b(" 当前为 LIKE 兜底模式 ",-1))])):E("v-if",!0)])}const Le=D(Ee,[["render",Ae],["__scopeId","data-v-d7cce6e9"],["__file","/tmp/cc-web-panel-SkGS8t/repo/packages/web-panel/src/components/pdh/SearchFilterBar.vue"]]),Fe={__name:"RendererDispatcher",props:{event:{type:Object,required:!0}},setup(r,{expose:t}){t();const n=L(()=>F(()=>import("./ChatBubbleRenderer-C3PWOZ28.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),e=L(()=>F(()=>import("./OrderTableRenderer-T7oZTAfb.js"),__vite__mapDeps([6,1,2,3,4,7]),import.meta.url)),o=L(()=>F(()=>import("./TimelineRenderer-ConHmR1s.js"),__vite__mapDeps([8,1,2,3,4,9]),import.meta.url)),l=L(()=>F(()=>import("./EmailListRenderer-BVoav_18.js"),__vite__mapDeps([10,1,2,3,4,11]),import.meta.url)),a=L(()=>F(()=>import("./GenericCardRenderer-dXFinwMY.js"),__vite__mapDeps([12,1,2,3,4,13]),import.meta.url));function s(d){const _=d&&d.source&&d.source.adapter;switch($(_)){case"chat":case"ai-chat":return n;case"shopping":return e;case"travel":return o;case"email":return l;default:return a}}const i={ChatBubbleRenderer:n,OrderTableRenderer:e,TimelineRenderer:o,EmailListRenderer:l,GenericCardRenderer:a,rendererFor:s,defineAsyncComponent:L,get getCategory(){return $}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}};function De(r,t,n,e,o,l){return u(),C(le(e.rendererFor(n.event)),{event:n.event},null,8,["event"])}const Te=D(Fe,[["render",De],["__file","/tmp/cc-web-panel-SkGS8t/repo/packages/web-panel/src/components/pdh/renderers/RendererDispatcher.vue"]]);function ee(r){return JSON.stringify(r,null,2)}function te(r){return r.map(t=>JSON.stringify(t)).join(`
3
3
  `)+`
4
4
  `}function ne(r){const n=["id","subtype","occurredAt","occurredAtIso","actor","place","adapter","summary","contentJson","extraJson"].join(","),e=r.map(o=>{const l=Number.isFinite(o.occurredAt)?o.occurredAt:null,a=l?new Date(l).toISOString():"",s=o.source&&o.source.adapter||"",i=o.content&&(o.content.text||o.content.title||o.content.subject)||"";return[o.id||"",o.subtype||"",l!=null?String(l):"",a,o.actor||"",o.place||"",s,i,o.content?JSON.stringify(o.content):"",o.extra?JSON.stringify(o.extra):""].map(Ie).join(",")});return[n,...e].join(`
5
5
  `)+`
6
6
  `}function Ie(r){const t=String(r??"");return t.includes(",")||t.includes('"')||t.includes(`
7
- `)||t.includes("\r")?'"'+t.replace(/"/g,'""')+'"':t}function re(r,t,n="application/octet-stream"){if(typeof window>"u"||typeof document>"u")return t;const e=new Blob([r],{type:n}),o=URL.createObjectURL(e),l=document.createElement("a");return l.href=o,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout(()=>URL.revokeObjectURL(o),1e3),t}function oe(r,t=null){const n=new Date,e=n.getFullYear(),o=String(n.getMonth()+1).padStart(2,"0"),l=String(n.getDate()).padStart(2,"0"),a=r==="ndjson"?"ndjson":r,s=t?`-${t}`:"";return`pdh-events-${e}-${o}-${l}${s}.${a}`}const qe={__name:"ExportDropdown",props:{events:{type:Array,required:!0},category:{type:String,default:null}},setup(r,{expose:t}){t();const n=r,e=O(()=>n.events.length>0),o={json:"application/json;charset=utf-8",ndjson:"application/x-ndjson;charset=utf-8",csv:"text/csv;charset=utf-8"};function l(i){switch(i){case"json":return ee(n.events);case"ndjson":return te(n.events);case"csv":return ne(n.events);default:throw new Error(`unknown format: ${i}`)}}function a({key:i}){try{const d=l(i),_=oe(i,n.category);re(d,_,o[i]),q.success(`已导出 ${n.events.length} 条到 ${_}`)}catch(d){q.error(`导出失败: ${d.message||d}`)}}const s={props:n,hasResults:e,MIME:o,serialize:l,onClick:a,computed:O,get DownloadOutlined(){return _e},get DownOutlined(){return me},get message(){return q},get eventsToJson(){return ee},get eventsToNdjson(){return te},get eventsToCsv(){return ne},get downloadAs(){return re},get suggestFilename(){return oe}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}};function Pe(r,t,n,e,o,l){const a=y("a-button"),s=y("a-menu-item"),i=y("a-menu"),d=y("a-dropdown");return u(),C(d,{disabled:!e.hasResults},{overlay:m(()=>[c(i,{onClick:e.onClick},{default:m(()=>[c(s,{key:"json"},{default:m(()=>[...t[0]||(t[0]=[b("JSON (.json)",-1)])]),_:1}),c(s,{key:"ndjson"},{default:m(()=>[...t[1]||(t[1]=[b("NDJSON (.ndjson)",-1)])]),_:1}),c(s,{key:"csv"},{default:m(()=>[...t[2]||(t[2]=[b("CSV (.csv)",-1)])]),_:1})]),_:1})]),default:m(()=>[c(a,{disabled:!e.hasResults},{icon:m(()=>[c(e.DownloadOutlined)]),default:m(()=>[b(" 导出 ("+j(n.events.length)+") ",1),c(e.DownOutlined)]),_:1},8,["disabled"])]),_:1},8,["disabled"])}const Be=D(qe,[["render",Pe],["__file","/tmp/cc-web-panel-wjpwq8/repo/packages/web-panel/src/components/pdh/ExportDropdown.vue"]]),Ve={__name:"PdhVaultBrowser",setup(r,{expose:t}){t();const n=X(),e=O(()=>n.filters.q?`没有匹配 "${n.filters.q}" 的事件 — 试试更短的关键词或换个类目`:n.filters.category?`「${N(n.filters.category)}」类目下还没有数据 — 去采集页同步对应 adapter`:"Vault 里还没有数据 — 去「个人数据中台」页面同步任意 adapter");function o(s){n.filters.category=s,n.search()}function l(s,i){n.setFilter(s,i)}J(()=>{!n.hasResults&&!n.isLoading&&n.search()});const a={store:n,emptyHint:e,onCategorySelect:o,onSetFilter:l,onMounted:J,computed:O,get ReloadOutlined(){return ge},get usePdhBrowserStore(){return X},get categoryLabel(){return N},CategorySidebar:ke,SearchFilterBar:Le,RendererDispatcher:Te,ExportDropdown:Be};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}},Ne={class:"pdh-browser-page"},Me={class:"page-header"},Je={class:"main-pane"},Ue={class:"results-summary"},ze={key:0},Qe={key:0},Ge={key:1},He={class:"loaded-of"},Ke={class:"results-list"},We={key:2,class:"load-more"};function Ye(r,t,n,e,o,l){const a=y("a-tag"),s=y("a-button"),i=y("a-space"),d=y("a-col"),_=y("a-spin"),x=y("a-alert"),A=y("a-empty"),h=y("a-row");return u(),S("div",Ne,[v("div",Me,[t[6]||(t[6]=v("div",null,[v("h2",{class:"page-title"},"数据浏览器"),v("p",{class:"page-sub"}," Vault 里所有已采集的数据,按类目浏览 / 全文检索 / 时间窗口筛选。 完全离线,不外传。 ")],-1)),c(i,null,{default:m(()=>[e.store.mode==="fts5"?(u(),C(a,{key:0,color:"green"},{default:m(()=>[...t[3]||(t[3]=[b("FTS5 trigram",-1)])]),_:1})):e.store.mode==="like"?(u(),C(a,{key:1,color:"orange"},{default:m(()=>[...t[4]||(t[4]=[b("LIKE 兜底",-1)])]),_:1})):E("v-if",!0),c(e.ExportDropdown,{events:e.store.results,category:e.store.filters.category},null,8,["events","category"]),c(s,{onClick:t[0]||(t[0]=g=>e.store.search()),loading:e.store.isLoading},{icon:m(()=>[c(e.ReloadOutlined)]),default:m(()=>[t[5]||(t[5]=b(" 刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),c(h,{gutter:16,class:"browser-layout"},{default:m(()=>[c(d,{xs:24,sm:24,md:6,lg:5,xl:4},{default:m(()=>[c(e.CategorySidebar,{selected:e.store.filters.category,facets:e.store.facets,onSelect:e.onCategorySelect},null,8,["selected","facets"])]),_:1}),c(d,{xs:24,sm:24,md:18,lg:19,xl:20},{default:m(()=>[v("div",Je,[c(e.SearchFilterBar,{filters:e.store.filters,facets:e.store.facets,"is-loading":e.store.isLoading,mode:e.store.mode,"short-query":e.store.shortQuery,onSetFilter:e.onSetFilter,onReset:t[1]||(t[1]=g=>{e.store.reset(),e.store.search()})},null,8,["filters","facets","is-loading","mode","short-query"]),v("div",Ue,[e.store.isLoading&&e.store.results.length===0?(u(),S("span",ze,[c(_,{size:"small"}),t[7]||(t[7]=b(" 载入中… ",-1))])):(u(),S(V,{key:1},[v("strong",null,j(e.store.facets.total),1),t[11]||(t[11]=b(" 条事件 ",-1)),e.store.filters.category?(u(),S("span",Qe,[t[8]||(t[8]=b(" / 当前类目 ",-1)),v("strong",null,j(e.categoryLabel(e.store.filters.category)),1),v("strong",null,j(e.store.facets.byCategory[e.store.filters.category]||0),1)])):E("v-if",!0),e.store.filters.q?(u(),S("span",Ge,[t[9]||(t[9]=b(' / 关键词 "',-1)),v("em",null,j(e.store.filters.q),1),t[10]||(t[10]=b('"',-1))])):E("v-if",!0),v("span",He," / 已显示 "+j(e.store.results.length),1)],64))]),e.store.error?(u(),C(x,{key:0,type:"error","show-icon":"",message:e.store.error,closable:"",style:{margin:"12px 0"}},null,8,["message"])):E("v-if",!0),!e.store.isLoading&&e.store.results.length===0&&!e.store.error?(u(),C(A,{key:1,description:e.emptyHint,style:{"margin-top":"40px"}},null,8,["description"])):E("v-if",!0),v("div",Ke,[(u(!0),S(V,null,se(e.store.results,(g,k)=>(u(),C(e.RendererDispatcher,{key:`r-${k}-${g.id}`,event:g},null,8,["event"]))),128))]),e.store.canLoadMore?(u(),S("div",We,[c(s,{loading:e.store.isAppending,onClick:t[2]||(t[2]=g=>e.store.loadMore()),block:""},{default:m(()=>[...t[12]||(t[12]=[b(" 加载下一页 (50 条) ",-1)])]),_:1},8,["loading"])])):E("v-if",!0)])]),_:1})]),_:1})])}const tt=D(Ve,[["render",Ye],["__scopeId","data-v-0f7c02cd"],["__file","/tmp/cc-web-panel-wjpwq8/repo/packages/web-panel/src/views/PdhVaultBrowser.vue"]]);export{tt as default};
7
+ `)||t.includes("\r")?'"'+t.replace(/"/g,'""')+'"':t}function re(r,t,n="application/octet-stream"){if(typeof window>"u"||typeof document>"u")return t;const e=new Blob([r],{type:n}),o=URL.createObjectURL(e),l=document.createElement("a");return l.href=o,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout(()=>URL.revokeObjectURL(o),1e3),t}function oe(r,t=null){const n=new Date,e=n.getFullYear(),o=String(n.getMonth()+1).padStart(2,"0"),l=String(n.getDate()).padStart(2,"0"),a=r==="ndjson"?"ndjson":r,s=t?`-${t}`:"";return`pdh-events-${e}-${o}-${l}${s}.${a}`}const Pe={__name:"ExportDropdown",props:{events:{type:Array,required:!0},category:{type:String,default:null}},setup(r,{expose:t}){t();const n=r,e=w(()=>n.events.length>0),o={json:"application/json;charset=utf-8",ndjson:"application/x-ndjson;charset=utf-8",csv:"text/csv;charset=utf-8"};function l(i){switch(i){case"json":return ee(n.events);case"ndjson":return te(n.events);case"csv":return ne(n.events);default:throw new Error(`unknown format: ${i}`)}}function a({key:i}){try{const d=l(i),_=oe(i,n.category);re(d,_,o[i]),P.success(`已导出 ${n.events.length} 条到 ${_}`)}catch(d){P.error(`导出失败: ${d.message||d}`)}}const s={props:n,hasResults:e,MIME:o,serialize:l,onClick:a,computed:w,get DownloadOutlined(){return _e},get DownOutlined(){return me},get message(){return P},get eventsToJson(){return ee},get eventsToNdjson(){return te},get eventsToCsv(){return ne},get downloadAs(){return re},get suggestFilename(){return oe}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}};function qe(r,t,n,e,o,l){const a=y("a-button"),s=y("a-menu-item"),i=y("a-menu"),d=y("a-dropdown");return u(),C(d,{disabled:!e.hasResults},{overlay:m(()=>[c(i,{onClick:e.onClick},{default:m(()=>[c(s,{key:"json"},{default:m(()=>[...t[0]||(t[0]=[b("JSON (.json)",-1)])]),_:1}),c(s,{key:"ndjson"},{default:m(()=>[...t[1]||(t[1]=[b("NDJSON (.ndjson)",-1)])]),_:1}),c(s,{key:"csv"},{default:m(()=>[...t[2]||(t[2]=[b("CSV (.csv)",-1)])]),_:1})]),_:1})]),default:m(()=>[c(a,{disabled:!e.hasResults},{icon:m(()=>[c(e.DownloadOutlined)]),default:m(()=>[b(" 导出 ("+x(n.events.length)+") ",1),c(e.DownOutlined)]),_:1},8,["disabled"])]),_:1},8,["disabled"])}const Be=D(Pe,[["render",qe],["__file","/tmp/cc-web-panel-SkGS8t/repo/packages/web-panel/src/components/pdh/ExportDropdown.vue"]]),Ve={__name:"PdhVaultBrowser",setup(r,{expose:t}){t();const n=X(),e=w(()=>n.filters.q?`没有匹配 "${n.filters.q}" 的事件 — 试试更短的关键词或换个类目`:n.filters.category?`「${N(n.filters.category)}」类目下还没有数据 — 去采集页同步对应 adapter`:"Vault 里还没有数据 — 去「个人数据中台」页面同步任意 adapter");function o(s){n.filters.category=s,n.search()}function l(s,i){n.setFilter(s,i)}G(()=>{!n.hasResults&&!n.isLoading&&n.search()});const a={store:n,emptyHint:e,onCategorySelect:o,onSetFilter:l,onMounted:G,computed:w,get ReloadOutlined(){return ge},get usePdhBrowserStore(){return X},get categoryLabel(){return N},CategorySidebar:ke,SearchFilterBar:Le,RendererDispatcher:Te,ExportDropdown:Be};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}},Ne={class:"pdh-browser-page"},Me={class:"page-header"},Ge={class:"main-pane"},Je={class:"results-summary"},Ue={key:0},ze={key:0},Qe={key:1},He={class:"loaded-of"},Ke={class:"results-list"},We={key:2,class:"load-more"};function Ye(r,t,n,e,o,l){const a=y("a-tag"),s=y("a-button"),i=y("a-space"),d=y("a-col"),_=y("a-spin"),j=y("a-alert"),A=y("a-empty"),h=y("a-row");return u(),O("div",Ne,[v("div",Me,[t[6]||(t[6]=v("div",null,[v("h2",{class:"page-title"},"数据浏览器"),v("p",{class:"page-sub"}," Vault 里所有已采集的数据,按类目浏览 / 全文检索 / 时间窗口筛选。 完全离线,不外传。 ")],-1)),c(i,null,{default:m(()=>[e.store.mode==="fts5"?(u(),C(a,{key:0,color:"green"},{default:m(()=>[...t[3]||(t[3]=[b("FTS5 trigram",-1)])]),_:1})):e.store.mode==="like"?(u(),C(a,{key:1,color:"orange"},{default:m(()=>[...t[4]||(t[4]=[b("LIKE 兜底",-1)])]),_:1})):E("v-if",!0),c(e.ExportDropdown,{events:e.store.results,category:e.store.filters.category},null,8,["events","category"]),c(s,{onClick:t[0]||(t[0]=g=>e.store.search()),loading:e.store.isLoading},{icon:m(()=>[c(e.ReloadOutlined)]),default:m(()=>[t[5]||(t[5]=b(" 刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),c(h,{gutter:16,class:"browser-layout"},{default:m(()=>[c(d,{xs:24,sm:24,md:6,lg:5,xl:4},{default:m(()=>[c(e.CategorySidebar,{selected:e.store.filters.category,facets:e.store.facets,onSelect:e.onCategorySelect},null,8,["selected","facets"])]),_:1}),c(d,{xs:24,sm:24,md:18,lg:19,xl:20},{default:m(()=>[v("div",Ge,[c(e.SearchFilterBar,{filters:e.store.filters,facets:e.store.facets,"is-loading":e.store.isLoading,mode:e.store.mode,"short-query":e.store.shortQuery,onSetFilter:e.onSetFilter,onReset:t[1]||(t[1]=g=>{e.store.reset(),e.store.search()})},null,8,["filters","facets","is-loading","mode","short-query"]),v("div",Je,[e.store.isLoading&&e.store.results.length===0?(u(),O("span",Ue,[c(_,{size:"small"}),t[7]||(t[7]=b(" 载入中… ",-1))])):(u(),O(V,{key:1},[v("strong",null,x(e.store.facets.total),1),t[11]||(t[11]=b(" 条事件 ",-1)),e.store.filters.category?(u(),O("span",ze,[t[8]||(t[8]=b(" / 当前类目 ",-1)),v("strong",null,x(e.categoryLabel(e.store.filters.category)),1),v("strong",null,x(e.store.facets.byCategory[e.store.filters.category]||0),1)])):E("v-if",!0),e.store.filters.q?(u(),O("span",Qe,[t[9]||(t[9]=b(' / 关键词 "',-1)),v("em",null,x(e.store.filters.q),1),t[10]||(t[10]=b('"',-1))])):E("v-if",!0),v("span",He," / 已显示 "+x(e.store.results.length),1)],64))]),e.store.error?(u(),C(j,{key:0,type:"error","show-icon":"",message:e.store.error,closable:"",style:{margin:"12px 0"}},null,8,["message"])):E("v-if",!0),!e.store.isLoading&&e.store.results.length===0&&!e.store.error?(u(),C(A,{key:1,description:e.emptyHint,style:{"margin-top":"40px"}},null,8,["description"])):E("v-if",!0),v("div",Ke,[(u(!0),O(V,null,se(e.store.results,(g,k)=>(u(),C(e.RendererDispatcher,{key:`r-${k}-${g.id}`,event:g},null,8,["event"]))),128))]),e.store.canLoadMore?(u(),O("div",We,[c(s,{loading:e.store.isAppending,onClick:t[2]||(t[2]=g=>e.store.loadMore()),block:""},{default:m(()=>[...t[12]||(t[12]=[b(" 加载下一页 (50 条) ",-1)])]),_:1},8,["loading"])])):E("v-if",!0)])]),_:1})]),_:1})])}const tt=D(Ve,[["render",Ye],["__scopeId","data-v-0f7c02cd"],["__file","/tmp/cc-web-panel-SkGS8t/repo/packages/web-panel/src/views/PdhVaultBrowser.vue"]]);export{tt as default};
@@ -1,4 +1,4 @@
1
- import{I as m,J as f,U as B,c as o,K as s,o as ee,r as y,P as r,Q as h,V as p,S as I,R as _,F as M,Z as G}from"./vendor-BvqAck49.js";import{_ as ae,u as te,d as Q}from"./index-Bg1RsfAJ.js";import{R as se,A as oe,f as le,Y as ie}from"./icons-DP3uiYxy.js";const re={__name:"Permissions",setup(ne,{expose:c}){c();const R=te(),e=y("roles"),z=y(!1);async function Y(){z.value=!0;try{e.value==="roles"?await w():e.value==="audit"&&await u()}finally{z.value=!1}}function S(t){t==="roles"&&b.value.length===0&&w(),t==="audit"&&P.value.length===0&&u()}const O=y(!1),b=y([]),U=[{title:"角色名",key:"name",dataIndex:"name",width:"160px"},{title:"描述",key:"description",dataIndex:"description",width:"240px"},{title:"权限",key:"permissions",dataIndex:"permissions"},{title:"用户数",key:"userCount",dataIndex:"userCount",width:"100px"}];async function w(){O.value=!0;try{const{output:t}=await R.execute("auth roles --json",15e3);b.value=q(t,A)}catch(t){Q.error("加载角色列表失败: "+t.message)}finally{O.value=!1}}function A(t){const a=[],i=t.split(`
2
- `);for(const v of i){const l=v.trim();if(!l||l.startsWith("─")||l.match(/^Role/i))continue;const d=l.split(/\s*[|│]\s*/);d.length>=2?a.push({key:a.length,name:d[0]||"-",description:d[1]||"",permissions:d[2]?d[2].split(/[,;\s]+/).filter(Boolean):[],userCount:d[3]&&parseInt(d[3],10)||0}):l.length>2&&a.push({key:a.length,name:l.slice(0,60),description:"",permissions:[],userCount:0})}return a}const T=y(""),C=y(""),j=y(!1),L=y(null),F=["note:read","note:write","admin:*","skill:execute"];async function E(){if(!(!T.value.trim()||!C.value.trim())){j.value=!0,L.value=null;try{const t=`auth check ${T.value.trim()} "${C.value.trim()}"`,{output:a}=await R.execute(t,15e3),i=a.toLowerCase(),v=i.includes("allow")||i.includes("granted")||i.includes("true")||i.includes("yes"),l=i.includes("denied")||i.includes("reject")||i.includes("false")||i.includes("no permission");L.value={allowed:v&&!l,detail:a.trim()||(v?"用户拥有该权限":"用户没有该权限")}}catch(t){L.value={allowed:!1,detail:"检查失败: "+t.message}}finally{j.value=!1}}}const N=y(!1),P=y([]),V=y([]),J=[{title:"时间",key:"timestamp",dataIndex:"timestamp",width:"180px"},{title:"事件",key:"event",dataIndex:"event",width:"200px"},{title:"用户",key:"user",dataIndex:"user",width:"120px"},{title:"级别",key:"level",dataIndex:"level",width:"80px"},{title:"详情",key:"detail",dataIndex:"detail",ellipsis:!0}];function n(t){return{info:"blue",warn:"orange",warning:"orange",error:"red",critical:"red"}[(t||"").toLowerCase()]||"default"}async function u(){N.value=!0;try{const[t,a]=await Promise.all([R.execute("audit log --json",15e3),R.execute("audit stats --json",15e3)]);P.value=q(t.output,W),V.value=Z(a.output)}catch(t){Q.error("加载审计日志失败: "+t.message)}finally{N.value=!1}}function W(t){const a=[],i=t.split(`
3
- `);for(const v of i){const l=v.trim();if(!l||l.startsWith("─")||l.startsWith("Audit")||l.startsWith("Recent"))continue;const d=l.split(/\s*[|│]\s*/);if(d.length>=3){a.push({key:a.length,timestamp:d[0]||"-",event:d[1]||"-",user:d[2]||"-",level:d[3]||"info",detail:d.slice(4).join(" ")||""});continue}const x=l.match(/^(\d{4}-\d{2}-\d{2}[\sT]\d{2}:\d{2}(?::\d{2})?)\s+(.+)/);if(x){const k=x[2],g=k.match(/\b(INFO|WARN|WARNING|ERROR|CRITICAL)\b/i);a.push({key:a.length,timestamp:x[1],event:k.replace(/\b(INFO|WARN|WARNING|ERROR|CRITICAL)\b/i,"").trim().slice(0,80),user:"-",level:g?g[1].toLowerCase():"info",detail:""})}else l.length>3&&!l.match(/^\d+ event/i)&&a.push({key:a.length,timestamp:"-",event:l.slice(0,80),user:"-",level:"info",detail:""})}return a}function Z(t){const a=K(t);if(a&&typeof a=="object"&&!Array.isArray(a)){const x=["#1677ff","#52c41a","#faad14","#ff4d4f"];return Object.entries(a).slice(0,4).map(([k,g],D)=>({label:k,value:typeof g=="number"?g:String(g),color:x[D%x.length]}))}const i=[],v=t.split(`
4
- `),l=["#1677ff","#52c41a","#faad14","#ff4d4f"];let d=0;for(const x of v){const k=x.trim();if(!k||k.startsWith("─")||k.startsWith("Audit"))continue;const g=k.match(/^(.+?)\s*[:=]\s*(.+)$/);if(g){const D=g[1].trim(),X=g[2].trim(),$=X.match(/^(\d+)/);i.push({label:D,value:$?parseInt($[1],10):X,color:l[d%l.length]}),d++}}return i.length===0&&i.push({label:"总事件数",value:P.value.length,color:"#1677ff"},{label:"状态",value:"就绪",color:"#52c41a"}),i}function K(t){try{const a=t.indexOf("[")!==-1?t.indexOf("["):t.indexOf("{");if(a===-1)return null;const i=t.lastIndexOf("]")!==-1?t.lastIndexOf("]")+1:t.lastIndexOf("}")+1;return JSON.parse(t.slice(a,i))}catch{return null}}function q(t,a){const i=K(t);return Array.isArray(i)?i.map((v,l)=>({key:l,...v})):a(t)}ee(()=>{w()});const H={ws:R,activeTab:e,refreshing:z,refreshCurrentTab:Y,onTabChange:S,rolesLoading:O,rolesList:b,rolesColumns:U,loadRoles:w,parseRolesText:A,checkUserId:T,checkPermission:C,checking:j,checkResult:L,quickPermissions:F,doCheck:E,auditLoading:N,auditEvents:P,auditStats:V,auditColumns:J,levelColor:n,loadAudit:u,parseAuditLogText:W,parseAuditStatsOutput:Z,tryParseJson:K,parseJsonOutput:q,ref:y,onMounted:ee,get LockOutlined(){return ie},get CheckCircleOutlined(){return le},get AuditOutlined(){return oe},get ReloadOutlined(){return se},get message(){return Q},get useWsStore(){return te}};return Object.defineProperty(H,"__isScriptSetup",{enumerable:!1,value:!0}),H}},ce={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},ue={key:0,style:{"text-align":"center",padding:"60px"}},de={key:0,style:{color:"#e0e0e0","font-weight":"500"}},me={key:1,style:{color:"var(--text-secondary)"}},fe={key:0,style:{"margin-top":"16px"}},pe={key:0,style:{"text-align":"center",padding:"60px"}},ye={key:0,style:{color:"var(--text-secondary)","font-size":"12px","font-family":"monospace"}},_e={key:1,style:{color:"#e0e0e0"}},ve={key:2,style:{color:"var(--text-secondary)"}},ge={key:4,style:{color:"var(--text-muted)","font-size":"12px"}};function he(ne,c,R,e,z,Y){const S=m("a-button"),O=m("a-spin"),b=m("a-tag"),U=m("a-empty"),w=m("a-table"),A=m("a-tab-pane"),T=m("a-input"),C=m("a-form-item"),j=m("a-space"),L=m("a-form"),F=m("a-alert"),E=m("a-card"),N=m("a-statistic"),P=m("a-col"),V=m("a-row"),J=m("a-tabs");return r(),f("div",null,[B("div",ce,[c[4]||(c[4]=B("div",null,[B("h2",{class:"page-title"},"权限管理"),B("p",{class:"page-sub"},"角色 / 权限检查 / 审计")],-1)),o(S,{type:"primary",ghost:"",loading:e.refreshing,onClick:e.refreshCurrentTab},{icon:s(()=>[o(e.ReloadOutlined)]),default:s(()=>[c[3]||(c[3]=h(" 刷新 ",-1))]),_:1},8,["loading"])]),o(J,{activeKey:e.activeTab,"onUpdate:activeKey":c[2]||(c[2]=n=>e.activeTab=n),type:"card",onChange:e.onTabChange},{default:s(()=>[p(" Tab 1: Roles "),o(A,{key:"roles"},{tab:s(()=>[o(e.LockOutlined),c[5]||(c[5]=h(" 角色列表 ",-1))]),default:s(()=>[e.rolesLoading?(r(),f("div",ue,[o(O,{size:"large"})])):(r(),I(w,{key:1,columns:e.rolesColumns,"data-source":e.rolesList,pagination:{pageSize:20,showTotal:n=>`共 ${n} 条`},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"perm-row"},{bodyCell:s(({column:n,record:u})=>[n.key==="name"?(r(),f("span",de,_(u.name),1)):p("v-if",!0),n.key==="description"?(r(),f("span",me,_(u.description),1)):p("v-if",!0),n.key==="permissions"?(r(),f(M,{key:2},[(r(!0),f(M,null,G((u.permissions||[]).slice(0,5),W=>(r(),I(b,{key:W,color:"blue",style:{"margin-bottom":"2px"}},{default:s(()=>[h(_(W),1)]),_:2},1024))),128)),(u.permissions||[]).length>5?(r(),I(b,{key:0,color:"default"},{default:s(()=>[h(" +"+_(u.permissions.length-5),1)]),_:2},1024)):p("v-if",!0)],64)):p("v-if",!0),n.key==="userCount"?(r(),I(b,{key:3,color:u.userCount>0?"green":"default"},{default:s(()=>[h(_(u.userCount??0),1)]),_:2},1032,["color"])):p("v-if",!0)]),emptyText:s(()=>[o(U,{description:"暂无角色数据"})]),_:1},8,["data-source","pagination"]))]),_:1}),p(" Tab 2: Permission Check "),o(A,{key:"check"},{tab:s(()=>[o(e.CheckCircleOutlined),c[6]||(c[6]=h(" 权限检查 ",-1))]),default:s(()=>[o(E,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","max-width":"640px"}},{default:s(()=>[o(L,{"label-col":{span:5},"wrapper-col":{span:19}},{default:s(()=>[o(C,{label:"用户 ID",required:""},{default:s(()=>[o(T,{value:e.checkUserId,"onUpdate:value":c[0]||(c[0]=n=>e.checkUserId=n),placeholder:"输入用户 ID"},null,8,["value"])]),_:1}),o(C,{label:"权限",required:""},{default:s(()=>[o(T,{value:e.checkPermission,"onUpdate:value":c[1]||(c[1]=n=>e.checkPermission=n),placeholder:"note:read"},null,8,["value"])]),_:1}),o(C,{"wrapper-col":{offset:5,span:19}},{default:s(()=>[o(j,{wrap:""},{default:s(()=>[o(S,{type:"primary",loading:e.checking,disabled:!e.checkUserId.trim()||!e.checkPermission.trim(),onClick:e.doCheck},{icon:s(()=>[o(e.CheckCircleOutlined)]),default:s(()=>[c[7]||(c[7]=h(" 检查权限 ",-1))]),_:1},8,["loading","disabled"]),(r(),f(M,null,G(e.quickPermissions,n=>o(S,{key:n,size:"small",onClick:u=>e.checkPermission=n},{default:s(()=>[h(_(n),1)]),_:2},1032,["onClick"])),64))]),_:1})]),_:1})]),_:1}),e.checkResult!==null?(r(),f("div",fe,[o(F,{message:e.checkResult.allowed?"权限允许":"权限拒绝",description:e.checkResult.detail,type:e.checkResult.allowed?"success":"error","show-icon":""},null,8,["message","description","type"])])):p("v-if",!0)]),_:1})]),_:1}),p(" Tab 3: Audit Logs "),o(A,{key:"audit"},{tab:s(()=>[o(e.AuditOutlined),c[8]||(c[8]=h(" 审计日志 ",-1))]),default:s(()=>[o(V,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:s(()=>[(r(!0),f(M,null,G(e.auditStats,n=>(r(),I(P,{xs:12,sm:6,key:n.label},{default:s(()=>[o(E,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:s(()=>[o(N,{title:n.label,value:n.value,"value-style":{color:n.color,fontSize:"20px"}},null,8,["title","value","value-style"])]),_:2},1024)]),_:2},1024))),128))]),_:1}),e.auditLoading?(r(),f("div",pe,[o(O,{size:"large"})])):(r(),I(w,{key:1,columns:e.auditColumns,"data-source":e.auditEvents,pagination:{pageSize:20,showTotal:n=>`共 ${n} 条`},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"perm-row"},{bodyCell:s(({column:n,record:u})=>[n.key==="timestamp"?(r(),f("span",ye,_(u.timestamp),1)):p("v-if",!0),n.key==="event"?(r(),f("span",_e,_(u.event),1)):p("v-if",!0),n.key==="user"?(r(),f("span",ve,_(u.user),1)):p("v-if",!0),n.key==="level"?(r(),I(b,{key:3,color:e.levelColor(u.level)},{default:s(()=>[h(_(u.level),1)]),_:2},1032,["color"])):p("v-if",!0),n.key==="detail"?(r(),f("span",ge,_(u.detail),1)):p("v-if",!0)]),emptyText:s(()=>[o(U,{description:"暂无审计日志"})]),_:1},8,["data-source","pagination"]))]),_:1})]),_:1},8,["activeKey"])])}const we=ae(re,[["render",he],["__scopeId","data-v-73bcb987"],["__file","/tmp/cc-web-panel-wjpwq8/repo/packages/web-panel/src/views/Permissions.vue"]]);export{we as default};
1
+ import{I as m,J as f,U as B,c as o,K as s,o as ee,r as y,P as r,Q as k,V as p,S as I,R as _,F as M,Z as q}from"./vendor-BvqAck49.js";import{_ as ae,u as te,d as Q}from"./index-GerFRbNP.js";import{R as se,A as oe,f as le,Y as ie}from"./icons-DP3uiYxy.js";const re={__name:"Permissions",setup(ne,{expose:c}){c();const R=te(),e=y("roles"),z=y(!1);async function Y(){z.value=!0;try{e.value==="roles"?await w():e.value==="audit"&&await u()}finally{z.value=!1}}function P(t){t==="roles"&&b.value.length===0&&w(),t==="audit"&&S.value.length===0&&u()}const O=y(!1),b=y([]),U=[{title:"角色名",key:"name",dataIndex:"name",width:"160px"},{title:"描述",key:"description",dataIndex:"description",width:"240px"},{title:"权限",key:"permissions",dataIndex:"permissions"},{title:"用户数",key:"userCount",dataIndex:"userCount",width:"100px"}];async function w(){O.value=!0;try{const{output:t}=await R.execute("auth roles --json",15e3);b.value=D(t,A)}catch(t){Q.error("加载角色列表失败: "+t.message)}finally{O.value=!1}}function A(t){const a=[],i=t.split(`
2
+ `);for(const v of i){const l=v.trim();if(!l||l.startsWith("─")||l.match(/^Role/i))continue;const d=l.split(/\s*[|│]\s*/);d.length>=2?a.push({key:a.length,name:d[0]||"-",description:d[1]||"",permissions:d[2]?d[2].split(/[,;\s]+/).filter(Boolean):[],userCount:d[3]&&parseInt(d[3],10)||0}):l.length>2&&a.push({key:a.length,name:l.slice(0,60),description:"",permissions:[],userCount:0})}return a}const T=y(""),C=y(""),j=y(!1),L=y(null),F=["note:read","note:write","admin:*","skill:execute"];async function E(){if(!(!T.value.trim()||!C.value.trim())){j.value=!0,L.value=null;try{const t=`auth check ${T.value.trim()} "${C.value.trim()}"`,{output:a}=await R.execute(t,15e3),i=a.toLowerCase(),v=i.includes("allow")||i.includes("granted")||i.includes("true")||i.includes("yes"),l=i.includes("denied")||i.includes("reject")||i.includes("false")||i.includes("no permission");L.value={allowed:v&&!l,detail:a.trim()||(v?"用户拥有该权限":"用户没有该权限")}}catch(t){L.value={allowed:!1,detail:"检查失败: "+t.message}}finally{j.value=!1}}}const N=y(!1),S=y([]),V=y([]),J=[{title:"时间",key:"timestamp",dataIndex:"timestamp",width:"180px"},{title:"事件",key:"event",dataIndex:"event",width:"200px"},{title:"用户",key:"user",dataIndex:"user",width:"120px"},{title:"级别",key:"level",dataIndex:"level",width:"80px"},{title:"详情",key:"detail",dataIndex:"detail",ellipsis:!0}];function n(t){return{info:"blue",warn:"orange",warning:"orange",error:"red",critical:"red"}[(t||"").toLowerCase()]||"default"}async function u(){N.value=!0;try{const[t,a]=await Promise.all([R.execute("audit log --json",15e3),R.execute("audit stats --json",15e3)]);S.value=D(t.output,W),V.value=Z(a.output)}catch(t){Q.error("加载审计日志失败: "+t.message)}finally{N.value=!1}}function W(t){const a=[],i=t.split(`
3
+ `);for(const v of i){const l=v.trim();if(!l||l.startsWith("─")||l.startsWith("Audit")||l.startsWith("Recent"))continue;const d=l.split(/\s*[|│]\s*/);if(d.length>=3){a.push({key:a.length,timestamp:d[0]||"-",event:d[1]||"-",user:d[2]||"-",level:d[3]||"info",detail:d.slice(4).join(" ")||""});continue}const x=l.match(/^(\d{4}-\d{2}-\d{2}[\sT]\d{2}:\d{2}(?::\d{2})?)\s+(.+)/);if(x){const h=x[2],g=h.match(/\b(INFO|WARN|WARNING|ERROR|CRITICAL)\b/i);a.push({key:a.length,timestamp:x[1],event:h.replace(/\b(INFO|WARN|WARNING|ERROR|CRITICAL)\b/i,"").trim().slice(0,80),user:"-",level:g?g[1].toLowerCase():"info",detail:""})}else l.length>3&&!l.match(/^\d+ event/i)&&a.push({key:a.length,timestamp:"-",event:l.slice(0,80),user:"-",level:"info",detail:""})}return a}function Z(t){const a=K(t);if(a&&typeof a=="object"&&!Array.isArray(a)){const x=["#1677ff","#52c41a","#faad14","#ff4d4f"];return Object.entries(a).slice(0,4).map(([h,g],G)=>({label:h,value:typeof g=="number"?g:String(g),color:x[G%x.length]}))}const i=[],v=t.split(`
4
+ `),l=["#1677ff","#52c41a","#faad14","#ff4d4f"];let d=0;for(const x of v){const h=x.trim();if(!h||h.startsWith("─")||h.startsWith("Audit"))continue;const g=h.match(/^(.+?)\s*[:=]\s*(.+)$/);if(g){const G=g[1].trim(),X=g[2].trim(),$=X.match(/^(\d+)/);i.push({label:G,value:$?parseInt($[1],10):X,color:l[d%l.length]}),d++}}return i.length===0&&i.push({label:"总事件数",value:S.value.length,color:"#1677ff"},{label:"状态",value:"就绪",color:"#52c41a"}),i}function K(t){try{const a=t.indexOf("[")!==-1?t.indexOf("["):t.indexOf("{");if(a===-1)return null;const i=t.lastIndexOf("]")!==-1?t.lastIndexOf("]")+1:t.lastIndexOf("}")+1;return JSON.parse(t.slice(a,i))}catch{return null}}function D(t,a){const i=K(t);return Array.isArray(i)?i.map((v,l)=>({key:l,...v})):a(t)}ee(()=>{w()});const H={ws:R,activeTab:e,refreshing:z,refreshCurrentTab:Y,onTabChange:P,rolesLoading:O,rolesList:b,rolesColumns:U,loadRoles:w,parseRolesText:A,checkUserId:T,checkPermission:C,checking:j,checkResult:L,quickPermissions:F,doCheck:E,auditLoading:N,auditEvents:S,auditStats:V,auditColumns:J,levelColor:n,loadAudit:u,parseAuditLogText:W,parseAuditStatsOutput:Z,tryParseJson:K,parseJsonOutput:D,ref:y,onMounted:ee,get LockOutlined(){return ie},get CheckCircleOutlined(){return le},get AuditOutlined(){return oe},get ReloadOutlined(){return se},get message(){return Q},get useWsStore(){return te}};return Object.defineProperty(H,"__isScriptSetup",{enumerable:!1,value:!0}),H}},ce={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},ue={key:0,style:{"text-align":"center",padding:"60px"}},de={key:0,style:{color:"#e0e0e0","font-weight":"500"}},me={key:1,style:{color:"var(--text-secondary)"}},fe={key:0,style:{"margin-top":"16px"}},pe={key:0,style:{"text-align":"center",padding:"60px"}},ye={key:0,style:{color:"var(--text-secondary)","font-size":"12px","font-family":"monospace"}},_e={key:1,style:{color:"#e0e0e0"}},ve={key:2,style:{color:"var(--text-secondary)"}},ge={key:4,style:{color:"var(--text-muted)","font-size":"12px"}};function ke(ne,c,R,e,z,Y){const P=m("a-button"),O=m("a-spin"),b=m("a-tag"),U=m("a-empty"),w=m("a-table"),A=m("a-tab-pane"),T=m("a-input"),C=m("a-form-item"),j=m("a-space"),L=m("a-form"),F=m("a-alert"),E=m("a-card"),N=m("a-statistic"),S=m("a-col"),V=m("a-row"),J=m("a-tabs");return r(),f("div",null,[B("div",ce,[c[4]||(c[4]=B("div",null,[B("h2",{class:"page-title"},"权限管理"),B("p",{class:"page-sub"},"角色 / 权限检查 / 审计")],-1)),o(P,{type:"primary",ghost:"",loading:e.refreshing,onClick:e.refreshCurrentTab},{icon:s(()=>[o(e.ReloadOutlined)]),default:s(()=>[c[3]||(c[3]=k(" 刷新 ",-1))]),_:1},8,["loading"])]),o(J,{activeKey:e.activeTab,"onUpdate:activeKey":c[2]||(c[2]=n=>e.activeTab=n),type:"card",onChange:e.onTabChange},{default:s(()=>[p(" Tab 1: Roles "),o(A,{key:"roles"},{tab:s(()=>[o(e.LockOutlined),c[5]||(c[5]=k(" 角色列表 ",-1))]),default:s(()=>[e.rolesLoading?(r(),f("div",ue,[o(O,{size:"large"})])):(r(),I(w,{key:1,columns:e.rolesColumns,"data-source":e.rolesList,pagination:{pageSize:20,showTotal:n=>`共 ${n} 条`},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"perm-row"},{bodyCell:s(({column:n,record:u})=>[n.key==="name"?(r(),f("span",de,_(u.name),1)):p("v-if",!0),n.key==="description"?(r(),f("span",me,_(u.description),1)):p("v-if",!0),n.key==="permissions"?(r(),f(M,{key:2},[(r(!0),f(M,null,q((u.permissions||[]).slice(0,5),W=>(r(),I(b,{key:W,color:"blue",style:{"margin-bottom":"2px"}},{default:s(()=>[k(_(W),1)]),_:2},1024))),128)),(u.permissions||[]).length>5?(r(),I(b,{key:0,color:"default"},{default:s(()=>[k(" +"+_(u.permissions.length-5),1)]),_:2},1024)):p("v-if",!0)],64)):p("v-if",!0),n.key==="userCount"?(r(),I(b,{key:3,color:u.userCount>0?"green":"default"},{default:s(()=>[k(_(u.userCount??0),1)]),_:2},1032,["color"])):p("v-if",!0)]),emptyText:s(()=>[o(U,{description:"暂无角色数据"})]),_:1},8,["data-source","pagination"]))]),_:1}),p(" Tab 2: Permission Check "),o(A,{key:"check"},{tab:s(()=>[o(e.CheckCircleOutlined),c[6]||(c[6]=k(" 权限检查 ",-1))]),default:s(()=>[o(E,{style:{background:"var(--bg-card)","border-color":"var(--border-color)","max-width":"640px"}},{default:s(()=>[o(L,{"label-col":{span:5},"wrapper-col":{span:19}},{default:s(()=>[o(C,{label:"用户 ID",required:""},{default:s(()=>[o(T,{value:e.checkUserId,"onUpdate:value":c[0]||(c[0]=n=>e.checkUserId=n),placeholder:"输入用户 ID"},null,8,["value"])]),_:1}),o(C,{label:"权限",required:""},{default:s(()=>[o(T,{value:e.checkPermission,"onUpdate:value":c[1]||(c[1]=n=>e.checkPermission=n),placeholder:"note:read"},null,8,["value"])]),_:1}),o(C,{"wrapper-col":{offset:5,span:19}},{default:s(()=>[o(j,{wrap:""},{default:s(()=>[o(P,{type:"primary",loading:e.checking,disabled:!e.checkUserId.trim()||!e.checkPermission.trim(),onClick:e.doCheck},{icon:s(()=>[o(e.CheckCircleOutlined)]),default:s(()=>[c[7]||(c[7]=k(" 检查权限 ",-1))]),_:1},8,["loading","disabled"]),(r(),f(M,null,q(e.quickPermissions,n=>o(P,{key:n,size:"small",onClick:u=>e.checkPermission=n},{default:s(()=>[k(_(n),1)]),_:2},1032,["onClick"])),64))]),_:1})]),_:1})]),_:1}),e.checkResult!==null?(r(),f("div",fe,[o(F,{message:e.checkResult.allowed?"权限允许":"权限拒绝",description:e.checkResult.detail,type:e.checkResult.allowed?"success":"error","show-icon":""},null,8,["message","description","type"])])):p("v-if",!0)]),_:1})]),_:1}),p(" Tab 3: Audit Logs "),o(A,{key:"audit"},{tab:s(()=>[o(e.AuditOutlined),c[8]||(c[8]=k(" 审计日志 ",-1))]),default:s(()=>[o(V,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:s(()=>[(r(!0),f(M,null,q(e.auditStats,n=>(r(),I(S,{xs:12,sm:6,key:n.label},{default:s(()=>[o(E,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"},size:"small"},{default:s(()=>[o(N,{title:n.label,value:n.value,"value-style":{color:n.color,fontSize:"20px"}},null,8,["title","value","value-style"])]),_:2},1024)]),_:2},1024))),128))]),_:1}),e.auditLoading?(r(),f("div",pe,[o(O,{size:"large"})])):(r(),I(w,{key:1,columns:e.auditColumns,"data-source":e.auditEvents,pagination:{pageSize:20,showTotal:n=>`共 ${n} 条`},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"perm-row"},{bodyCell:s(({column:n,record:u})=>[n.key==="timestamp"?(r(),f("span",ye,_(u.timestamp),1)):p("v-if",!0),n.key==="event"?(r(),f("span",_e,_(u.event),1)):p("v-if",!0),n.key==="user"?(r(),f("span",ve,_(u.user),1)):p("v-if",!0),n.key==="level"?(r(),I(b,{key:3,color:e.levelColor(u.level)},{default:s(()=>[k(_(u.level),1)]),_:2},1032,["color"])):p("v-if",!0),n.key==="detail"?(r(),f("span",ge,_(u.detail),1)):p("v-if",!0)]),emptyText:s(()=>[o(U,{description:"暂无审计日志"})]),_:1},8,["data-source","pagination"]))]),_:1})]),_:1},8,["activeKey"])])}const we=ae(re,[["render",ke],["__scopeId","data-v-73bcb987"],["__file","/tmp/cc-web-panel-SkGS8t/repo/packages/web-panel/src/views/Permissions.vue"]]);export{we as default};