chainlesschain 0.162.119 → 0.162.120

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 (155) hide show
  1. package/package.json +1 -1
  2. package/src/assets/web-panel/assets/{AIOps-DHRc0Ie_.js → AIOps-MUE7jVfi.js} +1 -1
  3. package/src/assets/web-panel/assets/{ActionButton-CgUXfXke.js → ActionButton-DKkJNgJW.js} +1 -1
  4. package/src/assets/web-panel/assets/{Analytics-DIKHjclG.js → Analytics-DcHt5MVA.js} +3 -3
  5. package/src/assets/web-panel/assets/{AppLayout-vX1r-6CY.js → AppLayout-BjF0MsBB.js} +5 -5
  6. package/src/assets/web-panel/assets/{Audit-DzJx-WeF.js → Audit-CybGKBUd.js} +1 -1
  7. package/src/assets/web-panel/assets/{Backup-DZ4na4uj.js → Backup-CzZoTRnY.js} +1 -1
  8. package/src/assets/web-panel/assets/{BaseInput-qUEPpz0X.js → BaseInput-CG8BgY54.js} +1 -1
  9. package/src/assets/web-panel/assets/{Chat-DTZl8nH5.js → Chat-S6AcW4T2.js} +4 -4
  10. package/src/assets/web-panel/assets/ChatBubbleRenderer-XpONY6wA.js +1 -0
  11. package/src/assets/web-panel/assets/{Checkbox-BQFF8-dn.js → Checkbox-DZ_LDoVZ.js} +1 -1
  12. package/src/assets/web-panel/assets/{Codegen-DIQaC76u.js → Codegen-DN2ZYd_4.js} +1 -1
  13. package/src/assets/web-panel/assets/{Col-uy6MSNXM.js → Col-Cidm2Ykv.js} +1 -1
  14. package/src/assets/web-panel/assets/{Community-DJSclfR8.js → Community-ByNGbzcY.js} +1 -1
  15. package/src/assets/web-panel/assets/{Compact-DS2_Cpq1.js → Compact-Dj9vY8yk.js} +1 -1
  16. package/src/assets/web-panel/assets/{Compliance-T6LqAmah.js → Compliance-_0ipnnBf.js} +1 -1
  17. package/src/assets/web-panel/assets/{Cowork-BrqyP337.js → Cowork-BNdunLG9.js} +2 -2
  18. package/src/assets/web-panel/assets/{Cron-DYFCc-f1.js → Cron-BvzsO_i-.js} +2 -2
  19. package/src/assets/web-panel/assets/{Crosschain-CnWNsqde.js → Crosschain-BSR_odwN.js} +1 -1
  20. package/src/assets/web-panel/assets/{DID-Cno6plcv.js → DID-AsJk_1HF.js} +2 -2
  21. package/src/assets/web-panel/assets/{Dashboard-CsgzRLsJ.js → Dashboard-tYbIuKgu.js} +2 -2
  22. package/src/assets/web-panel/assets/{Dropdown-BUKI1xuG.js → Dropdown-CVuLEkIH.js} +1 -1
  23. package/src/assets/web-panel/assets/{EmailListRenderer-DuEOjlci.js → EmailListRenderer-C4DBbxZ8.js} +1 -1
  24. package/src/assets/web-panel/assets/{FamilyGuardDashboard-BfnUdEaU.js → FamilyGuardDashboard-DNX_oWxL.js} +1 -1
  25. package/src/assets/web-panel/assets/{Federation-CfeUTibi.js → Federation-Cl5fg-2b.js} +1 -1
  26. package/src/assets/web-panel/assets/{FormItemContext-D14wwVsq.js → FormItemContext-sMFqQO5g.js} +1 -1
  27. package/src/assets/web-panel/assets/{GenericCardRenderer-CGx7VfKf.js → GenericCardRenderer-qZpi2wH1.js} +1 -1
  28. package/src/assets/web-panel/assets/{Git-chaiL5nL.js → Git-uO96e0En.js} +2 -2
  29. package/src/assets/web-panel/assets/{Governance-Ca5rbA-N.js → Governance-CAkQyU1W.js} +1 -1
  30. package/src/assets/web-panel/assets/{Inference-DA0DK7dc.js → Inference-kQgYGwuX.js} +1 -1
  31. package/src/assets/web-panel/assets/{KnowledgeGraph-BwaAK34_.js → KnowledgeGraph-B3r3qbm6.js} +1 -1
  32. package/src/assets/web-panel/assets/{Logs-FA4XPXuO.js → Logs-BhnUcQP2.js} +2 -2
  33. package/src/assets/web-panel/assets/{Marketplace-eOsO5rY3.js → Marketplace-cSrDXJRg.js} +1 -1
  34. package/src/assets/web-panel/assets/{McpTools-D88TlCnE.js → McpTools-D7tn-iuQ.js} +3 -3
  35. package/src/assets/web-panel/assets/{Memory-DsIN2Sv6.js → Memory-YfMrETfK.js} +2 -2
  36. package/src/assets/web-panel/assets/{MobileBridge--q60qDOY.js → MobileBridge-QYTJAlGR.js} +3 -3
  37. package/src/assets/web-panel/assets/MobileProjects-hulCHsOG.js +1 -0
  38. package/src/assets/web-panel/assets/{Mtc-BYfKH7WL.js → Mtc-C6a2fTit.js} +5 -5
  39. package/src/assets/web-panel/assets/{MtcAudit-D35u_eyo.js → MtcAudit-tPoY6xsu.js} +2 -2
  40. package/src/assets/web-panel/assets/{Multisig-BksPgmCa.js → Multisig-VVdmiLTB.js} +3 -3
  41. package/src/assets/web-panel/assets/{NLProgramming-D5cbMuDm.js → NLProgramming-BuI8pzz1.js} +1 -1
  42. package/src/assets/web-panel/assets/{Notes-Cu_pbWTB.js → Notes-f_coT28Z.js} +3 -3
  43. package/src/assets/web-panel/assets/{NotificationSettings-C81tVX8S.js → NotificationSettings-D8Beg8OP.js} +1 -1
  44. package/src/assets/web-panel/assets/{OrderTableRenderer-Ccx2Lxcc.js → OrderTableRenderer-C9PxKWwg.js} +1 -1
  45. package/src/assets/web-panel/assets/{Organization-BIJzR15j.js → Organization-fUX97U1w.js} +4 -4
  46. package/src/assets/web-panel/assets/{Overflow-BKCASkRj.js → Overflow-vVjV0pGU.js} +1 -1
  47. package/src/assets/web-panel/assets/{P2P-Q4mb4TFL.js → P2P-DGM6VCzC.js} +2 -2
  48. package/src/assets/web-panel/assets/{PdhVaultBrowser-CPWIjtON.js → PdhVaultBrowser-j01q6J9e.js} +3 -3
  49. package/src/assets/web-panel/assets/{Permissions-DCo0YoEd.js → Permissions-Q7NYy0Wv.js} +4 -4
  50. package/src/assets/web-panel/assets/{PersonalDataHub-CT-Efwnw.js → PersonalDataHub-Bdp3MI1-.js} +4 -4
  51. package/src/assets/web-panel/assets/{Pipeline-B5iEJ2T_.js → Pipeline-CB1xH835.js} +1 -1
  52. package/src/assets/web-panel/assets/{Privacy-BjOXW26f.js → Privacy-DIbp3aJd.js} +1 -1
  53. package/src/assets/web-panel/assets/{ProjectInit-DE6GZFCM.js → ProjectInit-DzEtaFH9.js} +2 -2
  54. package/src/assets/web-panel/assets/{ProjectSettings-cHsBvsYo.js → ProjectSettings-CiciM4K4.js} +2 -2
  55. package/src/assets/web-panel/assets/{Projects-Bi4Wv8m6.js → Projects-C7KoEuf4.js} +1 -1
  56. package/src/assets/web-panel/assets/{Providers-C0yVlpp5.js → Providers-CXgLwW2L.js} +1 -1
  57. package/src/assets/web-panel/assets/{QuickAsk-C6BQQUUw.js → QuickAsk-nzHdN2F2.js} +1 -1
  58. package/src/assets/web-panel/assets/{Recommend-Dz18iBwP.js → Recommend-BicIztEZ.js} +1 -1
  59. package/src/assets/web-panel/assets/{Reputation-LagVnM_Q.js → Reputation-C_Y8oRqf.js} +1 -1
  60. package/src/assets/web-panel/assets/{Row--IaheXkB.js → Row-CkNhTYCZ.js} +1 -1
  61. package/src/assets/web-panel/assets/{RssFeed-CDNYaijn.js → RssFeed-D_fjy-vQ.js} +3 -3
  62. package/src/assets/web-panel/assets/{Search-D6DPr_Km.js → Search-CCsIRDKU.js} +1 -1
  63. package/src/assets/web-panel/assets/{Security-a4-jIBqX.js → Security-CHJPSsH6.js} +3 -3
  64. package/src/assets/web-panel/assets/{Services-Bmj4jr2Q.js → Services-BQr5Adu-.js} +2 -2
  65. package/src/assets/web-panel/assets/{Skeleton-BhKpCNqE.js → Skeleton-BQtvUIf2.js} +1 -1
  66. package/src/assets/web-panel/assets/Skills-Dc0LU3LK.js +1 -0
  67. package/src/assets/web-panel/assets/{Sla-D68DDW4T.js → Sla-BO5j3PAQ.js} +1 -1
  68. package/src/assets/web-panel/assets/{SpeechSettings-CxCF4E_o.js → SpeechSettings-BmPQTYAi.js} +1 -1
  69. package/src/assets/web-panel/assets/{SyncSettings-pcetCirO.js → SyncSettings-BnobmeAo.js} +2 -2
  70. package/src/assets/web-panel/assets/Tasks-DFFcr6Zm.js +1 -0
  71. package/src/assets/web-panel/assets/{Templates-6QfV55r3.js → Templates-RZh0Oh_Q.js} +1 -1
  72. package/src/assets/web-panel/assets/{Tenant-BOI2_4NB.js → Tenant-BD6D6Ak7.js} +1 -1
  73. package/src/assets/web-panel/assets/{Terminal-DSIv5Z7S.js → Terminal-BSuShSOU.js} +2 -2
  74. package/src/assets/web-panel/assets/{TimelineRenderer-C4tC343-.js → TimelineRenderer-DmwdA_BU.js} +1 -1
  75. package/src/assets/web-panel/assets/{Tokens-CnNoHnJv.js → Tokens-CMgdZ-HW.js} +1 -1
  76. package/src/assets/web-panel/assets/{Trigger-BaRSXO70.js → Trigger-Ckz3UHfh.js} +1 -1
  77. package/src/assets/web-panel/assets/{Trust-CWnKxwgN.js → Trust-AKEeF68u.js} +1 -1
  78. package/src/assets/web-panel/assets/{UkeySign-De8aN7WZ.js → UkeySign-y_PA8Ugs.js} +1 -1
  79. package/src/assets/web-panel/assets/{VideoEditing-Cu7XhMNZ.js → VideoEditing-BDCHMoYT.js} +1 -1
  80. package/src/assets/web-panel/assets/{Wallet-xfhJUu0f.js → Wallet-BUPNjLDa.js} +4 -4
  81. package/src/assets/web-panel/assets/{WebAuthn-Bt6sYYDk.js → WebAuthn-BSkgJ_ej.js} +5 -5
  82. package/src/assets/web-panel/assets/{WorkflowEditor-C4LZ0x-0.js → WorkflowEditor-Cly_vJCn.js} +1 -1
  83. package/src/assets/web-panel/assets/{chat-33Oq8wz3.js → chat-B2upy0kk.js} +1 -1
  84. package/src/assets/web-panel/assets/{colors-COL29MyD.js → colors-DRymaRcw.js} +1 -1
  85. package/src/assets/web-panel/assets/{compact-item-D8hinshK.js → compact-item-BjlECmvE.js} +1 -1
  86. package/src/assets/web-panel/assets/{createContext-DVD4d6-0.js → createContext-NByPo135.js} +1 -1
  87. package/src/assets/web-panel/assets/devWarning-BQpi8pDO.js +1 -0
  88. package/src/assets/web-panel/assets/{hasIn-CvLpycQb.js → hasIn-CnapAb4N.js} +1 -1
  89. package/src/assets/web-panel/assets/{index-DhHsdI-s.js → index-3N2bkUYM.js} +1 -1
  90. package/src/assets/web-panel/assets/{index-JR5iJ3Nm.js → index-69yznrDs.js} +1 -1
  91. package/src/assets/web-panel/assets/{index-65FhG6v3.js → index-B0IxW10q.js} +1 -1
  92. package/src/assets/web-panel/assets/{index-BcqrzCOI.js → index-B1l9stj4.js} +1 -1
  93. package/src/assets/web-panel/assets/{index-cgs0nxzF.js → index-B7EkRJNQ.js} +1 -1
  94. package/src/assets/web-panel/assets/{index-DigxhXCh.js → index-B8mHLG8W.js} +1 -1
  95. package/src/assets/web-panel/assets/{index-DD9PcRt3.js → index-BC3lHdGe.js} +1 -1
  96. package/src/assets/web-panel/assets/{index-Bc1y36ct.js → index-BCIn3-zn.js} +3 -3
  97. package/src/assets/web-panel/assets/{index-DpAeo8Y1.js → index-BdsQCfwD.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-B3Ja9sDO.js → index-Bl67igbC.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-DGDKCtU2.js → index-BlVSeRLX.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-CAZl_jZJ.js → index-BnYbOEQ5.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-BmieBFpM.js → index-BuMhmoLi.js} +1 -1
  102. package/src/assets/web-panel/assets/index-BvYGiwBG.js +1 -0
  103. package/src/assets/web-panel/assets/{index-B2nqCkxx.js → index-C35ewkvS.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-DaXHhqHE.js → index-C4Je7eKb.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-DUkg9C1d.js → index-C5QIx6d1.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-DdlzRBsd.js → index-C8mpo9w0.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-3GhR2NdM.js → index-CBqC10Mz.js} +1 -1
  108. package/src/assets/web-panel/assets/index-CC_4NPrV.js +1 -0
  109. package/src/assets/web-panel/assets/{index-CNTOYZQJ.js → index-CQ6Td4oP.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-B4L1oFlv.js → index-CmdbB6n1.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-CXFtAKWy.js → index-CoZgzgDg.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-BCJdqeDG.js → index-DDOEPs_e.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-DnxPhaUe.js → index-DQRbttWF.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-Dk6Mp5o3.js → index-DSNzuCKY.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-BzJsjPb9.js → index-DUZ5OBUP.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-D4E97124.js → index-DaQVzr6e.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-1HmyagUk.js → index-DdWH7Nnq.js} +1 -1
  118. package/src/assets/web-panel/assets/{index-D50I92to.js → index-DfV7ozPn.js} +1 -1
  119. package/src/assets/web-panel/assets/{index-B_KT8dhv.js → index-DpVmeNyO.js} +1 -1
  120. package/src/assets/web-panel/assets/{index-DcSZkELE.js → index-DrJVa6Gk.js} +1 -1
  121. package/src/assets/web-panel/assets/{index-Dz_IGu03.js → index-KbNiEQkd.js} +1 -1
  122. package/src/assets/web-panel/assets/{index-DDzdST6b.js → index-MtPi9EHn.js} +1 -1
  123. package/src/assets/web-panel/assets/{index-Dm47rSqn.js → index-aV-LQt0K.js} +1 -1
  124. package/src/assets/web-panel/assets/{index-Ctz762df.js → index-iFODT6oN.js} +1 -1
  125. package/src/assets/web-panel/assets/{index-D72pZlFa.js → index-o8nqsumS.js} +1 -1
  126. package/src/assets/web-panel/assets/{index-CSzLUjjZ.js → index-qVEh-o74.js} +1 -1
  127. package/src/assets/web-panel/assets/{index-czxh_xOe.js → index-sX1MbnSU.js} +1 -1
  128. package/src/assets/web-panel/assets/{initDefaultProps-DqSLMT1R.js → initDefaultProps-o1fFt3V7.js} +1 -1
  129. package/src/assets/web-panel/assets/{motion-DkdJz9l-.js → motion-Bwj9ZiqO.js} +1 -1
  130. package/src/assets/web-panel/assets/{move-oonN7lOc.js → move-DoTSIAxU.js} +1 -1
  131. package/src/assets/web-panel/assets/{omit-BeFyiGwR.js → omit-DkO-otLG.js} +1 -1
  132. package/src/assets/web-panel/assets/{pickAttrs-OePKGTKF.js → pickAttrs-7dqbsVWT.js} +1 -1
  133. package/src/assets/web-panel/assets/{placementArrow-CjQXhAph.js → placementArrow-WPFcCNIM.js} +1 -1
  134. package/src/assets/web-panel/assets/{responsiveObserve-Dmn9lUes.js → responsiveObserve-DqQxE3aN.js} +1 -1
  135. package/src/assets/web-panel/assets/{slide-Dfi_sykC.js → slide-CyzizbNB.js} +1 -1
  136. package/src/assets/web-panel/assets/{statusUtils-Dl9mPVld.js → statusUtils-C71vV6Kb.js} +1 -1
  137. package/src/assets/web-panel/assets/{styleChecker-D3ay9a4W.js → styleChecker-DVrLfHrc.js} +1 -1
  138. package/src/assets/web-panel/assets/{useFlexGapSupport-D07_5fY3.js → useFlexGapSupport-DVNyuXrQ.js} +1 -1
  139. package/src/assets/web-panel/assets/{useFs-D3axlil7.js → useFs-BpBz_yQJ.js} +1 -1
  140. package/src/assets/web-panel/assets/{usePersonalDataHub-CR53u77i.js → usePersonalDataHub-CYHp2Bn2.js} +1 -1
  141. package/src/assets/web-panel/assets/{vnode-DNOIJ4an.js → vnode-CXAL4PQ0.js} +1 -1
  142. package/src/assets/web-panel/assets/{zoom-MIAkyImQ.js → zoom-mrlkZmnn.js} +1 -1
  143. package/src/assets/web-panel/index.html +1 -1
  144. package/src/commands/update.js +20 -0
  145. package/src/runtime/__tests__/message-roles.test.js +142 -0
  146. package/src/runtime/headless-runner.js +8 -2
  147. package/src/runtime/headless-stream.js +34 -1
  148. package/src/runtime/message-roles.js +94 -0
  149. package/src/assets/web-panel/assets/ChatBubbleRenderer-DD2tLmRr.js +0 -1
  150. package/src/assets/web-panel/assets/MobileProjects-84NgjQck.js +0 -1
  151. package/src/assets/web-panel/assets/Skills-BqmheUDl.js +0 -1
  152. package/src/assets/web-panel/assets/Tasks-D3er3tkS.js +0 -1
  153. package/src/assets/web-panel/assets/devWarning-CKV56AdO.js +0 -1
  154. package/src/assets/web-panel/assets/index-DBC8yuEG.js +0 -1
  155. package/src/assets/web-panel/assets/index-z9Rtlw7F.js +0 -1
@@ -1 +1 @@
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
+ import{h as i}from"./index-BCIn3-zn.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-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
+ import{I as o,h}from"./index-BCIn3-zn.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-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),{[`
1
+ import{K as n}from"./index-BCIn3-zn.js";import{i as e}from"./motion-Bwj9ZiqO.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-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
+ import{i as e}from"./index-BCIn3-zn.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-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
+ import{A as d}from"./index-BCIn3-zn.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-D3ay9a4W.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-DVrLfHrc.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-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
+ import{u as d}from"./index-BCIn3-zn.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-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
+ import{u as f}from"./index-BCIn3-zn.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-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
+ import{M as i,h as a,w as l}from"./index-BCIn3-zn.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-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),{[`
1
+ import{K as o}from"./index-BCIn3-zn.js";import{i as f}from"./motion-Bwj9ZiqO.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-Bc1y36ct.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-BCIn3-zn.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">
@@ -1,4 +1,5 @@
1
1
  import chalk from "chalk";
2
+ import semver from "semver";
2
3
  import { execSync } from "node:child_process";
3
4
  import { checkForUpdates } from "../lib/version-checker.js";
4
5
  import { downloadRelease } from "../lib/downloader.js";
@@ -6,11 +7,30 @@ import { VERSION } from "../constants.js";
6
7
  import { askConfirm } from "../lib/prompts.js";
7
8
  import logger from "../lib/logger.js";
8
9
 
10
+ /**
11
+ * A version that is safe to interpolate into `npm install -g chainlesschain@<v>`.
12
+ * The version reaching selfUpdateCli already comes from version-checker (gated by
13
+ * semver.gt), but it flows UNQUOTED into a shell command, so validate it locally
14
+ * too: a strict semver can only contain [0-9A-Za-z.+-] — never a shell
15
+ * metacharacter — so this makes shell-injection impossible at the point of use
16
+ * rather than relying solely on a check in another module.
17
+ */
18
+ export function isInstallableVersion(v) {
19
+ return typeof v === "string" && semver.valid(v) !== null;
20
+ }
21
+
9
22
  async function selfUpdateCli(targetVersion) {
10
23
  if (VERSION === targetVersion) {
11
24
  return true; // Already at the target version
12
25
  }
13
26
 
27
+ if (!isInstallableVersion(targetVersion)) {
28
+ logger.warn(
29
+ `Refusing to self-update to an invalid version: ${String(targetVersion).slice(0, 60)}`,
30
+ );
31
+ return false;
32
+ }
33
+
14
34
  try {
15
35
  logger.info("Updating CLI package...");
16
36
  execSync(`npm install -g chainlesschain@${targetVersion}`, {
@@ -0,0 +1,142 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import {
3
+ mergeConsecutiveMessages,
4
+ _internal,
5
+ } from "../message-roles.js";
6
+
7
+ describe("mergeConsecutiveMessages", () => {
8
+ it("is a no-op on a healthy alternating transcript", () => {
9
+ const msgs = [
10
+ { role: "system", content: "sys" },
11
+ { role: "user", content: "a" },
12
+ { role: "assistant", content: "b" },
13
+ { role: "user", content: "c" },
14
+ ];
15
+ expect(mergeConsecutiveMessages(msgs)).toEqual(msgs);
16
+ });
17
+
18
+ it("merges two consecutive user turns (the --resume no-response bug)", () => {
19
+ // history ended with a bare `user` (prior run produced no assistant
20
+ // response); a new user prompt was spliced after it.
21
+ const out = mergeConsecutiveMessages([
22
+ { role: "system", content: "sys" },
23
+ { role: "user", content: "original task" },
24
+ { role: "user", content: "continue please" },
25
+ ]);
26
+ expect(out).toEqual([
27
+ { role: "system", content: "sys" },
28
+ { role: "user", content: "original task\n\ncontinue please" },
29
+ ]);
30
+ });
31
+
32
+ it("merges three-plus consecutive same-role turns", () => {
33
+ const out = mergeConsecutiveMessages([
34
+ { role: "user", content: "one" },
35
+ { role: "user", content: "two" },
36
+ { role: "user", content: "three" },
37
+ ]);
38
+ expect(out).toEqual([{ role: "user", content: "one\n\ntwo\n\nthree" }]);
39
+ });
40
+
41
+ it("merges consecutive assistant turns defensively", () => {
42
+ const out = mergeConsecutiveMessages([
43
+ { role: "assistant", content: "x" },
44
+ { role: "assistant", content: "y" },
45
+ ]);
46
+ expect(out).toEqual([{ role: "assistant", content: "x\n\ny" }]);
47
+ });
48
+
49
+ it("never merges system messages (leading base + context pair kept distinct)", () => {
50
+ const msgs = [
51
+ { role: "system", content: "base" },
52
+ { role: "system", content: "session-context" },
53
+ { role: "user", content: "hi" },
54
+ ];
55
+ expect(mergeConsecutiveMessages(msgs)).toEqual(msgs);
56
+ });
57
+
58
+ it("preserves the user turn after a healthy assistant tail", () => {
59
+ const out = mergeConsecutiveMessages([
60
+ { role: "assistant", content: "done" },
61
+ { role: "user", content: "next" },
62
+ ]);
63
+ expect(out).toEqual([
64
+ { role: "assistant", content: "done" },
65
+ { role: "user", content: "next" },
66
+ ]);
67
+ });
68
+
69
+ it("combines multimodal content arrays when merging user turns", () => {
70
+ const out = mergeConsecutiveMessages([
71
+ {
72
+ role: "user",
73
+ content: [
74
+ { type: "text", text: "look" },
75
+ { type: "image", source: "x" },
76
+ ],
77
+ },
78
+ { role: "user", content: "and describe" },
79
+ ]);
80
+ expect(out).toHaveLength(1);
81
+ expect(out[0].role).toBe("user");
82
+ expect(out[0].content).toEqual([
83
+ { type: "text", text: "look" },
84
+ { type: "image", source: "x" },
85
+ { type: "text", text: "and describe" },
86
+ ]);
87
+ });
88
+
89
+ it("treats an empty-string content as nothing when merging", () => {
90
+ const out = mergeConsecutiveMessages([
91
+ { role: "user", content: "" },
92
+ { role: "user", content: "real" },
93
+ ]);
94
+ expect(out).toEqual([{ role: "user", content: "real" }]);
95
+ });
96
+
97
+ it("does not mutate the input array or its messages", () => {
98
+ const input = [
99
+ { role: "user", content: "a" },
100
+ { role: "user", content: "b" },
101
+ ];
102
+ const snapshot = JSON.parse(JSON.stringify(input));
103
+ mergeConsecutiveMessages(input);
104
+ expect(input).toEqual(snapshot);
105
+ });
106
+
107
+ it("passes through falsy / role-less entries verbatim without crashing", () => {
108
+ const out = mergeConsecutiveMessages([
109
+ null,
110
+ { content: "no role" },
111
+ { role: "user", content: "a" },
112
+ { role: "user", content: "b" },
113
+ ]);
114
+ expect(out).toEqual([
115
+ null,
116
+ { content: "no role" },
117
+ { role: "user", content: "a\n\nb" },
118
+ ]);
119
+ });
120
+
121
+ it("returns the argument unchanged when not an array", () => {
122
+ expect(mergeConsecutiveMessages(null)).toBe(null);
123
+ expect(mergeConsecutiveMessages(undefined)).toBe(undefined);
124
+ });
125
+
126
+ describe("_internal.joinContent", () => {
127
+ const { joinContent } = _internal;
128
+ it("joins two strings with a blank line", () => {
129
+ expect(joinContent("a", "b")).toBe("a\n\nb");
130
+ });
131
+ it("returns the non-empty side when one string is empty", () => {
132
+ expect(joinContent("", "b")).toBe("b");
133
+ expect(joinContent("a", "")).toBe("a");
134
+ });
135
+ it("promotes a string to a text block when joining with an array", () => {
136
+ expect(joinContent("hi", [{ type: "image", source: "x" }])).toEqual([
137
+ { type: "text", text: "hi" },
138
+ { type: "image", source: "x" },
139
+ ]);
140
+ });
141
+ });
142
+ });
@@ -46,6 +46,7 @@ import {
46
46
  import { expandFileRefsAsync } from "./file-ref-expander.js";
47
47
  import { composeSystemPrompt } from "./system-prompt.js";
48
48
  import { buildUserContent } from "../lib/image-input.js";
49
+ import { mergeConsecutiveMessages } from "./message-roles.js";
49
50
  import { isHeadlessConfigCommand } from "../lib/headless-config-command.js";
50
51
  import { withQuietStdout } from "./quiet-stdout.js";
51
52
  import { CostBudget } from "../lib/cost-budget.js";
@@ -610,14 +611,19 @@ export async function runAgentHeadless(options = {}, deps = {}) {
610
611
  // content array (agent-core converts it per-provider for ollama/anthropic).
611
612
  const userMessageContent = buildUserContent(userContent, options.images);
612
613
 
613
- const messages = [
614
+ // Merge consecutive same-role turns so a resumed session whose previous run
615
+ // produced NO assistant response (history ends with a bare `user` turn) does
616
+ // not yield two adjacent `user` messages — which Anthropic/Bedrock reject as
617
+ // "roles must alternate", failing the resume (Claude Code 2.1.187 parity).
618
+ // No-op on a healthy alternating transcript.
619
+ const messages = mergeConsecutiveMessages([
614
620
  { role: "system", content: systemContent },
615
621
  ...(sessionStartContext
616
622
  ? [{ role: "system", content: sessionStartContext }]
617
623
  : []),
618
624
  ...history,
619
625
  { role: "user", content: userMessageContent },
620
- ];
626
+ ]);
621
627
 
622
628
  // Persist the user turn up front (best-effort) so a session is recoverable
623
629
  // even if the run crashes mid-loop. startSession is append-safe: only seed
@@ -19,6 +19,7 @@
19
19
  import { bootstrap } from "./bootstrap.js";
20
20
  import { buildSystemPrompt, agentLoop as coreAgentLoop } from "./agent-core.js";
21
21
  import { composeSystemPrompt } from "./system-prompt.js";
22
+ import { mergeConsecutiveMessages } from "./message-roles.js";
22
23
  import { expandFileRefsAsync } from "./file-ref-expander.js";
23
24
  import { detectImagePaths } from "../lib/image-input.js";
24
25
  import { detectVersionSkew, versionSkewMessage } from "../lib/version-skew.js";
@@ -259,7 +260,22 @@ async function runTurn(messages, loopOptions, { runLoop, emit, costBudget }) {
259
260
  let endReason = "complete";
260
261
  let stopForCost = false;
261
262
 
262
- for await (const event of runLoop(messages, loopOptions)) {
263
+ // Merge consecutive same-role turns before the model call ONLY when the
264
+ // caller flags a resume-degenerate transcript (`mergeRoles`): a resumed
265
+ // session whose previous run produced NO assistant response leaves a trailing
266
+ // bare `user` turn, so splicing the first live prompt after it sends two
267
+ // adjacent `user` messages — which Anthropic/Bedrock reject as "roles must
268
+ // alternate" (Claude Code 2.1.187 parity). It is GATED rather than applied
269
+ // every turn because the live turn loop legitimately produces consecutive
270
+ // `user` messages — an interrupted turn's dangling prompt, a PDH feedback
271
+ // note (§3.5.13) — that must reach the model distinctly and must not be
272
+ // folded (folding the interrupt-dangling turn even resurrects the abandoned
273
+ // request). Non-mutating: the persistent `messages` array is untouched; only
274
+ // the provider payload is sanitized.
275
+ const modelMessages = loopOptions.mergeRoles
276
+ ? mergeConsecutiveMessages(messages)
277
+ : messages;
278
+ for await (const event of runLoop(modelMessages, loopOptions)) {
263
279
  switch (event.type) {
264
280
  case "tool-executing":
265
281
  toolCalls.push({ tool: event.tool, args: event.args });
@@ -642,6 +658,15 @@ export async function runAgentHeadlessStream(options = {}, deps = {}) {
642
658
  }
643
659
  }
644
660
 
661
+ // Resume-degenerate role sanitation (Claude Code 2.1.187 parity): when the
662
+ // replayed history ends with a bare `user` turn (the prior run produced no
663
+ // assistant response), the FIRST live prompt would make two adjacent `user`
664
+ // messages. Arm a one-shot flag consumed by the first model call so the merge
665
+ // fires exactly once — the live turn loop's intentional consecutive-`user`
666
+ // states (interrupt-dangling turn, PDH feedback note) are never folded.
667
+ let sanitizeRolesNextTurn =
668
+ resumedMessages > 0 && messages[messages.length - 1]?.role === "user";
669
+
645
670
  emit({
646
671
  type: "system",
647
672
  subtype: "init",
@@ -1294,6 +1319,12 @@ export async function runAgentHeadlessStream(options = {}, deps = {}) {
1294
1319
  ? AbortSignal.any([options.signal, currentAbort.signal])
1295
1320
  : currentAbort.signal;
1296
1321
 
1322
+ // Consume the one-shot resume-degeneracy flag for THIS turn (see
1323
+ // sanitizeRolesNextTurn) so the role merge fires exactly once, whether the
1324
+ // model call completes or is interrupted.
1325
+ const mergeRolesThisTurn = sanitizeRolesNextTurn;
1326
+ sanitizeRolesNextTurn = false;
1327
+
1297
1328
  let outcome;
1298
1329
  try {
1299
1330
  outcome = await runTurn(
@@ -1339,6 +1370,8 @@ export async function runAgentHeadlessStream(options = {}, deps = {}) {
1339
1370
  : {}),
1340
1371
  iterationBudget: budget,
1341
1372
  signal: turnSignal,
1373
+ // Resume-degenerate role merge for the first live model call only.
1374
+ mergeRoles: mergeRolesThisTurn,
1342
1375
  },
1343
1376
  { runLoop, emit, costBudget },
1344
1377
  );
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Conversation role sanitation shared by the headless runner and the
3
+ * stream-json runtime.
4
+ *
5
+ * Providers that strictly enforce alternating roles — Anthropic, Bedrock, and
6
+ * some OpenAI-compatible gateways — reject a payload with two consecutive
7
+ * messages of the same non-system role ("messages: roles must alternate").
8
+ *
9
+ * A degenerate transcript reaches that state on `--resume` when the ORIGINAL
10
+ * run produced NO assistant response (the model errored, the turn was
11
+ * interrupted, or the provider was down): the persisted JSONL ends with a bare
12
+ * `user` turn. Splicing the new resume prompt after it yields
13
+ * `[…, {role:"user"}, {role:"user"}]` → the provider 400s and resume fails.
14
+ *
15
+ * `mergeConsecutiveMessages` folds adjacent same-role (non-system) turns into a
16
+ * single message so the transcript always alternates, regardless of how it
17
+ * degenerated. This mirrors Claude Code 2.1.187 ("Fixed --resume failing when
18
+ * original run produced no model responses"). It is a no-op on a well-formed
19
+ * alternating transcript, so healthy sessions are byte-for-byte unchanged.
20
+ *
21
+ * @module runtime/message-roles
22
+ */
23
+
24
+ /**
25
+ * Normalize a message `content` field to an array of content blocks. A plain
26
+ * string becomes a single `text` block; an empty string contributes nothing;
27
+ * an existing array is returned as-is; any other object is wrapped as a single
28
+ * opaque block so unknown shapes survive a merge.
29
+ * @param {*} content
30
+ * @returns {Array}
31
+ */
32
+ function toBlocks(content) {
33
+ if (Array.isArray(content)) return content;
34
+ if (content == null) return [];
35
+ if (typeof content === "string") {
36
+ return content === "" ? [] : [{ type: "text", text: content }];
37
+ }
38
+ return [content];
39
+ }
40
+
41
+ /**
42
+ * Join two message `content` values. When both are plain strings the result
43
+ * stays a string (joined by a blank line) — the overwhelmingly common case, so
44
+ * a text-only resume keeps a string payload. When either side is a multimodal
45
+ * content array, both are normalized to block arrays and concatenated.
46
+ * @param {*} a
47
+ * @param {*} b
48
+ * @returns {string|Array}
49
+ */
50
+ function joinContent(a, b) {
51
+ if (typeof a === "string" && typeof b === "string") {
52
+ if (a === "") return b;
53
+ if (b === "") return a;
54
+ return `${a}\n\n${b}`;
55
+ }
56
+ return [...toBlocks(a), ...toBlocks(b)];
57
+ }
58
+
59
+ /**
60
+ * Merge consecutive same-role, non-system messages so the conversation
61
+ * alternates roles for the provider. System messages are passed through
62
+ * untouched and never participate in a merge (a leading base + session-context
63
+ * system pair stays distinct). Falsy / role-less entries are passed through
64
+ * verbatim rather than dropped.
65
+ *
66
+ * Returns a NEW array; the input is not mutated.
67
+ *
68
+ * @param {Array<object>} messages
69
+ * @returns {Array<object>}
70
+ */
71
+ export function mergeConsecutiveMessages(messages) {
72
+ if (!Array.isArray(messages)) return messages;
73
+ const out = [];
74
+ for (const msg of messages) {
75
+ const prev = out[out.length - 1];
76
+ if (
77
+ prev &&
78
+ msg &&
79
+ typeof msg.role === "string" &&
80
+ msg.role !== "system" &&
81
+ prev.role === msg.role
82
+ ) {
83
+ out[out.length - 1] = {
84
+ ...prev,
85
+ content: joinContent(prev.content, msg.content),
86
+ };
87
+ } else {
88
+ out.push(msg);
89
+ }
90
+ }
91
+ return out;
92
+ }
93
+
94
+ export const _internal = { toBlocks, joinContent };
@@ -1 +0,0 @@
1
- import{I as v,P as u,J as S,U as s,R as a,S as y,K as C,Q as w,V as x,_ as B,b as n}from"./vendor-BvqAck49.js";import{_ as k}from"./index-Bc1y36ct.js";import"./icons-DP3uiYxy.js";const N={__name:"ChatBubbleRenderer",props:{event:{type:Object,required:!0}},setup(c,{expose:d}){d();const t=c,r=n(()=>{const e=t.event.content||{};return e.text||e.body||e.message||e.title||JSON.stringify(e).slice(0,200)}),i=n(()=>{const e=t.event.content||{};return e.from||e.sender||e.senderName||t.event.actor||"(unknown)"}),l=n(()=>{const e=(t.event.actor||"").toLowerCase();return e.includes("self")||e==="me"||e.endsWith("_self")}),o=n(()=>{const e=t.event.source.adapter||"";return e.startsWith("messaging-qq")?"magenta":e==="wechat"?"green":"blue"}),m=n(()=>{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:n};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}},T={class:"bubble"},M={class:"meta"},R={class:"actor"},V={class:"time"},q={class:"body"};function D(c,d,t,r,i,l){const o=v("a-tag");return u(),S("div",{class:B(["chat-row",{mine:r.isMine}])},[s("div",T,[s("div",M,[s("span",R,a(r.actorLabel),1),s("span",V,a(r.formattedTime),1)]),s("div",q,a(r.messageText),1),t.event.source.adapter?(u(),y(o,{key:0,class:"src",color:r.adapterColor},{default:C(()=>[w(a(t.event.source.adapter),1)]),_:1},8,["color"])):x("v-if",!0)])],2)}const j=k(N,[["render",D],["__scopeId","data-v-49238629"],["__file","/tmp/cc-web-panel-nw0Wu0/repo/packages/web-panel/src/components/pdh/renderers/ChatBubbleRenderer.vue"]]);export{j as default};
@@ -1 +0,0 @@
1
- import{I as n,J as g,c as l,K as r,N as u,P as h,U as o,R as t,Q as b}from"./vendor-BvqAck49.js";import{_ as v,b as m}from"./index-Bc1y36ct.js";import{a7 as y,M}from"./icons-DP3uiYxy.js";const B={__name:"MobileProjects",setup(p,{expose:i}){i();const c=u(),{t:e}=m();function a(){c.push("/projects")}function _(){c.push("/mobile-bridge")}const s={router:c,t:e,goToProjects:a,goToMobileBridge:_,get useRouter(){return u},get useI18n(){return m},get MobileOutlined(){return M},get FolderOutlined(){return y}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}},x={class:"mobile-projects-placeholder"},O={class:"title"},w={class:"subtitle"},k={class:"explainer"};function T(p,i,c,e,a,_){const s=n("a-alert"),d=n("a-button"),f=n("a-space"),P=n("a-empty"),j=n("a-card");return h(),g("div",x,[l(j,null,{default:r(()=>[l(P,{description:!1},{image:r(()=>[l(e.MobileOutlined,{style:{fontSize:"64px",color:"#bfbfbf"}})]),default:r(()=>[o("h2",O,t(e.t("mobileProjects.title")),1),o("p",w,t(e.t("mobileProjects.subtitle")),1),l(s,{message:e.t("mobileProjects.v02Banner"),type:"info","show-icon":"",class:"banner"},null,8,["message"]),o("div",k,[o("h3",null,t(e.t("mobileProjects.currentDirection")),1),o("p",null,t(e.t("mobileProjects.currentDirectionBody")),1),o("ul",null,[o("li",null,t(e.t("mobileProjects.stepPhone")),1),o("li",null,t(e.t("mobileProjects.stepTap")),1),o("li",null,t(e.t("mobileProjects.stepPull")),1)]),o("h3",null,t(e.t("mobileProjects.reverseDirection")),1),o("p",null,t(e.t("mobileProjects.reverseDirectionBody")),1)]),l(f,{class:"actions"},{default:r(()=>[l(d,{type:"primary",onClick:e.goToProjects},{default:r(()=>[l(e.FolderOutlined),b(" "+t(e.t("mobileProjects.viewLocalProjects")),1)]),_:1}),l(d,{onClick:e.goToMobileBridge},{default:r(()=>[l(e.MobileOutlined),b(" "+t(e.t("mobileProjects.checkBridge")),1)]),_:1})]),_:1})]),_:1})]),_:1})])}const N=v(B,[["render",T],["__scopeId","data-v-9262cc45"],["__file","/tmp/cc-web-panel-nw0Wu0/repo/packages/web-panel/src/views/MobileProjects.vue"]]);export{N as default};
@@ -1 +0,0 @@
1
- import{E as I,b as C,r as b,I as m,J as y,U as a,R as g,c as i,K as u,V as h,F as w,Z as L,N as O,o as M,P as p,Q as S,S as R}from"./vendor-BvqAck49.js";import{u as E,_ as N}from"./index-Bc1y36ct.js";import{u as P}from"./useShellMode-CgR0wCYM.js";import{p as V}from"./parsers-UEvh_ShA.js";import{u as z}from"./chat-33Oq8wz3.js";import{a9 as j,ap as q,R as B}from"./icons-DP3uiYxy.js";const A=I("skills",()=>{const _=b(!1),t=b([]),n=b(""),e=b("all"),k=C(()=>{const o=new Set(["all"]);return t.value.forEach(l=>{l.category&&o.add(l.category),l.executionMode&&o.add(l.executionMode)}),[...o]}),v=C(()=>{let o=t.value;if(e.value!=="all"&&(o=o.filter(l=>l.category===e.value||l.executionMode===e.value)),n.value){const l=n.value.toLowerCase();o=o.filter(d=>d.name?.toLowerCase().includes(l)||d.description?.toLowerCase().includes(l)||d.title?.toLowerCase().includes(l))}return o});async function f(){const o=E();_.value=!0;try{if(P().isEmbedded){const c=await o.sendRaw({type:"skill.list"},2e4);c?.ok&&Array.isArray(c.result?.skills)?t.value=c.result.skills:(console.error("skill.list custom topic failed:",c?.error),t.value=[]);return}const{output:l}=await o.execute("skill list",2e4),d=V(l);t.value=d}catch(l){console.error("Failed to load skills:",l)}finally{_.value=!1}}return{loading:_,allSkills:t,searchQuery:n,selectedCategory:e,categories:k,filteredSkills:v,loadSkills:f}}),F={__name:"Skills",setup(_,{expose:t}){t();const n=A(),e=z(),k=O(),v=C(()=>n.categories.filter(r=>r!=="all").slice(0,6));function f(r){return{"built-in":"内置","cli-direct":"CLI",agent:"Agent","llm-query":"LLM",hybrid:"混合",workspace:"工作区",marketplace:"市场"}[r]||r}function o(r){return{"cli-direct":"CLI",agent:"Agent","llm-query":"LLM",hybrid:"混合","built-in":"内置"}[r]||r||"未知"}function l(r){return{"cli-direct":"cyan",agent:"purple","llm-query":"blue",hybrid:"orange","built-in":"green"}[r]||"default"}async function d(r){await e.createSession("agent"),k.push("/chat"),setTimeout(()=>{e.currentSessionId&&e.sendMessage(e.currentSessionId,`/skill run ${r}`)},300)}M(()=>{n.allSkills.length||n.loadSkills()});const c={skillsStore:n,chatStore:e,router:k,displayCategories:v,catLabel:f,modeLabel:o,modeColor:l,runSkill:d,computed:C,onMounted:M,get useRouter(){return O},get ReloadOutlined(){return B},get PlayCircleOutlined(){return q},get AppstoreOutlined(){return j},get useSkillsStore(){return A},get useChatStore(){return z}};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}},Q={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},U={class:"page-sub"},T={style:{display:"flex",gap:"12px","margin-bottom":"20px","flex-wrap":"wrap"}},W={key:0,style:{"text-align":"center",padding:"60px"}},D={class:"skills-grid"},G={style:{display:"flex","justify-content":"space-between","align-items":"flex-start"}},J={style:{flex:"1","min-width":"0"}},K={style:{"font-weight":"500",color:"#e0e0e0","font-size":"14px","margin-bottom":"4px","font-family":"monospace"}},Z={style:{color:"var(--text-secondary)","font-size":"12px","line-height":"1.5"}},H={style:{"margin-left":"12px","flex-shrink":"0"}},X={style:{"margin-top":"10px",display:"flex","justify-content":"flex-end"}},Y={style:{"text-align":"center",padding:"60px",color:"var(--text-muted)"}};function $(_,t,n,e,k,v){const f=m("a-button"),o=m("a-input-search"),l=m("a-radio-button"),d=m("a-radio-group"),c=m("a-spin"),r=m("a-tag"),x=m("a-card");return p(),y("div",null,[a("div",Q,[a("div",null,[t[3]||(t[3]=a("h2",{class:"page-title"},"技能管理",-1)),a("p",U,g(e.skillsStore.allSkills.length)+" 个可用技能",1)]),i(f,{type:"primary",ghost:"",loading:e.skillsStore.loading,onClick:t[0]||(t[0]=s=>e.skillsStore.loadSkills())},{icon:u(()=>[i(e.ReloadOutlined)]),default:u(()=>[t[4]||(t[4]=S(" 刷新 ",-1))]),_:1},8,["loading"])]),h(" Search & Filter "),a("div",T,[i(o,{value:e.skillsStore.searchQuery,"onUpdate:value":t[1]||(t[1]=s=>e.skillsStore.searchQuery=s),placeholder:"搜索技能名称或描述...",style:{width:"300px"},"allow-clear":""},null,8,["value"]),i(d,{value:e.skillsStore.selectedCategory,"onUpdate:value":t[2]||(t[2]=s=>e.skillsStore.selectedCategory=s),"button-style":"solid"},{default:u(()=>[i(l,{value:"all"},{default:u(()=>[...t[5]||(t[5]=[S("全部",-1)])]),_:1}),(p(!0),y(w,null,L(e.displayCategories,s=>(p(),R(l,{key:s,value:s},{default:u(()=>[S(g(e.catLabel(s)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),h(" Loading State "),e.skillsStore.loading?(p(),y("div",W,[i(c,{size:"large"}),t[6]||(t[6]=a("div",{style:{color:"var(--text-muted)","margin-top":"12px"}},"加载技能中...",-1))])):e.skillsStore.filteredSkills.length?(p(),y(w,{key:1},[h(" Skills Grid "),a("div",D,[(p(!0),y(w,null,L(e.skillsStore.filteredSkills,s=>(p(),R(x,{key:s.name,class:"skill-card",size:"small",hoverable:"",style:{background:"var(--bg-card)","border-color":"var(--border-color)",cursor:"default"}},{default:u(()=>[a("div",G,[a("div",J,[a("div",K,g(s.name),1),a("div",Z,g(s.description||"暂无描述"),1)]),a("div",H,[i(r,{color:e.modeColor(s.executionMode),style:{"font-size":"10px"}},{default:u(()=>[S(g(e.modeLabel(s.executionMode)),1)]),_:2},1032,["color"])])]),a("div",X,[i(f,{size:"small",type:"primary",ghost:"",onClick:ee=>e.runSkill(s.name)},{icon:u(()=>[i(e.PlayCircleOutlined)]),default:u(()=>[t[7]||(t[7]=S(" 运行 ",-1))]),_:1},8,["onClick"])])]),_:2},1024))),128))])],2112)):(p(),y(w,{key:2},[h(" Empty State "),a("div",Y,[i(e.AppstoreOutlined,{style:{"font-size":"48px","margin-bottom":"16px",display:"block"}}),a("div",null,g(e.skillsStore.allSkills.length?"没有匹配的技能":"点击刷新加载技能列表"),1)])],2112))])}const ie=N(F,[["render",$],["__scopeId","data-v-d64d43f5"],["__file","/tmp/cc-web-panel-nw0Wu0/repo/packages/web-panel/src/views/Skills.vue"]]);export{ie as default};
@@ -1 +0,0 @@
1
- import{E as F,b as D,r as R,I as p,J as c,U as _,c as n,K as a,S as C,V as x,o as I,x as V,P as i,Q as k,R as r,F as T,Z as O}from"./vendor-BvqAck49.js";import{u as P,_ as E}from"./index-Bc1y36ct.js";import{R as U}from"./icons-DP3uiYxy.js";const B=F("tasks",()=>{const y=R([]),l=R(!1);let u=null,t=null,d=null;const b=D(()=>y.value.filter(e=>e.status==="running")),v=D(()=>y.value.filter(e=>e.status==="pending")),w=D(()=>y.value.filter(e=>e.status==="completed"||e.status==="failed"||e.status==="timeout"));async function s(){const e=P();l.value=!0;try{const g=await e.sendRaw({type:"tasks-list"});g&&Array.isArray(g.tasks)&&(y.value=g.tasks)}catch{}finally{l.value=!1}}async function m(e){const g=P();try{await g.sendRaw({type:"tasks-stop",taskId:e})}catch{}finally{await s()}}const f=R(null);function h(e=5e3){N(),s(),u=setInterval(s,e),S()}function N(){u&&(clearInterval(u),u=null),t&&(t(),t=null),d&&(clearTimeout(d),d=null)}function S(){const e=P();if(t)return;const g=z=>{z.type==="task:notification"&&z.payload?.task&&(f.value=z.payload.task,s(),d&&clearTimeout(d),d=setTimeout(()=>{f.value=null,d=null},8e3))};t=e.onRuntimeEvent(g)}function A(e){return!e||e<0?"-":e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${(e/6e4).toFixed(1)}m`}function o(e){switch(e){case"running":return"processing";case"pending":return"default";case"completed":return"success";case"failed":return"error";case"timeout":return"warning";default:return"default"}}return{tasks:y,loading:l,running:b,pending:v,completed:w,lastNotification:f,fetchTasks:s,stopTask:m,startPolling:h,stopPolling:N,formatDuration:A,getStatusColor:o}}),L={__name:"Tasks",setup(y,{expose:l}){l();const u=B(),t=[{title:"状态",key:"status",width:90},{title:"描述",key:"description",ellipsis:!0},{title:"类型",dataIndex:"type",width:100},{title:"耗时",key:"duration",width:90},{title:"创建时间",key:"createdAt",width:180},{title:"结果",key:"result",ellipsis:!0},{title:"操作",key:"action",width:80}];function d(s){return s.status==="running"&&s.startedAt?u.formatDuration(Date.now()-s.startedAt):s.completedAt&&s.startedAt?u.formatDuration(s.completedAt-s.startedAt):"-"}function b(s){return s?new Date(s).toLocaleString():"-"}function v(s,m){return s?s.length>m?`${s.slice(0,m)}...`:s:""}I(()=>u.startPolling(5e3)),V(()=>u.stopPolling());const w={store:u,columns:t,getDuration:d,formatTime:b,truncate:v,onMounted:I,onUnmounted:V,get ReloadOutlined(){return U},get useTasksStore(){return B}};return Object.defineProperty(w,"__isScriptSetup",{enumerable:!1,value:!0}),w}},W={class:"page-header"},j={key:0,class:"error-text"},J={key:1},K={class:"task-header"},M={class:"task-desc"},Q={class:"task-id"},Z={class:"task-meta"},q=["title"],G={key:0,class:"error-text"},H={key:1,class:"success-text"},X={key:2,class:"muted-text"};function Y(y,l,u,t,d,b){const v=p("a-button"),w=p("a-space"),s=p("a-alert"),m=p("a-statistic"),f=p("a-card"),h=p("a-col"),N=p("a-row"),S=p("a-tag"),A=p("a-table");return i(),c("div",null,[_("div",W,[l[3]||(l[3]=_("div",null,[_("h2",{class:"page-title"},"后台任务"),_("p",{class:"page-sub"},"查看后台任务队列、实时通知和任务执行结果。")],-1)),n(w,null,{default:a(()=>[n(v,{ghost:"",loading:t.store.loading,onClick:l[0]||(l[0]=o=>t.store.fetchTasks())},{icon:a(()=>[n(t.ReloadOutlined)]),default:a(()=>[l[2]||(l[2]=k(" 刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),t.store.lastNotification?(i(),C(s,{key:0,type:t.store.lastNotification.status==="completed"?"success":"error","show-icon":"",closable:"",class:"banner",onClose:l[1]||(l[1]=o=>t.store.lastNotification=null)},{message:a(()=>[k(" 任务"+r(t.store.lastNotification.status==="completed"?"完成":"结束")+": "+r(t.store.lastNotification.description||t.store.lastNotification.id.slice(0,16)),1)]),description:a(()=>[t.store.lastNotification.error?(i(),c("span",j,r(t.store.lastNotification.error),1)):t.store.lastNotification.result?(i(),c("span",J,r(t.truncate(String(t.store.lastNotification.result),120)),1)):x("v-if",!0)]),_:1},8,["type"])):x("v-if",!0),n(N,{gutter:[16,16],class:"stats-row"},{default:a(()=>[n(h,{xs:12,sm:6},{default:a(()=>[n(f,{class:"stat-card",size:"small"},{default:a(()=>[n(m,{title:"全部任务",value:t.store.tasks.length},null,8,["value"])]),_:1})]),_:1}),n(h,{xs:12,sm:6},{default:a(()=>[n(f,{class:"stat-card",size:"small"},{default:a(()=>[n(m,{title:"运行中",value:t.store.running.length},null,8,["value"])]),_:1})]),_:1}),n(h,{xs:12,sm:6},{default:a(()=>[n(f,{class:"stat-card",size:"small"},{default:a(()=>[n(m,{title:"等待中",value:t.store.pending.length},null,8,["value"])]),_:1})]),_:1}),n(h,{xs:12,sm:6},{default:a(()=>[n(f,{class:"stat-card",size:"small"},{default:a(()=>[n(m,{title:"已完成",value:t.store.completed.length},null,8,["value"])]),_:1})]),_:1})]),_:1}),t.store.running.length>0?(i(),C(f,{key:1,title:"运行中的任务",class:"panel-card",size:"small"},{default:a(()=>[(i(!0),c(T,null,O(t.store.running,o=>(i(),c("div",{key:o.id,class:"task-item running"},[_("div",K,[n(S,{color:t.store.getStatusColor(o.status)},{default:a(()=>[k(r(o.status.toUpperCase()),1)]),_:2},1032,["color"]),_("span",M,r(o.description),1),_("span",Q,r(o.id.slice(0,16)),1)]),_("div",Z,[_("span",null,"类型: "+r(o.type||"-"),1),_("span",null,"已运行: "+r(t.store.formatDuration(Date.now()-o.startedAt)),1),n(v,{size:"small",danger:"",onClick:e=>t.store.stopTask(o.id)},{default:a(()=>[...l[4]||(l[4]=[k("停止",-1)])]),_:1},8,["onClick"])])]))),128))]),_:1})):x("v-if",!0),n(f,{class:"panel-card"},{default:a(()=>[n(A,{columns:t.columns,"data-source":t.store.tasks,pagination:{pageSize:15,size:"small"},loading:t.store.loading,"row-key":"id",size:"small"},{bodyCell:a(({column:o,record:e})=>[o.key==="status"?(i(),C(S,{key:0,color:t.store.getStatusColor(e.status)},{default:a(()=>[k(r(e.status),1)]),_:2},1032,["color"])):o.key==="description"?(i(),c("span",{key:1,title:e.command},r(e.description),9,q)):o.key==="duration"?(i(),c(T,{key:2},[k(r(t.getDuration(e)),1)],64)):o.key==="createdAt"?(i(),c(T,{key:3},[k(r(t.formatTime(e.createdAt)),1)],64)):o.key==="result"?(i(),c(T,{key:4},[e.error?(i(),c("span",G,r(t.truncate(e.error,60)),1)):e.result?(i(),c("span",H,r(t.truncate(String(e.result),60)),1)):(i(),c("span",X,"-"))],64)):o.key==="action"?(i(),c(T,{key:5},[e.status==="running"?(i(),C(v,{key:0,size:"small",danger:"",onClick:g=>t.store.stopTask(e.id)},{default:a(()=>[...l[5]||(l[5]=[k(" 停止 ",-1)])]),_:1},8,["onClick"])):x("v-if",!0)],64)):x("v-if",!0)]),_:1},8,["data-source","loading"])]),_:1})])}const st=E(L,[["render",Y],["__scopeId","data-v-da5ff6a2"],["__file","/tmp/cc-web-panel-nw0Wu0/repo/packages/web-panel/src/views/Tasks.vue"]]);export{st as default};
@@ -1 +0,0 @@
1
- import{O as r}from"./index-Bc1y36ct.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-uy6MSNXM.js";import{U as t}from"./index-Bc1y36ct.js";import"./vendor-BvqAck49.js";import"./index-czxh_xOe.js";import"./icons-DP3uiYxy.js";const s=t(o);export{s as default};
@@ -1 +0,0 @@
1
- import{A as o}from"./Row--IaheXkB.js";import{U as t}from"./index-Bc1y36ct.js";import"./vendor-BvqAck49.js";import"./responsiveObserve-Dmn9lUes.js";import"./useFlexGapSupport-D07_5fY3.js";import"./styleChecker-D3ay9a4W.js";import"./index-czxh_xOe.js";import"./icons-DP3uiYxy.js";const l=t(o);export{l as default};