chainlesschain 0.162.200 → 0.163.1

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 (170) hide show
  1. package/package.json +2 -1
  2. package/scripts/postinstall.mjs +19 -3
  3. package/scripts/repair-node-pty.mjs +74 -0
  4. package/src/assets/web-panel/.build-hash +1 -1
  5. package/src/assets/web-panel/assets/{AIOps-DcQ0bWKy.js → AIOps-Cn7quRgL.js} +1 -1
  6. package/src/assets/web-panel/assets/{ActionButton-GecwfFPt.js → ActionButton-YqMX3ueH.js} +1 -1
  7. package/src/assets/web-panel/assets/{Analytics-CD6iSt9v.js → Analytics-Bxmy1b7Y.js} +3 -3
  8. package/src/assets/web-panel/assets/{AppLayout-CDEtuEYf.js → AppLayout-DBOw69jE.js} +5 -5
  9. package/src/assets/web-panel/assets/{Artifacts-DS3jAjeW.js → Artifacts-mq1nyzN1.js} +1 -1
  10. package/src/assets/web-panel/assets/{Audit-CcSJA048.js → Audit-mMiKtZ0D.js} +1 -1
  11. package/src/assets/web-panel/assets/{BackgroundAgents-DRo9Morb.js → BackgroundAgents-WBUjpYVh.js} +1 -1
  12. package/src/assets/web-panel/assets/{Backup-Vw5MrWft.js → Backup-c25OoJgs.js} +1 -1
  13. package/src/assets/web-panel/assets/{BaseInput-DNHIu823.js → BaseInput-BbfWhZ4-.js} +1 -1
  14. package/src/assets/web-panel/assets/{Chat-DvAsO8-b.js → Chat-CVVzsTwU.js} +4 -4
  15. package/src/assets/web-panel/assets/{ChatBubbleRenderer-9aDuObay.js → ChatBubbleRenderer-CVCjZJ04.js} +1 -1
  16. package/src/assets/web-panel/assets/{Checkbox-CKCa7tvn.js → Checkbox-C9o2HK-1.js} +1 -1
  17. package/src/assets/web-panel/assets/{Codegen-CIFvZdaT.js → Codegen-B7X5LfKc.js} +1 -1
  18. package/src/assets/web-panel/assets/{Col-C79yz7bK.js → Col-jpPj2Pur.js} +1 -1
  19. package/src/assets/web-panel/assets/{Community-DVvZskLJ.js → Community-Dti6bHxN.js} +1 -1
  20. package/src/assets/web-panel/assets/{Compact-oaew61hV.js → Compact-S4ZsLt3W.js} +1 -1
  21. package/src/assets/web-panel/assets/{Compliance-DqA7wmRx.js → Compliance-Bge0sQ3O.js} +1 -1
  22. package/src/assets/web-panel/assets/{Cowork-B-qGadxa.js → Cowork-C4XyzVI7.js} +3 -3
  23. package/src/assets/web-panel/assets/{Cron-CUlCl4sS.js → Cron-CPR0v2xy.js} +2 -2
  24. package/src/assets/web-panel/assets/{Crosschain-CNOlr9DU.js → Crosschain-DAX8lDaj.js} +1 -1
  25. package/src/assets/web-panel/assets/{DID-DJqFCT_3.js → DID-fBHPa0QH.js} +2 -2
  26. package/src/assets/web-panel/assets/{Dashboard-CznGpphf.js → Dashboard-vvaUTafU.js} +2 -2
  27. package/src/assets/web-panel/assets/{Dropdown-_cJw218E.js → Dropdown-DyaQM63v.js} +1 -1
  28. package/src/assets/web-panel/assets/{EmailListRenderer-Dr-1BZ9C.js → EmailListRenderer-CAF0wiU2.js} +1 -1
  29. package/src/assets/web-panel/assets/{FamilyGuardDashboard-Dxf4xtSk.js → FamilyGuardDashboard-ia-WzDRs.js} +1 -1
  30. package/src/assets/web-panel/assets/{Federation-DOiG3i_1.js → Federation-Cz3gHoT5.js} +1 -1
  31. package/src/assets/web-panel/assets/{FormItemContext-BzbMcFB9.js → FormItemContext-CJQDJr4Q.js} +1 -1
  32. package/src/assets/web-panel/assets/{GenericCardRenderer-VbBrYttP.js → GenericCardRenderer-B05BZlQp.js} +1 -1
  33. package/src/assets/web-panel/assets/{Git-CLG8E6ED.js → Git-DT0YcQnI.js} +2 -2
  34. package/src/assets/web-panel/assets/{Governance-LGJQfk_q.js → Governance-Bqbl6m5Q.js} +1 -1
  35. package/src/assets/web-panel/assets/{Inference-DlQKx9lF.js → Inference-BdebLR0N.js} +1 -1
  36. package/src/assets/web-panel/assets/{KnowledgeGraph-DU8vEouV.js → KnowledgeGraph-M36b8YYV.js} +1 -1
  37. package/src/assets/web-panel/assets/{Logs-FZIQOdln.js → Logs-5LN_XL43.js} +2 -2
  38. package/src/assets/web-panel/assets/MarkdownRenderer-BCb1Dm8l.js +1 -0
  39. package/src/assets/web-panel/assets/{Marketplace-C_xd-zZI.js → Marketplace-BkIin-QY.js} +1 -1
  40. package/src/assets/web-panel/assets/{McpTools-q-YktphS.js → McpTools-Bkppx8Uj.js} +5 -5
  41. package/src/assets/web-panel/assets/{Memory-Cq9OhDin.js → Memory-Qk9wg_Ib.js} +2 -2
  42. package/src/assets/web-panel/assets/{MobileBridge-B03_R98T.js → MobileBridge-BsTDU3Aj.js} +1 -1
  43. package/src/assets/web-panel/assets/{MobileProjects-DZrk-qmF.js → MobileProjects-CrZW5I28.js} +1 -1
  44. package/src/assets/web-panel/assets/{Mtc-BidCKW28.js → Mtc-BMkmgtsA.js} +4 -4
  45. package/src/assets/web-panel/assets/{MtcAudit-r-iaMVM7.js → MtcAudit-6m4CC0Yn.js} +4 -4
  46. package/src/assets/web-panel/assets/{Multisig-CgTUFvff.js → Multisig-BZ8yB7QV.js} +3 -3
  47. package/src/assets/web-panel/assets/{NLProgramming-B7NvzfAV.js → NLProgramming-CxitAMIO.js} +1 -1
  48. package/src/assets/web-panel/assets/{Notes-80CWNqJI.js → Notes-Bv0msnHu.js} +4 -4
  49. package/src/assets/web-panel/assets/{NotificationSettings-0H6xdiY3.js → NotificationSettings-DeVMqM3P.js} +1 -1
  50. package/src/assets/web-panel/assets/{OrderTableRenderer-CKP4AFWy.js → OrderTableRenderer-CXBSWa3R.js} +1 -1
  51. package/src/assets/web-panel/assets/{Organization-B8sxCV_h.js → Organization-b_G5Vs1Q.js} +4 -4
  52. package/src/assets/web-panel/assets/{Overflow-CW9JBBhQ.js → Overflow-DW7riOmA.js} +1 -1
  53. package/src/assets/web-panel/assets/{P2P-bdSQV7oZ.js → P2P-CtpQNYjL.js} +2 -2
  54. package/src/assets/web-panel/assets/{PdhVaultBrowser-DQad42nW.js → PdhVaultBrowser-Ba63yT4l.js} +3 -3
  55. package/src/assets/web-panel/assets/{Permissions-CueexxTR.js → Permissions-DnzyeB67.js} +4 -4
  56. package/src/assets/web-panel/assets/{PersonalDataHub-fqxflhR8.js → PersonalDataHub-DbPZ7HWw.js} +6 -6
  57. package/src/assets/web-panel/assets/{Pipeline-KFwwnIMC.js → Pipeline-gs_HOThJ.js} +1 -1
  58. package/src/assets/web-panel/assets/{Privacy-ClnD9buY.js → Privacy-CZlQ1EjE.js} +1 -1
  59. package/src/assets/web-panel/assets/{ProjectInit-CZEz6sm3.js → ProjectInit-DQp__Ccb.js} +2 -2
  60. package/src/assets/web-panel/assets/{ProjectSettings-B6NzpmOI.js → ProjectSettings-C7h2sOWZ.js} +2 -2
  61. package/src/assets/web-panel/assets/{Projects-DYyuwPCs.js → Projects-DdCpNRNt.js} +1 -1
  62. package/src/assets/web-panel/assets/Providers-CyvtUkUf.js +1 -0
  63. package/src/assets/web-panel/assets/{QrScannerModal-BzuOBbqB.js → QrScannerModal-B_8M1-FC.js} +1 -1
  64. package/src/assets/web-panel/assets/{QuickAsk-CmNO9qSj.js → QuickAsk-Bpycr8WD.js} +1 -1
  65. package/src/assets/web-panel/assets/{Recommend-VJNj3_NF.js → Recommend-Z4TrcNzs.js} +1 -1
  66. package/src/assets/web-panel/assets/{RemoteSession-CrbdbSBF.js → RemoteSession-BD6TsJlS.js} +2 -2
  67. package/src/assets/web-panel/assets/{Reputation-DTyMd45j.js → Reputation-IKxDXHEu.js} +1 -1
  68. package/src/assets/web-panel/assets/{Row-DHrQ-Icz.js → Row-DbmR20tJ.js} +1 -1
  69. package/src/assets/web-panel/assets/{RssFeed-DqWxY9c5.js → RssFeed-CLjA5PPf.js} +2 -2
  70. package/src/assets/web-panel/assets/{Search-ctF1Ks3J.js → Search-Bm3owbIU.js} +1 -1
  71. package/src/assets/web-panel/assets/{Security-BrQz8uo5.js → Security-CY4RyOuq.js} +4 -4
  72. package/src/assets/web-panel/assets/{Services-D4scVFar.js → Services-CYO9qrd_.js} +2 -2
  73. package/src/assets/web-panel/assets/{Skeleton-oUScaOjv.js → Skeleton-ClF51Go6.js} +1 -1
  74. package/src/assets/web-panel/assets/Skills-CCCEmSf5.js +1 -0
  75. package/src/assets/web-panel/assets/{Sla-DQExhwXj.js → Sla-zqpDUxzP.js} +1 -1
  76. package/src/assets/web-panel/assets/{SpeechSettings-iNp_I7kN.js → SpeechSettings-DPSi8Qco.js} +1 -1
  77. package/src/assets/web-panel/assets/{SyncSettings-CTDlMo0A.js → SyncSettings-CqABopsQ.js} +2 -2
  78. package/src/assets/web-panel/assets/Tasks-4dbAJng4.js +1 -0
  79. package/src/assets/web-panel/assets/{Templates-BXcL9oXW.js → Templates-Dzl6f0M2.js} +1 -1
  80. package/src/assets/web-panel/assets/{Tenant-DLE8eS0D.js → Tenant-XeZkw40a.js} +1 -1
  81. package/src/assets/web-panel/assets/{Terminal-DGpUZPPK.js → Terminal-CYw2YzPm.js} +2 -2
  82. package/src/assets/web-panel/assets/{TimelineRenderer-C1pWXGPC.js → TimelineRenderer-Bc2pko4i.js} +1 -1
  83. package/src/assets/web-panel/assets/{Tokens-BYfbfqhZ.js → Tokens-CfCenOHx.js} +1 -1
  84. package/src/assets/web-panel/assets/{Trigger-K9YfLOCw.js → Trigger-DTz-_YqV.js} +1 -1
  85. package/src/assets/web-panel/assets/{Trust-Ctkq77Hy.js → Trust-CB3tt3Z6.js} +1 -1
  86. package/src/assets/web-panel/assets/{UkeySign-C6_CSe9J.js → UkeySign-y1ykmMvU.js} +1 -1
  87. package/src/assets/web-panel/assets/{VideoEditing-Be3rpOWs.js → VideoEditing-UlZ_lX0e.js} +1 -1
  88. package/src/assets/web-panel/assets/{Wallet-D0UIplxk.js → Wallet-DMBaHTha.js} +4 -4
  89. package/src/assets/web-panel/assets/{WebAuthn-CF9bM9I3.js → WebAuthn-Cksm-hBI.js} +4 -4
  90. package/src/assets/web-panel/assets/{WorkflowEditor-D0H1XVPY.js → WorkflowEditor-BhOa40sX.js} +1 -1
  91. package/src/assets/web-panel/assets/{chat-Cgzzbe0o.js → chat-DNbeSTDO.js} +1 -1
  92. package/src/assets/web-panel/assets/{colors-BwNxEVS0.js → colors-9zz8gBmW.js} +1 -1
  93. package/src/assets/web-panel/assets/{compact-item-D60Z4Hhs.js → compact-item-D7aoVv-5.js} +1 -1
  94. package/src/assets/web-panel/assets/{createContext-MFk58XB0.js → createContext-DYg7B8nd.js} +1 -1
  95. package/src/assets/web-panel/assets/devWarning-uadaGF_y.js +1 -0
  96. package/src/assets/web-panel/assets/{hasIn-CRj2SvGO.js → hasIn-BNbhkcoI.js} +1 -1
  97. package/src/assets/web-panel/assets/{index-D6HvK_1O.js → index--TvoQ6UC.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-DA4tE98u.js → index-67GdrUx2.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-Dw-o0zEF.js → index-B8irlIUK.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-CTDbAfae.js → index-B9TzVW7i.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-DKdNzTIb.js → index-B9zUawcE.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-CvB8lYUR.js → index-BPojutcZ.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-CQjJjPRD.js → index-BRd1zkLB.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-q_GDUVAA.js → index-Bdxe0nrD.js} +1 -1
  105. package/src/assets/web-panel/assets/index-C7zhie9M.js +1 -0
  106. package/src/assets/web-panel/assets/{index-DRySdmvN.js → index-C8LC0nvw.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-D9jVIwLJ.js → index-CA72qB1n.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-BE_el1Zs.js → index-CN6-OEgS.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-DWzyTev7.js → index-CRKukX1W.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-DBwOtXw0.js → index-CV06YdPO.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-CNAK5QG_.js → index-CYu-F-gp.js} +1 -1
  112. package/src/assets/web-panel/assets/index-Cmbg0Wbr.js +1 -0
  113. package/src/assets/web-panel/assets/{index-CLWwdebO.js → index-CpEIwp4A.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-BhRkR7IO.js → index-Cq3l0L7C.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-eDTOX8Xj.js → index-Cqy-hqD9.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-DhFtk5PR.js → index-CzDDeZBo.js} +1 -1
  117. package/src/assets/web-panel/assets/{index--s45_1cb.js → index-DHskwmwI.js} +1 -1
  118. package/src/assets/web-panel/assets/{index-DysPoP38.js → index-DIMVe3HJ.js} +1 -1
  119. package/src/assets/web-panel/assets/{index-DvmocQsM.js → index-DIljkSt9.js} +1 -1
  120. package/src/assets/web-panel/assets/{index-CJgu5JUK.js → index-DMrqEsOS.js} +1 -1
  121. package/src/assets/web-panel/assets/{index-D51XwtCY.js → index-DUWmZ059.js} +1 -1
  122. package/src/assets/web-panel/assets/{index-CY14oMQK.js → index-Da0SysnX.js} +1 -1
  123. package/src/assets/web-panel/assets/{index-Di2AbMLg.js → index-DeD1wWA8.js} +1 -1
  124. package/src/assets/web-panel/assets/{index-LX9pJxm_.js → index-Dn-JFqEi.js} +1 -1
  125. package/src/assets/web-panel/assets/{index-OI_fXWx0.js → index-DnTM8FWK.js} +25 -25
  126. package/src/assets/web-panel/assets/{index-B-M82_rx.js → index-DtQzs0hH.js} +1 -1
  127. package/src/assets/web-panel/assets/{index-CVI_9sRK.js → index-FlBuITVG.js} +1 -1
  128. package/src/assets/web-panel/assets/{index-gWKDsTzF.js → index-SmEIFaRm.js} +1 -1
  129. package/src/assets/web-panel/assets/{index--tquQ2ZG.js → index-ZPDbEh-L.js} +1 -1
  130. package/src/assets/web-panel/assets/{index-DbROzMBp.js → index-_-Vt1Wqk.js} +1 -1
  131. package/src/assets/web-panel/assets/{index-CbiTJkZf.js → index-gNKj00Fx.js} +1 -1
  132. package/src/assets/web-panel/assets/{index-1T1rhokn.js → index-jS6NASar.js} +1 -1
  133. package/src/assets/web-panel/assets/{index-Bo0y96-K.js → index-m2pXS3W2.js} +1 -1
  134. package/src/assets/web-panel/assets/{index-DYjs7jAP.js → index-nnmo3ipi.js} +1 -1
  135. package/src/assets/web-panel/assets/{index-CqWpxMqx.js → index-uc8Rz96X.js} +1 -1
  136. package/src/assets/web-panel/assets/{initDefaultProps-C61kZqEd.js → initDefaultProps-D0mTMUGz.js} +1 -1
  137. package/src/assets/web-panel/assets/{motion-DZnT5U1L.js → motion-DK16p4-o.js} +1 -1
  138. package/src/assets/web-panel/assets/{move-L8wzwbel.js → move-DalC20HC.js} +1 -1
  139. package/src/assets/web-panel/assets/{mtc-parser-DLdYSejc.js → mtc-parser-B5RusszF.js} +1 -1
  140. package/src/assets/web-panel/assets/{omit-D53cbS59.js → omit-C9Mhitht.js} +1 -1
  141. package/src/assets/web-panel/assets/{pickAttrs-Bbc5HPtu.js → pickAttrs-51xQLgwM.js} +1 -1
  142. package/src/assets/web-panel/assets/{placementArrow-BkvmO860.js → placementArrow-CJzIqp8u.js} +1 -1
  143. package/src/assets/web-panel/assets/{responsiveObserve-u2y1ryS1.js → responsiveObserve-HQvC19u4.js} +1 -1
  144. package/src/assets/web-panel/assets/{slide-BBqj7svU.js → slide-C6hhabOp.js} +1 -1
  145. package/src/assets/web-panel/assets/{statusUtils-GN0mqu2d.js → statusUtils-Q1r48-oc.js} +1 -1
  146. package/src/assets/web-panel/assets/{styleChecker-BvwPKoBT.js → styleChecker-UakVWrHs.js} +1 -1
  147. package/src/assets/web-panel/assets/{useFlexGapSupport-CCt8tnfY.js → useFlexGapSupport-Dmv94cxx.js} +1 -1
  148. package/src/assets/web-panel/assets/{useFs-DXAxl2SV.js → useFs-DrxOnt_V.js} +1 -1
  149. package/src/assets/web-panel/assets/{usePersonalDataHub-DihlR2dj.js → usePersonalDataHub-BVf2M-Hg.js} +1 -1
  150. package/src/assets/web-panel/assets/{vnode-D7BOX2gi.js → vnode-BzzW9qKH.js} +1 -1
  151. package/src/assets/web-panel/assets/{zoom-CVbO-nL7.js → zoom-C1ZvMgAZ.js} +1 -1
  152. package/src/assets/web-panel/index.html +1 -1
  153. package/src/commands/pack.js +4 -4
  154. package/src/data/changelog.json +27 -1
  155. package/src/harness/prompt-compressor.js +22 -4
  156. package/src/lib/packer/index.js +1 -1
  157. package/src/lib/packer/native-prebuild-collector.js +3 -3
  158. package/src/lib/packer/pack-update-checker.js +2 -2
  159. package/src/lib/packer/pkg-config-generator.js +12 -11
  160. package/src/lib/packer/web-panel-builder.js +6 -3
  161. package/src/lib/process-execution-broker/index.js +5 -1
  162. package/src/lib/process-execution-broker/platform-sandbox.js +13 -1
  163. package/src/lib/session-tail.js +56 -24
  164. package/src/assets/web-panel/assets/MarkdownRenderer-BJNWIrbw.js +0 -1
  165. package/src/assets/web-panel/assets/Providers-C3tz_jdh.js +0 -1
  166. package/src/assets/web-panel/assets/Skills-CL-y0eLt.js +0 -1
  167. package/src/assets/web-panel/assets/Tasks-4kb8l3sc.js +0 -1
  168. package/src/assets/web-panel/assets/devWarning-BJiw369i.js +0 -1
  169. package/src/assets/web-panel/assets/index-CiMouosn.js +0 -1
  170. package/src/assets/web-panel/assets/index-DXcKlwy7.js +0 -1
@@ -1 +1 @@
1
- import{h as i}from"./index-OI_fXWx0.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-DnTM8FWK.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-OI_fXWx0.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-DnTM8FWK.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-OI_fXWx0.js";import{i as e}from"./motion-DZnT5U1L.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-DnTM8FWK.js";import{i as e}from"./motion-DK16p4-o.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-OI_fXWx0.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-DnTM8FWK.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-OI_fXWx0.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-DnTM8FWK.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-BvwPKoBT.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-UakVWrHs.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-OI_fXWx0.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-DnTM8FWK.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 v}from"./index-OI_fXWx0.js";import{u as _}from"./useShellMode-CgR0wCYM.js";function d(r){if(!r)return r;if(r.error)throw new Error(r.error);return r.result!==void 0?r.result:r}async function p(r,s={},e=!0){try{if(e!==!0||!r||typeof r.sendRaw!="function")return{status:"unavailable",path:null};const a=await r.sendRaw({type:"fs.openDirectory",title:s.title},6e4);if(a&&(a.ok===!1||a.error))return{status:"unavailable",path:null};const t=a&&a.result!==void 0?a.result:a;return t&&(t.ok===!1||t.error||t.unsupported===!0)?{status:"unavailable",path:null}:t&&t.canceled===!0?{status:"cancelled",path:null}:t&&typeof t.path=="string"&&t.path.length>0?{status:"selected",path:t.path}:{status:"unavailable",path:null}}catch{return{status:"unavailable",path:null}}}function b(r,s,e,a,t){return typeof r.onMessage!="function"||typeof r.sendRaw!="function"?r.sendRaw({type:s,...e},t).then(d):new Promise((n,u)=>{const l=typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`,w=`${s}.event`,m=`${s}.end`;let c=!1,h=()=>{};const o=(i,f)=>{if(!c){c=!0,clearTimeout(g);try{h()}catch{}i(f)}},g=setTimeout(()=>{o(u,new Error(`stream timeout (${t}ms): ${s}`))},t),y=r.onMessage(i=>{if(!(c||!i)&&!(i.id!==l&&i.requestId!==l)){if(i.type===w){if(typeof a=="function")try{a(i.event||i)}catch{}return}if(i.type===m){o(n,d(i));return}i.type==="error"&&o(u,new Error(i.message||"stream error"))}});h=typeof y=="function"?y:()=>{},Promise.resolve(r.sendRaw({id:l,type:s,...e},t)).catch(()=>{})})}function k(){const r=v(),s=_(),e=(a,t={},n=3e4)=>r.sendRaw({type:a,...t},n).then(d);return{async health(){return await e("personal-data-hub.health",{},8e3)},async stats(){return await e("personal-data-hub.stats",{},8e3)},async listAdapters(){return await e("personal-data-hub.list-adapters",{},5e3)},async pickFile(a={}){try{const t=await r.sendRaw({type:"fs.openDialog",title:a.title,filters:a.filters},6e4),n=t&&t.result!==void 0?t.result:t,u=n&&typeof n.path=="string"?n.path:n&&typeof n.filePath=="string"?n.filePath:null;return n&&n.canceled!==!0&&u?u:null}catch{return null}},async pickDirectoryResult(a={}){return await p(r,a,s.isEmbedded)},async pickDirectory(a={}){const t=await p(r,a,s.isEmbedded);return t.status==="selected"?t.path:null},async adapterReadiness(a){return await e("personal-data-hub.adapter-readiness",Number.isInteger(a)?{timeoutMs:a}:{},15e3)},async syncAdapter(a,t={}){return await e("personal-data-hub.sync-adapter",{name:a,options:t},6e5)},async syncAll(a={}){return await e("personal-data-hub.sync-all",{options:a},6e5)},async registerMock({name:a="mock",count:t=20,seed:n=1}={}){return await e("personal-data-hub.register-mock",{name:a,count:t,seed:n})},async unregister(a){return await e("personal-data-hub.unregister",{name:a})},async ask(a,t={}){return await e("personal-data-hub.ask",{question:a,options:t},18e4)},async queryEvents(a={}){return await e("personal-data-hub.query-events",a,1e4)},async recentAudit(a={}){return await e("personal-data-hub.recent-audit",a,1e4)},async searchEvents(a={}){return await e("personal-data-hub.search-events",a,15e3)},async facetCounts(a={}){return await e("personal-data-hub.facet-counts",a,1e4)},async testEmailAuth(a){return await e("personal-data-hub.test-email-auth",{account:a},3e4)},async registerEmail(a,t={}){return await e("personal-data-hub.register-email",{account:a,opts:t},15e3)},async unregisterEmail(a){return await e("personal-data-hub.unregister-email",{email:a},5e3)},async listEmailAccounts(){return await e("personal-data-hub.list-email-accounts",{},5e3)},async activateEmail(a){return await e("personal-data-hub.activate-email",{email:a},5e3)},async eventDetail(a){return await e("personal-data-hub.event-detail",{eventId:a},5e3)},async syncAdapterStream(a,t={},n){return await b(r,"personal-data-hub.sync-adapter-stream",{name:a,options:t},n,6e5)},async syncAllStream(a={},t){return await b(r,"personal-data-hub.sync-all-stream",{options:a},t,9e5)},async registerAlipay(a,t={}){return await e("personal-data-hub.register-alipay",{account:a,opts:t},15e3)},async unregisterAlipay(a){return await e("personal-data-hub.unregister-alipay",{email:a},5e3)},async listAlipayAccounts(){return await e("personal-data-hub.list-alipay-accounts",{},5e3)},async activateAlipay(a){return await e("personal-data-hub.activate-alipay",{email:a},5e3)},async importAlipayBill({zipPath:a,csvPath:t,zipPassword:n}={}){return await e("personal-data-hub.import-alipay-bill",{zipPath:a,csvPath:t,zipPassword:n},3e5)},async reviewQueueList(a=50){return await e("personal-data-hub.review-queue-list",{limit:a},5e3)},async reviewDecision(a,t){return await e("personal-data-hub.review-decision",{reviewId:a,decision:t},5e3)},async manualMerge(a,t){return await e("personal-data-hub.manual-merge",{aId:a,bId:t},5e3)},async manualUnmerge(a){return await e("personal-data-hub.manual-unmerge",{personId:a},5e3)},async resolverDrain(a=50){return await e("personal-data-hub.resolver-drain",{limit:a},18e4)},async resolverStats(){return await e("personal-data-hub.resolver-stats",{},5e3)},async skillsList(){return await e("personal-data-hub.skills-list",{},5e3)},async runSkill(a,t={}){return await e("personal-data-hub.run-skill",{name:a,options:t},12e4)},async openAichatLogin(a,t={}){return await e("personal-data-hub.aichat-open-login",{vendor:a,opts:t},1e4)},async probeAichatCookies(a,t){return await e("personal-data-hub.aichat-probe-cookies",{vendor:a,cookieHeader:t},1e4)},async registerAichatVendor(a,t,n={}){return await e("personal-data-hub.aichat-register-vendor",{vendor:a,cookies:t,opts:n},3e4)},async rotateAichatLogin(a){return await e("personal-data-hub.aichat-rotate-login",{vendor:a},1e4)},async listAichatAccounts(){return await e("personal-data-hub.list-aichat-accounts",{},5e3)},async unregisterAichat(a){return await e("personal-data-hub.unregister-aichat",{vendor:a},5e3)},async aichatHealthCheckOnce(){return await e("personal-data-hub.aichat-health-check-once",{},3e4)},async probeWechatEnv(){return await e("personal-data-hub.wechat-env-probe",{},15e3)},async registerWechat({account:a,dbPath:t,wechatDataPath:n,fridaOpts:u,keyProviderOverride:l}={}){return await e("personal-data-hub.register-wechat",{account:a,dbPath:t,wechatDataPath:n,fridaOpts:u,keyProviderOverride:l},45e3)},async listWechatAccounts(){return await e("personal-data-hub.list-wechat-accounts",{},5e3)},async activateWechat(a,t={}){return await e("personal-data-hub.activate-wechat",{uin:a,fridaOpts:t.fridaOpts,keyProviderOverride:t.keyProviderOverride},45e3)},async unregisterWechat(a){return await e("personal-data-hub.unregister-wechat",{uin:a},5e3)},async bilibiliAdbSync(a={}){return await e("personal-data-hub.bilibili-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bilibiliAdbDoctor(){return await e("personal-data-hub.bilibili-adb-doctor",{},15e3)},async weiboAdbSync(a={}){return await e("personal-data-hub.weibo-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async xhsAdbSync(a={}){return await e("personal-data-hub.xhs-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async toutiaoAdbSync(a={}){return await e("personal-data-hub.toutiao-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},9e4)},async kuaishouAdbSync(a={}){return await e("personal-data-hub.kuaishou-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bridgeDoctor(){return await e("personal-data-hub.bridge-doctor",{},6e4)},async douyinAdbSync(a={}){return await e("personal-data-hub.douyin-adb-sync",{uid:a.uid,limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)}}}export{k as u};
1
+ import{u as v}from"./index-DnTM8FWK.js";import{u as _}from"./useShellMode-CgR0wCYM.js";function d(r){if(!r)return r;if(r.error)throw new Error(r.error);return r.result!==void 0?r.result:r}async function p(r,s={},e=!0){try{if(e!==!0||!r||typeof r.sendRaw!="function")return{status:"unavailable",path:null};const a=await r.sendRaw({type:"fs.openDirectory",title:s.title},6e4);if(a&&(a.ok===!1||a.error))return{status:"unavailable",path:null};const t=a&&a.result!==void 0?a.result:a;return t&&(t.ok===!1||t.error||t.unsupported===!0)?{status:"unavailable",path:null}:t&&t.canceled===!0?{status:"cancelled",path:null}:t&&typeof t.path=="string"&&t.path.length>0?{status:"selected",path:t.path}:{status:"unavailable",path:null}}catch{return{status:"unavailable",path:null}}}function b(r,s,e,a,t){return typeof r.onMessage!="function"||typeof r.sendRaw!="function"?r.sendRaw({type:s,...e},t).then(d):new Promise((n,u)=>{const l=typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`,w=`${s}.event`,m=`${s}.end`;let c=!1,h=()=>{};const o=(i,f)=>{if(!c){c=!0,clearTimeout(g);try{h()}catch{}i(f)}},g=setTimeout(()=>{o(u,new Error(`stream timeout (${t}ms): ${s}`))},t),y=r.onMessage(i=>{if(!(c||!i)&&!(i.id!==l&&i.requestId!==l)){if(i.type===w){if(typeof a=="function")try{a(i.event||i)}catch{}return}if(i.type===m){o(n,d(i));return}i.type==="error"&&o(u,new Error(i.message||"stream error"))}});h=typeof y=="function"?y:()=>{},Promise.resolve(r.sendRaw({id:l,type:s,...e},t)).catch(()=>{})})}function k(){const r=v(),s=_(),e=(a,t={},n=3e4)=>r.sendRaw({type:a,...t},n).then(d);return{async health(){return await e("personal-data-hub.health",{},8e3)},async stats(){return await e("personal-data-hub.stats",{},8e3)},async listAdapters(){return await e("personal-data-hub.list-adapters",{},5e3)},async pickFile(a={}){try{const t=await r.sendRaw({type:"fs.openDialog",title:a.title,filters:a.filters},6e4),n=t&&t.result!==void 0?t.result:t,u=n&&typeof n.path=="string"?n.path:n&&typeof n.filePath=="string"?n.filePath:null;return n&&n.canceled!==!0&&u?u:null}catch{return null}},async pickDirectoryResult(a={}){return await p(r,a,s.isEmbedded)},async pickDirectory(a={}){const t=await p(r,a,s.isEmbedded);return t.status==="selected"?t.path:null},async adapterReadiness(a){return await e("personal-data-hub.adapter-readiness",Number.isInteger(a)?{timeoutMs:a}:{},15e3)},async syncAdapter(a,t={}){return await e("personal-data-hub.sync-adapter",{name:a,options:t},6e5)},async syncAll(a={}){return await e("personal-data-hub.sync-all",{options:a},6e5)},async registerMock({name:a="mock",count:t=20,seed:n=1}={}){return await e("personal-data-hub.register-mock",{name:a,count:t,seed:n})},async unregister(a){return await e("personal-data-hub.unregister",{name:a})},async ask(a,t={}){return await e("personal-data-hub.ask",{question:a,options:t},18e4)},async queryEvents(a={}){return await e("personal-data-hub.query-events",a,1e4)},async recentAudit(a={}){return await e("personal-data-hub.recent-audit",a,1e4)},async searchEvents(a={}){return await e("personal-data-hub.search-events",a,15e3)},async facetCounts(a={}){return await e("personal-data-hub.facet-counts",a,1e4)},async testEmailAuth(a){return await e("personal-data-hub.test-email-auth",{account:a},3e4)},async registerEmail(a,t={}){return await e("personal-data-hub.register-email",{account:a,opts:t},15e3)},async unregisterEmail(a){return await e("personal-data-hub.unregister-email",{email:a},5e3)},async listEmailAccounts(){return await e("personal-data-hub.list-email-accounts",{},5e3)},async activateEmail(a){return await e("personal-data-hub.activate-email",{email:a},5e3)},async eventDetail(a){return await e("personal-data-hub.event-detail",{eventId:a},5e3)},async syncAdapterStream(a,t={},n){return await b(r,"personal-data-hub.sync-adapter-stream",{name:a,options:t},n,6e5)},async syncAllStream(a={},t){return await b(r,"personal-data-hub.sync-all-stream",{options:a},t,9e5)},async registerAlipay(a,t={}){return await e("personal-data-hub.register-alipay",{account:a,opts:t},15e3)},async unregisterAlipay(a){return await e("personal-data-hub.unregister-alipay",{email:a},5e3)},async listAlipayAccounts(){return await e("personal-data-hub.list-alipay-accounts",{},5e3)},async activateAlipay(a){return await e("personal-data-hub.activate-alipay",{email:a},5e3)},async importAlipayBill({zipPath:a,csvPath:t,zipPassword:n}={}){return await e("personal-data-hub.import-alipay-bill",{zipPath:a,csvPath:t,zipPassword:n},3e5)},async reviewQueueList(a=50){return await e("personal-data-hub.review-queue-list",{limit:a},5e3)},async reviewDecision(a,t){return await e("personal-data-hub.review-decision",{reviewId:a,decision:t},5e3)},async manualMerge(a,t){return await e("personal-data-hub.manual-merge",{aId:a,bId:t},5e3)},async manualUnmerge(a){return await e("personal-data-hub.manual-unmerge",{personId:a},5e3)},async resolverDrain(a=50){return await e("personal-data-hub.resolver-drain",{limit:a},18e4)},async resolverStats(){return await e("personal-data-hub.resolver-stats",{},5e3)},async skillsList(){return await e("personal-data-hub.skills-list",{},5e3)},async runSkill(a,t={}){return await e("personal-data-hub.run-skill",{name:a,options:t},12e4)},async openAichatLogin(a,t={}){return await e("personal-data-hub.aichat-open-login",{vendor:a,opts:t},1e4)},async probeAichatCookies(a,t){return await e("personal-data-hub.aichat-probe-cookies",{vendor:a,cookieHeader:t},1e4)},async registerAichatVendor(a,t,n={}){return await e("personal-data-hub.aichat-register-vendor",{vendor:a,cookies:t,opts:n},3e4)},async rotateAichatLogin(a){return await e("personal-data-hub.aichat-rotate-login",{vendor:a},1e4)},async listAichatAccounts(){return await e("personal-data-hub.list-aichat-accounts",{},5e3)},async unregisterAichat(a){return await e("personal-data-hub.unregister-aichat",{vendor:a},5e3)},async aichatHealthCheckOnce(){return await e("personal-data-hub.aichat-health-check-once",{},3e4)},async probeWechatEnv(){return await e("personal-data-hub.wechat-env-probe",{},15e3)},async registerWechat({account:a,dbPath:t,wechatDataPath:n,fridaOpts:u,keyProviderOverride:l}={}){return await e("personal-data-hub.register-wechat",{account:a,dbPath:t,wechatDataPath:n,fridaOpts:u,keyProviderOverride:l},45e3)},async listWechatAccounts(){return await e("personal-data-hub.list-wechat-accounts",{},5e3)},async activateWechat(a,t={}){return await e("personal-data-hub.activate-wechat",{uin:a,fridaOpts:t.fridaOpts,keyProviderOverride:t.keyProviderOverride},45e3)},async unregisterWechat(a){return await e("personal-data-hub.unregister-wechat",{uin:a},5e3)},async bilibiliAdbSync(a={}){return await e("personal-data-hub.bilibili-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bilibiliAdbDoctor(){return await e("personal-data-hub.bilibili-adb-doctor",{},15e3)},async weiboAdbSync(a={}){return await e("personal-data-hub.weibo-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async xhsAdbSync(a={}){return await e("personal-data-hub.xhs-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async toutiaoAdbSync(a={}){return await e("personal-data-hub.toutiao-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},9e4)},async kuaishouAdbSync(a={}){return await e("personal-data-hub.kuaishou-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bridgeDoctor(){return await e("personal-data-hub.bridge-doctor",{},6e4)},async douyinAdbSync(a={}){return await e("personal-data-hub.douyin-adb-sync",{uid:a.uid,limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)}}}export{k as u};
@@ -1 +1 @@
1
- import{N as i,h as a,w as l}from"./index-OI_fXWx0.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-DnTM8FWK.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-OI_fXWx0.js";import{i as f}from"./motion-DZnT5U1L.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-DnTM8FWK.js";import{i as f}from"./motion-DK16p4-o.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-OI_fXWx0.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-DnTM8FWK.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">
@@ -28,7 +28,7 @@ import { VERSION } from "../constants.js";
28
28
 
29
29
  /**
30
30
  * Default pkg target string for the host platform+arch. Falls back to
31
- * `node20-win-x64` for unknown combos so users on uncommon hosts still get
31
+ * `node22-win-x64` for unknown combos so users on uncommon hosts still get
32
32
  * a sensible string to edit with `--targets`.
33
33
  */
34
34
  export function defaultPkgTarget() {
@@ -42,8 +42,8 @@ export function defaultPkgTarget() {
42
42
  : null;
43
43
  const archSlug =
44
44
  process.arch === "x64" ? "x64" : process.arch === "arm64" ? "arm64" : null;
45
- if (!osSlug || !archSlug) return "node20-win-x64";
46
- return `node20-${osSlug}-${archSlug}`;
45
+ if (!osSlug || !archSlug) return "node22-win-x64";
46
+ return `node22-${osSlug}-${archSlug}`;
47
47
  }
48
48
 
49
49
  export function registerPackCommand(program) {
@@ -201,7 +201,7 @@ export function registerPackCommand(program) {
201
201
  )
202
202
  .option(
203
203
  "--target <slug>",
204
- "pkg target to match against manifest.latest.artifacts (e.g. node20-win-x64); defaults to current host",
204
+ "pkg target to match against manifest.latest.artifacts (e.g. node22-win-x64); defaults to current host",
205
205
  )
206
206
  .option(
207
207
  "--current <version>",
@@ -1,6 +1,32 @@
1
1
  {
2
2
  "source": "CHANGELOG.md",
3
3
  "releases": [
4
+ {
5
+ "productVersion": null,
6
+ "cliVersion": "0.163.1",
7
+ "cliVersions": ["0.163.0", "0.163.1"],
8
+ "date": "2026-08-08",
9
+ "title": "",
10
+ "sections": [
11
+ {
12
+ "heading": "Fixed — cc CLI 0.163.1: bounded long sessions and reliability gates",
13
+ "body": "> `chainlesschain` **0.163.0 → 0.163.1** (release candidate,\n> 2026-08-08). CLI-only release metadata;\n> `@chainlesschain/personal-data-hub` remains **0.4.57** and\n> `@chainlesschain/agent-sdk` remains **0.1.7**.\n\n- **Bounded long-session compaction**: prior durable conversation summaries and\n compacted tool records are folded into the next summary instead of remaining\n as permanently accumulated system messages. A 2,000-turn regression keeps\n compaction state bounded while preserving checkpoint and other trusted host\n provenance.\n- **Race-safe live session tails**: transcript deletion or restoration between\n the path check and asynchronous `stat`/`open` is reclassified through the\n durable session witness. Followers now fail closed with the governed deleted\n or unverified-transcript error instead of leaking a platform-dependent raw\n `ENOENT`.\n- **Atomic Windows MCP runtime launch**: the strict sandbox holds verified\n runtime and entry identities through suspended process image creation, then\n re-attests before resume. A real pathname-replacement race fails closed\n before untrusted entry code executes.\n- **Real cross-platform reliability probes**: the formal matrix now includes\n persisted EROFS/ENOSPC sessions, bounded pipe consumers, native TTY\n screen-reader mode with multilingual keyboard input, Windows/macOS Unicode\n clipboard round trips, localhost SSH disconnects, oversized MCP output,\n concurrent agents, and two-hour resource accounting. Disk mounts are retired\n from their actual `sessions` targets during cleanup.\n- **Deterministic two-hour workload**: the required 1,000 duplex turns are\n paced across the complete soak window instead of becoming a platform-speed\n stress loop with millions of extra turns. The RSS/FD/handle thresholds remain\n unchanged, and the screen-reader probe waits for the real REPL prompt before\n injecting multilingual keyboard input.\n- **Native release credentials fail closed**: the six-target native workflow\n refuses to build a release until Linux signing, Windows Authenticode, macOS\n signing/notarization, and updater keys are all configured. This npm release\n does not claim the separate native distribution chain is complete.\n- **Release status**: exact source commit `a29eb4203d` passed the complete Linux,\n Windows, and macOS `CLI CI` and `CLI Strict Sandbox` matrices. The dedicated\n release workflow then ran in dry-run mode, with the exact-SHA, artifact, and\n publish jobs skipped; neither `v-npm-0-163-1` nor registry version `0.163.1`\n exists. The two-hour reliability matrix is recorded separately as product\n evidence and cannot be replaced by local smoke tests."
14
+ }
15
+ ]
16
+ },
17
+ {
18
+ "productVersion": null,
19
+ "cliVersion": "0.163.0",
20
+ "cliVersions": ["0.162.200", "0.163.0"],
21
+ "date": "2026-08-08",
22
+ "title": "",
23
+ "sections": [
24
+ {
25
+ "heading": "Fixed — cc CLI 0.163.0: macOS PTY launch and native host validation",
26
+ "body": "> `chainlesschain` **0.162.200 → 0.163.0** (release candidate,\n> 2026-08-08). CLI-only release metadata;\n> `@chainlesschain/personal-data-hub` remains **0.4.57** and\n> `@chainlesschain/agent-sdk` remains **0.1.7**.\n\n- **macOS PTY installation repair**: `node-pty@1.1.0` publishes its macOS\n `spawn-helper` prebuilds without executable bits, which made fresh ARM64 and\n Intel installs fail with `posix_spawnp failed`. The CLI postinstall now\n repairs and verifies that narrowly resolved regular file, rejects symlinked\n helpers, and the reliability workflow fails early if the executable bit is\n missing before running a real PTY scenario.\n- **Real native target hosts**: the standalone native release matrix now maps\n Linux, Windows, and macOS x64/ARM64 targets to six matching GitHub-hosted\n runners and requires each artifact to execute on its own architecture. The\n previous cross-target smoke-test skip is removed. This improves native\n evidence readiness but does not claim signing, notarization, or public native\n distribution is complete.\n- **Second command-observation cycle starts**: `0.163.0` begins the second minor\n release cycle for lifecycle telemetry. All 25 deprecated compatibility\n aliases remain retained because representative opt-in collector coverage,\n per-command sample floors, and the `0.164.0` removal floor are not yet met.\n- **Pre-release evidence**: implementation SHA `38cd849ed16f` passed\n [CLI Strict Sandbox](https://github.com/chainlesschain/chainlesschain/actions/runs/31202334570)\n on Ubuntu, Windows, and macOS. This final version commit must independently\n pass exact-SHA `CLI CI` and `CLI Strict Sandbox` before publication."
27
+ }
28
+ ]
29
+ },
4
30
  {
5
31
  "productVersion": null,
6
32
  "cliVersion": "0.162.200",
@@ -10,7 +36,7 @@
10
36
  "sections": [
11
37
  {
12
38
  "heading": "Fixed — cc CLI 0.162.200: release-gate isolation and carried reliability fixes",
13
- "body": "> `chainlesschain` **0.162.198 → 0.162.200** (release candidate,\n> 2026-08-07; `0.162.199` failed before npm upload and its tag remains\n> immutable). CLI-only release metadata; `@chainlesschain/personal-data-hub`\n> remains **0.4.57** and `@chainlesschain/agent-sdk` remains **0.1.7**.\n\n- **Carries the complete 0.162.199 candidate**: command lifecycle telemetry and\n alias observation policy, canonical session authority, fixed MCP package\n capsules, native update recovery, and portable reliability gates are all\n included because `0.162.199` never reached npm.\n- **Release-gate isolation**: the Agent SDK real-CLI E2E now places its\n rollback-resistant security anchor beside, rather than inside,\n `CHAINLESSCHAIN_HOME`. The fixture therefore matches the production\n fail-closed layout after redirecting `HOME` and no longer hides the `agent`\n command behind compatibility registration.\n- **Pre-release evidence**: implementation SHA `bf6924013d1c` passed the full\n [npm release dry-run](https://github.com/chainlesschain/chainlesschain/actions/runs/31189959290),\n including core packages, Agent SDK real-CLI E2E, Personal Data Hub, Web Panel,\n the complete CLI suite, and credential-free npm package validation. The final\n `0.162.200` version commit must pass the exact-SHA CLI CI and CLI Strict\n Sandbox matrices before tag `v-npm-0-162-200` is created."
39
+ "body": "> `chainlesschain` **0.162.198 → 0.162.200** (published,\n> 2026-08-07 from exact SHA `dbb06e16fef0`.\n> `0.162.199` failed before npm upload and its tag remains\n> immutable). CLI-only release metadata; `@chainlesschain/personal-data-hub`\n> remains **0.4.57** and `@chainlesschain/agent-sdk` remains **0.1.7**.\n\n- **Carries the complete 0.162.199 candidate**: command lifecycle telemetry and\n alias observation policy, canonical session authority, fixed MCP package\n capsules, native update recovery, and portable reliability gates are all\n included because `0.162.199` never reached npm.\n- **Release-gate isolation**: the Agent SDK real-CLI E2E now places its\n rollback-resistant security anchor beside, rather than inside,\n `CHAINLESSCHAIN_HOME`. The fixture therefore matches the production\n fail-closed layout after redirecting `HOME` and no longer hides the `agent`\n command behind compatibility registration.\n- **Pre-release evidence**: implementation SHA `bf6924013d1c` passed the full\n [npm release dry-run](https://github.com/chainlesschain/chainlesschain/actions/runs/31189959290),\n including core packages, Agent SDK real-CLI E2E, Personal Data Hub, Web Panel,\n the complete CLI suite, and credential-free npm package validation. The final\n `0.162.200` version commit must pass the exact-SHA CLI CI and CLI Strict\n Sandbox matrices before tag `v-npm-0-162-200` is created."
14
40
  }
15
41
  ]
16
42
  },
@@ -13,6 +13,7 @@ import { createHash } from "node:crypto";
13
13
  import { feature, featureVariant } from "../lib/feature-flags.js";
14
14
  import {
15
15
  DURABLE_SYSTEM_MESSAGE_KINDS,
16
+ getDurableSystemMessageProvenance,
16
17
  markDurableSystemMessage,
17
18
  } from "../lib/session-message-provenance.js";
18
19
  import {
@@ -34,6 +35,14 @@ export const SUMMARY_INPUT_DEFAULT_MAX_CHARS = 24000;
34
35
  export const SUMMARY_INPUT_HARD_MAX_CHARS = 32000;
35
36
  const SUMMARY_INPUT_MIN_CHARS = 1024;
36
37
 
38
+ function isCompactionArtifact(message) {
39
+ const kind = getDurableSystemMessageProvenance(message)?.kind;
40
+ return (
41
+ kind === DURABLE_SYSTEM_MESSAGE_KINDS.COMPACT_SUMMARY ||
42
+ kind === DURABLE_SYSTEM_MESSAGE_KINDS.COMPACT_TOOL_COLLAPSE
43
+ );
44
+ }
45
+
37
46
  function boundedPositiveInteger(value, fallback, minimum, maximum) {
38
47
  const number = Math.floor(Number(value));
39
48
  if (!Number.isFinite(number) || number <= 0) return fallback;
@@ -508,9 +517,13 @@ export class PromptCompressor {
508
517
  }
509
518
 
510
519
  _truncate(messages) {
511
- const system = messages.filter((m) => m.role === "system");
520
+ const system = messages.filter(
521
+ (m) => m.role === "system" && !isCompactionArtifact(m),
522
+ );
512
523
  const last = [...messages].reverse().find((m) => m.role === "user");
513
- const rest = messages.filter((m) => m.role !== "system" && m !== last);
524
+ const rest = messages.filter(
525
+ (m) => (m.role !== "system" || isCompactionArtifact(m)) && m !== last,
526
+ );
514
527
 
515
528
  let slots = this.maxMessages - system.length;
516
529
  if (last) slots -= 1;
@@ -522,10 +535,15 @@ export class PromptCompressor {
522
535
  }
523
536
 
524
537
  async _summarize(messages) {
525
- const system = messages.filter((m) => m.role === "system");
538
+ // Compaction summaries and collapsed tool groups are derived history, not
539
+ // immutable host instructions. Fold them into the next summary so a long
540
+ // session cannot retain one additional durable system message per cycle.
541
+ const system = messages.filter(
542
+ (m) => m.role === "system" && !isCompactionArtifact(m),
543
+ );
526
544
  const last = [...messages].reverse().find((m) => m.role === "user");
527
545
  const toSummarize = messages.filter(
528
- (m) => m.role !== "system" && m !== last,
546
+ (m) => (m.role !== "system" || isCompactionArtifact(m)) && m !== last,
529
547
  );
530
548
 
531
549
  if (toSummarize.length < 3) {
@@ -46,7 +46,7 @@ export async function runPack(cliOpts, deps = {}) {
46
46
  };
47
47
 
48
48
  const projectRoot = path.resolve(cliOpts.cwd || process.cwd());
49
- const targets = (cliOpts.targets || "node20-win-x64")
49
+ const targets = (cliOpts.targets || "node22-win-x64")
50
50
  .split(",")
51
51
  .map((s) => s.trim())
52
52
  .filter(Boolean);
@@ -35,7 +35,7 @@ const TARGET_MODULES = [
35
35
  /**
36
36
  * @param {object} ctx
37
37
  * @param {string} ctx.cliRoot
38
- * @param {string[]} ctx.targets e.g. ["node20-win-x64"]
38
+ * @param {string[]} ctx.targets e.g. ["node22-win-x64"]
39
39
  * @param {string} ctx.tempDir build temp dir
40
40
  * @returns {{ prebuildsDir: string|null, collected: Array, missing: Array }}
41
41
  */
@@ -117,11 +117,11 @@ function collectSqlJsAssets(cliRoot, prebuildsDir) {
117
117
  }
118
118
 
119
119
  /**
120
- * Map "node20-win-x64" -> "win32-x64".
120
+ * Map "node22-win-x64" -> "win32-x64".
121
121
  * Returns null for unrecognized targets.
122
122
  */
123
123
  export function pkgTargetToPlatformKey(target) {
124
- // node20-win-x64
124
+ // node22-win-x64
125
125
  const m = /^node\d+-([a-z]+)-([a-z0-9]+)$/.exec(target);
126
126
  if (!m) return null;
127
127
  const osMap = {
@@ -21,7 +21,7 @@
21
21
  * }
22
22
  * }
23
23
  *
24
- * `target` matches pkg's `node20-<os>-<arch>` convention.
24
+ * `target` matches pkg's `node22-<os>-<arch>` convention.
25
25
  */
26
26
 
27
27
  import semver from "semver";
@@ -36,7 +36,7 @@ const DEFAULT_TIMEOUT_MS = 10_000;
36
36
  * @param {object} ctx
37
37
  * @param {string} ctx.manifestUrl absolute http(s) URL
38
38
  * @param {string} ctx.currentVersion e.g. BAKED.packedCliVersion or VERSION
39
- * @param {string} [ctx.target] e.g. "node20-win-x64"; if set, the
39
+ * @param {string} [ctx.target] e.g. "node22-win-x64"; if set, the
40
40
  * returned artifact matches it
41
41
  * @param {number} [ctx.timeoutMs=10000]
42
42
  * @param {typeof fetch} [ctx.fetchImpl] injected for tests
@@ -8,7 +8,7 @@
8
8
  * {
9
9
  * "scripts": ["src/**\/*.js"],
10
10
  * "assets": ["src/assets/web-panel/**\/*", "templates/**\/*", "prebuilds/**\/*"],
11
- * "targets": ["node20-win-x64"],
11
+ * "targets": ["node22-win-x64"],
12
12
  * "outputPath": "dist"
13
13
  * }
14
14
  *
@@ -160,15 +160,16 @@ export function generatePkgConfig(ctx) {
160
160
  ...(projectBaked || {}),
161
161
  };
162
162
 
163
- // Inline the real bin's logic directly. We can't use `import('...')`
164
- // because pkg's snapshot bootstrap does not register a dynamic-import
165
- // callback (ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING). Static ESM
166
- // imports compile fine via yao-pkg's ESM mode.
163
+ // Inline the real bin's logic directly. Import the phase-0 lazy dispatcher,
164
+ // not src/index.js: that eager compatibility module uses top-level await and
165
+ // cannot be loaded by pkg's CommonJS bootstrap on Node 22.
167
166
  const entryScript = path.join(pkgConfigDir, "pack-entry.js");
168
167
  const ensureUtf8Path = posixify(
169
168
  path.join(cliRoot, "src", "lib", "ensure-utf8.js"),
170
169
  );
171
- const indexPath = posixify(path.join(cliRoot, "src", "index.js"));
170
+ const lazyDispatchPath = posixify(
171
+ path.join(cliRoot, "src", "lazy-dispatch.js"),
172
+ );
172
173
  fs.writeFileSync(
173
174
  entryScript,
174
175
  [
@@ -181,7 +182,7 @@ export function generatePkgConfig(ctx) {
181
182
  "import os from 'node:os';",
182
183
  "import path from 'node:path';",
183
184
  `import { ensureUtf8 } from '${ensureUtf8Path}';`,
184
- `import { createProgram } from '${indexPath}';`,
185
+ `import { runCli } from '${lazyDispatchPath}';`,
185
186
  "ensureUtf8();",
186
187
  "// Build-time defaults baked by the packer. Each is overridable at",
187
188
  "// runtime either via the matching env var or by passing the flag.",
@@ -374,15 +375,15 @@ export function generatePkgConfig(ctx) {
374
375
  "// When launched from Explorer, Node exits as soon as the event loop",
375
376
  "// drains. If something throws before the UI server starts listening,",
376
377
  "// we want the user to see the error — pause on fatal errors.",
377
- "process.on('uncaughtException', (err) => {",
378
+ "function _handleFatal(err) {",
378
379
  " console.error('\\n[cc-pack] Fatal error:', err && err.stack || err);",
379
380
  " if (process.stdin.isTTY) {",
380
381
  " console.error('\\nPress any key to exit...');",
381
382
  " try { process.stdin.setRawMode(true); process.stdin.resume(); process.stdin.once('data', () => process.exit(1)); } catch { process.exit(1); }",
382
383
  " } else { process.exit(1); }",
383
- "});",
384
- "const program = createProgram();",
385
- "program.parse(process.argv);",
384
+ "}",
385
+ "process.on('uncaughtException', _handleFatal);",
386
+ "runCli(process.argv).catch(_handleFatal);",
386
387
  "",
387
388
  ].join("\n"),
388
389
  "utf-8",
@@ -37,10 +37,13 @@ export function ensureWebPanel(ctx) {
37
37
  fs.existsSync(path.join(d, "index.html")),
38
38
  );
39
39
 
40
- // Decide if a rebuild is needed
40
+ // A clean source checkout intentionally contains only the tracked
41
+ // index.html placeholder; the generated asset tree is gitignored. Treat
42
+ // that placeholder as missing output so native/package builds actually run
43
+ // build:web-panel instead of failing the asset-count guard below.
41
44
  let rebuilt = false;
42
- let needsBuild = !distDir;
43
- if (distDir && !skipBuild) {
45
+ let needsBuild = !distDir || countAssets(distDir) < 2;
46
+ if (!needsBuild && distDir && !skipBuild) {
44
47
  needsBuild = isDistStale(distDir);
45
48
  }
46
49
 
@@ -1179,6 +1179,7 @@ class ProcessExecutionBroker extends EventEmitter {
1179
1179
  "targetRuntime",
1180
1180
  "contentSnapshotScope",
1181
1181
  "contentSnapshotMechanism",
1182
+ "runtimeLaunchMechanism",
1182
1183
  "pluginTreeContentSnapshotScope",
1183
1184
  "pluginTreeContentSnapshotMechanism",
1184
1185
  "pluginTreeSnapshotConsistency",
@@ -1610,7 +1611,9 @@ class ProcessExecutionBroker extends EventEmitter {
1610
1611
  "verified-handle-inherited-pipe-module-compile-v1" &&
1611
1612
  plan.runtimeProbe.handleAtomic === false &&
1612
1613
  plan.runtimeProbe.entrySnapshotAtomic === true &&
1613
- plan.runtimeProbe.runtimeLaunchAtomic === false &&
1614
+ plan.runtimeProbe.runtimeLaunchAtomic === true &&
1615
+ plan.runtimeProbe.runtimeLaunchMechanism ===
1616
+ "filter-oplock-locked-createprocess-suspended-image-v1" &&
1614
1617
  /^[a-f0-9]{64}$/.test(
1615
1618
  plan.runtimeProbe.runtimeAttestedSha256 || "",
1616
1619
  ) &&
@@ -1935,6 +1938,7 @@ class ProcessExecutionBroker extends EventEmitter {
1935
1938
  entrySnapshotBytes: plan.runtimeProbe.entrySnapshotBytes,
1936
1939
  entrySnapshotAtomic: plan.runtimeProbe.entrySnapshotAtomic,
1937
1940
  runtimeLaunchAtomic: plan.runtimeProbe.runtimeLaunchAtomic,
1941
+ runtimeLaunchMechanism: plan.runtimeProbe.runtimeLaunchMechanism,
1938
1942
  sharedLibraryClosure: plan.runtimeProbe.sharedLibraryClosure,
1939
1943
  }
1940
1944
  : {}),
@@ -2041,6 +2041,16 @@ function windowsAppContainerPolicyDigest({
2041
2041
  ? "verified-handle-inherited-pipe-module-compile-v1"
2042
2042
  : null,
2043
2043
  handleAtomic: false,
2044
+ ...(snapshotLocks.length > 0 &&
2045
+ executionContract?.kind === MCP_STDIO_CAPSULE_SANDBOX_CONTRACT_KIND
2046
+ ? {
2047
+ entrySnapshotAtomic: true,
2048
+ runtimeLaunchAtomic: true,
2049
+ runtimeLaunchMechanism:
2050
+ "filter-oplock-locked-createprocess-suspended-image-v1",
2051
+ sharedLibraryClosure: false,
2052
+ }
2053
+ : {}),
2044
2054
  launchPathLocks: snapshotLocks,
2045
2055
  },
2046
2056
  }),
@@ -2622,7 +2632,9 @@ export function applyWindowsSandbox(
2622
2632
  ({ role }) => role === "entry",
2623
2633
  )?.bytes,
2624
2634
  entrySnapshotAtomic: true,
2625
- runtimeLaunchAtomic: false,
2635
+ runtimeLaunchAtomic: true,
2636
+ runtimeLaunchMechanism:
2637
+ "filter-oplock-locked-createprocess-suspended-image-v1",
2626
2638
  sharedLibraryClosure: false,
2627
2639
  }
2628
2640
  : {}),
@@ -16,8 +16,31 @@ import {
16
16
  sessionPath,
17
17
  } from "../harness/jsonl-session-store.js";
18
18
 
19
+ export function readLiveTranscriptPresence(
20
+ sessionId,
21
+ readPresence = getSessionPresence,
22
+ ) {
23
+ let presence;
24
+ for (let attempt = 0; attempt < 3; attempt += 1) {
25
+ try {
26
+ presence = readPresence(sessionId);
27
+ break;
28
+ } catch (error) {
29
+ if (error?.code !== "ENOENT") throw error;
30
+ }
31
+ }
32
+ if (presence === undefined) {
33
+ const error = new Error(
34
+ `Session ${sessionId} transcript cannot be verified for live tailing`,
35
+ );
36
+ error.code = "SESSION_TRANSCRIPT_UNVERIFIED";
37
+ throw error;
38
+ }
39
+ return presence;
40
+ }
41
+
19
42
  function assertLiveTranscriptReadable(sessionId) {
20
- const presence = getSessionPresence(sessionId);
43
+ const presence = readLiveTranscriptPresence(sessionId);
21
44
  if (
22
45
  presence === SESSION_PRESENCE.PRESENT ||
23
46
  presence === SESSION_PRESENCE.ABSENT
@@ -119,7 +142,6 @@ export async function* followSession(sessionId, options = {}) {
119
142
  // held bytes are reassembled instead of corrupted into U+FFFD.
120
143
  let decoder = new TextDecoder("utf-8");
121
144
 
122
- // eslint-disable-next-line no-constant-condition
123
145
  while (true) {
124
146
  if (signal?.aborted) return;
125
147
 
@@ -129,31 +151,41 @@ export async function* followSession(sessionId, options = {}) {
129
151
  assertLiveTranscriptReadable(sessionId);
130
152
 
131
153
  if (existsSync(filePath)) {
132
- const stat = await fsp.stat(filePath);
133
- if (stat.size < offset) {
134
- // File was truncated / rotated — restart from beginning
135
- offset = 0;
136
- buffer = "";
137
- decoder = new TextDecoder("utf-8"); // drop any held partial-char bytes
138
- }
139
- if (stat.size > offset) {
140
- const fd = await fsp.open(filePath, "r");
141
- try {
142
- const length = stat.size - offset;
143
- const buf = Buffer.alloc(length);
144
- await fd.read(buf, 0, length, offset);
145
- offset = stat.size;
146
- buffer += decoder.decode(buf, { stream: true });
147
- } finally {
148
- await fd.close();
154
+ try {
155
+ const stat = await fsp.stat(filePath);
156
+ if (stat.size < offset) {
157
+ // File was truncated / rotated — restart from beginning
158
+ offset = 0;
159
+ buffer = "";
160
+ decoder = new TextDecoder("utf-8"); // drop any held partial-char bytes
149
161
  }
150
- const { events, rest } = parseChunk(buffer);
151
- buffer = rest;
152
- for (const evt of events) {
153
- if (matchesFilter(evt, { types, sinceMs })) {
154
- yield { event: evt, offset };
162
+ if (stat.size > offset) {
163
+ const fd = await fsp.open(filePath, "r");
164
+ try {
165
+ const length = stat.size - offset;
166
+ const buf = Buffer.alloc(length);
167
+ await fd.read(buf, 0, length, offset);
168
+ offset = stat.size;
169
+ buffer += decoder.decode(buf, { stream: true });
170
+ } finally {
171
+ await fd.close();
172
+ }
173
+ const { events, rest } = parseChunk(buffer);
174
+ buffer = rest;
175
+ for (const evt of events) {
176
+ if (matchesFilter(evt, { types, sinceMs })) {
177
+ yield { event: evt, offset };
178
+ }
155
179
  }
156
180
  }
181
+ } catch (error) {
182
+ if (error?.code !== "ENOENT") throw error;
183
+ // The transcript can disappear between exists/stat/open while another
184
+ // host deletes or rotates it. Re-evaluate the durable witness after the
185
+ // race so callers receive SESSION_DELETED / SESSION_TRANSCRIPT_UNVERIFIED
186
+ // instead of a platform-dependent raw filesystem error. A genuinely
187
+ // absent, unwitnessed path remains followable and is retried next poll.
188
+ assertLiveTranscriptReadable(sessionId);
157
189
  }
158
190
  }
159
191
 
@@ -1 +0,0 @@
1
- import{P as c,J as p,b as s}from"./vendor-Bn1JzzAn.js";import{r as a}from"./markdown-Yo_c6Krv.js";import{_ as d}from"./index-OI_fXWx0.js";const _={__name:"MarkdownRenderer",props:{content:{type:String,default:""}},setup(t,{expose:o}){o();const e=t,r=s(()=>a(e.content||"")),n={props:e,rendered:r,computed:s,get renderMarkdown(){return a}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},i=["innerHTML"];function u(t,o,e,r,n,m){return c(),p("div",{class:"markdown-content",innerHTML:r.rendered},null,8,i)}const k=d(_,[["render",u],["__scopeId","data-v-0b0b9f63"],["__file","/tmp/cc-web-panel-wGuSwK/repo/packages/web-panel/src/components/MarkdownRenderer.vue"]]);export{k as M};