chainlesschain 0.162.118 → 0.162.119

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 (157) hide show
  1. package/package.json +1 -1
  2. package/src/assets/web-panel/assets/{AIOps-D4dNL7oX.js → AIOps-DHRc0Ie_.js} +1 -1
  3. package/src/assets/web-panel/assets/{ActionButton-DqMM3fea.js → ActionButton-CgUXfXke.js} +1 -1
  4. package/src/assets/web-panel/assets/{Analytics-DMep218S.js → Analytics-DIKHjclG.js} +3 -3
  5. package/src/assets/web-panel/assets/{AppLayout-TdTGCiOR.js → AppLayout-vX1r-6CY.js} +5 -5
  6. package/src/assets/web-panel/assets/{Audit-1Dml711-.js → Audit-DzJx-WeF.js} +1 -1
  7. package/src/assets/web-panel/assets/{Backup-DbHx9UYj.js → Backup-DZ4na4uj.js} +1 -1
  8. package/src/assets/web-panel/assets/{BaseInput-C2ahEcJR.js → BaseInput-qUEPpz0X.js} +1 -1
  9. package/src/assets/web-panel/assets/{Chat-5ZjuBfuS.js → Chat-DTZl8nH5.js} +5 -5
  10. package/src/assets/web-panel/assets/ChatBubbleRenderer-DD2tLmRr.js +1 -0
  11. package/src/assets/web-panel/assets/{Checkbox-Dg6tGe59.js → Checkbox-BQFF8-dn.js} +1 -1
  12. package/src/assets/web-panel/assets/{Codegen-CNDPJTao.js → Codegen-DIQaC76u.js} +1 -1
  13. package/src/assets/web-panel/assets/{Col-DWU7gipF.js → Col-uy6MSNXM.js} +1 -1
  14. package/src/assets/web-panel/assets/{Community-5nkmoyvL.js → Community-DJSclfR8.js} +1 -1
  15. package/src/assets/web-panel/assets/{Compact-BzCJj8eL.js → Compact-DS2_Cpq1.js} +1 -1
  16. package/src/assets/web-panel/assets/{Compliance-DbZq8BJH.js → Compliance-T6LqAmah.js} +1 -1
  17. package/src/assets/web-panel/assets/{Cowork-BK7yKRsT.js → Cowork-BrqyP337.js} +2 -2
  18. package/src/assets/web-panel/assets/{Cron-BSbTeh9k.js → Cron-DYFCc-f1.js} +2 -2
  19. package/src/assets/web-panel/assets/{Crosschain-BIyLL_7v.js → Crosschain-CnWNsqde.js} +1 -1
  20. package/src/assets/web-panel/assets/{DID-DeLWtwx2.js → DID-Cno6plcv.js} +2 -2
  21. package/src/assets/web-panel/assets/{Dashboard-SGbCH8zO.js → Dashboard-CsgzRLsJ.js} +2 -2
  22. package/src/assets/web-panel/assets/{Dropdown-CmsCZDkh.js → Dropdown-BUKI1xuG.js} +1 -1
  23. package/src/assets/web-panel/assets/{EmailListRenderer-Tfc7sbeH.js → EmailListRenderer-DuEOjlci.js} +1 -1
  24. package/src/assets/web-panel/assets/{FamilyGuardDashboard-K2YlYDx7.js → FamilyGuardDashboard-BfnUdEaU.js} +1 -1
  25. package/src/assets/web-panel/assets/{Federation-kLpstbZZ.js → Federation-CfeUTibi.js} +1 -1
  26. package/src/assets/web-panel/assets/{FormItemContext-BBFI-PfE.js → FormItemContext-D14wwVsq.js} +1 -1
  27. package/src/assets/web-panel/assets/{GenericCardRenderer-D0xM21cK.js → GenericCardRenderer-CGx7VfKf.js} +1 -1
  28. package/src/assets/web-panel/assets/{Git-DoRk-Z87.js → Git-chaiL5nL.js} +2 -2
  29. package/src/assets/web-panel/assets/{Governance-DLpgG6NJ.js → Governance-Ca5rbA-N.js} +1 -1
  30. package/src/assets/web-panel/assets/{Inference-DhXCaVnC.js → Inference-DA0DK7dc.js} +1 -1
  31. package/src/assets/web-panel/assets/{KnowledgeGraph-DY9bjNvM.js → KnowledgeGraph-BwaAK34_.js} +1 -1
  32. package/src/assets/web-panel/assets/{Logs-0hjq8gkO.js → Logs-FA4XPXuO.js} +2 -2
  33. package/src/assets/web-panel/assets/{Marketplace-BiwZtXvR.js → Marketplace-eOsO5rY3.js} +1 -1
  34. package/src/assets/web-panel/assets/{McpTools-FQPVVxpt.js → McpTools-D88TlCnE.js} +3 -3
  35. package/src/assets/web-panel/assets/{Memory-DFx_G11g.js → Memory-DsIN2Sv6.js} +2 -2
  36. package/src/assets/web-panel/assets/{MobileBridge-CffhLXKL.js → MobileBridge--q60qDOY.js} +3 -3
  37. package/src/assets/web-panel/assets/{MobileProjects-Ch6cai8d.js → MobileProjects-84NgjQck.js} +1 -1
  38. package/src/assets/web-panel/assets/{Mtc-CZYjK-51.js → Mtc-BYfKH7WL.js} +2 -2
  39. package/src/assets/web-panel/assets/{MtcAudit-Da34fMPk.js → MtcAudit-D35u_eyo.js} +2 -2
  40. package/src/assets/web-panel/assets/{Multisig-Bd_rBnNq.js → Multisig-BksPgmCa.js} +3 -3
  41. package/src/assets/web-panel/assets/{NLProgramming-C5gqAWjv.js → NLProgramming-D5cbMuDm.js} +1 -1
  42. package/src/assets/web-panel/assets/{Notes-Dhu_Cm2p.js → Notes-Cu_pbWTB.js} +3 -3
  43. package/src/assets/web-panel/assets/{NotificationSettings-DtJcANAI.js → NotificationSettings-C81tVX8S.js} +1 -1
  44. package/src/assets/web-panel/assets/{OrderTableRenderer-BSZfBr8T.js → OrderTableRenderer-Ccx2Lxcc.js} +1 -1
  45. package/src/assets/web-panel/assets/{Organization-BUr7Rir7.js → Organization-BIJzR15j.js} +4 -4
  46. package/src/assets/web-panel/assets/{Overflow-DWshgXbT.js → Overflow-BKCASkRj.js} +1 -1
  47. package/src/assets/web-panel/assets/{P2P-CyD_epxc.js → P2P-Q4mb4TFL.js} +2 -2
  48. package/src/assets/web-panel/assets/{PdhVaultBrowser-5XCiifmp.js → PdhVaultBrowser-CPWIjtON.js} +3 -3
  49. package/src/assets/web-panel/assets/{Permissions-7f399Gvr.js → Permissions-DCo0YoEd.js} +4 -4
  50. package/src/assets/web-panel/assets/{PersonalDataHub-DxlSJUU3.js → PersonalDataHub-CT-Efwnw.js} +2 -2
  51. package/src/assets/web-panel/assets/{Pipeline-DgEcnlAm.js → Pipeline-B5iEJ2T_.js} +1 -1
  52. package/src/assets/web-panel/assets/{Privacy-zisFH3nX.js → Privacy-BjOXW26f.js} +1 -1
  53. package/src/assets/web-panel/assets/{ProjectInit-CJoxhT5P.js → ProjectInit-DE6GZFCM.js} +2 -2
  54. package/src/assets/web-panel/assets/{ProjectSettings-PiZfKRl5.js → ProjectSettings-cHsBvsYo.js} +2 -2
  55. package/src/assets/web-panel/assets/Projects-Bi4Wv8m6.js +1 -0
  56. package/src/assets/web-panel/assets/{Providers-BNZjDnSc.js → Providers-C0yVlpp5.js} +1 -1
  57. package/src/assets/web-panel/assets/{QuickAsk-khmv9SgN.js → QuickAsk-C6BQQUUw.js} +1 -1
  58. package/src/assets/web-panel/assets/{Recommend-BDY0V36V.js → Recommend-Dz18iBwP.js} +1 -1
  59. package/src/assets/web-panel/assets/{Reputation-C4wPt5Hv.js → Reputation-LagVnM_Q.js} +1 -1
  60. package/src/assets/web-panel/assets/{Row-B9kpAVZb.js → Row--IaheXkB.js} +1 -1
  61. package/src/assets/web-panel/assets/{RssFeed-CiyeJRzB.js → RssFeed-CDNYaijn.js} +2 -2
  62. package/src/assets/web-panel/assets/{Search-BAJIzXKP.js → Search-D6DPr_Km.js} +1 -1
  63. package/src/assets/web-panel/assets/{Security-_SyGiA39.js → Security-a4-jIBqX.js} +4 -4
  64. package/src/assets/web-panel/assets/{Services-CpCisy2A.js → Services-Bmj4jr2Q.js} +2 -2
  65. package/src/assets/web-panel/assets/{Skeleton-BbgLYFnt.js → Skeleton-BhKpCNqE.js} +1 -1
  66. package/src/assets/web-panel/assets/{Skills-BetfsfpF.js → Skills-BqmheUDl.js} +1 -1
  67. package/src/assets/web-panel/assets/{Sla-BXoqLXMq.js → Sla-D68DDW4T.js} +1 -1
  68. package/src/assets/web-panel/assets/{SpeechSettings-BY9Kooi0.js → SpeechSettings-CxCF4E_o.js} +1 -1
  69. package/src/assets/web-panel/assets/{SyncSettings-CcArvVNF.js → SyncSettings-pcetCirO.js} +2 -2
  70. package/src/assets/web-panel/assets/{Tasks-DqLoEIis.js → Tasks-D3er3tkS.js} +1 -1
  71. package/src/assets/web-panel/assets/{Templates-C7uVsXry.js → Templates-6QfV55r3.js} +1 -1
  72. package/src/assets/web-panel/assets/{Tenant-YTp4gRv1.js → Tenant-BOI2_4NB.js} +1 -1
  73. package/src/assets/web-panel/assets/{Terminal-CVyqc079.js → Terminal-DSIv5Z7S.js} +2 -2
  74. package/src/assets/web-panel/assets/{TimelineRenderer-oJ9q5LkF.js → TimelineRenderer-C4tC343-.js} +1 -1
  75. package/src/assets/web-panel/assets/{Tokens-CDsEqDT7.js → Tokens-CnNoHnJv.js} +1 -1
  76. package/src/assets/web-panel/assets/{Trigger-CpDIhVvj.js → Trigger-BaRSXO70.js} +1 -1
  77. package/src/assets/web-panel/assets/{Trust-CjEWMLXs.js → Trust-CWnKxwgN.js} +1 -1
  78. package/src/assets/web-panel/assets/{UkeySign-CMuYjFkp.js → UkeySign-De8aN7WZ.js} +1 -1
  79. package/src/assets/web-panel/assets/{VideoEditing-L76OwoPT.js → VideoEditing-Cu7XhMNZ.js} +1 -1
  80. package/src/assets/web-panel/assets/{Wallet-CfhcIudB.js → Wallet-xfhJUu0f.js} +4 -4
  81. package/src/assets/web-panel/assets/{WebAuthn-BhxSf50j.js → WebAuthn-Bt6sYYDk.js} +5 -5
  82. package/src/assets/web-panel/assets/{WorkflowEditor-CkYQGytv.js → WorkflowEditor-C4LZ0x-0.js} +1 -1
  83. package/src/assets/web-panel/assets/{chat-Bke-Axcb.js → chat-33Oq8wz3.js} +1 -1
  84. package/src/assets/web-panel/assets/{colors-DDm7sxvR.js → colors-COL29MyD.js} +1 -1
  85. package/src/assets/web-panel/assets/{compact-item-ptIaR2VC.js → compact-item-D8hinshK.js} +1 -1
  86. package/src/assets/web-panel/assets/{createContext-neR1onYf.js → createContext-DVD4d6-0.js} +1 -1
  87. package/src/assets/web-panel/assets/devWarning-CKV56AdO.js +1 -0
  88. package/src/assets/web-panel/assets/{hasIn-CdoIzexs.js → hasIn-CvLpycQb.js} +1 -1
  89. package/src/assets/web-panel/assets/{index-BnujNUf1.js → index-1HmyagUk.js} +1 -1
  90. package/src/assets/web-panel/assets/{index-DxabeJjC.js → index-3GhR2NdM.js} +1 -1
  91. package/src/assets/web-panel/assets/{index-Cg7TMjLf.js → index-65FhG6v3.js} +1 -1
  92. package/src/assets/web-panel/assets/{index-DRA35MTY.js → index-B2nqCkxx.js} +1 -1
  93. package/src/assets/web-panel/assets/{index-CLhzHIgs.js → index-B3Ja9sDO.js} +1 -1
  94. package/src/assets/web-panel/assets/{index-DKJrSY7a.js → index-B4L1oFlv.js} +1 -1
  95. package/src/assets/web-panel/assets/{index-Chu6dERk.js → index-BCJdqeDG.js} +1 -1
  96. package/src/assets/web-panel/assets/{index-BYVMCbtn.js → index-B_KT8dhv.js} +1 -1
  97. package/src/assets/web-panel/assets/{index-BsReT8kE.js → index-Bc1y36ct.js} +3 -3
  98. package/src/assets/web-panel/assets/{index-B3RhcGp2.js → index-BcqrzCOI.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-BN_GcJv-.js → index-BmieBFpM.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-BSrWChEg.js → index-BzJsjPb9.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-KyM68byr.js → index-CAZl_jZJ.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-DL-dAbq1.js → index-CNTOYZQJ.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-Dl_I2P_E.js → index-CSzLUjjZ.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-DCmaPYWj.js → index-CXFtAKWy.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-D5oDZ8S7.js → index-Ctz762df.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-li06k0zQ.js → index-D4E97124.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-BB8JlhPb.js → index-D50I92to.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-DpMZQawE.js → index-D72pZlFa.js} +1 -1
  109. package/src/assets/web-panel/assets/index-DBC8yuEG.js +1 -0
  110. package/src/assets/web-panel/assets/{index-rZfX7ufl.js → index-DD9PcRt3.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-DUPpvFG3.js → index-DDzdST6b.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-f59BFqsD.js → index-DGDKCtU2.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-BEjcGiW_.js → index-DUkg9C1d.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-CMk4reDk.js → index-DaXHhqHE.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-C4kWzHqC.js → index-DcSZkELE.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-B22DApaF.js → index-DdlzRBsd.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-9dyEaJ48.js → index-DhHsdI-s.js} +1 -1
  118. package/src/assets/web-panel/assets/{index-8RY-s8Eq.js → index-DigxhXCh.js} +1 -1
  119. package/src/assets/web-panel/assets/{index-m7gmhBks.js → index-Dk6Mp5o3.js} +1 -1
  120. package/src/assets/web-panel/assets/{index-C83TTo0Y.js → index-Dm47rSqn.js} +1 -1
  121. package/src/assets/web-panel/assets/{index-Bt8YI0Pg.js → index-DnxPhaUe.js} +1 -1
  122. package/src/assets/web-panel/assets/{index-CBE4OYiN.js → index-DpAeo8Y1.js} +1 -1
  123. package/src/assets/web-panel/assets/{index-5mAbzuWz.js → index-Dz_IGu03.js} +1 -1
  124. package/src/assets/web-panel/assets/{index-BGAoMIiF.js → index-JR5iJ3Nm.js} +1 -1
  125. package/src/assets/web-panel/assets/{index-DpqA23qT.js → index-cgs0nxzF.js} +1 -1
  126. package/src/assets/web-panel/assets/{index-0ZL7FjnB.js → index-czxh_xOe.js} +1 -1
  127. package/src/assets/web-panel/assets/index-z9Rtlw7F.js +1 -0
  128. package/src/assets/web-panel/assets/{initDefaultProps-DoRyafUY.js → initDefaultProps-DqSLMT1R.js} +1 -1
  129. package/src/assets/web-panel/assets/{motion-CXAFczEQ.js → motion-DkdJz9l-.js} +1 -1
  130. package/src/assets/web-panel/assets/{move-DNDMmkdZ.js → move-oonN7lOc.js} +1 -1
  131. package/src/assets/web-panel/assets/{omit-D2wfCEns.js → omit-BeFyiGwR.js} +1 -1
  132. package/src/assets/web-panel/assets/{pickAttrs-Dq7W_NtB.js → pickAttrs-OePKGTKF.js} +1 -1
  133. package/src/assets/web-panel/assets/{placementArrow-CkNHdTmz.js → placementArrow-CjQXhAph.js} +1 -1
  134. package/src/assets/web-panel/assets/{responsiveObserve-j6LiN9K2.js → responsiveObserve-Dmn9lUes.js} +1 -1
  135. package/src/assets/web-panel/assets/{slide-BKHHLvp8.js → slide-Dfi_sykC.js} +1 -1
  136. package/src/assets/web-panel/assets/{statusUtils-B3sdEvM3.js → statusUtils-Dl9mPVld.js} +1 -1
  137. package/src/assets/web-panel/assets/{styleChecker-g4UCWzKN.js → styleChecker-D3ay9a4W.js} +1 -1
  138. package/src/assets/web-panel/assets/{useFlexGapSupport-D_0KlvEp.js → useFlexGapSupport-D07_5fY3.js} +1 -1
  139. package/src/assets/web-panel/assets/{useFs-ePxeifdP.js → useFs-D3axlil7.js} +1 -1
  140. package/src/assets/web-panel/assets/{usePersonalDataHub-4JoLBqJY.js → usePersonalDataHub-CR53u77i.js} +1 -1
  141. package/src/assets/web-panel/assets/{vnode-na-HJjyy.js → vnode-DNOIJ4an.js} +1 -1
  142. package/src/assets/web-panel/assets/{zoom-Wmkm0KcD.js → zoom-MIAkyImQ.js} +1 -1
  143. package/src/assets/web-panel/index.html +1 -1
  144. package/src/commands/doctor.js +15 -0
  145. package/src/commands/note.js +13 -10
  146. package/src/lib/instinct-manager.js +8 -2
  147. package/src/lib/memory-manager.js +7 -3
  148. package/src/lib/sql-like.js +23 -0
  149. package/src/lib/update-notice.js +34 -10
  150. package/src/lib/version-skew.js +29 -0
  151. package/src/repl/agent-repl.js +23 -9
  152. package/src/runtime/diagnostics.js +23 -1
  153. package/src/assets/web-panel/assets/ChatBubbleRenderer-B-1BKOW2.js +0 -1
  154. package/src/assets/web-panel/assets/Projects-DsJd6uTW.js +0 -1
  155. package/src/assets/web-panel/assets/devWarning-CQxKChUH.js +0 -1
  156. package/src/assets/web-panel/assets/index-DBA6F-Kp.js +0 -1
  157. package/src/assets/web-panel/assets/index-ffyvqxd5.js +0 -1
@@ -1 +1 @@
1
- import{h as i}from"./index-BsReT8kE.js";const L=(e,o,t,n,p)=>{const r=e/2,a=0,s=r,m=t*1/Math.sqrt(2),h=r-t*(1-1/Math.sqrt(2)),b=r-o*(1/Math.sqrt(2)),u=t*(Math.sqrt(2)-1)+o*(1/Math.sqrt(2)),g=2*r-b,w=u,d=2*r-m,c=h,A=2*r-a,x=s,v=r*Math.sqrt(2)+t*(Math.sqrt(2)-2),$=t*(Math.sqrt(2)-1);return{pointerEvents:"none",width:e,height:e,overflow:"hidden","&::after":{content:'""',position:"absolute",width:v,height:v,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${o}px 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:p,zIndex:0,background:"transparent"},"&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:e,height:e/2,background:n,clipPath:{_multi_value_:!0,value:[`polygon(${$}px 100%, 50% ${$}px, ${2*r-$}px 100%, ${$}px 100%)`,`path('M ${a} ${s} A ${t} ${t} 0 0 0 ${m} ${h} L ${b} ${u} A ${o} ${o} 0 0 1 ${g} ${w} L ${d} ${c} A ${t} ${t} 0 0 0 ${A} ${x} Z')`]},content:'""'}}},f={adjustX:1,adjustY:1},l=[0,0],j={left:{points:["cr","cl"],overflow:f,offset:[-4,0],targetOffset:l},right:{points:["cl","cr"],overflow:f,offset:[4,0],targetOffset:l},top:{points:["bc","tc"],overflow:f,offset:[0,-4],targetOffset:l},bottom:{points:["tc","bc"],overflow:f,offset:[0,4],targetOffset:l},topLeft:{points:["bl","tl"],overflow:f,offset:[0,-4],targetOffset:l},leftTop:{points:["tr","tl"],overflow:f,offset:[-4,0],targetOffset:l},topRight:{points:["br","tr"],overflow:f,offset:[0,-4],targetOffset:l},rightTop:{points:["tl","tr"],overflow:f,offset:[4,0],targetOffset:l},bottomRight:{points:["tr","br"],overflow:f,offset:[0,4],targetOffset:l},rightBottom:{points:["bl","br"],overflow:f,offset:[4,0],targetOffset:l},bottomLeft:{points:["tl","bl"],overflow:f,offset:[0,4],targetOffset:l},leftBottom:{points:["br","bl"],overflow:f,offset:[-4,0],targetOffset:l}},M={adjustX:1,adjustY:1},O={adjustX:0,adjustY:0},T=[0,0];function k(e){return typeof e=="boolean"?e?M:O:i(i({},O),e)}function Y(e){const{arrowWidth:o=4,horizontalArrowShift:t=16,verticalArrowShift:n=8,autoAdjustOverflow:p,arrowPointAtCenter:r}=e,a={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(t+o),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(n+o)]},topRight:{points:["br","tc"],offset:[t+o,-4]},rightTop:{points:["tl","cr"],offset:[4,-(n+o)]},bottomRight:{points:["tr","bc"],offset:[t+o,4]},rightBottom:{points:["bl","cr"],offset:[4,n+o]},bottomLeft:{points:["tl","bc"],offset:[-(t+o),4]},leftBottom:{points:["br","cl"],offset:[-4,n+o]}};return Object.keys(a).forEach(s=>{a[s]=r?i(i({},a[s]),{overflow:k(p),targetOffset:T}):i(i({},j[s]),{overflow:k(p)}),a[s].ignoreShake=!0}),a}function _(e){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return e.map(t=>`${o}${t}`).join(",")}const X=8;function B(e){const o=X,{sizePopupArrow:t,contentRadius:n,borderRadiusOuter:p,limitVerticalRadius:r}=e,a=t/2-Math.ceil(p*(Math.sqrt(2)-1)),s=(n>12?n+2:12)-a,m=r?o-a:s;return{dropdownArrowOffset:s,dropdownArrowOffsetVertical:m}}function q(e,o){const{componentCls:t,sizePopupArrow:n,marginXXS:p,borderRadiusXS:r,borderRadiusOuter:a,boxShadowPopoverArrow:s}=e,{colorBg:m,showArrowCls:h,contentRadius:b=e.borderRadiusLG,limitVerticalRadius:u}=o,{dropdownArrowOffsetVertical:g,dropdownArrowOffset:w}=B({sizePopupArrow:n,contentRadius:b,borderRadiusOuter:a,limitVerticalRadius:u}),d=n/2+p;return{[t]:{[`${t}-arrow`]:[i(i({position:"absolute",zIndex:1,display:"block"},L(n,r,a,m,s)),{"&:before":{background:m}})],[[`&-placement-top ${t}-arrow`,`&-placement-topLeft ${t}-arrow`,`&-placement-topRight ${t}-arrow`].join(",")]:{bottom:0,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-topRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-bottom ${t}-arrow`,`&-placement-bottomLeft ${t}-arrow`,`&-placement-bottomRight ${t}-arrow`].join(",")]:{top:0,transform:"translateY(-100%)"},[`&-placement-bottom ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-bottomRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-left ${t}-arrow`,`&-placement-leftTop ${t}-arrow`,`&-placement-leftBottom ${t}-arrow`].join(",")]:{right:{_skip_check_:!0,value:0},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop ${t}-arrow`]:{top:g},[`&-placement-leftBottom ${t}-arrow`]:{bottom:g},[[`&-placement-right ${t}-arrow`,`&-placement-rightTop ${t}-arrow`,`&-placement-rightBottom ${t}-arrow`].join(",")]:{left:{_skip_check_:!0,value:0},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop ${t}-arrow`]:{top:g},[`&-placement-rightBottom ${t}-arrow`]:{bottom:g},[_(["&-placement-topLeft","&-placement-top","&-placement-topRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingBottom:d},[_(["&-placement-bottomLeft","&-placement-bottom","&-placement-bottomRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingTop:d},[_(["&-placement-leftTop","&-placement-left","&-placement-leftBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingRight:{_skip_check_:!0,value:d}},[_(["&-placement-rightTop","&-placement-right","&-placement-rightBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingLeft:{_skip_check_:!0,value:d}}}}}export{X as M,Y as a,B as b,q as g,j as p,L as r};
1
+ import{h as i}from"./index-Bc1y36ct.js";const L=(e,o,t,n,p)=>{const r=e/2,a=0,s=r,m=t*1/Math.sqrt(2),h=r-t*(1-1/Math.sqrt(2)),b=r-o*(1/Math.sqrt(2)),u=t*(Math.sqrt(2)-1)+o*(1/Math.sqrt(2)),g=2*r-b,w=u,d=2*r-m,c=h,A=2*r-a,x=s,v=r*Math.sqrt(2)+t*(Math.sqrt(2)-2),$=t*(Math.sqrt(2)-1);return{pointerEvents:"none",width:e,height:e,overflow:"hidden","&::after":{content:'""',position:"absolute",width:v,height:v,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${o}px 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:p,zIndex:0,background:"transparent"},"&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:e,height:e/2,background:n,clipPath:{_multi_value_:!0,value:[`polygon(${$}px 100%, 50% ${$}px, ${2*r-$}px 100%, ${$}px 100%)`,`path('M ${a} ${s} A ${t} ${t} 0 0 0 ${m} ${h} L ${b} ${u} A ${o} ${o} 0 0 1 ${g} ${w} L ${d} ${c} A ${t} ${t} 0 0 0 ${A} ${x} Z')`]},content:'""'}}},f={adjustX:1,adjustY:1},l=[0,0],j={left:{points:["cr","cl"],overflow:f,offset:[-4,0],targetOffset:l},right:{points:["cl","cr"],overflow:f,offset:[4,0],targetOffset:l},top:{points:["bc","tc"],overflow:f,offset:[0,-4],targetOffset:l},bottom:{points:["tc","bc"],overflow:f,offset:[0,4],targetOffset:l},topLeft:{points:["bl","tl"],overflow:f,offset:[0,-4],targetOffset:l},leftTop:{points:["tr","tl"],overflow:f,offset:[-4,0],targetOffset:l},topRight:{points:["br","tr"],overflow:f,offset:[0,-4],targetOffset:l},rightTop:{points:["tl","tr"],overflow:f,offset:[4,0],targetOffset:l},bottomRight:{points:["tr","br"],overflow:f,offset:[0,4],targetOffset:l},rightBottom:{points:["bl","br"],overflow:f,offset:[4,0],targetOffset:l},bottomLeft:{points:["tl","bl"],overflow:f,offset:[0,4],targetOffset:l},leftBottom:{points:["br","bl"],overflow:f,offset:[-4,0],targetOffset:l}},M={adjustX:1,adjustY:1},O={adjustX:0,adjustY:0},T=[0,0];function k(e){return typeof e=="boolean"?e?M:O:i(i({},O),e)}function Y(e){const{arrowWidth:o=4,horizontalArrowShift:t=16,verticalArrowShift:n=8,autoAdjustOverflow:p,arrowPointAtCenter:r}=e,a={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(t+o),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(n+o)]},topRight:{points:["br","tc"],offset:[t+o,-4]},rightTop:{points:["tl","cr"],offset:[4,-(n+o)]},bottomRight:{points:["tr","bc"],offset:[t+o,4]},rightBottom:{points:["bl","cr"],offset:[4,n+o]},bottomLeft:{points:["tl","bc"],offset:[-(t+o),4]},leftBottom:{points:["br","cl"],offset:[-4,n+o]}};return Object.keys(a).forEach(s=>{a[s]=r?i(i({},a[s]),{overflow:k(p),targetOffset:T}):i(i({},j[s]),{overflow:k(p)}),a[s].ignoreShake=!0}),a}function _(e){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return e.map(t=>`${o}${t}`).join(",")}const X=8;function B(e){const o=X,{sizePopupArrow:t,contentRadius:n,borderRadiusOuter:p,limitVerticalRadius:r}=e,a=t/2-Math.ceil(p*(Math.sqrt(2)-1)),s=(n>12?n+2:12)-a,m=r?o-a:s;return{dropdownArrowOffset:s,dropdownArrowOffsetVertical:m}}function q(e,o){const{componentCls:t,sizePopupArrow:n,marginXXS:p,borderRadiusXS:r,borderRadiusOuter:a,boxShadowPopoverArrow:s}=e,{colorBg:m,showArrowCls:h,contentRadius:b=e.borderRadiusLG,limitVerticalRadius:u}=o,{dropdownArrowOffsetVertical:g,dropdownArrowOffset:w}=B({sizePopupArrow:n,contentRadius:b,borderRadiusOuter:a,limitVerticalRadius:u}),d=n/2+p;return{[t]:{[`${t}-arrow`]:[i(i({position:"absolute",zIndex:1,display:"block"},L(n,r,a,m,s)),{"&:before":{background:m}})],[[`&-placement-top ${t}-arrow`,`&-placement-topLeft ${t}-arrow`,`&-placement-topRight ${t}-arrow`].join(",")]:{bottom:0,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-topRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-bottom ${t}-arrow`,`&-placement-bottomLeft ${t}-arrow`,`&-placement-bottomRight ${t}-arrow`].join(",")]:{top:0,transform:"translateY(-100%)"},[`&-placement-bottom ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-bottomRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-left ${t}-arrow`,`&-placement-leftTop ${t}-arrow`,`&-placement-leftBottom ${t}-arrow`].join(",")]:{right:{_skip_check_:!0,value:0},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop ${t}-arrow`]:{top:g},[`&-placement-leftBottom ${t}-arrow`]:{bottom:g},[[`&-placement-right ${t}-arrow`,`&-placement-rightTop ${t}-arrow`,`&-placement-rightBottom ${t}-arrow`].join(",")]:{left:{_skip_check_:!0,value:0},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop ${t}-arrow`]:{top:g},[`&-placement-rightBottom ${t}-arrow`]:{bottom:g},[_(["&-placement-topLeft","&-placement-top","&-placement-topRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingBottom:d},[_(["&-placement-bottomLeft","&-placement-bottom","&-placement-bottomRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingTop:d},[_(["&-placement-leftTop","&-placement-left","&-placement-leftBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingRight:{_skip_check_:!0,value:d}},[_(["&-placement-rightTop","&-placement-right","&-placement-rightBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingLeft:{_skip_check_:!0,value:d}}}}}export{X as M,Y as a,B as b,q as g,j as p,L as r};
@@ -1 +1 @@
1
- import{I as o,h}from"./index-BsReT8kE.js";import{b as x}from"./vendor-BvqAck49.js";const v=["xxxl","xxl","xl","lg","md","sm","xs"],p=r=>({xs:`(max-width: ${r.screenXSMax}px)`,sm:`(min-width: ${r.screenSM}px)`,md:`(min-width: ${r.screenMD}px)`,lg:`(min-width: ${r.screenLG}px)`,xl:`(min-width: ${r.screenXL}px)`,xxl:`(min-width: ${r.screenXXL}px)`,xxxl:`{min-width: ${r.screenXXXL}px}`});function w(){const[,r]=o();return x(()=>{const n=p(r.value),i=new Map;let a=-1,c={};return{matchHandlers:{},dispatch(e){return c=e,i.forEach(t=>t(c)),i.size>=1},subscribe(e){return i.size||this.register(),a+=1,i.set(a,e),e(c),a},unsubscribe(e){i.delete(e),i.size||this.unregister()},unregister(){Object.keys(n).forEach(e=>{const t=n[e],s=this.matchHandlers[t];s?.mql.removeListener(s?.listener)}),i.clear()},register(){Object.keys(n).forEach(e=>{const t=n[e],s=l=>{let{matches:m}=l;this.dispatch(h(h({},c),{[e]:m}))},d=window.matchMedia(t);d.addListener(s),this.matchHandlers[t]={mql:d,listener:s},s(d)})},responsiveMap:n}})}export{v as r,w as u};
1
+ import{I as o,h}from"./index-Bc1y36ct.js";import{b as x}from"./vendor-BvqAck49.js";const v=["xxxl","xxl","xl","lg","md","sm","xs"],p=r=>({xs:`(max-width: ${r.screenXSMax}px)`,sm:`(min-width: ${r.screenSM}px)`,md:`(min-width: ${r.screenMD}px)`,lg:`(min-width: ${r.screenLG}px)`,xl:`(min-width: ${r.screenXL}px)`,xxl:`(min-width: ${r.screenXXL}px)`,xxxl:`{min-width: ${r.screenXXXL}px}`});function w(){const[,r]=o();return x(()=>{const n=p(r.value),i=new Map;let a=-1,c={};return{matchHandlers:{},dispatch(e){return c=e,i.forEach(t=>t(c)),i.size>=1},subscribe(e){return i.size||this.register(),a+=1,i.set(a,e),e(c),a},unsubscribe(e){i.delete(e),i.size||this.unregister()},unregister(){Object.keys(n).forEach(e=>{const t=n[e],s=this.matchHandlers[t];s?.mql.removeListener(s?.listener)}),i.clear()},register(){Object.keys(n).forEach(e=>{const t=n[e],s=l=>{let{matches:m}=l;this.dispatch(h(h({},c),{[e]:m}))},d=window.matchMedia(t);d.addListener(s),this.matchHandlers[t]={mql:d,listener:s},s(d)})},responsiveMap:n}})}export{v as r,w as u};
@@ -1,4 +1,4 @@
1
- import{K as n}from"./index-BsReT8kE.js";import{i as e}from"./motion-CXAFczEQ.js";const m=new n("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),f=new n("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),c=new n("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),l=new n("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),y=new n("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),p=new n("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),O=new n("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),d=new n("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),g={"slide-up":{inKeyframes:m,outKeyframes:f},"slide-down":{inKeyframes:c,outKeyframes:l},"slide-left":{inKeyframes:y,outKeyframes:p},"slide-right":{inKeyframes:O,outKeyframes:d}},K=(t,r)=>{const{antCls:a}=t,i=`${a}-${r}`,{inKeyframes:s,outKeyframes:o}=g[r];return[e(i,s,o,t.motionDurationMid),{[`
1
+ import{K as n}from"./index-Bc1y36ct.js";import{i as e}from"./motion-DkdJz9l-.js";const m=new n("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),f=new n("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),c=new n("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),l=new n("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),y=new n("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),p=new n("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),O=new n("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),d=new n("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),g={"slide-up":{inKeyframes:m,outKeyframes:f},"slide-down":{inKeyframes:c,outKeyframes:l},"slide-left":{inKeyframes:y,outKeyframes:p},"slide-right":{inKeyframes:O,outKeyframes:d}},K=(t,r)=>{const{antCls:a}=t,i=`${a}-${r}`,{inKeyframes:s,outKeyframes:o}=g[r];return[e(i,s,o,t.motionDurationMid),{[`
2
2
  ${i}-enter,
3
3
  ${i}-appear
4
4
  `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:t.motionEaseOutQuint},[`${i}-leave`]:{animationTimingFunction:t.motionEaseInQuint}}]};export{f as a,c as b,m as c,K as i,l as s};
@@ -1 +1 @@
1
- import{i as e}from"./index-BsReT8kE.js";function r(a,s,t){return e({[`${a}-status-success`]:s==="success",[`${a}-status-warning`]:s==="warning",[`${a}-status-error`]:s==="error",[`${a}-status-validating`]:s==="validating",[`${a}-has-feedback`]:t})}const c=(a,s)=>s||a;export{c as a,r as g};
1
+ import{i as e}from"./index-Bc1y36ct.js";function r(a,s,t){return e({[`${a}-status-success`]:s==="success",[`${a}-status-warning`]:s==="warning",[`${a}-status-error`]:s==="error",[`${a}-status-validating`]:s==="validating",[`${a}-has-feedback`]:t})}const c=(a,s)=>s||a;export{c as a,r as g};
@@ -1 +1 @@
1
- import{A as d}from"./index-BsReT8kE.js";const i=()=>d()&&window.document.documentElement,c=e=>{if(d()&&window.document.documentElement){const t=Array.isArray(e)?e:[e],{documentElement:n}=window.document;return t.some(r=>r in n.style)}return!1},u=(e,t)=>{if(!c(e))return!1;const n=document.createElement("div"),r=n.style[e];return n.style[e]=t,n.style[e]!==r};function s(e,t){return!Array.isArray(e)&&t!==void 0?u(e,t):c(e)}let o;const p=()=>{if(!i())return!1;if(o!==void 0)return o;const e=document.createElement("div");return e.style.display="flex",e.style.flexDirection="column",e.style.rowGap="1px",e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),document.body.appendChild(e),o=e.scrollHeight===1,document.body.removeChild(e),o};export{i as c,p as d,s as i};
1
+ import{A as d}from"./index-Bc1y36ct.js";const i=()=>d()&&window.document.documentElement,c=e=>{if(d()&&window.document.documentElement){const t=Array.isArray(e)?e:[e],{documentElement:n}=window.document;return t.some(r=>r in n.style)}return!1},u=(e,t)=>{if(!c(e))return!1;const n=document.createElement("div"),r=n.style[e];return n.style[e]=t,n.style[e]!==r};function s(e,t){return!Array.isArray(e)&&t!==void 0?u(e,t):c(e)}let o;const p=()=>{if(!i())return!1;if(o!==void 0)return o;const e=document.createElement("div");return e.style.display="flex",e.style.flexDirection="column",e.style.rowGap="1px",e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),document.body.appendChild(e),o=e.scrollHeight===1,document.body.removeChild(e),o};export{i as c,p as d,s as i};
@@ -1 +1 @@
1
- import{o,s as t}from"./vendor-BvqAck49.js";import{d as s}from"./styleChecker-g4UCWzKN.js";const r=(()=>{const e=t(!1);return o(()=>{e.value=s()}),e});export{r as u};
1
+ import{o,s as t}from"./vendor-BvqAck49.js";import{d as s}from"./styleChecker-D3ay9a4W.js";const r=(()=>{const e=t(!1);return o(()=>{e.value=s()}),e});export{r as u};
@@ -1 +1 @@
1
- import{u as d}from"./index-BsReT8kE.js";import{u as c}from"./useShellMode-CgR0wCYM.js";function u({accept:l=""}={}){return new Promise(a=>{if(typeof document>"u"){a({canceled:!0,path:null,content:null});return}const n=document.createElement("input");n.type="file",l&&(n.accept=l),n.style.display="none",document.body.appendChild(n);let o=!1;const i=()=>{n.parentNode&&n.parentNode.removeChild(n)},r=()=>{if(o)return;o=!0;const e=n.files&&n.files[0];if(!e){i(),a({canceled:!0,path:null,content:null});return}const t=new FileReader;t.onload=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:typeof t.result=="string"?t.result:""})},t.onerror=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:null,reason:"read_failed"})},t.readAsText(e)};n.addEventListener("change",r),n.click()})}function f(l,{defaultPath:a="download.txt"}={}){if(typeof document>"u")return{canceled:!0,path:null};const n=new Blob([l],{type:"text/plain"}),o=URL.createObjectURL(n),i=document.createElement("a");return i.href=o,i.download=a,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o),{canceled:!1,path:a}}function p(l){if(!Array.isArray(l))return"";const a=[];for(const n of l)if(Array.isArray(n.extensions))for(const o of n.extensions)a.push(`.${o.replace(/^\./,"")}`);return a.join(",")}function m(){const l=d();async function a(r={}){if(c().isEmbedded){const e=await l.sendRaw({type:"fs.openDialog",title:r.title,filters:r.filters},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDialog failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,content:t.content??null,size:t.size,reason:t.reason}}return u({accept:p(r.filters)})}async function n(r,e={}){if(typeof r!="string")throw new Error("content must be a string");if(c().isEmbedded){const t=await l.sendRaw({type:"fs.saveDialog",title:e.title,defaultPath:e.defaultPath,filters:e.filters,content:r},6e4);if(t&&t.ok===!1)throw new Error(t.error||"fs.saveDialog failed");const s=t?.result??t;return{canceled:!!s.canceled,path:s.path??null}}return f(r,{defaultPath:e.defaultPath})}async function o(r,e={}){const t=JSON.stringify(r,null,2),s={...e,defaultPath:e.defaultPath||"data.json",filters:e.filters||[{name:"JSON",extensions:["json"]}]};return n(t,s)}async function i(r={}){if(!c().isEmbedded)return{canceled:!0,path:null,initialized:!1,unsupported:!0};const e=await l.sendRaw({type:"fs.openDirectory",title:r.title},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDirectory failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,initialized:!!t.initialized}}return{pickFileText:a,saveText:n,saveJson:o,pickDirectory:i}}export{m as u};
1
+ import{u as d}from"./index-Bc1y36ct.js";import{u as c}from"./useShellMode-CgR0wCYM.js";function u({accept:l=""}={}){return new Promise(a=>{if(typeof document>"u"){a({canceled:!0,path:null,content:null});return}const n=document.createElement("input");n.type="file",l&&(n.accept=l),n.style.display="none",document.body.appendChild(n);let o=!1;const i=()=>{n.parentNode&&n.parentNode.removeChild(n)},r=()=>{if(o)return;o=!0;const e=n.files&&n.files[0];if(!e){i(),a({canceled:!0,path:null,content:null});return}const t=new FileReader;t.onload=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:typeof t.result=="string"?t.result:""})},t.onerror=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:null,reason:"read_failed"})},t.readAsText(e)};n.addEventListener("change",r),n.click()})}function f(l,{defaultPath:a="download.txt"}={}){if(typeof document>"u")return{canceled:!0,path:null};const n=new Blob([l],{type:"text/plain"}),o=URL.createObjectURL(n),i=document.createElement("a");return i.href=o,i.download=a,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o),{canceled:!1,path:a}}function p(l){if(!Array.isArray(l))return"";const a=[];for(const n of l)if(Array.isArray(n.extensions))for(const o of n.extensions)a.push(`.${o.replace(/^\./,"")}`);return a.join(",")}function m(){const l=d();async function a(r={}){if(c().isEmbedded){const e=await l.sendRaw({type:"fs.openDialog",title:r.title,filters:r.filters},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDialog failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,content:t.content??null,size:t.size,reason:t.reason}}return u({accept:p(r.filters)})}async function n(r,e={}){if(typeof r!="string")throw new Error("content must be a string");if(c().isEmbedded){const t=await l.sendRaw({type:"fs.saveDialog",title:e.title,defaultPath:e.defaultPath,filters:e.filters,content:r},6e4);if(t&&t.ok===!1)throw new Error(t.error||"fs.saveDialog failed");const s=t?.result??t;return{canceled:!!s.canceled,path:s.path??null}}return f(r,{defaultPath:e.defaultPath})}async function o(r,e={}){const t=JSON.stringify(r,null,2),s={...e,defaultPath:e.defaultPath||"data.json",filters:e.filters||[{name:"JSON",extensions:["json"]}]};return n(t,s)}async function i(r={}){if(!c().isEmbedded)return{canceled:!0,path:null,initialized:!1,unsupported:!0};const e=await l.sendRaw({type:"fs.openDirectory",title:r.title},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDirectory failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,initialized:!!t.initialized}}return{pickFileText:a,saveText:n,saveJson:o,pickDirectory:i}}export{m as u};
@@ -1 +1 @@
1
- import{u as f}from"./index-BsReT8kE.js";function d(n){if(!n)return n;if(n.error)throw new Error(n.error);return n.result!==void 0?n.result:n}function p(n,t,a,e,r){return typeof n.onMessage!="function"||typeof n.sendRaw!="function"?n.sendRaw({type:t,...a},r).then(d):new Promise((u,s)=>{const l=typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`,w=`${t}.event`,g=`${t}.end`;let c=!1,y=()=>{};const o=(i,b)=>{if(!c){c=!0,clearTimeout(m);try{y()}catch{}i(b)}},m=setTimeout(()=>{o(s,new Error(`stream timeout (${r}ms): ${t}`))},r),h=n.onMessage(i=>{if(!(c||!i)&&!(i.id!==l&&i.requestId!==l)){if(i.type===w){if(typeof e=="function")try{e(i.event||i)}catch{}return}if(i.type===g){o(u,d(i));return}i.type==="error"&&o(s,new Error(i.message||"stream error"))}});y=typeof h=="function"?h:()=>{},Promise.resolve(n.sendRaw({id:l,type:t,...a},r)).catch(()=>{})})}function D(){const n=f(),t=(a,e={},r=3e4)=>n.sendRaw({type:a,...e},r).then(d);return{async health(){return await t("personal-data-hub.health",{},8e3)},async stats(){return await t("personal-data-hub.stats",{},8e3)},async listAdapters(){return await t("personal-data-hub.list-adapters",{},5e3)},async pickFile(a={}){try{const e=await n.sendRaw({type:"fs.openDialog",title:a.title,filters:a.filters},6e4),r=e&&e.result!==void 0?e.result:e;return r&&r.ok&&typeof r.filePath=="string"?r.filePath:null}catch{return null}},async adapterReadiness(a){return await t("personal-data-hub.adapter-readiness",Number.isInteger(a)?{timeoutMs:a}:{},15e3)},async syncAdapter(a,e={}){return await t("personal-data-hub.sync-adapter",{name:a,options:e},12e4)},async syncAll(a={}){return await t("personal-data-hub.sync-all",{options:a},6e5)},async registerMock({name:a="mock",count:e=20,seed:r=1}={}){return await t("personal-data-hub.register-mock",{name:a,count:e,seed:r})},async unregister(a){return await t("personal-data-hub.unregister",{name:a})},async ask(a,e={}){return await t("personal-data-hub.ask",{question:a,options:e},18e4)},async queryEvents(a={}){return await t("personal-data-hub.query-events",a,1e4)},async recentAudit(a={}){return await t("personal-data-hub.recent-audit",a,1e4)},async searchEvents(a={}){return await t("personal-data-hub.search-events",a,15e3)},async facetCounts(a={}){return await t("personal-data-hub.facet-counts",a,1e4)},async testEmailAuth(a){return await t("personal-data-hub.test-email-auth",{account:a},3e4)},async registerEmail(a,e={}){return await t("personal-data-hub.register-email",{account:a,opts:e},15e3)},async unregisterEmail(a){return await t("personal-data-hub.unregister-email",{email:a},5e3)},async listEmailAccounts(){return await t("personal-data-hub.list-email-accounts",{},5e3)},async eventDetail(a){return await t("personal-data-hub.event-detail",{eventId:a},5e3)},async syncAdapterStream(a,e={},r){return await p(n,"personal-data-hub.sync-adapter-stream",{name:a,options:e},r,6e5)},async syncAllStream(a={},e){return await p(n,"personal-data-hub.sync-all-stream",{options:a},e,9e5)},async registerAlipay(a,e={}){return await t("personal-data-hub.register-alipay",{account:a,opts:e},15e3)},async unregisterAlipay(a){return await t("personal-data-hub.unregister-alipay",{email:a},5e3)},async listAlipayAccounts(){return await t("personal-data-hub.list-alipay-accounts",{},5e3)},async importAlipayBill({zipPath:a,csvPath:e,zipPassword:r}={}){return await t("personal-data-hub.import-alipay-bill",{zipPath:a,csvPath:e,zipPassword:r},3e5)},async reviewQueueList(a=50){return await t("personal-data-hub.review-queue-list",{limit:a},5e3)},async reviewDecision(a,e){return await t("personal-data-hub.review-decision",{reviewId:a,decision:e},5e3)},async manualMerge(a,e){return await t("personal-data-hub.manual-merge",{aId:a,bId:e},5e3)},async manualUnmerge(a){return await t("personal-data-hub.manual-unmerge",{personId:a},5e3)},async resolverDrain(a=50){return await t("personal-data-hub.resolver-drain",{limit:a},18e4)},async resolverStats(){return await t("personal-data-hub.resolver-stats",{},5e3)},async skillsList(){return await t("personal-data-hub.skills-list",{},5e3)},async runSkill(a,e={}){return await t("personal-data-hub.run-skill",{name:a,options:e},12e4)},async openAichatLogin(a,e={}){return await t("personal-data-hub.aichat-open-login",{vendor:a,opts:e},1e4)},async probeAichatCookies(a,e){return await t("personal-data-hub.aichat-probe-cookies",{vendor:a,cookieHeader:e},1e4)},async registerAichatVendor(a,e,r={}){return await t("personal-data-hub.aichat-register-vendor",{vendor:a,cookies:e,opts:r},3e4)},async rotateAichatLogin(a){return await t("personal-data-hub.aichat-rotate-login",{vendor:a},1e4)},async listAichatAccounts(){return await t("personal-data-hub.list-aichat-accounts",{},5e3)},async unregisterAichat(a){return await t("personal-data-hub.unregister-aichat",{vendor:a},5e3)},async aichatHealthCheckOnce(){return await t("personal-data-hub.aichat-health-check-once",{},3e4)},async probeWechatEnv(){return await t("personal-data-hub.wechat-env-probe",{},15e3)},async registerWechat({account:a,dbPath:e,wechatDataPath:r,fridaOpts:u,keyProviderOverride:s}={}){return await t("personal-data-hub.register-wechat",{account:a,dbPath:e,wechatDataPath:r,fridaOpts:u,keyProviderOverride:s},45e3)},async listWechatAccounts(){return await t("personal-data-hub.list-wechat-accounts",{},5e3)},async unregisterWechat(a){return await t("personal-data-hub.unregister-wechat",{uin:a},5e3)},async bilibiliAdbSync(a={}){return await t("personal-data-hub.bilibili-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bilibiliAdbDoctor(){return await t("personal-data-hub.bilibili-adb-doctor",{},15e3)},async weiboAdbSync(a={}){return await t("personal-data-hub.weibo-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async xhsAdbSync(a={}){return await t("personal-data-hub.xhs-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async toutiaoAdbSync(a={}){return await t("personal-data-hub.toutiao-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},9e4)},async kuaishouAdbSync(a={}){return await t("personal-data-hub.kuaishou-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bridgeDoctor(){return await t("personal-data-hub.bridge-doctor",{},6e4)},async douyinAdbSync(a={}){return await t("personal-data-hub.douyin-adb-sync",{uid:a.uid,limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)}}}export{D as u};
1
+ import{u as f}from"./index-Bc1y36ct.js";function d(n){if(!n)return n;if(n.error)throw new Error(n.error);return n.result!==void 0?n.result:n}function p(n,t,a,e,r){return typeof n.onMessage!="function"||typeof n.sendRaw!="function"?n.sendRaw({type:t,...a},r).then(d):new Promise((u,s)=>{const l=typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`,w=`${t}.event`,g=`${t}.end`;let c=!1,y=()=>{};const o=(i,b)=>{if(!c){c=!0,clearTimeout(m);try{y()}catch{}i(b)}},m=setTimeout(()=>{o(s,new Error(`stream timeout (${r}ms): ${t}`))},r),h=n.onMessage(i=>{if(!(c||!i)&&!(i.id!==l&&i.requestId!==l)){if(i.type===w){if(typeof e=="function")try{e(i.event||i)}catch{}return}if(i.type===g){o(u,d(i));return}i.type==="error"&&o(s,new Error(i.message||"stream error"))}});y=typeof h=="function"?h:()=>{},Promise.resolve(n.sendRaw({id:l,type:t,...a},r)).catch(()=>{})})}function D(){const n=f(),t=(a,e={},r=3e4)=>n.sendRaw({type:a,...e},r).then(d);return{async health(){return await t("personal-data-hub.health",{},8e3)},async stats(){return await t("personal-data-hub.stats",{},8e3)},async listAdapters(){return await t("personal-data-hub.list-adapters",{},5e3)},async pickFile(a={}){try{const e=await n.sendRaw({type:"fs.openDialog",title:a.title,filters:a.filters},6e4),r=e&&e.result!==void 0?e.result:e;return r&&r.ok&&typeof r.filePath=="string"?r.filePath:null}catch{return null}},async adapterReadiness(a){return await t("personal-data-hub.adapter-readiness",Number.isInteger(a)?{timeoutMs:a}:{},15e3)},async syncAdapter(a,e={}){return await t("personal-data-hub.sync-adapter",{name:a,options:e},12e4)},async syncAll(a={}){return await t("personal-data-hub.sync-all",{options:a},6e5)},async registerMock({name:a="mock",count:e=20,seed:r=1}={}){return await t("personal-data-hub.register-mock",{name:a,count:e,seed:r})},async unregister(a){return await t("personal-data-hub.unregister",{name:a})},async ask(a,e={}){return await t("personal-data-hub.ask",{question:a,options:e},18e4)},async queryEvents(a={}){return await t("personal-data-hub.query-events",a,1e4)},async recentAudit(a={}){return await t("personal-data-hub.recent-audit",a,1e4)},async searchEvents(a={}){return await t("personal-data-hub.search-events",a,15e3)},async facetCounts(a={}){return await t("personal-data-hub.facet-counts",a,1e4)},async testEmailAuth(a){return await t("personal-data-hub.test-email-auth",{account:a},3e4)},async registerEmail(a,e={}){return await t("personal-data-hub.register-email",{account:a,opts:e},15e3)},async unregisterEmail(a){return await t("personal-data-hub.unregister-email",{email:a},5e3)},async listEmailAccounts(){return await t("personal-data-hub.list-email-accounts",{},5e3)},async eventDetail(a){return await t("personal-data-hub.event-detail",{eventId:a},5e3)},async syncAdapterStream(a,e={},r){return await p(n,"personal-data-hub.sync-adapter-stream",{name:a,options:e},r,6e5)},async syncAllStream(a={},e){return await p(n,"personal-data-hub.sync-all-stream",{options:a},e,9e5)},async registerAlipay(a,e={}){return await t("personal-data-hub.register-alipay",{account:a,opts:e},15e3)},async unregisterAlipay(a){return await t("personal-data-hub.unregister-alipay",{email:a},5e3)},async listAlipayAccounts(){return await t("personal-data-hub.list-alipay-accounts",{},5e3)},async importAlipayBill({zipPath:a,csvPath:e,zipPassword:r}={}){return await t("personal-data-hub.import-alipay-bill",{zipPath:a,csvPath:e,zipPassword:r},3e5)},async reviewQueueList(a=50){return await t("personal-data-hub.review-queue-list",{limit:a},5e3)},async reviewDecision(a,e){return await t("personal-data-hub.review-decision",{reviewId:a,decision:e},5e3)},async manualMerge(a,e){return await t("personal-data-hub.manual-merge",{aId:a,bId:e},5e3)},async manualUnmerge(a){return await t("personal-data-hub.manual-unmerge",{personId:a},5e3)},async resolverDrain(a=50){return await t("personal-data-hub.resolver-drain",{limit:a},18e4)},async resolverStats(){return await t("personal-data-hub.resolver-stats",{},5e3)},async skillsList(){return await t("personal-data-hub.skills-list",{},5e3)},async runSkill(a,e={}){return await t("personal-data-hub.run-skill",{name:a,options:e},12e4)},async openAichatLogin(a,e={}){return await t("personal-data-hub.aichat-open-login",{vendor:a,opts:e},1e4)},async probeAichatCookies(a,e){return await t("personal-data-hub.aichat-probe-cookies",{vendor:a,cookieHeader:e},1e4)},async registerAichatVendor(a,e,r={}){return await t("personal-data-hub.aichat-register-vendor",{vendor:a,cookies:e,opts:r},3e4)},async rotateAichatLogin(a){return await t("personal-data-hub.aichat-rotate-login",{vendor:a},1e4)},async listAichatAccounts(){return await t("personal-data-hub.list-aichat-accounts",{},5e3)},async unregisterAichat(a){return await t("personal-data-hub.unregister-aichat",{vendor:a},5e3)},async aichatHealthCheckOnce(){return await t("personal-data-hub.aichat-health-check-once",{},3e4)},async probeWechatEnv(){return await t("personal-data-hub.wechat-env-probe",{},15e3)},async registerWechat({account:a,dbPath:e,wechatDataPath:r,fridaOpts:u,keyProviderOverride:s}={}){return await t("personal-data-hub.register-wechat",{account:a,dbPath:e,wechatDataPath:r,fridaOpts:u,keyProviderOverride:s},45e3)},async listWechatAccounts(){return await t("personal-data-hub.list-wechat-accounts",{},5e3)},async unregisterWechat(a){return await t("personal-data-hub.unregister-wechat",{uin:a},5e3)},async bilibiliAdbSync(a={}){return await t("personal-data-hub.bilibili-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bilibiliAdbDoctor(){return await t("personal-data-hub.bilibili-adb-doctor",{},15e3)},async weiboAdbSync(a={}){return await t("personal-data-hub.weibo-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async xhsAdbSync(a={}){return await t("personal-data-hub.xhs-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async toutiaoAdbSync(a={}){return await t("personal-data-hub.toutiao-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},9e4)},async kuaishouAdbSync(a={}){return await t("personal-data-hub.kuaishou-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bridgeDoctor(){return await t("personal-data-hub.bridge-doctor",{},6e4)},async douyinAdbSync(a={}){return await t("personal-data-hub.douyin-adb-sync",{uid:a.uid,limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)}}}export{D as u};
@@ -1 +1 @@
1
- import{M as i,h as a,w as l}from"./index-BsReT8kE.js";import{a7 as o,k as g,C as d,F as f,A as p}from"./vendor-BvqAck49.js";function c(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,u=e;if(Array.isArray(e)&&(u=i(e)[0]),!u)return null;const n=o(u,r,s);return n.props=t?a(a({},n.props),r):n.props,l(typeof n.props.class!="object","class must be string"),n}function v(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e.map(s=>c(s,r,t))}function N(e,r,t){p(o(e,a({},r)),t)}const m=e=>(e||[]).some(r=>g(r)?!(r.type===d||r.type===f&&!m(r.children)):!0)?e:null;function h(e,r,t,s){var u;const n=(u=e[r])===null||u===void 0?void 0:u.call(e,t);return m(n)?n:s?.()}export{h as a,v as b,c,N as t};
1
+ import{M as i,h as a,w as l}from"./index-Bc1y36ct.js";import{a7 as o,k as g,C as d,F as f,A as p}from"./vendor-BvqAck49.js";function c(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,u=e;if(Array.isArray(e)&&(u=i(e)[0]),!u)return null;const n=o(u,r,s);return n.props=t?a(a({},n.props),r):n.props,l(typeof n.props.class!="object","class must be string"),n}function v(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e.map(s=>c(s,r,t))}function N(e,r,t){p(o(e,a({},r)),t)}const m=e=>(e||[]).some(r=>g(r)?!(r.type===d||r.type===f&&!m(r.children)):!0)?e:null;function h(e,r,t,s){var u;const n=(u=e[r])===null||u===void 0?void 0:u.call(e,t);return m(n)?n:s?.()}export{h as a,v as b,c,N as t};
@@ -1,4 +1,4 @@
1
- import{K as o}from"./index-BsReT8kE.js";import{i as f}from"./motion-CXAFczEQ.js";const c=new o("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),y=new o("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),a=new o("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),s=new o("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),g=new o("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),O=new o("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),l=new o("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),u=new o("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),p=new o("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),z=new o("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),K=new o("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),w=new o("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),I={zoom:{inKeyframes:c,outKeyframes:y},"zoom-big":{inKeyframes:a,outKeyframes:s},"zoom-big-fast":{inKeyframes:a,outKeyframes:s},"zoom-left":{inKeyframes:l,outKeyframes:u},"zoom-right":{inKeyframes:p,outKeyframes:z},"zoom-up":{inKeyframes:g,outKeyframes:O},"zoom-down":{inKeyframes:K,outKeyframes:w}},h=(n,r)=>{const{antCls:m}=n,t=`${m}-${r}`,{inKeyframes:i,outKeyframes:e}=I[r];return[f(t,i,e,r==="zoom-big-fast"?n.motionDurationFast:n.motionDurationMid),{[`
1
+ import{K as o}from"./index-Bc1y36ct.js";import{i as f}from"./motion-DkdJz9l-.js";const c=new o("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),y=new o("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),a=new o("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),s=new o("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),g=new o("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),O=new o("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),l=new o("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),u=new o("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),p=new o("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),z=new o("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),K=new o("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),w=new o("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),I={zoom:{inKeyframes:c,outKeyframes:y},"zoom-big":{inKeyframes:a,outKeyframes:s},"zoom-big-fast":{inKeyframes:a,outKeyframes:s},"zoom-left":{inKeyframes:l,outKeyframes:u},"zoom-right":{inKeyframes:p,outKeyframes:z},"zoom-up":{inKeyframes:g,outKeyframes:O},"zoom-down":{inKeyframes:K,outKeyframes:w}},h=(n,r)=>{const{antCls:m}=n,t=`${m}-${r}`,{inKeyframes:i,outKeyframes:e}=I[r];return[f(t,i,e,r==="zoom-big-fast"?n.motionDurationFast:n.motionDurationMid),{[`
2
2
  ${t}-enter,
3
3
  ${t}-appear
4
4
  `]:{transform:"scale(0)",opacity:0,animationTimingFunction:n.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${t}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};export{h as i,c as z};
@@ -8,7 +8,7 @@
8
8
  // Injected by web-ui-server.js at serve time
9
9
  window.__CC_CONFIG__ = __CC_CONFIG_PLACEHOLDER__;
10
10
  </script>
11
- <script type="module" crossorigin src="./assets/index-BsReT8kE.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-Bc1y36ct.js"></script>
12
12
  <link rel="modulepreload" crossorigin href="./assets/vendor-BvqAck49.js">
13
13
  <link rel="modulepreload" crossorigin href="./assets/icons-DP3uiYxy.js">
14
14
  <link rel="stylesheet" crossorigin href="./assets/index-Cq93VfoF.css">
@@ -20,6 +20,21 @@ export function registerDoctorCommand(program) {
20
20
 
21
21
  logger.log(chalk.bold("\n ChainlessChain Doctor\n"));
22
22
 
23
+ // Version: running (this process) · installed (on disk) · latest (npm).
24
+ const vc = report.versionCheck;
25
+ if (vc) {
26
+ const icon =
27
+ vc.status === "current" ? chalk.green("✔") : chalk.yellow("⚠");
28
+ logger.log(
29
+ ` ${icon} cc version: running ${vc.running || "?"} · installed ${
30
+ vc.installed || "?"
31
+ } · latest ${vc.latest || "?"}`,
32
+ );
33
+ if (vc.status !== "current") {
34
+ logger.log(chalk.yellow(` ${vc.message}`));
35
+ }
36
+ }
37
+
23
38
  for (const check of report.checks) {
24
39
  const icon = check.ok ? chalk.green("✔") : chalk.red("✖");
25
40
  const detail = check.detail ? chalk.gray(` (${check.detail})`) : "";
@@ -7,6 +7,7 @@ import chalk from "chalk";
7
7
  import { numericOption } from "../lib/cli-numeric.js";
8
8
  import { logger } from "../lib/logger.js";
9
9
  import { bootstrap, shutdown } from "../runtime/bootstrap.js";
10
+ import { likePrefix } from "../lib/sql-like.js";
10
11
  import {
11
12
  ensureVersionsTable,
12
13
  saveVersion,
@@ -237,8 +238,10 @@ export function registerNoteCommand(program) {
237
238
  ensureNotesTable(rawDb);
238
239
 
239
240
  const note = rawDb
240
- .prepare("SELECT * FROM notes WHERE id LIKE ? AND deleted_at IS NULL")
241
- .get(`${id}%`);
241
+ .prepare(
242
+ "SELECT * FROM notes WHERE id LIKE ? ESCAPE '\\' AND deleted_at IS NULL",
243
+ )
244
+ .get(likePrefix(id));
242
245
 
243
246
  if (!note) {
244
247
  logger.error(`Note not found: ${id}`);
@@ -335,9 +338,9 @@ export function registerNoteCommand(program) {
335
338
 
336
339
  const note = rawDb
337
340
  .prepare(
338
- "SELECT id, title FROM notes WHERE id LIKE ? AND deleted_at IS NULL",
341
+ "SELECT id, title FROM notes WHERE id LIKE ? ESCAPE '\\' AND deleted_at IS NULL",
339
342
  )
340
- .get(`${id}%`);
343
+ .get(likePrefix(id));
341
344
 
342
345
  if (!note) {
343
346
  logger.error(`Note not found: ${id}`);
@@ -388,9 +391,9 @@ export function registerNoteCommand(program) {
388
391
  // Find the note
389
392
  const noteRow = rawDb
390
393
  .prepare(
391
- "SELECT id FROM notes WHERE id LIKE ? AND deleted_at IS NULL",
394
+ "SELECT id FROM notes WHERE id LIKE ? ESCAPE '\\' AND deleted_at IS NULL",
392
395
  )
393
- .get(`${id}%`);
396
+ .get(likePrefix(id));
394
397
 
395
398
  if (!noteRow) {
396
399
  logger.error(`Note not found: ${id}`);
@@ -443,9 +446,9 @@ export function registerNoteCommand(program) {
443
446
 
444
447
  const noteRow = rawDb
445
448
  .prepare(
446
- "SELECT id FROM notes WHERE id LIKE ? AND deleted_at IS NULL",
449
+ "SELECT id FROM notes WHERE id LIKE ? ESCAPE '\\' AND deleted_at IS NULL",
447
450
  )
448
- .get(`${id}%`);
451
+ .get(likePrefix(id));
449
452
 
450
453
  if (!noteRow) {
451
454
  logger.error(`Note not found: ${id}`);
@@ -507,9 +510,9 @@ export function registerNoteCommand(program) {
507
510
 
508
511
  const noteRow = rawDb
509
512
  .prepare(
510
- "SELECT id, title FROM notes WHERE id LIKE ? AND deleted_at IS NULL",
513
+ "SELECT id, title FROM notes WHERE id LIKE ? ESCAPE '\\' AND deleted_at IS NULL",
511
514
  )
512
- .get(`${id}%`);
515
+ .get(likePrefix(id));
513
516
 
514
517
  if (!noteRow) {
515
518
  logger.error(`Note not found: ${id}`);
@@ -3,6 +3,8 @@
3
3
  * Tracks patterns like preferred tools, coding style, response format, etc.
4
4
  */
5
5
 
6
+ import { likePrefix } from "./sql-like.js";
7
+
6
8
  /**
7
9
  * Ensure instincts table exists.
8
10
  */
@@ -193,9 +195,13 @@ export function getStrongInstincts(db, threshold = 0.7) {
193
195
  */
194
196
  export function deleteInstinct(db, id) {
195
197
  ensureInstinctsTable(db);
198
+ // Never delete-all on empty/null, and escape LIKE wildcards so an id of "%"
199
+ // (or one containing % / _) can't wipe the whole table — this is an
200
+ // unbounded DELETE driven by a user-supplied prefix.
201
+ if (id == null || id === "") return false;
196
202
  const result = db
197
- .prepare("DELETE FROM instincts WHERE id LIKE ?")
198
- .run(`${id}%`);
203
+ .prepare("DELETE FROM instincts WHERE id LIKE ? ESCAPE '\\'")
204
+ .run(likePrefix(id));
199
205
  return result.changes > 0;
200
206
  }
201
207
 
@@ -7,6 +7,7 @@
7
7
 
8
8
  import fs from "fs";
9
9
  import path from "path";
10
+ import { likePrefix } from "./sql-like.js";
10
11
 
11
12
  /**
12
13
  * Atomically write a UTF-8 file: a crash mid-write must not truncate MEMORY.md
@@ -194,7 +195,8 @@ export function importMemory(db, entries) {
194
195
  imported += 1;
195
196
  } catch (err) {
196
197
  failed += 1;
197
- if (errors.length < 10) errors.push({ id: e && e.id, error: err.message });
198
+ if (errors.length < 10)
199
+ errors.push({ id: e && e.id, error: err.message });
198
200
  }
199
201
  }
200
202
  return { ok: failed === 0, imported, failed, errors };
@@ -210,9 +212,11 @@ export function deleteMemory(db, id) {
210
212
  let result = db.prepare("DELETE FROM memory_entries WHERE id = ?").run(id);
211
213
 
212
214
  if (result.changes === 0 && id.length >= 4) {
215
+ // Escape LIKE wildcards so an id containing % / _ deletes a literal-prefix
216
+ // match (LIMIT 1) rather than the first row matching the wildcard pattern.
213
217
  result = db
214
- .prepare("DELETE FROM memory_entries WHERE id LIKE ? LIMIT 1")
215
- .run(`${id}%`);
218
+ .prepare("DELETE FROM memory_entries WHERE id LIKE ? ESCAPE '\\' LIMIT 1")
219
+ .run(likePrefix(id));
216
220
  }
217
221
 
218
222
  return result.changes > 0;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SQLite LIKE-pattern escaping.
3
+ *
4
+ * Escape the LIKE metacharacters (% _ \) so a user-supplied value is matched
5
+ * LITERALLY in a `... LIKE ? ESCAPE '\'` clause. Without escaping, a value
6
+ * containing % or _ acts as a wildcard — and for an id PREFIX match that
7
+ * resolves or DELETEs a record, that resolves/deletes the WRONG record (or, for
8
+ * a no-LIMIT delete, EVERY record: `delete %` → `LIKE '%%'` → all rows).
9
+ *
10
+ * Pair `likePrefix(value)` with `ESCAPE '\'` in the SQL, and keep a non-empty
11
+ * guard at the call site — an empty value yields the bare `%` prefix, which
12
+ * would still match all rows.
13
+ */
14
+
15
+ /** Escape % _ \ in `value` for a literal LIKE match. */
16
+ export function escapeLike(value) {
17
+ return String(value ?? "").replace(/[\\%_]/g, "\\$&");
18
+ }
19
+
20
+ /** `<escaped value>%` — a literal-prefix LIKE pattern (use with ESCAPE '\'). */
21
+ export function likePrefix(value) {
22
+ return escapeLike(value) + "%";
23
+ }
@@ -23,9 +23,11 @@ import { fileURLToPath } from "url";
23
23
  import chalk from "chalk";
24
24
  import semver from "semver";
25
25
  import { VERSION } from "../constants.js";
26
+ import { readDiskVersion } from "./version-skew.js";
26
27
 
27
28
  export const CACHE_TTL_MS = 24 * 60 * 60 * 1000;
28
- export const NPM_LATEST_URL = "https://registry.npmjs.org/chainlesschain/latest";
29
+ export const NPM_LATEST_URL =
30
+ "https://registry.npmjs.org/chainlesschain/latest";
29
31
 
30
32
  export const _deps = {
31
33
  fs: fsDefault,
@@ -71,7 +73,15 @@ export function maybeNotifyUpdate(opts = {}) {
71
73
  const env = opts.env || process.env;
72
74
  const now = opts.now ?? Date.now();
73
75
  const isTTY = opts.isTTY ?? Boolean(process.stderr.isTTY);
74
- const current = opts.currentVersion || VERSION;
76
+ // `running` = the version THIS process loaded at spawn (baked VERSION).
77
+ // `installed` = the version on disk RIGHT NOW (a fresh package.json read).
78
+ // They diverge after `npm i -g` runs under a long-lived process: the files
79
+ // update but the running process keeps the old code. We therefore compare the
80
+ // INSTALLED version against npm latest (so a stale process never nags
81
+ // "npm i -g" when disk is already current), and separately flag a
82
+ // running<installed skew as "restart to apply" (re-installing wouldn't help).
83
+ const running = opts.currentVersion || VERSION;
84
+ const installed = opts.installedVersion ?? readDiskVersion() ?? running;
75
85
  const print =
76
86
  opts.print || ((line) => process.stderr.write(chalk.gray(line) + "\n"));
77
87
 
@@ -85,11 +95,25 @@ export function maybeNotifyUpdate(opts = {}) {
85
95
  isTTY &&
86
96
  cache?.latest &&
87
97
  semver.valid(cache.latest) &&
88
- semver.valid(current) &&
89
- semver.gt(cache.latest, current)
98
+ semver.valid(installed) &&
99
+ semver.gt(cache.latest, installed)
90
100
  ) {
101
+ // A newer release exists on npm → a real upgrade is available.
91
102
  print(
92
- `Update available: chainlesschain ${current} → ${cache.latest} (npm i -g chainlesschain · CC_UPDATE_NOTICE=0 to hide)`,
103
+ `Update available: chainlesschain ${installed} → ${cache.latest} (npm i -g chainlesschain · CC_UPDATE_NOTICE=0 to hide)`,
104
+ );
105
+ out.printed = true;
106
+ } else if (
107
+ isTTY &&
108
+ semver.valid(installed) &&
109
+ semver.valid(running) &&
110
+ semver.gt(installed, running)
111
+ ) {
112
+ // Already updated on disk, but this process is older → restart to apply.
113
+ // Re-running `npm i -g` would be a no-op; the fix is to relaunch cc / the
114
+ // IDE panel so the new code loads.
115
+ print(
116
+ `cc was updated ${running} → ${installed} on disk — restart cc (or reload your IDE panel) to apply (CC_UPDATE_NOTICE=0 to hide)`,
93
117
  );
94
118
  out.printed = true;
95
119
  }
@@ -103,11 +127,11 @@ export function maybeNotifyUpdate(opts = {}) {
103
127
  deps.path.dirname(fileURLToPath(import.meta.url)),
104
128
  "update-notice-refresh.mjs",
105
129
  );
106
- const child = deps.spawn(
107
- process.execPath,
108
- [refresher, cachePath(deps)],
109
- { detached: true, stdio: "ignore", windowsHide: true },
110
- );
130
+ const child = deps.spawn(process.execPath, [refresher, cachePath(deps)], {
131
+ detached: true,
132
+ stdio: "ignore",
133
+ windowsHide: true,
134
+ });
111
135
  if (child && typeof child.unref === "function") child.unref();
112
136
  out.spawned = true;
113
137
  }
@@ -72,6 +72,35 @@ export function detectVersionSkew({
72
72
  return newer ? { loaded, installed } : null;
73
73
  }
74
74
 
75
+ /**
76
+ * Three-way version diagnosis for `cc doctor`: the version this process is
77
+ * RUNNING, the version INSTALLED on disk, and the LATEST published on npm.
78
+ * Distinguishes the two distinct "you're behind" cases:
79
+ * - installed < latest → a real upgrade exists → `npm i -g`
80
+ * - running < installed → already updated on disk → restart to apply
81
+ * Otherwise "current". Pure; unknown/invalid inputs degrade gracefully.
82
+ *
83
+ * @param {object} o { running, installed, latest } (any may be null/invalid)
84
+ * @returns {{running:string|null, installed:string|null, latest:string|null,
85
+ * status:"current"|"outdated"|"skew", message:string}}
86
+ */
87
+ export function versionDiagnosis({ running, installed, latest } = {}) {
88
+ const ok = (v) => (typeof v === "string" && semver.valid(v) ? v : null);
89
+ const r = ok(running);
90
+ const i = ok(installed) || r; // fall back to running when disk read failed
91
+ const l = ok(latest);
92
+ let status = "current";
93
+ let message = "cc is up to date.";
94
+ if (l && i && semver.gt(l, i)) {
95
+ status = "outdated";
96
+ message = `A newer cc is available: ${i} → ${l}. Upgrade: npm i -g chainlesschain`;
97
+ } else if (r && i && semver.gt(i, r)) {
98
+ status = "skew";
99
+ message = `cc was updated ${r} → ${i} on disk — restart cc (or reload your IDE panel) to apply.`;
100
+ }
101
+ return { running: r, installed: i, latest: l, status, message };
102
+ }
103
+
75
104
  /** Friendly one-line notice (Chinese) for a detected skew. */
76
105
  export function versionSkewMessage({ loaded, installed } = {}) {
77
106
  return (
@@ -1176,15 +1176,25 @@ export async function startAgentRepl(options = {}) {
1176
1176
 
1177
1177
  // Version-skew reminder: if cc was updated on disk after this REPL spawned, it
1178
1178
  // is still running the old in-memory code (a fixed bug then looks "not fixed").
1179
- // Tell the user to restart so the update takes effect. Best-effort.
1180
- try {
1181
- const { detectVersionSkew, versionSkewMessage } =
1182
- await import("../lib/version-skew.js");
1183
- const skew = detectVersionSkew();
1184
- if (skew) logger.log(chalk.yellow(`⚠️ ${versionSkewMessage(skew)}\n`));
1185
- } catch {
1186
- /* version-skew notice is best-effort */
1187
- }
1179
+ // Tell the user to restart so the update takes effect. Checked at startup AND
1180
+ // again before each turn (see handleLine) so a mid-session `npm i -g` is
1181
+ // caught on the next prompt; emitted at most once. Best-effort.
1182
+ let _versionSkewNotified = false;
1183
+ const _notifyVersionSkew = async () => {
1184
+ if (_versionSkewNotified) return;
1185
+ try {
1186
+ const { detectVersionSkew, versionSkewMessage } =
1187
+ await import("../lib/version-skew.js");
1188
+ const skew = detectVersionSkew();
1189
+ if (skew) {
1190
+ _versionSkewNotified = true;
1191
+ logger.log(chalk.yellow(`⚠️ ${versionSkewMessage(skew)}\n`));
1192
+ }
1193
+ } catch {
1194
+ /* version-skew notice is best-effort */
1195
+ }
1196
+ };
1197
+ await _notifyVersionSkew();
1188
1198
 
1189
1199
  // statusLine (Claude-Code parity): a line above the prompt each turn.
1190
1200
  // - A user-configured `.claude/settings.json` `statusLine` command wins
@@ -1283,6 +1293,10 @@ export async function startAgentRepl(options = {}) {
1283
1293
  return;
1284
1294
  }
1285
1295
 
1296
+ // Per-turn version-skew check (one-time): catches an `npm i -g` that landed
1297
+ // while this REPL kept running — the next prompt nudges a restart.
1298
+ await _notifyVersionSkew();
1299
+
1286
1300
  // `!` bash passthrough (Claude-Code parity): run the command right here —
1287
1301
  // no LLM round-trip — and fold the output into the conversation context.
1288
1302
  if (trimmed.startsWith("!") && trimmed.slice(1).trim()) {
@@ -13,7 +13,8 @@
13
13
  */
14
14
 
15
15
  import { execSync } from "node:child_process";
16
- import { existsSync, readdirSync } from "node:fs";
16
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
17
+ import { join as pathJoin } from "node:path";
17
18
  import { createRequire } from "node:module";
18
19
  import { createConnection } from "node:net";
19
20
  import semver from "semver";
@@ -28,6 +29,17 @@ import {
28
29
  } from "../lib/service-manager.js";
29
30
  import { loadConfig } from "../lib/config-manager.js";
30
31
  import { isAppRunning, getAppPid } from "../lib/process-manager.js";
32
+ import { readDiskVersion, versionDiagnosis } from "../lib/version-skew.js";
33
+
34
+ /** Best-effort read of the npm `latest` cached by the startup update notice. */
35
+ function readCachedLatest() {
36
+ try {
37
+ const p = pathJoin(getHomeDir() || "", "update-check.json");
38
+ return JSON.parse(readFileSync(p, "utf-8"))?.latest || null;
39
+ } catch {
40
+ return null;
41
+ }
42
+ }
31
43
 
32
44
  /**
33
45
  * Probe a TCP port. Resolves true if something is listening.
@@ -250,9 +262,19 @@ export async function collectDoctorReport() {
250
262
  const failed = checks.filter((c) => !c.ok);
251
263
  const criticalFailed = failed.filter((c) => !c.optional);
252
264
 
265
+ // Three-way version check: running (this process) vs installed (on disk) vs
266
+ // latest (npm, from the update-notice cache). Tells the user whether they need
267
+ // `npm i -g` (a new release) or just a restart (already updated on disk).
268
+ const versionCheck = versionDiagnosis({
269
+ running: VERSION,
270
+ installed: readDiskVersion(),
271
+ latest: readCachedLatest(),
272
+ });
273
+
253
274
  return {
254
275
  schema: "chainlesschain.doctor.v1",
255
276
  version: VERSION,
277
+ versionCheck,
256
278
  generatedAt: new Date().toISOString(),
257
279
  checks,
258
280
  ports,
@@ -1 +0,0 @@
1
- import{I as v,P as u,J as y,U as n,R as a,S,K as C,Q as x,V as w,_ as B,b as s}from"./vendor-BvqAck49.js";import{_ as k}from"./index-BsReT8kE.js";import"./icons-DP3uiYxy.js";const N={__name:"ChatBubbleRenderer",props:{event:{type:Object,required:!0}},setup(c,{expose:d}){d();const t=c,r=s(()=>{const e=t.event.content||{};return e.text||e.body||e.message||e.title||JSON.stringify(e).slice(0,200)}),i=s(()=>{const e=t.event.content||{};return e.from||e.sender||e.senderName||t.event.actor||"(unknown)"}),l=s(()=>{const e=(t.event.actor||"").toLowerCase();return e.includes("self")||e==="me"||e.endsWith("_self")}),o=s(()=>{const e=t.event.source.adapter||"";return e.startsWith("messaging-qq")?"magenta":e==="wechat"?"green":"blue"}),m=s(()=>{if(!t.event.occurredAt)return"";try{const e=new Date(t.event.occurredAt),p=e.getFullYear(),f=String(e.getMonth()+1).padStart(2,"0"),g=String(e.getDate()).padStart(2,"0"),b=String(e.getHours()).padStart(2,"0"),h=String(e.getMinutes()).padStart(2,"0");return`${p}-${f}-${g} ${b}:${h}`}catch{return""}}),_={props:t,messageText:r,actorLabel:i,isMine:l,adapterColor:o,formattedTime:m,computed:s};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}},R={class:"bubble"},T={class:"meta"},M={class:"actor"},V={class:"time"},q={class:"body"};function D(c,d,t,r,i,l){const o=v("a-tag");return u(),y("div",{class:B(["chat-row",{mine:r.isMine}])},[n("div",R,[n("div",T,[n("span",M,a(r.actorLabel),1),n("span",V,a(r.formattedTime),1)]),n("div",q,a(r.messageText),1),t.event.source.adapter?(u(),S(o,{key:0,class:"src",color:r.adapterColor},{default:C(()=>[x(a(t.event.source.adapter),1)]),_:1},8,["color"])):w("v-if",!0)])],2)}const A=k(N,[["render",D],["__scopeId","data-v-49238629"],["__file","/tmp/cc-web-panel-R5yrKU/repo/packages/web-panel/src/components/pdh/renderers/ChatBubbleRenderer.vue"]]);export{A as default};
@@ -1 +0,0 @@
1
- import{I as i,J as A,U as I,R as s,Q as r,c as t,K as a,V as _,S as x,o as oe,b as ee,r as u,P as p,F as ne,a2 as ge}from"./vendor-BvqAck49.js";import{_ as we,b as re,u as ie,d}from"./index-BsReT8kE.js";import{u as de}from"./useShellMode-CgR0wCYM.js";import{aM as ke,aN as Fe,aO as be,f as je,a4 as Ce,a7 as xe,as as Oe,R as Se}from"./icons-DP3uiYxy.js";const Pe={__name:"Projects",setup(se,{expose:l}){l();const{t:te}=re(),e=ie(),{isEmbedded:W}=de();async function w(o,f,ye,ae=8e3){if(W){const Z=await e.sendRaw({...f,type:o},ae);if(!Z?.ok){const $=Z?.error;throw new Error(typeof $=="string"?$:$?.message||`${o} failed`)}return Z.result}return e.executeJson(ye,ae)}const B=u(!1),y=u([]),O=u(""),S=u(""),P=u(!1),v=u(null),h=u([]),k=u(!1),E=u(!1),L=u(!1),F=u({name:"",description:"",type:"document",rootPath:""}),z=[{title:"ID",key:"id",width:110},{title:"名称",key:"name"},{title:"类型",key:"project_type",width:120},{title:"状态",key:"status",width:100},{title:"同步",key:"sync_status",width:100},{title:"更新",key:"updated_at",width:160},{title:"操作",key:"actions",width:180,fixed:"right"}],M=ee(()=>{const o={active:0,draft:0,completed:0,archived:0};for(const f of y.value)o[f.status]!==void 0&&(o[f.status]+=1);return o}),J=ee(()=>y.value.filter(o=>!(O.value&&o.status!==O.value||S.value&&!o.name.toLowerCase().includes(S.value.toLowerCase()))));function g(o){switch(o){case"active":return"green";case"draft":return"default";case"completed":return"cyan";case"archived":return"gold";default:return"default"}}function K(o){switch(o){case"synced":return"green";case"pending":return"orange";case"conflict":return"red";case"error":return"red";default:return"default"}}function Q(o){return!o&&o!==0?"-":new Date(typeof o=="number"?o:parseInt(o,10)).toLocaleString("zh-CN",{hour12:!1})}async function C(){B.value=!0;try{const o=await w("project.list",{limit:500},"project list --limit 500 --json",1e4);y.value=Array.isArray(o?.projects)?o.projects:Array.isArray(o)?o:[]}catch(o){d.error("加载失败: "+(o.message||o)),y.value=[]}finally{B.value=!1}}function G(o){return{onClick:()=>V(o)}}async function V(o){v.value=o,P.value=!0,k.value=!0,h.value=[];try{const f=await w("project.listFiles",{projectId:o.id,limit:200},`project list-files ${o.id} --json`,8e3);h.value=Array.isArray(f?.files)?f.files:[]}catch{h.value=[]}finally{k.value=!1}}async function H(o){try{(await w("project.delete",{id:o.id},`project delete ${o.id} --json`,8e3))?.ok?(d.success(`已删除项目 '${o.name}'`),P.value=!1,await C()):d.error("删除失败")}catch(f){d.error(f.message||String(f))}}function X(){F.value={name:"",description:"",type:"document",rootPath:""},E.value=!0}async function T(){if(!F.value.name.trim()){d.warning("请输入项目名称");return}L.value=!0;try{const o=await w("project.init",{name:F.value.name.trim(),description:F.value.description||null,projectType:F.value.type,rootPath:F.value.rootPath||null},`project init "${F.value.name.trim()}" --type ${F.value.type} --json`,8e3);o?.id?(d.success(`已创建项目 '${o.name}'`),E.value=!1,await C()):d.error("创建失败")}catch(o){d.error(o.message||String(o))}finally{L.value=!1}}const b=u(!1),D=u(!1),j=u({path:"",content:""}),U=u(!1),m=u(!1),R=u({path:""}),n=u(!1),c=u(null),q=u(""),Y=u(!1);function ue(){j.value={path:"",content:""},b.value=!0}function ce(){R.value={path:""},U.value=!0}async function N(){if(v.value){k.value=!0;try{const o=await w("project.listFiles",{projectId:v.value.id,limit:200},`project list-files ${v.value.id} --json`,8e3);h.value=Array.isArray(o?.files)?o.files:[]}catch(o){d.error("刷新文件失败: "+(o.message||o))}finally{k.value=!1}}}async function fe(){if(!j.value.path.trim()){d.warning("请输入文件路径");return}if(v.value){D.value=!0;try{const o=await w("project.createFile",{projectId:v.value.id,filePath:j.value.path.trim(),content:j.value.content||""},`project create-file ${v.value.id} "${j.value.path.trim()}" --json`,8e3);o?.id?(d.success(`已创建文件 '${o.file_name}'`),b.value=!1,await N(),await C()):d.error("创建文件失败")}catch(o){d.error(o.message||String(o))}finally{D.value=!1}}}async function pe(){if(!R.value.path.trim()){d.warning("请输入文件夹路径");return}if(v.value){m.value=!0;try{const o=await w("project.createFolder",{projectId:v.value.id,folderPath:R.value.path.trim()},`project create-folder ${v.value.id} "${R.value.path.trim()}" --json`,8e3);o?.id?(d.success(`已创建文件夹 '${o.file_name}'`),U.value=!1,await N(),await C()):d.error("创建文件夹失败")}catch(o){d.error(o.message||String(o))}finally{m.value=!1}}}async function ve(o){try{(await w("project.deleteFile",{fileId:o.id},`project delete-file ${o.id} --json`,8e3))?.deleted?(d.success(`已删除 '${o.file_name}'`),await N(),await C()):d.error("删除失败")}catch(f){d.error(f.message||String(f))}}async function me(o){if(o.is_folder){d.info("文件夹无内容可编辑");return}try{const f=await w("project.getFile",{fileId:o.id},`project get-file ${o.id} --json`,8e3);c.value=o,q.value=f?.content||"",n.value=!0}catch(f){d.error("读取文件失败: "+(f.message||f))}}async function _e(){if(c.value){Y.value=!0;try{(await w("project.writeFile",{fileId:c.value.id,content:q.value},`project write-file ${c.value.id} --json`,8e3))?.id?(d.success("已保存"),n.value=!1,await N()):d.error("保存失败")}catch(o){d.error(o.message||String(o))}finally{Y.value=!1}}}oe(()=>{C()});const le={t:te,ws:e,isEmbedded:W,callProjectTopic:w,loading:B,projects:y,statusFilter:O,nameFilter:S,detailOpen:P,detail:v,files:h,filesLoading:k,createOpen:E,creating:L,newProject:F,columns:z,countByStatus:M,filteredProjects:J,statusColor:g,syncColor:K,formatTime:Q,loadAll:C,onRowClick:G,openDetail:V,onDelete:H,onShowCreate:X,onCreate:T,createFileOpen:b,creatingFile:D,newFile:j,createFolderOpen:U,creatingFolder:m,newFolder:R,editFileOpen:n,editingFile:c,editFileContent:q,savingFile:Y,openCreateFile:ue,openCreateFolder:ce,refreshFiles:N,onCreateFile:fe,onCreateFolder:pe,onDeleteFile:ve,openEditFile:me,onSaveFile:_e,ref:u,computed:ee,onMounted:oe,get ReloadOutlined(){return Se},get PlusOutlined(){return Oe},get FolderOutlined(){return xe},get FileTextOutlined(){return Ce},get CheckCircleOutlined(){return je},get CheckSquareOutlined(){return be},get FileAddOutlined(){return Fe},get FolderAddOutlined(){return ke},get message(){return d},get useI18n(){return re},get useWsStore(){return ie},get useShellMode(){return de}};return Object.defineProperty(le,"__isScriptSetup",{enumerable:!1,value:!0}),le}},ze={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ue={class:"page-title"},Ae={class:"page-sub"},Ie={class:"filter-bar",style:{"margin-bottom":"12px",display:"flex",gap:"12px","align-items":"center"}},he={key:0,style:{"font-size":"12px",color:"#888"}},De={key:0,style:{color:"#888","font-size":"12px"}},Re={key:0},Te={key:1,style:{color:"#888"}},Be=["onClick"],Ee={key:0,style:{color:"#888","font-size":"12px"}};function Le(se,l,te,e,W,w){const B=i("router-link"),y=i("a-button"),O=i("a-space"),S=i("a-statistic"),P=i("a-card"),v=i("a-col"),h=i("a-row"),k=i("a-radio-button"),E=i("a-radio-group"),L=i("a-input-search"),F=i("a-alert"),z=i("a-tag"),M=i("a-popconfirm"),J=i("a-table"),g=i("a-descriptions-item"),K=i("a-descriptions"),Q=i("a-divider"),C=i("a-empty"),G=i("a-list-item"),V=i("a-list"),H=i("a-spin"),X=i("a-drawer"),T=i("a-input"),b=i("a-form-item"),D=i("a-textarea"),j=i("a-form"),U=i("a-modal"),m=i("a-select-option"),R=i("a-select");return p(),A("div",null,[I("div",ze,[I("div",null,[I("h2",Ue,s(e.t("projects.title")),1),I("p",Ae,[l[17]||(l[17]=r("桌面 / CLI / 手机 三端共享同一份项目数据,Phase 3d sync 自动同步 (",-1)),t(B,{to:"/project-init"},{default:a(()=>[...l[16]||(l[16]=[r("项目初始化 / 环境设置",-1)])]),_:1}),l[18]||(l[18]=r(")",-1))])]),t(O,null,{default:a(()=>[t(y,{loading:e.loading,onClick:e.loadAll},{icon:a(()=>[t(e.ReloadOutlined)]),default:a(()=>[l[19]||(l[19]=r(" 刷新 ",-1))]),_:1},8,["loading"]),t(y,{type:"primary",onClick:e.onShowCreate},{icon:a(()=>[t(e.PlusOutlined)]),default:a(()=>[l[20]||(l[20]=r(" 新建项目 ",-1))]),_:1})]),_:1})]),_(" Stats "),t(h,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[t(v,{xs:12,sm:8,lg:6},{default:a(()=>[t(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(S,{title:"总项目",value:e.projects.length,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[t(e.FolderOutlined)]),_:1},8,["value"])]),_:1})]),_:1}),t(v,{xs:12,sm:8,lg:6},{default:a(()=>[t(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(S,{title:"活跃",value:e.countByStatus.active,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:a(()=>[t(e.CheckCircleOutlined)]),_:1},8,["value"])]),_:1})]),_:1}),t(v,{xs:12,sm:8,lg:6},{default:a(()=>[t(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(S,{title:"草稿",value:e.countByStatus.draft,"value-style":{color:"#8c8c8c",fontSize:"20px"}},{prefix:a(()=>[t(e.FileTextOutlined)]),_:1},8,["value"])]),_:1})]),_:1}),t(v,{xs:12,sm:8,lg:6},{default:a(()=>[t(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[t(S,{title:"已完成",value:e.countByStatus.completed,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[t(e.CheckSquareOutlined)]),_:1},8,["value"])]),_:1})]),_:1})]),_:1}),_(" Filter "),I("div",Ie,[t(E,{value:e.statusFilter,"onUpdate:value":l[0]||(l[0]=n=>e.statusFilter=n),size:"small","button-style":"solid"},{default:a(()=>[t(k,{value:""},{default:a(()=>[...l[21]||(l[21]=[r("全部",-1)])]),_:1}),t(k,{value:"active"},{default:a(()=>[...l[22]||(l[22]=[r("活跃",-1)])]),_:1}),t(k,{value:"draft"},{default:a(()=>[...l[23]||(l[23]=[r("草稿",-1)])]),_:1}),t(k,{value:"completed"},{default:a(()=>[...l[24]||(l[24]=[r("已完成",-1)])]),_:1}),t(k,{value:"archived"},{default:a(()=>[...l[25]||(l[25]=[r("已归档",-1)])]),_:1})]),_:1},8,["value"]),t(L,{value:e.nameFilter,"onUpdate:value":l[1]||(l[1]=n=>e.nameFilter=n),placeholder:"按名称过滤",style:{"max-width":"260px"},"allow-clear":""},null,8,["value"])]),!e.projects.length&&!e.loading?(p(),x(F,{key:0,type:"info",message:"还没有项目",description:'运行 `cc project init <name>` 或点击右上角"新建项目"按钮创建。桌面 / CLI / 手机三端共享同一份数据。',"show-icon":"",style:{"margin-bottom":"16px"}})):_("v-if",!0),e.projects.length||e.loading?(p(),x(J,{key:1,columns:e.columns,"data-source":e.filteredProjects,loading:e.loading,pagination:{pageSize:20,showSizeChanger:!0},"row-key":"id","custom-row":e.onRowClick},{bodyCell:a(({column:n,record:c})=>[n.key==="id"?(p(),A("code",he,s(c.id.slice(0,8))+"…",1)):n.key==="name"?(p(),A(ne,{key:1},[I("strong",null,s(c.name),1),c.description?(p(),A("div",De,s(c.description),1)):_("v-if",!0)],64)):n.key==="project_type"?(p(),x(z,{key:2},{default:a(()=>[r(s(c.project_type),1)]),_:2},1024)):n.key==="status"?(p(),x(z,{key:3,color:e.statusColor(c.status)},{default:a(()=>[r(s(c.status),1)]),_:2},1032,["color"])):n.key==="sync_status"?(p(),x(z,{key:4,color:e.syncColor(c.sync_status)},{default:a(()=>[r(s(c.sync_status||"unknown"),1)]),_:2},1032,["color"])):n.key==="updated_at"?(p(),A(ne,{key:5},[r(s(e.formatTime(c.updated_at)),1)],64)):n.key==="actions"?(p(),x(O,{key:6,onClick:l[2]||(l[2]=ge(()=>{},["stop"]))},{default:a(()=>[t(y,{size:"small",onClick:q=>e.openDetail(c)},{default:a(()=>[...l[26]||(l[26]=[r("详情",-1)])]),_:1},8,["onClick"]),t(M,{title:`删除项目 '${c.name}' ?`,"ok-text":"删除","ok-type":"danger","cancel-text":"取消",onConfirm:q=>e.onDelete(c)},{default:a(()=>[t(y,{size:"small",danger:""},{default:a(()=>[...l[27]||(l[27]=[r("删除",-1)])]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)):_("v-if",!0)]),_:1},8,["data-source","loading"])):_("v-if",!0),_(" Detail drawer "),t(X,{open:e.detailOpen,"onUpdate:open":l[3]||(l[3]=n=>e.detailOpen=n),title:e.detail?.name||"项目详情",width:"640",placement:"right"},{default:a(()=>[e.detail?(p(),x(K,{key:0,column:1,bordered:"",size:"small"},{default:a(()=>[t(g,{label:"ID"},{default:a(()=>[I("code",null,s(e.detail.id),1)]),_:1}),t(g,{label:"名称"},{default:a(()=>[r(s(e.detail.name),1)]),_:1}),t(g,{label:"描述"},{default:a(()=>[r(s(e.detail.description||"-"),1)]),_:1}),t(g,{label:"类型"},{default:a(()=>[t(z,null,{default:a(()=>[r(s(e.detail.project_type),1)]),_:1})]),_:1}),t(g,{label:"状态"},{default:a(()=>[t(z,{color:e.statusColor(e.detail.status)},{default:a(()=>[r(s(e.detail.status),1)]),_:1},8,["color"])]),_:1}),t(g,{label:"同步状态"},{default:a(()=>[t(z,{color:e.syncColor(e.detail.sync_status)},{default:a(()=>[r(s(e.detail.sync_status||"unknown"),1)]),_:1},8,["color"])]),_:1}),t(g,{label:"用户"},{default:a(()=>[r(s(e.detail.user_id),1)]),_:1}),t(g,{label:"根路径"},{default:a(()=>[e.detail.root_path?(p(),A("code",Re,s(e.detail.root_path),1)):(p(),A("span",Te,"(无)"))]),_:1}),t(g,{label:"文件数"},{default:a(()=>[r(s(e.detail.file_count||0),1)]),_:1}),t(g,{label:"创建"},{default:a(()=>[r(s(e.formatTime(e.detail.created_at)),1)]),_:1}),t(g,{label:"更新"},{default:a(()=>[r(s(e.formatTime(e.detail.updated_at)),1)]),_:1})]),_:1})):_("v-if",!0),t(Q,null,{default:a(()=>[...l[28]||(l[28]=[r("文件",-1)])]),_:1}),_(" Sub-phase 7.3 (2026-05-17): 文件 CRUD toolbar "),t(O,{style:{"margin-bottom":"12px"}},{default:a(()=>[t(y,{size:"small",type:"primary",disabled:!e.detail,onClick:e.openCreateFile},{default:a(()=>[t(e.FileAddOutlined),l[29]||(l[29]=r(" 新建文件 ",-1))]),_:1},8,["disabled"]),t(y,{size:"small",disabled:!e.detail,onClick:e.openCreateFolder},{default:a(()=>[t(e.FolderAddOutlined),l[30]||(l[30]=r(" 新建文件夹 ",-1))]),_:1},8,["disabled"])]),_:1}),t(H,{spinning:e.filesLoading},{default:a(()=>[!e.files.length&&!e.filesLoading?(p(),x(C,{key:0,description:"无文件 (点上方按钮新建)"})):(p(),x(V,{key:1,size:"small","data-source":e.files},{renderItem:a(({item:n})=>[t(G,null,{extra:a(()=>[t(O,null,{default:a(()=>[n.file_size?(p(),A("span",Ee,s(n.file_size)+" B",1)):_("v-if",!0),t(M,{title:`删除 ${n.is_folder?"文件夹":"文件"} '${n.file_name}' ?`,"ok-text":"删除","ok-type":"danger","cancel-text":"取消",onConfirm:c=>e.onDeleteFile(n)},{default:a(()=>[t(y,{size:"small",danger:""},{default:a(()=>[...l[31]||(l[31]=[r("×",-1)])]),_:1})]),_:1},8,["title","onConfirm"])]),_:2},1024)]),default:a(()=>[I("span",{style:{cursor:"pointer"},onClick:c=>e.openEditFile(n)},s(n.is_folder?"📁":"📄")+" "+s(n.file_path),9,Be)]),_:2},1024)]),_:1},8,["data-source"]))]),_:1},8,["spinning"])]),_:1},8,["open","title"]),_(" Sub-phase 7.3: Create file modal "),t(U,{open:e.createFileOpen,"onUpdate:open":l[6]||(l[6]=n=>e.createFileOpen=n),title:"新建文件","confirm-loading":e.creatingFile,"ok-text":"创建","cancel-text":"取消",onOk:e.onCreateFile},{default:a(()=>[t(j,{layout:"vertical"},{default:a(()=>[t(b,{label:"文件路径(项目内)",required:""},{default:a(()=>[t(T,{value:e.newFile.path,"onUpdate:value":l[4]||(l[4]=n=>e.newFile.path=n),placeholder:"例如 README.md 或 src/main.kt"},null,8,["value"])]),_:1}),t(b,{label:"初始内容(可选)"},{default:a(()=>[t(D,{value:e.newFile.content,"onUpdate:value":l[5]||(l[5]=n=>e.newFile.content=n),rows:6,placeholder:"留空创建空文件"},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["open","confirm-loading"]),_(" Sub-phase 7.3: Create folder modal "),t(U,{open:e.createFolderOpen,"onUpdate:open":l[8]||(l[8]=n=>e.createFolderOpen=n),title:"新建文件夹","confirm-loading":e.creatingFolder,"ok-text":"创建","cancel-text":"取消",onOk:e.onCreateFolder},{default:a(()=>[t(j,{layout:"vertical"},{default:a(()=>[t(b,{label:"文件夹路径(项目内)",required:""},{default:a(()=>[t(T,{value:e.newFolder.path,"onUpdate:value":l[7]||(l[7]=n=>e.newFolder.path=n),placeholder:"例如 src/utils"},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["open","confirm-loading"]),_(" Sub-phase 7.3: Edit file content modal "),t(U,{open:e.editFileOpen,"onUpdate:open":l[10]||(l[10]=n=>e.editFileOpen=n),title:`编辑 ${e.editingFile?.file_name||""}`,"confirm-loading":e.savingFile,"ok-text":"保存","cancel-text":"取消",onOk:e.onSaveFile,width:"720"},{default:a(()=>[t(D,{value:e.editFileContent,"onUpdate:value":l[9]||(l[9]=n=>e.editFileContent=n),rows:18,"auto-size":{minRows:12,maxRows:24},style:{"font-family":"monospace"}},null,8,["value"])]),_:1},8,["open","title","confirm-loading"]),_(" Create modal "),t(U,{open:e.createOpen,"onUpdate:open":l[15]||(l[15]=n=>e.createOpen=n),title:"新建项目","confirm-loading":e.creating,"ok-text":"创建","cancel-text":"取消",onOk:e.onCreate},{default:a(()=>[t(j,{layout:"vertical"},{default:a(()=>[t(b,{label:"项目名称",required:""},{default:a(()=>[t(T,{value:e.newProject.name,"onUpdate:value":l[11]||(l[11]=n=>e.newProject.name=n),placeholder:"例如:旅行计划-上海"},null,8,["value"])]),_:1}),t(b,{label:"描述"},{default:a(()=>[t(D,{value:e.newProject.description,"onUpdate:value":l[12]||(l[12]=n=>e.newProject.description=n),rows:2},null,8,["value"])]),_:1}),t(b,{label:"类型"},{default:a(()=>[t(R,{value:e.newProject.type,"onUpdate:value":l[13]||(l[13]=n=>e.newProject.type=n)},{default:a(()=>[t(m,{value:"document"},{default:a(()=>[...l[32]||(l[32]=[r("文档 (document)",-1)])]),_:1}),t(m,{value:"data"},{default:a(()=>[...l[33]||(l[33]=[r("数据 (data)",-1)])]),_:1}),t(m,{value:"web"},{default:a(()=>[...l[34]||(l[34]=[r("Web",-1)])]),_:1}),t(m,{value:"app"},{default:a(()=>[...l[35]||(l[35]=[r("应用 (app)",-1)])]),_:1}),t(m,{value:"presentation"},{default:a(()=>[...l[36]||(l[36]=[r("演示文稿",-1)])]),_:1}),t(m,{value:"spreadsheet"},{default:a(()=>[...l[37]||(l[37]=[r("表格",-1)])]),_:1}),t(m,{value:"design"},{default:a(()=>[...l[38]||(l[38]=[r("设计",-1)])]),_:1}),t(m,{value:"code"},{default:a(()=>[...l[39]||(l[39]=[r("代码",-1)])]),_:1}),t(m,{value:"workflow"},{default:a(()=>[...l[40]||(l[40]=[r("工作流",-1)])]),_:1}),t(m,{value:"knowledge"},{default:a(()=>[...l[41]||(l[41]=[r("知识库",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),t(b,{label:"根路径 (可选)"},{default:a(()=>[t(T,{value:e.newProject.rootPath,"onUpdate:value":l[14]||(l[14]=n=>e.newProject.rootPath=n),placeholder:"留空则仅元数据"},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["open","confirm-loading"])])}const We=we(Pe,[["render",Le],["__scopeId","data-v-019ac5aa"],["__file","/tmp/cc-web-panel-R5yrKU/repo/packages/web-panel/src/views/Projects.vue"]]);export{We as default};
@@ -1 +0,0 @@
1
- import{O as r}from"./index-BsReT8kE.js";const o=((n,a,e)=>{r(n,`[ant-design-vue: ${a}] ${e}`)});export{o as d};
@@ -1 +0,0 @@
1
- import{C as o}from"./Col-DWU7gipF.js";import{U as t}from"./index-BsReT8kE.js";import"./vendor-BvqAck49.js";import"./index-0ZL7FjnB.js";import"./icons-DP3uiYxy.js";const s=t(o);export{s as default};