chainlesschain 0.162.161 → 0.162.162

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 (178) hide show
  1. package/package.json +1 -1
  2. package/src/assets/web-panel/assets/{AIOps-DMn528q-.js → AIOps-ClI2ALgv.js} +1 -1
  3. package/src/assets/web-panel/assets/{ActionButton-D9ZcDCJL.js → ActionButton-BDjRcJaK.js} +1 -1
  4. package/src/assets/web-panel/assets/{Analytics-A_K-8PX0.js → Analytics-DikSRsaT.js} +3 -3
  5. package/src/assets/web-panel/assets/{AppLayout-D4pFW3X6.js → AppLayout-9mLhMFmz.js} +5 -5
  6. package/src/assets/web-panel/assets/{Artifacts-Dz46COAd.js → Artifacts-BSr88BrH.js} +1 -1
  7. package/src/assets/web-panel/assets/{Audit-cbMjbyg0.js → Audit-CdvyimOF.js} +1 -1
  8. package/src/assets/web-panel/assets/{BackgroundAgents-Dtf88GAj.js → BackgroundAgents-D3_hCedh.js} +1 -1
  9. package/src/assets/web-panel/assets/{Backup-C5KRxn52.js → Backup-Cyvv9RHf.js} +1 -1
  10. package/src/assets/web-panel/assets/{BaseInput-Dd2UK3BN.js → BaseInput-BZM14kt8.js} +1 -1
  11. package/src/assets/web-panel/assets/{Chat-lptKTFdG.js → Chat-DrQSokVz.js} +6 -6
  12. package/src/assets/web-panel/assets/{ChatBubbleRenderer-C2KLtwHz.js → ChatBubbleRenderer-HwJR-C6B.js} +1 -1
  13. package/src/assets/web-panel/assets/{Checkbox-_yspG6rG.js → Checkbox-bFLYeWMV.js} +1 -1
  14. package/src/assets/web-panel/assets/{Codegen-BGq_GAha.js → Codegen-7mN7xJXT.js} +1 -1
  15. package/src/assets/web-panel/assets/{Col-CePor71g.js → Col-DAB5ZWm7.js} +1 -1
  16. package/src/assets/web-panel/assets/{Community-CLOWhIT7.js → Community-B_1TymaK.js} +1 -1
  17. package/src/assets/web-panel/assets/{Compact-CivJt2vT.js → Compact-Bq1uSWLJ.js} +1 -1
  18. package/src/assets/web-panel/assets/{Compliance-Btmo1GGE.js → Compliance-CyiE1jEe.js} +1 -1
  19. package/src/assets/web-panel/assets/{Cowork-Ct35OlG4.js → Cowork-Cpk0D7vm.js} +2 -2
  20. package/src/assets/web-panel/assets/{Cron-CTc2GmhB.js → Cron-d_Lv3rdB.js} +2 -2
  21. package/src/assets/web-panel/assets/{Crosschain-ZtiBETk1.js → Crosschain-DMqhHjMR.js} +1 -1
  22. package/src/assets/web-panel/assets/{DID-BNqMQQXw.js → DID-Br-oPuBw.js} +2 -2
  23. package/src/assets/web-panel/assets/{Dashboard-BmzZd-9V.js → Dashboard-CfLW_RaP.js} +2 -2
  24. package/src/assets/web-panel/assets/{Dropdown-CMVgvP2M.js → Dropdown-DZnTOExV.js} +1 -1
  25. package/src/assets/web-panel/assets/{EmailListRenderer-CcqQFAfT.js → EmailListRenderer-DHIUHDv1.js} +1 -1
  26. package/src/assets/web-panel/assets/{FamilyGuardDashboard-CTqB1_4V.js → FamilyGuardDashboard-Bw3t3myu.js} +1 -1
  27. package/src/assets/web-panel/assets/{Federation-CiKOOzlb.js → Federation-D9cpQPAY.js} +1 -1
  28. package/src/assets/web-panel/assets/{FormItemContext-Wk-OT0gr.js → FormItemContext-Jdczr9Mr.js} +1 -1
  29. package/src/assets/web-panel/assets/{GenericCardRenderer-DbEQT6ue.js → GenericCardRenderer-BT8ZMpC5.js} +1 -1
  30. package/src/assets/web-panel/assets/{Git-0ZvCPSD9.js → Git-DjARip2b.js} +2 -2
  31. package/src/assets/web-panel/assets/{Governance-CmVuKkPb.js → Governance-BgWbSRcj.js} +1 -1
  32. package/src/assets/web-panel/assets/{Inference-CTWE3Jwg.js → Inference-CfouJciM.js} +1 -1
  33. package/src/assets/web-panel/assets/{KnowledgeGraph-CBEIF00L.js → KnowledgeGraph-50l7mrAr.js} +1 -1
  34. package/src/assets/web-panel/assets/{Logs-DLhxDwVG.js → Logs-rq50H84B.js} +2 -2
  35. package/src/assets/web-panel/assets/MarkdownRenderer-DUPIEdQH.js +1 -0
  36. package/src/assets/web-panel/assets/{Marketplace-BgsCBrnc.js → Marketplace-BYgPDmHU.js} +1 -1
  37. package/src/assets/web-panel/assets/{McpTools-ClBUGDS2.js → McpTools-5DVgcFdx.js} +3 -3
  38. package/src/assets/web-panel/assets/{Memory-CnG_ZnYw.js → Memory-B70LPk7f.js} +2 -2
  39. package/src/assets/web-panel/assets/{MobileBridge-BUOAbR1Z.js → MobileBridge-De8ssA5Y.js} +1 -1
  40. package/src/assets/web-panel/assets/MobileProjects-D10VISps.js +1 -0
  41. package/src/assets/web-panel/assets/{Mtc-CLjt4kCD.js → Mtc-RJsOTsIA.js} +2 -2
  42. package/src/assets/web-panel/assets/{MtcAudit-f24U9Aes.js → MtcAudit-Crh-6BEK.js} +5 -5
  43. package/src/assets/web-panel/assets/{Multisig-GrmGQbSq.js → Multisig-wuoR5l3x.js} +3 -3
  44. package/src/assets/web-panel/assets/{NLProgramming-DADaWn-n.js → NLProgramming-U2Mji4fZ.js} +1 -1
  45. package/src/assets/web-panel/assets/{Notes-xtf5RX6C.js → Notes-CdTZAyDH.js} +3 -3
  46. package/src/assets/web-panel/assets/{NotificationSettings-Cd27Rgtx.js → NotificationSettings-C-FucWE7.js} +1 -1
  47. package/src/assets/web-panel/assets/{OrderTableRenderer-fXRxlDjl.js → OrderTableRenderer-DCYFTeaI.js} +1 -1
  48. package/src/assets/web-panel/assets/{Organization-joCFlNB0.js → Organization-an3OF85L.js} +4 -4
  49. package/src/assets/web-panel/assets/{Overflow-B1HoURq0.js → Overflow-C-1vmYFe.js} +1 -1
  50. package/src/assets/web-panel/assets/{P2P-DiwsKbT7.js → P2P-Cwh47xKg.js} +2 -2
  51. package/src/assets/web-panel/assets/{PdhVaultBrowser-Xe-BsW6S.js → PdhVaultBrowser-Dm38GT0k.js} +3 -3
  52. package/src/assets/web-panel/assets/{Permissions-C23qi8kl.js → Permissions-DS2Y8awD.js} +4 -4
  53. package/src/assets/web-panel/assets/{PersonalDataHub-BS1syX2f.js → PersonalDataHub-BQNziA0I.js} +3 -3
  54. package/src/assets/web-panel/assets/{Pipeline-DRYwwDyh.js → Pipeline-DF85L1ue.js} +1 -1
  55. package/src/assets/web-panel/assets/{Privacy-BQKaDHPH.js → Privacy-BuLornF-.js} +1 -1
  56. package/src/assets/web-panel/assets/{ProjectInit-BC6F9xiG.js → ProjectInit-C3Y31IwX.js} +2 -2
  57. package/src/assets/web-panel/assets/{ProjectSettings-ClFPc1Nd.js → ProjectSettings-BCPiI8aD.js} +2 -2
  58. package/src/assets/web-panel/assets/Projects-BZ6s4k6g.js +1 -0
  59. package/src/assets/web-panel/assets/{Providers-CLWuOUNt.js → Providers-D3Wp022X.js} +1 -1
  60. package/src/assets/web-panel/assets/{QrScannerModal-DiqULTxb.js → QrScannerModal-CUJfQkH4.js} +1 -1
  61. package/src/assets/web-panel/assets/{QuickAsk-9A03P-E_.js → QuickAsk-UAc0EO8l.js} +1 -1
  62. package/src/assets/web-panel/assets/{Recommend-CJZAnbq_.js → Recommend-BaxKupcs.js} +1 -1
  63. package/src/assets/web-panel/assets/{RemoteSession-C9A1R77h.js → RemoteSession-C75NNnXZ.js} +2 -2
  64. package/src/assets/web-panel/assets/{Reputation-BIZc6Rky.js → Reputation-BVXynZAk.js} +1 -1
  65. package/src/assets/web-panel/assets/{Row-DfIPNtuG.js → Row-C5MRZ0bi.js} +1 -1
  66. package/src/assets/web-panel/assets/{RssFeed-C5znFcQ1.js → RssFeed-DAKkEYka.js} +3 -3
  67. package/src/assets/web-panel/assets/{Search-DSs2z3OX.js → Search-DvWv9YOA.js} +1 -1
  68. package/src/assets/web-panel/assets/{Security-CV6LcrLY.js → Security-B5peafW1.js} +4 -4
  69. package/src/assets/web-panel/assets/{Services-cmhoX0Xj.js → Services-UQmvPEaG.js} +2 -2
  70. package/src/assets/web-panel/assets/{Skeleton-tCsg2po7.js → Skeleton-C3bhWpuF.js} +1 -1
  71. package/src/assets/web-panel/assets/{Skills-BK1KUDiy.js → Skills-DfkKf9_H.js} +1 -1
  72. package/src/assets/web-panel/assets/{Sla-yRgyeA82.js → Sla-DqMSjlBM.js} +1 -1
  73. package/src/assets/web-panel/assets/{SpeechSettings-c1mo1mlp.js → SpeechSettings-C-WbxWUX.js} +1 -1
  74. package/src/assets/web-panel/assets/{SyncSettings-koIAfuT3.js → SyncSettings-CYuHZ4N2.js} +2 -2
  75. package/src/assets/web-panel/assets/{Tasks-DkkreAaB.js → Tasks-CyeAyB9d.js} +1 -1
  76. package/src/assets/web-panel/assets/{Templates-fy5Ctf9M.js → Templates-BTCeQnpq.js} +1 -1
  77. package/src/assets/web-panel/assets/{Tenant-Bw70Jf6S.js → Tenant-BifQuA9Y.js} +1 -1
  78. package/src/assets/web-panel/assets/{Terminal-BKh6Rx-4.js → Terminal-Bx_9Bocf.js} +2 -2
  79. package/src/assets/web-panel/assets/{TimelineRenderer-Dg54WP0c.js → TimelineRenderer-BX0RFCOm.js} +1 -1
  80. package/src/assets/web-panel/assets/{Tokens-BvvD5SxJ.js → Tokens-CGHrCmUS.js} +1 -1
  81. package/src/assets/web-panel/assets/{Trigger-B7Ug9x4e.js → Trigger-DlqaY4SO.js} +1 -1
  82. package/src/assets/web-panel/assets/{Trust-BjvuMORY.js → Trust-DfOmj-ay.js} +1 -1
  83. package/src/assets/web-panel/assets/{UkeySign-CZqhkx8p.js → UkeySign-B72jH5fE.js} +1 -1
  84. package/src/assets/web-panel/assets/{VideoEditing-ClR50lhX.js → VideoEditing-BT-63fqv.js} +1 -1
  85. package/src/assets/web-panel/assets/{Wallet-DlfppYjx.js → Wallet-Dsul3sHr.js} +4 -4
  86. package/src/assets/web-panel/assets/{WebAuthn-BirgVr8B.js → WebAuthn-Izkwwdgy.js} +2 -2
  87. package/src/assets/web-panel/assets/{WorkflowEditor-B8DP_bax.js → WorkflowEditor-D3FHSiH1.js} +1 -1
  88. package/src/assets/web-panel/assets/{chat-DA8AUZzL.js → chat-CmVz5z3U.js} +1 -1
  89. package/src/assets/web-panel/assets/{colors-C38pLGp1.js → colors-CuLgyJBp.js} +1 -1
  90. package/src/assets/web-panel/assets/{compact-item-81rtr98o.js → compact-item-Ml1YkXpw.js} +1 -1
  91. package/src/assets/web-panel/assets/{createContext-D34ixq8t.js → createContext-BvjJ48bs.js} +1 -1
  92. package/src/assets/web-panel/assets/devWarning-DhiGrbsh.js +1 -0
  93. package/src/assets/web-panel/assets/{hasIn-D4bzqTrZ.js → hasIn-DVC0157C.js} +1 -1
  94. package/src/assets/web-panel/assets/{index-D_2VYPr1.js → index-4SBta3d7.js} +1 -1
  95. package/src/assets/web-panel/assets/{index-CoVgZw_b.js → index-4wcgvPoF.js} +1 -1
  96. package/src/assets/web-panel/assets/{index-ZRJRItm0.js → index-B0S8NzO6.js} +1 -1
  97. package/src/assets/web-panel/assets/index-B7a1TrU6.js +1 -0
  98. package/src/assets/web-panel/assets/{index-CuS-UPoj.js → index-BUt8kTIB.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-BtGxuQrO.js → index-B_EvG_GW.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-B0QArPQt.js → index-BbPtzB8M.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-Cd3KuNK5.js → index-BbepULSc.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-CbhE3j5j.js → index-BfuKP4qe.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-BXd2_LmH.js → index-BiC6dQZG.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-CP5alL4t.js → index-BjHBpRYZ.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-BvL_3J_n.js → index-BpFJHiTv.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-DFyWKOBD.js → index-BydjdZnl.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-Ddk0e_Pi.js → index-BzG-x9p4.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-BS3M5H9V.js → index-Bzr0rB5T.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-DkHqMnn3.js → index-C229ABfy.js} +1 -1
  110. package/src/assets/web-panel/assets/index-C2B1KRja.js +1 -0
  111. package/src/assets/web-panel/assets/{index-D6GfvEQG.js → index-CFYVQMvu.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-BqIhLAbA.js → index-CXkJH-lK.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-B8mkLM4x.js → index-C_H_S-DY.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-D0Ih7Hwn.js → index-C_XuRgGn.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-COe_cOLJ.js → index-C_vRgTl9.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-BIP62a6r.js → index-Ck_52dz_.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-BP-zkXK8.js → index-CmFNvNLZ.js} +1 -1
  118. package/src/assets/web-panel/assets/{index-D3zCCZRS.js → index-CudmwNBV.js} +3 -3
  119. package/src/assets/web-panel/assets/{index-DFHa1HIg.js → index-Cw0Rjy87.js} +1 -1
  120. package/src/assets/web-panel/assets/{index-BvD7b2IK.js → index-D3lD5qap.js} +1 -1
  121. package/src/assets/web-panel/assets/{index-DakfFZ-k.js → index-DC_OI9H2.js} +1 -1
  122. package/src/assets/web-panel/assets/{index-DvfCEJG-.js → index-DDGaOWBV.js} +1 -1
  123. package/src/assets/web-panel/assets/{index-E1OJRXs4.js → index-DJyN28Et.js} +1 -1
  124. package/src/assets/web-panel/assets/{index-Dmo3dFHb.js → index-DYXHFr4r.js} +1 -1
  125. package/src/assets/web-panel/assets/{index-tKiC8T-4.js → index-Dt5KMjwJ.js} +1 -1
  126. package/src/assets/web-panel/assets/{index-fI5sXMLg.js → index-DuGszaWY.js} +1 -1
  127. package/src/assets/web-panel/assets/{index-DUQLXLQM.js → index-DukDVXCv.js} +1 -1
  128. package/src/assets/web-panel/assets/{index-DMgnRwrK.js → index-KMqhcF7l.js} +1 -1
  129. package/src/assets/web-panel/assets/{index-F76w1NiL.js → index-KjgKdZe-.js} +1 -1
  130. package/src/assets/web-panel/assets/{index-DBFSo1NF.js → index-QXzlT9KD.js} +1 -1
  131. package/src/assets/web-panel/assets/{index-BlxEphl7.js → index-vG4XSJ1d.js} +1 -1
  132. package/src/assets/web-panel/assets/{index-9qoVpPt6.js → index-wvb_FtaV.js} +1 -1
  133. package/src/assets/web-panel/assets/{initDefaultProps-ByyvflIR.js → initDefaultProps-BDgd2YZ8.js} +1 -1
  134. package/src/assets/web-panel/assets/{motion-B3FQm2By.js → motion-ErtrXdYe.js} +1 -1
  135. package/src/assets/web-panel/assets/{move-BSfns6Ef.js → move-_GPPNCgs.js} +1 -1
  136. package/src/assets/web-panel/assets/{mtc-parser-CTG1Ieri.js → mtc-parser-DRLL-8V2.js} +1 -1
  137. package/src/assets/web-panel/assets/{omit-DObM_2j6.js → omit-p86sl023.js} +1 -1
  138. package/src/assets/web-panel/assets/{pickAttrs-DOfelQ1t.js → pickAttrs-BTu7cMLH.js} +1 -1
  139. package/src/assets/web-panel/assets/{placementArrow-CHZILds_.js → placementArrow-BEKz6Isr.js} +1 -1
  140. package/src/assets/web-panel/assets/{responsiveObserve-REbucKSx.js → responsiveObserve-Ck42c9MP.js} +1 -1
  141. package/src/assets/web-panel/assets/{slide-C6EZzD7o.js → slide-1CEvuPsB.js} +1 -1
  142. package/src/assets/web-panel/assets/{statusUtils-BxkWS-g3.js → statusUtils-BDfdx1GJ.js} +1 -1
  143. package/src/assets/web-panel/assets/{styleChecker-Chklyoq6.js → styleChecker-B4K46m5w.js} +1 -1
  144. package/src/assets/web-panel/assets/{useFlexGapSupport-CRVwKrrI.js → useFlexGapSupport-DoIVpJNq.js} +1 -1
  145. package/src/assets/web-panel/assets/{useFs-DV24ik_J.js → useFs-DdAWi-ln.js} +1 -1
  146. package/src/assets/web-panel/assets/{usePersonalDataHub-C7vIo4Pg.js → usePersonalDataHub-iUu6k8dx.js} +1 -1
  147. package/src/assets/web-panel/assets/{vnode-By-v5GlF.js → vnode-DZz4R6Tw.js} +1 -1
  148. package/src/assets/web-panel/assets/{zoom-B1w9Am3r.js → zoom-DXlf9sA3.js} +1 -1
  149. package/src/assets/web-panel/index.html +1 -1
  150. package/src/commands/review.js +6 -1
  151. package/src/data/changelog.json +7 -2
  152. package/src/lib/agents.js +19 -0
  153. package/src/lib/background-agent-supervisor.js +34 -7
  154. package/src/lib/docs-drift.js +166 -0
  155. package/src/lib/doctor-checkup.js +76 -0
  156. package/src/lib/hook-event-bus.cjs +0 -0
  157. package/src/lib/json-schema-output.js +30 -1
  158. package/src/lib/json-schema-validate.js +691 -0
  159. package/src/lib/lsp/__tests__/diagnostics-scheduler.test.js +93 -0
  160. package/src/lib/lsp/diagnostics-scheduler.js +127 -0
  161. package/src/lib/operation-fingerprint.js +95 -0
  162. package/src/lib/plugin-runtime/capabilities.js +371 -0
  163. package/src/lib/plugin-runtime/manifest.js +30 -0
  164. package/src/lib/remote-approval-bridge.js +16 -0
  165. package/src/lib/review-pipeline.js +227 -0
  166. package/src/lib/runtime-checkup.js +318 -0
  167. package/src/lib/session-lifecycle.js +305 -0
  168. package/src/lib/settings-hook-events.cjs +39 -13
  169. package/src/lib/subagent-contract.js +383 -0
  170. package/src/lib/telemetry-ids.js +190 -0
  171. package/src/lib/turn-binding.js +397 -0
  172. package/src/runtime/agent-core.js +13 -6
  173. package/src/assets/web-panel/assets/MarkdownRenderer-DxywvhTU.js +0 -1
  174. package/src/assets/web-panel/assets/MobileProjects-Dnt_9-WB.js +0 -1
  175. package/src/assets/web-panel/assets/Projects-Dn-f5aYe.js +0 -1
  176. package/src/assets/web-panel/assets/devWarning-CHDIEOeN.js +0 -1
  177. package/src/assets/web-panel/assets/index-CY1NURWZ.js +0 -1
  178. package/src/assets/web-panel/assets/index-DokUYqpq.js +0 -1
@@ -1 +1 @@
1
- import{l as L,m as R,h as P,r as O,ad as j,q as z,i as F,f as b,w as X,P as B,I as U}from"./index-D3zCCZRS.js";import{d as w,b as m,c as d,e as q,F as V,s as G}from"./vendor-Bn1JzzAn.js";import{b as J}from"./icons-DG5UD-6K.js";import{W as K}from"./index-DvfCEJG-.js";import{g as Q,i as Y,a as Z}from"./colors-C38pLGp1.js";import"./isVisible-C7tPsqfj.js";import"./useState-CnxtbLoC.js";import"./raf-Deuc0E8-.js";const C=(o,t,l)=>{const r=j(l);return{[`${o.componentCls}-${t}`]:{color:o[`color${l}`],background:o[`color${r}Bg`],borderColor:o[`color${r}Border`],[`&${o.componentCls}-borderless`]:{borderColor:"transparent"}}}},oo=o=>Q(o,(t,l)=>{let{textColor:r,lightBorderColor:a,lightColor:e,darkColor:c}=l;return{[`${o.componentCls}-${t}`]:{color:r,background:e,borderColor:a,"&-inverse":{color:o.colorTextLightSolid,background:c,borderColor:c},[`&${o.componentCls}-borderless`]:{borderColor:"transparent"}}}}),eo=o=>{const{paddingXXS:t,lineWidth:l,tagPaddingHorizontal:r,componentCls:a}=o,e=r-l,c=t-l;return{[a]:P(P({},O(o)),{display:"inline-block",height:"auto",marginInlineEnd:o.marginXS,paddingInline:e,fontSize:o.tagFontSize,lineHeight:`${o.tagLineHeight}px`,whiteSpace:"nowrap",background:o.tagDefaultBg,border:`${o.lineWidth}px ${o.lineType} ${o.colorBorder}`,borderRadius:o.borderRadiusSM,opacity:1,transition:`all ${o.motionDurationMid}`,textAlign:"start",[`&${a}-rtl`]:{direction:"rtl"},"&, a, a:hover":{color:o.tagDefaultColor},[`${a}-close-icon`]:{marginInlineStart:c,color:o.colorTextDescription,fontSize:o.tagIconSize,cursor:"pointer",transition:`all ${o.motionDurationMid}`,"&:hover":{color:o.colorTextHeading}},[`&${a}-has-color`]:{borderColor:"transparent",[`&, a, a:hover, ${o.iconCls}-close, ${o.iconCls}-close:hover`]:{color:o.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",[`&:not(${a}-checkable-checked):hover`]:{color:o.colorPrimary,backgroundColor:o.colorFillSecondary},"&:active, &-checked":{color:o.colorTextLightSolid},"&-checked":{backgroundColor:o.colorPrimary,"&:hover":{backgroundColor:o.colorPrimaryHover}},"&:active":{backgroundColor:o.colorPrimaryActive}},"&-hidden":{display:"none"},[`> ${o.iconCls} + span, > span + ${o.iconCls}`]:{marginInlineStart:e}}),[`${a}-borderless`]:{borderColor:"transparent",background:o.tagBorderlessBg}}},H=L("Tag",o=>{const{fontSize:t,lineHeight:l,lineWidth:r,fontSizeIcon:a}=o,e=Math.round(t*l),c=o.fontSizeSM,g=e-r*2,v=o.colorFillAlter,s=o.colorText,n=R(o,{tagFontSize:c,tagLineHeight:g,tagDefaultBg:v,tagDefaultColor:s,tagIconSize:a-2*r,tagPaddingHorizontal:8,tagBorderlessBg:o.colorFillTertiary});return[eo(n),oo(n),C(n,"success","Success"),C(n,"processing","Info"),C(n,"error","Error"),C(n,"warning","Warning")]}),lo=()=>({prefixCls:String,checked:{type:Boolean,default:void 0},onChange:{type:Function},onClick:{type:Function},"onUpdate:checked":Function}),S=w({compatConfig:{MODE:3},name:"ACheckableTag",inheritAttrs:!1,props:lo(),setup(o,t){let{slots:l,emit:r,attrs:a}=t;const{prefixCls:e}=z("tag",o),[c,g]=H(e),v=n=>{const{checked:u}=o;r("update:checked",!u),r("change",!u),r("click",n)},s=m(()=>F(e.value,g.value,{[`${e.value}-checkable`]:!0,[`${e.value}-checkable-checked`]:o.checked}));return()=>{var n;return c(d("span",b(b({},a),{},{class:[s.value,a.class],onClick:v}),[(n=l.default)===null||n===void 0?void 0:n.call(l)]))}}}),ro=()=>({prefixCls:String,color:{type:String},closable:{type:Boolean,default:!1},closeIcon:B.any,visible:{type:Boolean,default:void 0},onClose:{type:Function},onClick:U(),"onUpdate:visible":Function,icon:B.any,bordered:{type:Boolean,default:!0}}),h=w({compatConfig:{MODE:3},name:"ATag",inheritAttrs:!1,props:ro(),slots:Object,setup(o,t){let{slots:l,emit:r,attrs:a}=t;const{prefixCls:e,direction:c}=z("tag",o),[g,v]=H(e),s=G(!0);X(o.visible===void 0,"Tag",'`visible` is deprecated, please use `<Tag v-show="visible" />` instead.'),q(()=>{o.visible!==void 0&&(s.value=o.visible)});const n=i=>{i.stopPropagation(),r("update:visible",!1),r("close",i),!i.defaultPrevented&&o.visible===void 0&&(s.value=!1)},u=m(()=>Y(o.color)||Z(o.color)),D=m(()=>F(e.value,v.value,{[`${e.value}-${o.color}`]:u.value,[`${e.value}-has-color`]:o.color&&!u.value,[`${e.value}-hidden`]:!s.value,[`${e.value}-rtl`]:c.value==="rtl",[`${e.value}-borderless`]:!o.bordered})),M=i=>{r("click",i)};return()=>{var i,p,f;const{icon:A=(i=l.icon)===null||i===void 0?void 0:i.call(l),color:$,closeIcon:y=(p=l.closeIcon)===null||p===void 0?void 0:p.call(l),closable:W=!1}=o,k=()=>W?y?d("span",{class:`${e.value}-close-icon`,onClick:n},[y]):d(J,{class:`${e.value}-close-icon`,onClick:n},null):null,N={backgroundColor:$&&!u.value?$:void 0},T=A||null,I=(f=l.default)===null||f===void 0?void 0:f.call(l),_=T?d(V,null,[T,d("span",null,[I])]):I,E=o.onClick!==void 0,x=d("span",b(b({},a),{},{onClick:M,class:[D.value,a.class],style:[N,a.style]}),[_,k()]);return g(E?d(K,null,{default:()=>[x]}):x)}}});h.CheckableTag=S;h.install=function(o){return o.component(h.name,h),o.component(S.name,S),o};export{S as CheckableTag,h as default,ro as tagProps};
1
+ import{l as L,m as R,h as P,r as O,ad as j,q as z,i as F,f as b,w as X,P as B,I as U}from"./index-CudmwNBV.js";import{d as w,b as m,c as d,e as q,F as V,s as G}from"./vendor-Bn1JzzAn.js";import{b as J}from"./icons-DG5UD-6K.js";import{W as K}from"./index-DDGaOWBV.js";import{g as Q,i as Y,a as Z}from"./colors-CuLgyJBp.js";import"./isVisible-C7tPsqfj.js";import"./useState-CnxtbLoC.js";import"./raf-Deuc0E8-.js";const C=(o,t,l)=>{const r=j(l);return{[`${o.componentCls}-${t}`]:{color:o[`color${l}`],background:o[`color${r}Bg`],borderColor:o[`color${r}Border`],[`&${o.componentCls}-borderless`]:{borderColor:"transparent"}}}},oo=o=>Q(o,(t,l)=>{let{textColor:r,lightBorderColor:a,lightColor:e,darkColor:c}=l;return{[`${o.componentCls}-${t}`]:{color:r,background:e,borderColor:a,"&-inverse":{color:o.colorTextLightSolid,background:c,borderColor:c},[`&${o.componentCls}-borderless`]:{borderColor:"transparent"}}}}),eo=o=>{const{paddingXXS:t,lineWidth:l,tagPaddingHorizontal:r,componentCls:a}=o,e=r-l,c=t-l;return{[a]:P(P({},O(o)),{display:"inline-block",height:"auto",marginInlineEnd:o.marginXS,paddingInline:e,fontSize:o.tagFontSize,lineHeight:`${o.tagLineHeight}px`,whiteSpace:"nowrap",background:o.tagDefaultBg,border:`${o.lineWidth}px ${o.lineType} ${o.colorBorder}`,borderRadius:o.borderRadiusSM,opacity:1,transition:`all ${o.motionDurationMid}`,textAlign:"start",[`&${a}-rtl`]:{direction:"rtl"},"&, a, a:hover":{color:o.tagDefaultColor},[`${a}-close-icon`]:{marginInlineStart:c,color:o.colorTextDescription,fontSize:o.tagIconSize,cursor:"pointer",transition:`all ${o.motionDurationMid}`,"&:hover":{color:o.colorTextHeading}},[`&${a}-has-color`]:{borderColor:"transparent",[`&, a, a:hover, ${o.iconCls}-close, ${o.iconCls}-close:hover`]:{color:o.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",[`&:not(${a}-checkable-checked):hover`]:{color:o.colorPrimary,backgroundColor:o.colorFillSecondary},"&:active, &-checked":{color:o.colorTextLightSolid},"&-checked":{backgroundColor:o.colorPrimary,"&:hover":{backgroundColor:o.colorPrimaryHover}},"&:active":{backgroundColor:o.colorPrimaryActive}},"&-hidden":{display:"none"},[`> ${o.iconCls} + span, > span + ${o.iconCls}`]:{marginInlineStart:e}}),[`${a}-borderless`]:{borderColor:"transparent",background:o.tagBorderlessBg}}},H=L("Tag",o=>{const{fontSize:t,lineHeight:l,lineWidth:r,fontSizeIcon:a}=o,e=Math.round(t*l),c=o.fontSizeSM,g=e-r*2,v=o.colorFillAlter,s=o.colorText,n=R(o,{tagFontSize:c,tagLineHeight:g,tagDefaultBg:v,tagDefaultColor:s,tagIconSize:a-2*r,tagPaddingHorizontal:8,tagBorderlessBg:o.colorFillTertiary});return[eo(n),oo(n),C(n,"success","Success"),C(n,"processing","Info"),C(n,"error","Error"),C(n,"warning","Warning")]}),lo=()=>({prefixCls:String,checked:{type:Boolean,default:void 0},onChange:{type:Function},onClick:{type:Function},"onUpdate:checked":Function}),S=w({compatConfig:{MODE:3},name:"ACheckableTag",inheritAttrs:!1,props:lo(),setup(o,t){let{slots:l,emit:r,attrs:a}=t;const{prefixCls:e}=z("tag",o),[c,g]=H(e),v=n=>{const{checked:u}=o;r("update:checked",!u),r("change",!u),r("click",n)},s=m(()=>F(e.value,g.value,{[`${e.value}-checkable`]:!0,[`${e.value}-checkable-checked`]:o.checked}));return()=>{var n;return c(d("span",b(b({},a),{},{class:[s.value,a.class],onClick:v}),[(n=l.default)===null||n===void 0?void 0:n.call(l)]))}}}),ro=()=>({prefixCls:String,color:{type:String},closable:{type:Boolean,default:!1},closeIcon:B.any,visible:{type:Boolean,default:void 0},onClose:{type:Function},onClick:U(),"onUpdate:visible":Function,icon:B.any,bordered:{type:Boolean,default:!0}}),h=w({compatConfig:{MODE:3},name:"ATag",inheritAttrs:!1,props:ro(),slots:Object,setup(o,t){let{slots:l,emit:r,attrs:a}=t;const{prefixCls:e,direction:c}=z("tag",o),[g,v]=H(e),s=G(!0);X(o.visible===void 0,"Tag",'`visible` is deprecated, please use `<Tag v-show="visible" />` instead.'),q(()=>{o.visible!==void 0&&(s.value=o.visible)});const n=i=>{i.stopPropagation(),r("update:visible",!1),r("close",i),!i.defaultPrevented&&o.visible===void 0&&(s.value=!1)},u=m(()=>Y(o.color)||Z(o.color)),D=m(()=>F(e.value,v.value,{[`${e.value}-${o.color}`]:u.value,[`${e.value}-has-color`]:o.color&&!u.value,[`${e.value}-hidden`]:!s.value,[`${e.value}-rtl`]:c.value==="rtl",[`${e.value}-borderless`]:!o.bordered})),M=i=>{r("click",i)};return()=>{var i,p,f;const{icon:A=(i=l.icon)===null||i===void 0?void 0:i.call(l),color:$,closeIcon:y=(p=l.closeIcon)===null||p===void 0?void 0:p.call(l),closable:W=!1}=o,k=()=>W?y?d("span",{class:`${e.value}-close-icon`,onClick:n},[y]):d(J,{class:`${e.value}-close-icon`,onClick:n},null):null,N={backgroundColor:$&&!u.value?$:void 0},T=A||null,I=(f=l.default)===null||f===void 0?void 0:f.call(l),_=T?d(V,null,[T,d("span",null,[I])]):I,E=o.onClick!==void 0,x=d("span",b(b({},a),{},{onClick:M,class:[D.value,a.class],style:[N,a.style]}),[_,k()]);return g(E?d(K,null,{default:()=>[x]}):x)}}});h.CheckableTag=S;h.install=function(o){return o.component(h.name,h),o.component(S.name,S),o};export{S as CheckableTag,h as default,ro as tagProps};
@@ -1 +1 @@
1
- import{h as s}from"./index-D3zCCZRS.js";const n=(p,o)=>{const r=s({},p);return Object.keys(o).forEach(t=>{const e=r[t];if(e)e.type||e.default?e.default=o[t]:e.def?e.def(o[t]):r[t]={type:e,default:o[t]};else throw new Error(`not have ${t} prop`)}),r};export{n as i};
1
+ import{h as s}from"./index-CudmwNBV.js";const n=(p,o)=>{const r=s({},p);return Object.keys(o).forEach(t=>{const e=r[t];if(e)e.type||e.default?e.default=o[t]:e.def?e.def(o[t]):r[t]={type:e,default:o[t]};else throw new Error(`not have ${t} prop`)}),r};export{n as i};
@@ -1,4 +1,4 @@
1
- import{b as D,e as k,d as F,q as _,o as H,w as I,n as O,f as R,c as z,s as f}from"./vendor-Bn1JzzAn.js";import{B as p,D as j,F as C,P as q,G as A,H as G,h as v}from"./index-D3zCCZRS.js";import{w as L}from"./raf-Deuc0E8-.js";let M=!1;try{const e=Object.defineProperty({},"passive",{get(){M=!0}});window.addEventListener("testPassive",null,e),window.removeEventListener("testPassive",null,e)}catch{}function te(e,n,o,t){if(e&&e.addEventListener){let r=t;r===void 0&&M&&(n==="touchstart"||n==="touchmove"||n==="wheel")&&(r={passive:!1}),e.addEventListener(n,o,r)}return{remove:()=>{e&&e.removeEventListener&&e.removeEventListener(n,o)}}}let g;function W(e){if(typeof document>"u")return 0;if(g===void 0){const n=document.createElement("div");n.style.width="100%",n.style.height="200px";const o=document.createElement("div"),t=o.style;t.position="absolute",t.top="0",t.left="0",t.pointerEvents="none",t.visibility="hidden",t.width="200px",t.height="150px",t.overflow="hidden",o.appendChild(n),document.body.appendChild(o);const r=n.offsetWidth;o.style.overflow="scroll";let a=n.offsetWidth;r===a&&(a=o.clientWidth),document.body.removeChild(o),g=r-a}return g}function N(e){const n=e.match(/^(.*)px$/),o=Number(n?.[1]);return Number.isNaN(o)?W():o}function ne(e){if(typeof document>"u"||!e||!(e instanceof Element))return{width:0,height:0};const{width:n,height:o}=getComputedStyle(e,"::-webkit-scrollbar");return{width:N(n),height:N(o)}}const T=`vc-util-locker-${Date.now()}`;let x=0;function V(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}function Q(e){const n=D(()=>!!e&&!!e.value);x+=1;const o=`${T}_${x}`;k(t=>{if(p()){if(n.value){const r=W(),a=V();j(`
1
+ import{b as D,e as k,d as F,q as _,o as H,w as I,n as O,f as R,c as z,s as f}from"./vendor-Bn1JzzAn.js";import{B as p,D as j,F as C,P as q,G as A,H as G,h as v}from"./index-CudmwNBV.js";import{w as L}from"./raf-Deuc0E8-.js";let M=!1;try{const e=Object.defineProperty({},"passive",{get(){M=!0}});window.addEventListener("testPassive",null,e),window.removeEventListener("testPassive",null,e)}catch{}function te(e,n,o,t){if(e&&e.addEventListener){let r=t;r===void 0&&M&&(n==="touchstart"||n==="touchmove"||n==="wheel")&&(r={passive:!1}),e.addEventListener(n,o,r)}return{remove:()=>{e&&e.removeEventListener&&e.removeEventListener(n,o)}}}let g;function W(e){if(typeof document>"u")return 0;if(g===void 0){const n=document.createElement("div");n.style.width="100%",n.style.height="200px";const o=document.createElement("div"),t=o.style;t.position="absolute",t.top="0",t.left="0",t.pointerEvents="none",t.visibility="hidden",t.width="200px",t.height="150px",t.overflow="hidden",o.appendChild(n),document.body.appendChild(o);const r=n.offsetWidth;o.style.overflow="scroll";let a=n.offsetWidth;r===a&&(a=o.clientWidth),document.body.removeChild(o),g=r-a}return g}function N(e){const n=e.match(/^(.*)px$/),o=Number(n?.[1]);return Number.isNaN(o)?W():o}function ne(e){if(typeof document>"u"||!e||!(e instanceof Element))return{width:0,height:0};const{width:n,height:o}=getComputedStyle(e,"::-webkit-scrollbar");return{width:N(n),height:N(o)}}const T=`vc-util-locker-${Date.now()}`;let x=0;function V(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}function Q(e){const n=D(()=>!!e&&!!e.value);x+=1;const o=`${T}_${x}`;k(t=>{if(p()){if(n.value){const r=W(),a=V();j(`
2
2
  html body {
3
3
  overflow-y: hidden;
4
4
  ${a?`width: calc(100% - ${r}px);`:""}
@@ -1,4 +1,4 @@
1
- import{K as t}from"./index-D3zCCZRS.js";import{i as s}from"./motion-B3FQm2By.js";const m=new t("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),f=new t("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),c=new t("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),y=new t("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),p=new t("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),O=new t("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),g=new t("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),v=new t("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),l={"move-up":{inKeyframes:g,outKeyframes:v},"move-down":{inKeyframes:m,outKeyframes:f},"move-left":{inKeyframes:c,outKeyframes:y},"move-right":{inKeyframes:p,outKeyframes:O}},w=(n,a)=>{const{antCls:o}=n,r=`${o}-${a}`,{inKeyframes:i,outKeyframes:e}=l[a];return[s(r,i,e,n.motionDurationMid),{[`
1
+ import{K as t}from"./index-CudmwNBV.js";import{i as s}from"./motion-ErtrXdYe.js";const m=new t("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),f=new t("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),c=new t("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),y=new t("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),p=new t("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),O=new t("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),g=new t("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),v=new t("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),l={"move-up":{inKeyframes:g,outKeyframes:v},"move-down":{inKeyframes:m,outKeyframes:f},"move-left":{inKeyframes:c,outKeyframes:y},"move-right":{inKeyframes:p,outKeyframes:O}},w=(n,a)=>{const{antCls:o}=n,r=`${o}-${a}`,{inKeyframes:i,outKeyframes:e}=l[a];return[s(r,i,e,n.motionDurationMid),{[`
2
2
  ${r}-enter,
3
3
  ${r}-appear
4
4
  `]:{opacity:0,animationTimingFunction:n.motionEaseOutCirc},[`${r}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};export{w as i};
@@ -1 +1 @@
1
- import{t as s}from"./index-D3zCCZRS.js";const i=Object.freeze({ok:!1,config:{enabled:!1,batch_interval_seconds:3600,namespace_prefix:"",issuer:""},staging:{count:0,malformed:0,oldest_queued_at:null},batches:{count:0,last_batch_id:null,last_closed_at:null,last_tree_size:null,last_tree_head_id:null}});function n(r,t=0){return typeof r=="number"&&Number.isFinite(r)?r:t}function a(r,t=""){return typeof r=="string"?r:t}function f(r){const t=JSON.parse(JSON.stringify(i)),e=r&&typeof r=="object"&&!Array.isArray(r)?r:s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.ok=!0,e.config&&typeof e.config=="object"&&(t.config.enabled=e.config.enabled===!0,t.config.batch_interval_seconds=n(e.config.batch_interval_seconds,t.config.batch_interval_seconds),t.config.namespace_prefix=a(e.config.namespace_prefix),t.config.issuer=a(e.config.issuer)),e.staging&&typeof e.staging=="object"&&(t.staging.count=n(e.staging.count,0),t.staging.malformed=n(e.staging.malformed,0),t.staging.oldest_queued_at=e.staging.oldest_queued_at??null),e.batches&&typeof e.batches=="object"&&(t.batches.count=n(e.batches.count,0),t.batches.last_batch_id=e.batches.last_batch_id??null,t.batches.last_closed_at=e.batches.last_closed_at??null,t.batches.last_tree_size=e.batches.last_tree_size??null,t.batches.last_tree_head_id=e.batches.last_tree_head_id??null)),t}const o=Object.freeze({ok:!1,exists:!1,stateFile:"",lastSeq:0,lastFingerprint:null,lastPublishedAt:null,historyCount:0,history:[]});function l(r){if(!r||typeof r!="object")return null;const t=a(r.seq);return t?{key:t,seq:t,namespace:a(r.namespace),treeHeadId:a(r.tree_head_id),rootHash:a(r.root_hash),treeSize:n(r.tree_size,0),fingerprint:a(r.fingerprint),publishedAt:a(r.published_at),batchDir:a(r.batch_dir)}:null}function _(r){const t=JSON.parse(JSON.stringify(o)),e=s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.ok=e.ok===!0,t.exists=e.exists===!0,t.stateFile=a(e.state_file),!t.exists)||(t.lastSeq=n(e.last_seq,0),t.lastFingerprint=e.last_fingerprint??null,t.lastPublishedAt=e.last_published_at??null,t.historyCount=n(e.history_count,0),Array.isArray(e.history)&&(t.history=e.history.map(l).filter(Boolean))),t}const u=Object.freeze({ok:!1,code:"",recoverable:!1,leaf:null,treeHead:null,raw:null});function d(r){const t=JSON.parse(JSON.stringify(u)),e=s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.raw=e,t.ok=e.ok===!0,t.code=a(e.code,e.reason||""),t.recoverable=e.recoverable===!0,e.leaf&&typeof e.leaf=="object"&&(t.leaf=e.leaf),e.treeHead&&typeof e.treeHead=="object"&&(t.treeHead=e.treeHead)),t}function h(r){return typeof r!="number"||!Number.isFinite(r)||r<=0?"—":r<60?`${r}s`:r<3600?`${Math.round(r/60)}min`:`${Math.round(r/3600)}h`}function b(r){if(!r)return"—";const t=new Date(r);return isNaN(t.getTime())?r:t.toLocaleString("zh-CN",{hour12:!1})}function g(r){if(!r)return"—";const t=Date.parse(r);if(isNaN(t))return r;const e=Math.round((Date.now()-t)/1e3);return e<60?`${e}s 前`:e<3600?`${Math.round(e/60)}min 前`:e<86400?`${Math.round(e/3600)}h 前`:`${Math.round(e/86400)}d 前`}export{f as a,_ as b,b as c,h as d,g as f,d as p};
1
+ import{t as s}from"./index-CudmwNBV.js";const i=Object.freeze({ok:!1,config:{enabled:!1,batch_interval_seconds:3600,namespace_prefix:"",issuer:""},staging:{count:0,malformed:0,oldest_queued_at:null},batches:{count:0,last_batch_id:null,last_closed_at:null,last_tree_size:null,last_tree_head_id:null}});function n(r,t=0){return typeof r=="number"&&Number.isFinite(r)?r:t}function a(r,t=""){return typeof r=="string"?r:t}function f(r){const t=JSON.parse(JSON.stringify(i)),e=r&&typeof r=="object"&&!Array.isArray(r)?r:s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.ok=!0,e.config&&typeof e.config=="object"&&(t.config.enabled=e.config.enabled===!0,t.config.batch_interval_seconds=n(e.config.batch_interval_seconds,t.config.batch_interval_seconds),t.config.namespace_prefix=a(e.config.namespace_prefix),t.config.issuer=a(e.config.issuer)),e.staging&&typeof e.staging=="object"&&(t.staging.count=n(e.staging.count,0),t.staging.malformed=n(e.staging.malformed,0),t.staging.oldest_queued_at=e.staging.oldest_queued_at??null),e.batches&&typeof e.batches=="object"&&(t.batches.count=n(e.batches.count,0),t.batches.last_batch_id=e.batches.last_batch_id??null,t.batches.last_closed_at=e.batches.last_closed_at??null,t.batches.last_tree_size=e.batches.last_tree_size??null,t.batches.last_tree_head_id=e.batches.last_tree_head_id??null)),t}const o=Object.freeze({ok:!1,exists:!1,stateFile:"",lastSeq:0,lastFingerprint:null,lastPublishedAt:null,historyCount:0,history:[]});function l(r){if(!r||typeof r!="object")return null;const t=a(r.seq);return t?{key:t,seq:t,namespace:a(r.namespace),treeHeadId:a(r.tree_head_id),rootHash:a(r.root_hash),treeSize:n(r.tree_size,0),fingerprint:a(r.fingerprint),publishedAt:a(r.published_at),batchDir:a(r.batch_dir)}:null}function _(r){const t=JSON.parse(JSON.stringify(o)),e=s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.ok=e.ok===!0,t.exists=e.exists===!0,t.stateFile=a(e.state_file),!t.exists)||(t.lastSeq=n(e.last_seq,0),t.lastFingerprint=e.last_fingerprint??null,t.lastPublishedAt=e.last_published_at??null,t.historyCount=n(e.history_count,0),Array.isArray(e.history)&&(t.history=e.history.map(l).filter(Boolean))),t}const u=Object.freeze({ok:!1,code:"",recoverable:!1,leaf:null,treeHead:null,raw:null});function d(r){const t=JSON.parse(JSON.stringify(u)),e=s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.raw=e,t.ok=e.ok===!0,t.code=a(e.code,e.reason||""),t.recoverable=e.recoverable===!0,e.leaf&&typeof e.leaf=="object"&&(t.leaf=e.leaf),e.treeHead&&typeof e.treeHead=="object"&&(t.treeHead=e.treeHead)),t}function h(r){return typeof r!="number"||!Number.isFinite(r)||r<=0?"—":r<60?`${r}s`:r<3600?`${Math.round(r/60)}min`:`${Math.round(r/3600)}h`}function b(r){if(!r)return"—";const t=new Date(r);return isNaN(t.getTime())?r:t.toLocaleString("zh-CN",{hour12:!1})}function g(r){if(!r)return"—";const t=Date.parse(r);if(isNaN(t))return r;const e=Math.round((Date.now()-t)/1e3);return e<60?`${e}s 前`:e<3600?`${Math.round(e/60)}min 前`:e<86400?`${Math.round(e/3600)}h 前`:`${Math.round(e/86400)}d 前`}export{f as a,_ as b,b as c,h as d,g as f,d as p};
@@ -1 +1 @@
1
- import{h as s}from"./index-D3zCCZRS.js";function a(n,t){const e=s({},n);for(let o=0;o<t.length;o+=1){const r=t[o];delete e[r]}return e}export{a as o};
1
+ import{h as s}from"./index-CudmwNBV.js";function a(n,t){const e=s({},n);for(let o=0;o<t.length;o+=1){const r=t[o];delete e[r]}return e}export{a as o};
@@ -1,4 +1,4 @@
1
- import{h as i}from"./index-D3zCCZRS.js";const l=`accept acceptcharset accesskey action allowfullscreen allowtransparency
1
+ import{h as i}from"./index-CudmwNBV.js";const l=`accept acceptcharset accesskey action allowfullscreen allowtransparency
2
2
  alt async autocomplete autofocus autoplay capture cellpadding cellspacing challenge
3
3
  charset checked classid classname colspan cols content contenteditable contextmenu
4
4
  controls coords crossorigin data datetime default defer dir disabled download draggable
@@ -1 +1 @@
1
- import{h as i}from"./index-D3zCCZRS.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-CudmwNBV.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{J as o,h}from"./index-D3zCCZRS.js";import{b as x}from"./vendor-Bn1JzzAn.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{J as o,h}from"./index-CudmwNBV.js";import{b as x}from"./vendor-Bn1JzzAn.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-D3zCCZRS.js";import{i as e}from"./motion-B3FQm2By.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-CudmwNBV.js";import{i as e}from"./motion-ErtrXdYe.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-D3zCCZRS.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-CudmwNBV.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{B as d}from"./index-D3zCCZRS.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{B as d}from"./index-CudmwNBV.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-Bn1JzzAn.js";import{d as s}from"./styleChecker-Chklyoq6.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-Bn1JzzAn.js";import{d as s}from"./styleChecker-B4K46m5w.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-D3zCCZRS.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-CudmwNBV.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-D3zCCZRS.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-CudmwNBV.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{N as i,h as a,w as l}from"./index-D3zCCZRS.js";import{a7 as o,k as g,C as d,F as f,A as p}from"./vendor-Bn1JzzAn.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 v(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,v as t};
1
+ import{N as i,h as a,w as l}from"./index-CudmwNBV.js";import{a7 as o,k as g,C as d,F as f,A as p}from"./vendor-Bn1JzzAn.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 v(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,v as t};
@@ -1,4 +1,4 @@
1
- import{K as o}from"./index-D3zCCZRS.js";import{i as f}from"./motion-B3FQm2By.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-CudmwNBV.js";import{i as f}from"./motion-ErtrXdYe.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-D3zCCZRS.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-CudmwNBV.js"></script>
12
12
  <link rel="modulepreload" crossorigin href="./assets/vendor-Bn1JzzAn.js">
13
13
  <link rel="modulepreload" crossorigin href="./assets/icons-DG5UD-6K.js">
14
14
  <link rel="stylesheet" crossorigin href="./assets/index-Cq93VfoF.css">
@@ -34,6 +34,7 @@ import path from "node:path";
34
34
  import chalk from "chalk";
35
35
  import { logger } from "../lib/logger.js";
36
36
  import { firstBalancedJson } from "../lib/json-schema-output.js";
37
+ import { dedupeFindings } from "../lib/review-pipeline.js";
37
38
 
38
39
  /** Diffs larger than this are truncated before going to the model. */
39
40
  const MAX_DIFF_CHARS = 200_000;
@@ -411,7 +412,7 @@ export function parseFindings(text) {
411
412
  }
412
413
  }
413
414
  if (!arr) return [];
414
- return arr
415
+ const mapped = arr
415
416
  .filter(
416
417
  (f) =>
417
418
  f &&
@@ -427,6 +428,10 @@ export function parseFindings(text) {
427
428
  title: f.title ? String(f.title) : "",
428
429
  body: f.body ? String(f.body) : f.title ? String(f.title) : "finding",
429
430
  }));
431
+ // Collapse duplicate findings the model may repeat for the same path:line:title
432
+ // (keeps the highest severity). Shape-preserving for this {path,line,severity,
433
+ // title,body} model — see review-pipeline.dedupeFindings.
434
+ return dedupeFindings(mapped);
430
435
  }
431
436
 
432
437
  /** Format one finding into a PR comment body. Pure. */
@@ -3,7 +3,7 @@
3
3
  "releases": [
4
4
  {
5
5
  "productVersion": "Unreleased",
6
- "cliVersion": "0.162.161",
6
+ "cliVersion": "0.162.162",
7
7
  "cliVersions": [
8
8
  "0.4.46",
9
9
  "0.4.51",
@@ -19,11 +19,16 @@
19
19
  "0.162.158",
20
20
  "0.162.159",
21
21
  "0.162.160",
22
- "0.162.161"
22
+ "0.162.161",
23
+ "0.162.162"
23
24
  ],
24
25
  "date": null,
25
26
  "title": "",
26
27
  "sections": [
28
+ {
29
+ "heading": "Added — cc CLI 0.162.162:增量 gap-analysis 收尾(P1 Subagent 契约/Turn-Checkpoint 绑定/Plugin 能力 Schema + P2 Hooks 事件总线/JSON Schema/多 Agent Review + LSP 诊断/Doctor+文档+OTel)+ IDE gap P0(远程审批指纹/会话生命周期)(CLI-only npm 发版)",
30
+ "body": "> `chainlesschain` 0.162.161 → **0.162.162** 发 npm `latest`(经 `npm-publish.yml`,`--provenance --access public`)。纯 `packages/cli/src` + 一个构建脚本;未触 `pdh/lib` → 无 Android cc bundle rollover / 无 USR_VERSION 改动。命令面无新顶层命令(全部为纯核 lib 模块 + 最小接线 + 一个 `scripts/gen-cli-reference.mjs` 生成器),**顶层命令数 175 不变**。至此 `docs/CLAUDE_CODE_CLI_INCREMENTAL_GAP_ANALYSIS_2026-07-12.md`(vs Claude Code v2.1.207)的 P0/P1/P2 全部章节均有「已落地(增量)」记录;每节仍列「仍欠」(多为环境/平台阻塞或运行时深接线)。\n>\n> 全部为纯核 + 时钟注入(无 timer/RNG,确定性可测)+ 最小真实接线的低风险增量;新增测试文件本地全绿。\n\n- **Subagent 契约(P1)**:`subagent-contract.js`——tighten-only 继承/覆盖:权限模式加宽被钳回父级上限,capabilities 与父级天花板取交集,memory 父级拒则永不授予,预算封顶父级余量,maxDepth/maxChildren 只能调低不能调高;`resolveSubagentContract` + `enforceRecursionLimits` + `resolveIsolationFailClosed`。接线到 `.claude/agents/*.md` 解析(`parseAgentFile` 增 `contract` 字段)。\n- **Turn↔Checkpoint 绑定(P1)**:`turn-binding.js`——显式 turn→checkpoint 表:`computeCoverage` 对有副作用无 checkpoint 的 turn 标 PARTIAL、无变更标 FULL、有变更且有 checkpoint 标 FULL、有变更无 checkpoint 标 NONE;`resolveRestorePlan` 永不过度承诺可恢复范围(conversation/files/both scope);`TurnBindingLog` + `selectTurnRange` + `buildTurnBindingFromMarks`。\n- **Plugin 能力声明 + 配置 Schema(P1)**:`plugin-runtime/capabilities.js`——能力默认 DENY(process/network{any,domains}/filesystem/mcp/monitor/credential),`diffCapabilities`+`consentRequiredForUpgrade`(加宽即需重新同意),`auditDeclaredCapabilities`;`normalizeOptionsSchema`/`validateOptions`/`redactSensitiveOptions`(敏感选项只从用户级取、拒绝来自 project 配置)。接线到 `manifest.js`(`parsePluginManifest` 增 capabilities/capabilitiesDeclared/optionsSchema)。\n- **Hooks 统一事件总线 + Replay(P2)**:`hook-event-bus.cjs`——`HOOK_EVENT_TYPES`(现有 settings 事件 ∪ 新 PermissionDenied/TaskCreated/TaskCompleted/InstructionsLoaded/CwdChanged/WorktreeCreate/WorktreeRemove/MCPElicitation),`buildHookEnvelope`(`event_id`=`evt_`+sha256,带 trace_id/parent_id 的版本化信封),`mergeHookDecisions`(block>ask>allow>continue 最严胜出),`planHookReplay`(决策类事件 replay 必须显式 sandbox:true)。接线到 `settings-hook-events.cjs`(`withDeliveryId` 打 event_id)。\n- **JSON Schema 结构化输出(P2)**:`json-schema-validate.js`——Draft 2020-12 子集校验器:`jsonPointer`/`canonical`/`computeSchemaDigest`(\"sha256:…\")/`validate`→`{valid,errors:[{code,keyword,instancePath,schemaPath,message}]}`/`validateSchema`(meta 校验)/`buildStructuredResultEvent`(`{type:\"structured_result\",schema_digest,valid,value,errors?}`);支持 type/enum/const/properties/required/additionalProperties/items/prefixItems/数值与串与数组约束/allOf-anyOf-oneOf-not/本地 $ref(128 层守卫)。接线到 `json-schema-output.js`(加载即 meta 校验 + 导出 buildStructuredResult/computeSchemaDigest)。\n- **多 Agent Code Review + LSP 自动诊断(P2)**:`review-pipeline.js`——finders→verifier→deduper→结构化输出的纯聚合核:`dedupeFindings`(合并同 path:line:title、保留最高 severity、跨维度并 categories/dimensions;形状保持)、`applyVerdicts`(verifier 复现——拒者剔除、复现者提权)、`filterByConfidence`/`rankFindings`/`buildReviewReport`(path/line/category/severity/failure_scenario/evidence + rollup);接线到 `review.js parseFindings`(过 dedupe,形状保持)。`lsp/diagnostics-scheduler.js`——编辑触发的自动诊断:`DiagnosticsScheduler`(debounce 合并编辑爆发、throttle 每文件最小间隔、msUntilNextDue)+ `capDiagnostics`(token 上限、按 severity 先丢最不严重、恒留≥1)。\n- **Doctor Runtime Checkup + CLI 文档漂移 + 统一 OTel id(P2)**:`telemetry-ids.js`——`buildTelemetryAttributes` 把杂乱别名归一到九个稳定 id key(session/turn/prompt/tool_use/agent/parent_agent/workflow.run_id/permission.decision_id/checkpoint.id),`content.*` 默认脱敏为 `[redacted]`(仅显式 opt-in 才输出且长度封顶),只发 allow-list key(外来高基数 label 丢弃)、id 值字符集净化+≤128 截断;接线到 `agent-core.js`(每 span 现带归一化的 workflow.run_id+session.id)。`runtime-checkup.js`——纯 Doctor 评估器(agenda 逾期/孤儿进程/慢·熔断 Hook/失效 Plugin·LSP/陈旧 session·worktree/冗长指令文件);接线到 `doctor-checkup.js` 新 `runtimeSection`(只消费 agenda + 指令文件,其余留给既有 section 免双报)。`docs-drift.js` + `scripts/gen-cli-reference.mjs`——从 `command-manifest.json`(175)+`listCodingAgentToolNames()`(26) 生成 canonical 参考文档并双向 diff 漂移(`--out` 生成 / `--check` CI fail-on-drift)。\n- **IDE gap P0(cli/src 侧)**:远程审批绑定操作指纹(`approvalBindingDigest` 常数时间校验,断线重发/跨 Agent 冒用防护)+ 统一会话生命周期状态机(`session-lifecycle.js` 折叠 supervisor 状态/worker phase/IDE 状态为单一词汇表)。"
31
+ },
27
32
  {
28
33
  "heading": "Added — cc CLI 0.162.161:增量 gap-analysis(P0 后台状态机/跨 Agent 授权/凭据代理 + P1 完成条件/Monorepo 排除/持久 Scheduler)+ bg-* WS relay 协议硬化(CLI-only npm 发版)",
29
34
  "body": "> `chainlesschain` 0.162.160 → **0.162.161** 发 npm `latest`(经 `npm-publish.yml`,`--provenance --access public`)。纯 `packages/cli/src` + `packages/agent-sdk` 协议增量;未触 `pdh/lib` → 无 Android cc bundle rollover / 无 USR_VERSION 改动。命令面无新顶层命令(`cc agenda list` 增 `nextWakeupAt` 字段),**顶层命令数 175 不变**。对照 `docs/CLAUDE_CODE_CLI_INCREMENTAL_GAP_ANALYSIS_2026-07-12.md`(vs Claude Code v2.1.207)逐节落地 P0/P1 Windows-可做、自包含、全测试的最有价值切片,每节文档记录「已落地」与「仍欠」。\n>\n> 全部为纯核 + 时钟注入(无 timer/RNG,确定性可测)+ 最小真实接线的低风险增量;已落地增量的 9 个测试文件 148 测全绿。\n\n- **跨事件 `trace_id`(协议 §1.2.1)**:stream-json 每行标注 run-scoped `trace_id`(`--trace-id` / `CC_TRACE_ID` / 自动生成),`sanitizeTraceId` 限字符集 `[A-Za-z0-9._:-]`≤128,供跨进程/跨 Agent 事件关联。\n- **后台 Agent 状态机(P0)**:拆分 Idle 与 Needs-input——`background-agent-phase.js` 归一化 phase(starting/working/idle/needs_input/waiting_permission,legacy `turn`→working),`phaseGroupKey` 让 `cc` 后台仪表板把「空闲」与「待输入/待批准」分组显示,不再混为一谈。\n- **跨 Agent 授权边界(P0 安全)**:`agent-authority.js` 授权信封——`origin`(user/model/subagent/teammate/channel/hook/remote/system/permission_tool)→ `authority`(none/steer/approve/manage),仅 user=manage、permission_tool=approve、已认证且 approve-scoped 的 remote=approve 可批准;`approvalBindingDigest({toolCallId,args,policyDigest})` 常数时间校验、fail-closed,防止一个 Agent 冒用另一个的批准。`origin` 恒由可信 dispatch 赋值,绝不从消息内容读取。\n- **跨平台沙箱与凭据代理(P0)**:`credential-proxy.js`——子进程环境默认屏蔽长效凭据(`maskCredentialEnv` 把 secret 值换成哨兵 `cc-cred-redacted:<NAME>`,`mask`/`deny` 双模式),审计日志绝不记录还原后的明文(`redactEnvForAudit`),`resolveApprovedInjection` 按 approved-host fail-closed 注入;`CC_CREDENTIAL_PROXY` 开关,关闭时同对象引用零开销。接线到 agent-core 前后台两处 spawn。\n- **会话级完成条件引擎(P1)**:`goal-condition-engine.js`——确定性完成条件(`exit-zero:`/`file-exists:`/`contains:`/`regex:`/`model:`/裸),预算(maxOuterTurns 默认 10、硬顶 100)+ 纯 reducer `evaluateGoalStep`,`GoalConditionEngine` 支持 snapshot/fromSnapshot 恢复;确定性检查经注入 spawnSync/existsSync 可测。\n- **大型 Monorepo 上下文排除(P1)**:`instructionExcludes`——`project-instructions.js` 支持按 glob 排除 legacy/vendor/generated 子树(裸名=任意段匹配、带斜杠前缀=目录+后代、`*`/`**`/`?` 通配、祖先匹配语义),@import 目标落在排除子树内也跳过(避免把凭据文件拉进 prompt);`composeSystemPrompt` 透传 `instructionExcludes`。\n- **统一持久 Scheduler 规划器(P1)**:`schedule-planner.js`——确定性 jitter(FNV-1a 稳定 per-task 偏移,跨重启不漂移,避免共享 cron 分钟的惊群)、自适应唤醒(`nextWakeupAt`/`msUntilNextWakeup` 让 daemon 睡到最早 fire 而非轮询)、过期(`isEntryExpired`/`partitionSchedule` 先退休过期再触发);接线到 `cc agenda list`(JSON `nextWakeupAt` + \"next wakeup\" 行)。\n- **bg-* WS relay 协议硬化**:事件序号缺口检测 + replay(慢/断线消费者补投)、出站背压(slow-consumer 保护)、跨语言 fixture 契约 + `tool_use_id` + event seq,IDE 上报文件路径的 remote URI/path 映射,MCP tool-path 边界守卫 + Windows lockfile ACL,diff-apply 并发/二进制守卫 + 读取实时编辑器缓冲的 stale-rejection,后台 Agent supervisor 3 个 pinned gap 收口 + 有界 prompt 队列。"
package/src/lib/agents.js CHANGED
@@ -15,6 +15,21 @@
15
15
  * model model override for runs of this agent
16
16
  * maxTurns per-run iteration cap for this agent (positive integer)
17
17
  * isolation "worktree" → run in a fresh git worktree (gap 2026-07-11)
18
+ * permission-mode child permission mode (tighten-only vs parent)
19
+ * skills capability allow-list — skills the child may use
20
+ * mcp-servers capability allow-list — MCP servers the child may use
21
+ * hooks capability allow-list — hooks the child may run
22
+ * memory whether the child may read permanent memory
23
+ * effort reasoning effort (low|medium|high|xhigh)
24
+ * background run detached
25
+ * context "fresh" (default, isolated) | "fork" (inherit parent)
26
+ * max-depth/max-children ceilings this agent imposes on its own descendants
27
+ * budget { tokens, cost, time } caps
28
+ *
29
+ * The extended P1 contract (permission/skills/mcp/hooks/memory/effort/
30
+ * background/context/depth/children/budget) is normalized into a `contract`
31
+ * field via subagent-contract.js; the top-level tools/maxTurns/isolation are
32
+ * kept as-is for the existing spawn path.
18
33
  *
19
34
  * Project scope shadows personal on a name clash. Discovery + parse are pure
20
35
  * (inject fs/path/home) so the whole thing is unit-testable.
@@ -26,6 +41,7 @@ import { homedir } from "node:os";
26
41
  import yaml from "js-yaml";
27
42
  import { projectRootBase } from "./project-root.cjs";
28
43
  import { discoverPluginAgentLayers } from "./plugin-runtime/agents.js";
44
+ import { normalizeSubagentContract } from "./subagent-contract.js";
29
45
 
30
46
  const _deps = { fs: fsDefault, path: pathDefault };
31
47
 
@@ -147,6 +163,9 @@ export function parseAgentFile(file, scope, opts = {}) {
147
163
  maxTurns:
148
164
  Number.isFinite(maxTurns) && maxTurns > 0 ? Math.floor(maxTurns) : null,
149
165
  isolation: data.isolation === "worktree" ? "worktree" : null,
166
+ // Extended P1 subagent contract (permission/skills/mcp/hooks/memory/effort/
167
+ // background/context/depth/children/budget), normalized + validated.
168
+ contract: normalizeSubagentContract(data),
150
169
  systemPrompt: body || "",
151
170
  };
152
171
  }
@@ -15,6 +15,7 @@ import { randomBytes } from "node:crypto";
15
15
  import { join } from "node:path";
16
16
  import { fileURLToPath } from "node:url";
17
17
  import { getHomeDir } from "./paths.js";
18
+ import { deriveSessionState } from "./session-lifecycle.js";
18
19
 
19
20
  export const DEFAULT_HEARTBEAT_INTERVAL_MS = 5000;
20
21
  export const DEFAULT_HEARTBEAT_STALE_MS = 120000;
@@ -347,6 +348,26 @@ export function normalizeBackgroundAgentTitle(title) {
347
348
  return value.slice(0, 160);
348
349
  }
349
350
 
351
+ /**
352
+ * The canonical unified lifecycle state (session-lifecycle.js) for a session —
353
+ * folds the supervisor `status` + worker `phase` + `pendingApprovals` into one
354
+ * of the 10 canonical states so every consumer (dashboard, `cc daemon list
355
+ * --json`, an IDE bridge) reasons about a single vocabulary. Pure; call it at a
356
+ * DISPLAY boundary only. It is deliberately NOT baked into
357
+ * effectiveBackgroundAgentState because that function's output is spread back
358
+ * into writeBackgroundAgentState by the rename/pin/stop read-modify-write
359
+ * paths — a derived field there would leak into the on-disk schema.
360
+ */
361
+ export function sessionLifecycleState(state) {
362
+ return deriveSessionState(state);
363
+ }
364
+
365
+ /** A display copy of `state` with the derived `lifecycleState` attached. */
366
+ function withLifecycleState(state) {
367
+ if (!state) return state;
368
+ return { ...state, lifecycleState: deriveSessionState(state) };
369
+ }
370
+
350
371
  export function effectiveBackgroundAgentState(state, options = {}) {
351
372
  if (!state) return null;
352
373
  if (state.status !== "running") return state;
@@ -403,13 +424,19 @@ export function effectiveBackgroundAgentState(state, options = {}) {
403
424
  }
404
425
 
405
426
  export function listBackgroundAgents(options = {}) {
406
- return readdirSync(backgroundAgentsDir())
407
- .filter((name) => name.endsWith(".json") && !name.includes(".job."))
408
- .map((name) => readBackgroundAgentState(name.slice(0, -5)))
409
- .filter(Boolean)
410
- .map((state) => effectiveBackgroundAgentState(state, options))
411
- .filter((state) => options.all || state.status === "running")
412
- .sort((a, b) => (b.startedAt || 0) - (a.startedAt || 0));
427
+ return (
428
+ readdirSync(backgroundAgentsDir())
429
+ .filter((name) => name.endsWith(".json") && !name.includes(".job."))
430
+ .map((name) => readBackgroundAgentState(name.slice(0, -5)))
431
+ .filter(Boolean)
432
+ .map((state) => effectiveBackgroundAgentState(state, options))
433
+ .filter((state) => options.all || state.status === "running")
434
+ .sort((a, b) => (b.startedAt || 0) - (a.startedAt || 0))
435
+ // Display-only enrichment: attach the canonical unified lifecycle state.
436
+ // This is a list feed (never written back to disk), so the derived field
437
+ // cannot leak into the on-disk schema the way it would in the mutate paths.
438
+ .map(withLifecycleState)
439
+ );
413
440
  }
414
441
 
415
442
  function sleepSyncMs(ms) {
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Auto-generated CLI reference + doc-drift detection (P2 "文档").
3
+ *
4
+ * The gap: commands, agent tools, flags, exit codes, and protocol fields are
5
+ * documented by hand and silently drift from the code. `command-manifest.json`
6
+ * (regenerated + CI-guarded) and the `AGENT_TOOLS` registry are the authoritative
7
+ * data sources; nothing turns them into a reference doc or checks a hand-written
8
+ * doc against them.
9
+ *
10
+ * This is the PURE core: build a canonical reference from the manifest + tool
11
+ * list, render it, and diff a documentation surface against the authoritative
12
+ * sets to catch drift in BOTH directions (documented-but-gone / present-but-
13
+ * undocumented). No I/O — the caller reads the manifest, tool names, and doc text.
14
+ */
15
+
16
+ /** Normalize the command-manifest.json commands into a stable reference list. */
17
+ export function extractCommands(manifest = {}) {
18
+ const commands = Array.isArray(manifest.commands) ? manifest.commands : [];
19
+ return commands
20
+ .map((c) => ({
21
+ name: String(c?.name || "").trim(),
22
+ aliases: Array.isArray(c?.aliases)
23
+ ? c.aliases.map((a) => String(a).trim()).filter(Boolean)
24
+ : [],
25
+ summary: String(c?.summary || "").trim(),
26
+ }))
27
+ .filter((c) => c.name)
28
+ .sort((a, b) => a.name.localeCompare(b.name));
29
+ }
30
+
31
+ /**
32
+ * Normalize the AGENT_TOOLS registry into a sorted, de-duped name list. Accepts
33
+ * plain strings, `{ name }` contracts, and OpenAI-style `{ function: { name } }`
34
+ * function-tool definitions.
35
+ */
36
+ export function extractToolNames(tools = []) {
37
+ const names = (Array.isArray(tools) ? tools : [])
38
+ .map((t) => {
39
+ if (typeof t === "string") return t.trim();
40
+ const n = t?.name ?? t?.function?.name;
41
+ return String(n || "").trim();
42
+ })
43
+ .filter(Boolean);
44
+ return [...new Set(names)].sort();
45
+ }
46
+
47
+ /** Every command token a user can invoke: primary names + aliases. */
48
+ export function commandTokens(commands) {
49
+ const set = new Set();
50
+ for (const c of commands) {
51
+ set.add(c.name);
52
+ for (const a of c.aliases) set.add(a);
53
+ }
54
+ return set;
55
+ }
56
+
57
+ /**
58
+ * Build the canonical reference object from the authoritative sources. This is
59
+ * the data a generator serializes; `renderReferenceMarkdown` renders it.
60
+ */
61
+ export function buildCliReference({ manifest = {}, tools = [] } = {}) {
62
+ const commands = extractCommands(manifest);
63
+ const toolNames = extractToolNames(tools);
64
+ return {
65
+ commandCount: commands.length,
66
+ toolCount: toolNames.length,
67
+ commands,
68
+ tools: toolNames,
69
+ };
70
+ }
71
+
72
+ /** Deterministic markdown render of the reference (stable output for diffing). */
73
+ export function renderReferenceMarkdown(reference) {
74
+ const lines = [];
75
+ lines.push("# CLI Reference (generated)");
76
+ lines.push("");
77
+ lines.push(
78
+ "<!-- Generated from command-manifest.json + AGENT_TOOLS. Do not edit by hand. -->",
79
+ );
80
+ lines.push("");
81
+ lines.push(`## Commands (${reference.commandCount})`);
82
+ lines.push("");
83
+ for (const c of reference.commands) {
84
+ const alias = c.aliases.length ? ` (aliases: ${c.aliases.join(", ")})` : "";
85
+ lines.push(`- \`${c.name}\`${alias}${c.summary ? ` — ${c.summary}` : ""}`);
86
+ }
87
+ lines.push("");
88
+ lines.push(`## Agent tools (${reference.toolCount})`);
89
+ lines.push("");
90
+ for (const name of reference.tools) lines.push(`- \`${name}\``);
91
+ lines.push("");
92
+ return lines.join("\n");
93
+ }
94
+
95
+ /**
96
+ * Which authoritative command/tool tokens appear as literal `cc <token>` /
97
+ * backticked `<token>` mentions in the doc text. We look for word-boundary
98
+ * mentions; a token is "documented" if it appears anywhere in the doc.
99
+ */
100
+ function isMentioned(doc, token) {
101
+ if (!token) return false;
102
+ const esc = token.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
103
+ return new RegExp(`(^|[^\\w-])${esc}([^\\w-]|$)`).test(doc);
104
+ }
105
+
106
+ /**
107
+ * Diff a documentation surface against the authoritative sets. Reports drift both
108
+ * ways so neither a NEW undocumented command nor a REMOVED-but-still-documented
109
+ * one slips through.
110
+ *
111
+ * @param {object} args
112
+ * manifest — command-manifest.json object
113
+ * tools — AGENT_TOOLS array
114
+ * doc — the documentation text to check
115
+ * knownTokens — optional extra tokens to treat as authoritative (e.g. flags,
116
+ * exit codes, protocol fields) to catch their drift too
117
+ * @returns {{ undocumentedCommands, undocumentedTools, staleCommandMentions,
118
+ * ok, counts }}
119
+ */
120
+ export function detectDocDrift({
121
+ manifest = {},
122
+ tools = [],
123
+ doc = "",
124
+ knownTokens = [],
125
+ } = {}) {
126
+ const commands = extractCommands(manifest);
127
+ const toolNames = extractToolNames(tools);
128
+ const text = String(doc || "");
129
+
130
+ const undocumentedCommands = commands
131
+ .filter((c) => !isMentioned(text, c.name))
132
+ .map((c) => c.name);
133
+ const undocumentedTools = toolNames.filter((n) => !isMentioned(text, n));
134
+
135
+ // Tokens the doc claims as commands (in a `cc <token>` construct) that are not
136
+ // in the manifest → stale references to removed/renamed commands.
137
+ const known = commandTokens(commands);
138
+ for (const t of knownTokens) known.add(String(t));
139
+ const staleCommandMentions = [];
140
+ const seen = new Set();
141
+ const ccRe = /\bcc\s+([a-z][a-z0-9-]*)\b/g;
142
+ let m;
143
+ while ((m = ccRe.exec(text)) !== null) {
144
+ const tok = m[1];
145
+ if (!known.has(tok) && !seen.has(tok)) {
146
+ seen.add(tok);
147
+ staleCommandMentions.push(tok);
148
+ }
149
+ }
150
+
151
+ const counts = {
152
+ undocumentedCommands: undocumentedCommands.length,
153
+ undocumentedTools: undocumentedTools.length,
154
+ staleCommandMentions: staleCommandMentions.length,
155
+ };
156
+ return {
157
+ undocumentedCommands,
158
+ undocumentedTools,
159
+ staleCommandMentions,
160
+ counts,
161
+ ok:
162
+ counts.undocumentedCommands === 0 &&
163
+ counts.undocumentedTools === 0 &&
164
+ counts.staleCommandMentions === 0,
165
+ };
166
+ }