chainlesschain 0.166.36 → 0.166.38

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 (177) hide show
  1. package/package.json +3 -3
  2. package/src/assets/web-panel/assets/{AIOps-Zs-zPwVG.js → AIOps-DBbcVPqB.js} +1 -1
  3. package/src/assets/web-panel/assets/{ActionButton-HZlxM6H0.js → ActionButton-D5vETPOk.js} +1 -1
  4. package/src/assets/web-panel/assets/{Analytics-CXyThRDb.js → Analytics-WVhas3Fw.js} +3 -3
  5. package/src/assets/web-panel/assets/{AppLayout-DeyYh_EF.js → AppLayout-CSTRI93Q.js} +5 -5
  6. package/src/assets/web-panel/assets/{Artifacts-BQDtMwkx.js → Artifacts-BZT8FOoE.js} +1 -1
  7. package/src/assets/web-panel/assets/{Audit-DNH4UOux.js → Audit-CT2-Tsby.js} +1 -1
  8. package/src/assets/web-panel/assets/{BackgroundAgents-BkKdIxE6.js → BackgroundAgents-BWA5LNBe.js} +1 -1
  9. package/src/assets/web-panel/assets/{Backup-DYy4aJom.js → Backup-B-zEbldA.js} +1 -1
  10. package/src/assets/web-panel/assets/{BaseInput-DjoyGVYm.js → BaseInput-BAEwtdNT.js} +1 -1
  11. package/src/assets/web-panel/assets/{Chat-D86ZYgOD.js → Chat-BT1-y6t1.js} +6 -6
  12. package/src/assets/web-panel/assets/{ChatBubbleRenderer-RxI_YYth.js → ChatBubbleRenderer-BVijMHeO.js} +1 -1
  13. package/src/assets/web-panel/assets/{Checkbox-C7p8UY99.js → Checkbox-B8IJYZsD.js} +1 -1
  14. package/src/assets/web-panel/assets/{Codegen-DnapqgV5.js → Codegen-DEt453nL.js} +1 -1
  15. package/src/assets/web-panel/assets/{Col-C29J2DBT.js → Col-DWuVSmZv.js} +1 -1
  16. package/src/assets/web-panel/assets/{Community-Bf3KeLCr.js → Community-CcoNuU33.js} +1 -1
  17. package/src/assets/web-panel/assets/{Compact-DA83wB48.js → Compact-BKtuIYWA.js} +1 -1
  18. package/src/assets/web-panel/assets/{Compliance-CXXVgRFG.js → Compliance-bHzxGq3P.js} +1 -1
  19. package/src/assets/web-panel/assets/{Cowork-B28Ftuqv.js → Cowork-BY2Kb15t.js} +3 -3
  20. package/src/assets/web-panel/assets/{Cron-CO-BcnDf.js → Cron-DC-j0jvp.js} +2 -2
  21. package/src/assets/web-panel/assets/{Crosschain-BmgPMFCs.js → Crosschain-CzEuAHQz.js} +1 -1
  22. package/src/assets/web-panel/assets/{DID-CYW9WslA.js → DID-7QUNq6Fz.js} +2 -2
  23. package/src/assets/web-panel/assets/{Dashboard-CWWhVWds.js → Dashboard-CT6RiEFl.js} +2 -2
  24. package/src/assets/web-panel/assets/{Dropdown-CjTuc1-n.js → Dropdown-CW8IPY7r.js} +1 -1
  25. package/src/assets/web-panel/assets/{EmailListRenderer-BrROAu4d.js → EmailListRenderer-Zt8WOLuN.js} +1 -1
  26. package/src/assets/web-panel/assets/{FamilyGuardDashboard-Ci8Lmk8W.js → FamilyGuardDashboard-B6aymxi7.js} +1 -1
  27. package/src/assets/web-panel/assets/{Federation-CKzKVLE_.js → Federation-BiuFrRq0.js} +1 -1
  28. package/src/assets/web-panel/assets/{FormItemContext-CC2CK5PQ.js → FormItemContext-DaiOAkHa.js} +1 -1
  29. package/src/assets/web-panel/assets/{GenericCardRenderer-BYa3ElyT.js → GenericCardRenderer-D1KbDpXs.js} +1 -1
  30. package/src/assets/web-panel/assets/{Git-Bmn3ucA4.js → Git-BILl0huA.js} +2 -2
  31. package/src/assets/web-panel/assets/{Governance-DqEOXitg.js → Governance-CLyhrPrh.js} +1 -1
  32. package/src/assets/web-panel/assets/{Inference-BjfeExba.js → Inference-DyNhiIpK.js} +1 -1
  33. package/src/assets/web-panel/assets/{KnowledgeGraph-CBTyIFlJ.js → KnowledgeGraph-Bor_ye4m.js} +1 -1
  34. package/src/assets/web-panel/assets/{Logs-KZfA_M9Q.js → Logs-ZDqbu8kg.js} +2 -2
  35. package/src/assets/web-panel/assets/MarkdownRenderer-DnSfkf98.js +1 -0
  36. package/src/assets/web-panel/assets/{Marketplace-BFeK4he0.js → Marketplace-DbDi29dH.js} +1 -1
  37. package/src/assets/web-panel/assets/{McpTools-Brg7uUoK.js → McpTools-DfU8dWbV.js} +3 -3
  38. package/src/assets/web-panel/assets/{Memory-Ce4AmyX3.js → Memory-DeAz-2-6.js} +2 -2
  39. package/src/assets/web-panel/assets/{MobileBridge-Dx1VBL_E.js → MobileBridge-ws3TJXal.js} +1 -1
  40. package/src/assets/web-panel/assets/{MobileProjects-DPyRr2Xl.js → MobileProjects-CGwVfeTv.js} +1 -1
  41. package/src/assets/web-panel/assets/{Mtc-BzRmtDQU.js → Mtc-BtJjJJpl.js} +4 -4
  42. package/src/assets/web-panel/assets/{MtcAudit-DvZ5kLvJ.js → MtcAudit-BNZwipXs.js} +5 -5
  43. package/src/assets/web-panel/assets/{Multisig-D8uGUjX1.js → Multisig-9mSOrKWA.js} +3 -3
  44. package/src/assets/web-panel/assets/{NLProgramming-igc-TQE5.js → NLProgramming-gz1lEDED.js} +1 -1
  45. package/src/assets/web-panel/assets/{Notes-CTqDYlek.js → Notes-BeufuOVX.js} +3 -3
  46. package/src/assets/web-panel/assets/{NotificationSettings-CkcLa2rb.js → NotificationSettings-CbFyi9jZ.js} +1 -1
  47. package/src/assets/web-panel/assets/OrderTableRenderer-CFbhBT44.js +1 -0
  48. package/src/assets/web-panel/assets/{Organization-BjKK9SdB.js → Organization-DKBKNViH.js} +4 -4
  49. package/src/assets/web-panel/assets/{Overflow-BkcghTPE.js → Overflow-CvPfKE1x.js} +1 -1
  50. package/src/assets/web-panel/assets/{P2P-l9f34Xu8.js → P2P-DjL2q8og.js} +2 -2
  51. package/src/assets/web-panel/assets/PdhVaultBrowser-Cv9PLMWJ.js +7 -0
  52. package/src/assets/web-panel/assets/{Permissions-DeSYs0VV.js → Permissions-BUoNho3w.js} +4 -4
  53. package/src/assets/web-panel/assets/{PersonalDataHub-CmKmhy0q.js → PersonalDataHub-C4Iu2Pic.js} +4 -4
  54. package/src/assets/web-panel/assets/{Pipeline-DBxS4R_r.js → Pipeline-BiDrIlwr.js} +1 -1
  55. package/src/assets/web-panel/assets/{Privacy-CKngdGw3.js → Privacy-BnvU6vGp.js} +1 -1
  56. package/src/assets/web-panel/assets/{ProjectInit-0Pso0jXN.js → ProjectInit-DDzoyhnH.js} +2 -2
  57. package/src/assets/web-panel/assets/{ProjectSettings-BHrqWQ6r.js → ProjectSettings-CV6b43H0.js} +2 -2
  58. package/src/assets/web-panel/assets/{Projects-B8wIh9PK.js → Projects-B0k1907g.js} +1 -1
  59. package/src/assets/web-panel/assets/{Providers-CXFTOHRV.js → Providers-DaeuFo-x.js} +1 -1
  60. package/src/assets/web-panel/assets/{QrScannerModal-DfN0c_BN.js → QrScannerModal-C03Bll1h.js} +1 -1
  61. package/src/assets/web-panel/assets/{QuickAsk-v1Z5hty_.js → QuickAsk-Cn9nLaen.js} +1 -1
  62. package/src/assets/web-panel/assets/{Recommend-DOaVmZUi.js → Recommend-BXfkC8Ts.js} +1 -1
  63. package/src/assets/web-panel/assets/{RemoteSession--EWcPBY1.js → RemoteSession-DNj6D_LI.js} +2 -2
  64. package/src/assets/web-panel/assets/{Reputation-DUWFSNvV.js → Reputation-DDDIwiUI.js} +1 -1
  65. package/src/assets/web-panel/assets/{Row-0-bFnXWF.js → Row-JukNm-id.js} +1 -1
  66. package/src/assets/web-panel/assets/{RssFeed-B_uTfubW.js → RssFeed-B1AhzL2z.js} +3 -3
  67. package/src/assets/web-panel/assets/{Search-CqxiTLfB.js → Search-B5y6_DVm.js} +1 -1
  68. package/src/assets/web-panel/assets/{Security-CGoHOz5B.js → Security-C2pvv32x.js} +3 -3
  69. package/src/assets/web-panel/assets/{Services-COhAbS45.js → Services-DBka7ppY.js} +2 -2
  70. package/src/assets/web-panel/assets/{Skeleton-B97crp6v.js → Skeleton-DfPwNTSh.js} +1 -1
  71. package/src/assets/web-panel/assets/{Skills-er_XdavV.js → Skills-Cs4ntp-l.js} +1 -1
  72. package/src/assets/web-panel/assets/{Sla-RpkWkzOL.js → Sla-CrUJ0guM.js} +1 -1
  73. package/src/assets/web-panel/assets/SpeechSettings-BFbokLV1.js +1 -0
  74. package/src/assets/web-panel/assets/{SyncSettings-Bbiw6ohw.js → SyncSettings-CSnh1o3D.js} +2 -2
  75. package/src/assets/web-panel/assets/{Tasks-CRghr7lo.js → Tasks-CQZppIPo.js} +1 -1
  76. package/src/assets/web-panel/assets/{Templates-BUQkfydG.js → Templates-BqLeHq7Z.js} +1 -1
  77. package/src/assets/web-panel/assets/{Tenant-CfUFOsZu.js → Tenant-CkzPA-ri.js} +1 -1
  78. package/src/assets/web-panel/assets/{Terminal-BGY7gi4M.js → Terminal-D5IRhnu6.js} +2 -2
  79. package/src/assets/web-panel/assets/{TimelineRenderer-B3Len0l7.js → TimelineRenderer-ICdiYzgz.js} +1 -1
  80. package/src/assets/web-panel/assets/{Tokens-BjeHn2zI.js → Tokens-89CaZBwe.js} +1 -1
  81. package/src/assets/web-panel/assets/{Trigger-ctcZ2mcv.js → Trigger-Di251qR1.js} +1 -1
  82. package/src/assets/web-panel/assets/{Trust-oncF3TpO.js → Trust-M4sC3Mv6.js} +1 -1
  83. package/src/assets/web-panel/assets/{UkeySign-BwKbVYCd.js → UkeySign-BL7EUWxj.js} +1 -1
  84. package/src/assets/web-panel/assets/{VideoEditing-D1dgL-3U.js → VideoEditing-BV5Se5il.js} +1 -1
  85. package/src/assets/web-panel/assets/{Wallet-4hXAfjBL.js → Wallet-IoY13rov.js} +4 -4
  86. package/src/assets/web-panel/assets/{WebAuthn-C8p3cotb.js → WebAuthn-DKFPq0uV.js} +3 -3
  87. package/src/assets/web-panel/assets/{WorkflowEditor-BnrjG77E.js → WorkflowEditor-oizkYeQD.js} +1 -1
  88. package/src/assets/web-panel/assets/{chat-B-YNK7EI.js → chat-Du6ZthE5.js} +1 -1
  89. package/src/assets/web-panel/assets/{colors-B9HYvK-e.js → colors-I2ie73HS.js} +1 -1
  90. package/src/assets/web-panel/assets/{compact-item-BJr0quBA.js → compact-item-C-02XOOx.js} +1 -1
  91. package/src/assets/web-panel/assets/{createContext-CXfbQEWD.js → createContext-DgP09zg2.js} +1 -1
  92. package/src/assets/web-panel/assets/devWarning-CxKkOIjh.js +1 -0
  93. package/src/assets/web-panel/assets/{hasIn-B7Q02hdZ.js → hasIn-kWDasRib.js} +1 -1
  94. package/src/assets/web-panel/assets/{index-BmvpVSmM.js → index-5Ll5Fdqb.js} +1 -1
  95. package/src/assets/web-panel/assets/{index-B6h86qjh.js → index-AtAiEmjM.js} +1 -1
  96. package/src/assets/web-panel/assets/{index-DsV1HA0Z.js → index-BSlTGxUJ.js} +1 -1
  97. package/src/assets/web-panel/assets/{index-G7Z_On_n.js → index-BUvpjPMv.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-COdAugDt.js → index-BYxia8nl.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-D0zuXz4s.js → index-BZ6bWk4x.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-CU7cBzr9.js → index-BZcdP3id.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-C3M8M9_U.js → index-BkcCllZ7.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-cq5Q-RHa.js → index-Bpz5RnQy.js} +3 -3
  103. package/src/assets/web-panel/assets/{index-C7IZWdoB.js → index-C3D5NSjS.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-D5g5_oua.js → index-CDM6OO4D.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-BtunVZuS.js → index-CHSghc3j.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-CEujQqdl.js → index-CQCdk4dn.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-D1GP2MQz.js → index-CbHEQTU6.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-DPUg6cVc.js → index-CgogPjKJ.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-6wWd08X-.js → index-CjuJ1FYZ.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-DMoUa3dF.js → index-CkP2DW3a.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-Bf0OxvOh.js → index-Cokjvq67.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-4gZEpDAG.js → index-CpOQeTac.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-kAggAkrB.js → index-CtbMRqD-.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-BmCD1_HC.js → index-Cx5dAdFu.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-D_UneDq3.js → index-D0EQSoEb.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-HzCaU25O.js → index-D5LV04FO.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-BU_adeUp.js → index-D9HwtJX5.js} +1 -1
  118. package/src/assets/web-panel/assets/{index-DutYFyC0.js → index-DKJ-d5F1.js} +1 -1
  119. package/src/assets/web-panel/assets/{index-BvRqE3Un.js → index-DcVj7YJB.js} +1 -1
  120. package/src/assets/web-panel/assets/{index-BleXwr2w.js → index-HH3Zccc0.js} +1 -1
  121. package/src/assets/web-panel/assets/{index-BB4KIBso.js → index-H_31JkaZ.js} +1 -1
  122. package/src/assets/web-panel/assets/{index-BNL9lmWL.js → index-I4A_y2Ee.js} +1 -1
  123. package/src/assets/web-panel/assets/{index-BoNVnnAq.js → index-LLQQqj9B.js} +1 -1
  124. package/src/assets/web-panel/assets/{index-CQ7qYZS4.js → index-M9mzJo6V.js} +1 -1
  125. package/src/assets/web-panel/assets/{index-iCKFl_jt.js → index-Na5QA1LE.js} +1 -1
  126. package/src/assets/web-panel/assets/{index-Bd3nX6aj.js → index-OYyn8GoU.js} +1 -1
  127. package/src/assets/web-panel/assets/{index-Gjegl5Ig.js → index-RwcHDSqP.js} +1 -1
  128. package/src/assets/web-panel/assets/{index-CXgHZ_HG.js → index-Ryflob2W.js} +1 -1
  129. package/src/assets/web-panel/assets/index-b5a6l3Uu.js +1 -0
  130. package/src/assets/web-panel/assets/{index-BClzZrmx.js → index-mF8UmKqp.js} +1 -1
  131. package/src/assets/web-panel/assets/{index-CcyxVqzn.js → index-uHI8QHu4.js} +1 -1
  132. package/src/assets/web-panel/assets/index-xt-BOyp_.js +1 -0
  133. package/src/assets/web-panel/assets/{initDefaultProps-DrzGM6fO.js → initDefaultProps-BPHGo-UX.js} +1 -1
  134. package/src/assets/web-panel/assets/{motion-SE_xFnGL.js → motion-BBr8JvWc.js} +1 -1
  135. package/src/assets/web-panel/assets/{move-CrPjKNiG.js → move-CdKWToz7.js} +1 -1
  136. package/src/assets/web-panel/assets/{mtc-parser-CpcyFPK6.js → mtc-parser-B8tkkKBs.js} +1 -1
  137. package/src/assets/web-panel/assets/{omit-BV0g7vf4.js → omit-DN4aP33H.js} +1 -1
  138. package/src/assets/web-panel/assets/{pickAttrs-lWpsc-k6.js → pickAttrs-CoHRkRJq.js} +1 -1
  139. package/src/assets/web-panel/assets/{placementArrow-CiewvU4X.js → placementArrow-DpGGGAPa.js} +1 -1
  140. package/src/assets/web-panel/assets/{responsiveObserve-DbF8pamO.js → responsiveObserve-BabRsZo5.js} +1 -1
  141. package/src/assets/web-panel/assets/{slide-Bn82Ip9-.js → slide-DJjyrwqK.js} +1 -1
  142. package/src/assets/web-panel/assets/{statusUtils-J76gk_-G.js → statusUtils-BaRVkO5S.js} +1 -1
  143. package/src/assets/web-panel/assets/{styleChecker-BL95J74a.js → styleChecker-HcMYUjTR.js} +1 -1
  144. package/src/assets/web-panel/assets/{useFlexGapSupport-BUzhdQsv.js → useFlexGapSupport-c3IBzp2l.js} +1 -1
  145. package/src/assets/web-panel/assets/{useFs-B2Fppepb.js → useFs-DD7igwyF.js} +1 -1
  146. package/src/assets/web-panel/assets/{usePersonalDataHub-DjTASfYE.js → usePersonalDataHub-GEF0hhnd.js} +1 -1
  147. package/src/assets/web-panel/assets/{vnode-BwrOgBqP.js → vnode-D51u7zqF.js} +1 -1
  148. package/src/assets/web-panel/assets/{zoom-B6MeT_Gw.js → zoom-tXG23Lc9.js} +1 -1
  149. package/src/assets/web-panel/index.html +1 -1
  150. package/src/commands/hub.js +21 -6
  151. package/src/commands/stream.js +28 -7
  152. package/src/commands/ui.js +10 -2
  153. package/src/data/changelog.json +26 -0
  154. package/src/gateways/ws/chat-intent-protocol.js +4 -1
  155. package/src/gateways/ws/llm-chat-protocol.js +29 -3
  156. package/src/gateways/ws/message-dispatcher.js +3 -1
  157. package/src/gateways/ws/personal-data-hub-protocol.js +24 -10
  158. package/src/gateways/ws/session-core-protocol.js +23 -6
  159. package/src/gateways/ws/session-protocol.js +1 -0
  160. package/src/lib/__tests__/provider-stream.test.js +6 -8
  161. package/src/lib/chat-core.js +67 -9
  162. package/src/lib/chat-intent-service.js +138 -39
  163. package/src/lib/evolution/evolution-deployment-loader.js +7 -1
  164. package/src/lib/evolution/governed-hub-llm.js +56 -0
  165. package/src/lib/evolution/governed-hub-resolver.js +65 -0
  166. package/src/lib/evolution/governed-hub-skill.js +36 -0
  167. package/src/lib/evolution/governed-model-turn.js +88 -0
  168. package/src/lib/personal-data-hub-wiring.js +49 -0
  169. package/src/lib/provider-stream.js +94 -45
  170. package/src/lib/ws-chat-handler.js +19 -2
  171. package/src/assets/web-panel/assets/MarkdownRenderer-BG7vi3V4.js +0 -1
  172. package/src/assets/web-panel/assets/OrderTableRenderer-BfScYvnH.js +0 -1
  173. package/src/assets/web-panel/assets/PdhVaultBrowser-yVXWmwWe.js +0 -7
  174. package/src/assets/web-panel/assets/SpeechSettings-DDVXmT5y.js +0 -1
  175. package/src/assets/web-panel/assets/devWarning-DNpXMZaQ.js +0 -1
  176. package/src/assets/web-panel/assets/index-2hcdmWpb.js +0 -1
  177. package/src/assets/web-panel/assets/index-DbQCUG4D.js +0 -1
@@ -1 +1 @@
1
- import{h as i}from"./index-cq5Q-RHa.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-Bpz5RnQy.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-cq5Q-RHa.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-Bpz5RnQy.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-cq5Q-RHa.js";import{i as e}from"./motion-SE_xFnGL.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-Bpz5RnQy.js";import{i as e}from"./motion-BBr8JvWc.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-cq5Q-RHa.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-Bpz5RnQy.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-cq5Q-RHa.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-Bpz5RnQy.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-BL95J74a.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-HcMYUjTR.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-cq5Q-RHa.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-Bpz5RnQy.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-cq5Q-RHa.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-Bpz5RnQy.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-cq5Q-RHa.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-Bpz5RnQy.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-cq5Q-RHa.js";import{i as f}from"./motion-SE_xFnGL.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-Bpz5RnQy.js";import{i as f}from"./motion-BBr8JvWc.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-cq5Q-RHa.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-Bpz5RnQy.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">
@@ -19,7 +19,12 @@ import { readFileSync, writeFileSync } from "node:fs";
19
19
  import chalk from "chalk";
20
20
  import ora from "ora";
21
21
  import { logger } from "../lib/logger.js";
22
- import { getHub, getHubMinimal } from "../lib/personal-data-hub-wiring.js";
22
+ import {
23
+ getHub,
24
+ getHubMinimal,
25
+ getGovernedAnalysisHub,
26
+ } from "../lib/personal-data-hub-wiring.js";
27
+ import { readEvolutionCompositionFactory } from "../lib/evolution/governed-model-turn.js";
23
28
  import { loadConfig } from "../lib/config-manager.js";
24
29
  import { isCloudHubConfigured } from "../lib/hub-llm-client.js";
25
30
  import { importPdh } from "../lib/pdh-load-error.js";
@@ -1548,7 +1553,7 @@ async function cmdRunSkill(name, options) {
1548
1553
  ? null
1549
1554
  : ora(`running analysis skill ${name}...`).start();
1550
1555
  try {
1551
- const hub = await getHub();
1556
+ const hub = await (options._getHub || getHub)();
1552
1557
  if (!hub.analysisSkillNames.includes(name)) {
1553
1558
  throw new Error(
1554
1559
  `Unknown skill: ${name}. Available: ${hub.analysisSkillNames.join(", ")}`,
@@ -3441,7 +3446,15 @@ function _defaultKnownVendors() {
3441
3446
 
3442
3447
  // ─── Commander wire-up ───────────────────────────────────────────────
3443
3448
 
3444
- export function registerHubCommand(program) {
3449
+ export function registerHubCommand(program, dependencies = {}) {
3450
+ const factory = readEvolutionCompositionFactory(dependencies);
3451
+ const invocationOptions = (options) =>
3452
+ factory === null
3453
+ ? options
3454
+ : {
3455
+ ...options,
3456
+ _getHub: () => getGovernedAnalysisHub(factory),
3457
+ };
3445
3458
  const hub = program
3446
3459
  .command("hub")
3447
3460
  .description(
@@ -3479,7 +3492,9 @@ export function registerHubCommand(program) {
3479
3492
  " • Ephemeral: CC_HUB_LLM=config|<provider> cc hub ask … --accept-non-local\n" +
3480
3493
  " (a one-off override still needs an explicit egress flag).",
3481
3494
  )
3482
- .action(cmdAsk);
3495
+ .action((question, options) =>
3496
+ cmdAsk(question, invocationOptions(options)),
3497
+ );
3483
3498
 
3484
3499
  hub
3485
3500
  .command("repl")
@@ -3501,7 +3516,7 @@ export function registerHubCommand(program) {
3501
3516
  "\nSame per-question semantics + cloud-egress gate as `cc hub ask`, but the\n" +
3502
3517
  "~8s cold-start is paid ONCE. Type questions at the `hub>` prompt; .exit to quit.",
3503
3518
  )
3504
- .action(cmdRepl);
3519
+ .action((options) => cmdRepl(invocationOptions(options)));
3505
3520
 
3506
3521
  hub
3507
3522
  .command("retrieve-context <question>")
@@ -4041,7 +4056,7 @@ export function registerHubCommand(program) {
4041
4056
  .option("--since <ms>", "Start of time window")
4042
4057
  .option("--until <ms>", "End of time window")
4043
4058
  .option("--json", "Output JSON")
4044
- .action(cmdRunSkill);
4059
+ .action((name, options) => cmdRunSkill(name, invocationOptions(options)));
4045
4060
 
4046
4061
  hub
4047
4062
  .command("salvage <dumpfile>")
@@ -13,8 +13,15 @@
13
13
  import { logger } from "../lib/logger.js";
14
14
  import { loadConfig } from "../lib/config-manager.js";
15
15
  import { buildProviderSource } from "../lib/provider-stream.js";
16
+ import {
17
+ readEvolutionCompositionFactory,
18
+ prepareGovernedModelTurn,
19
+ governModelTokenSource,
20
+ } from "../lib/evolution/governed-model-turn.js";
16
21
 
17
- export function registerStreamCommand(program) {
22
+ export function registerStreamCommand(program, dependencies = {}) {
23
+ const evolutionCompositionFactory =
24
+ readEvolutionCompositionFactory(dependencies);
18
25
  program
19
26
  .command("stream")
20
27
  .description(
@@ -37,18 +44,31 @@ export function registerStreamCommand(program) {
37
44
  const { createStreamRouter } =
38
45
  await import("../lib/session-core-singletons.js");
39
46
  const router = createStreamRouter();
40
- const source = buildProviderSource(provider, {
41
- model,
42
- baseUrl,
43
- apiKey,
44
- prompt,
45
- });
47
+ const turn = await prepareGovernedModelTurn(
48
+ evolutionCompositionFactory,
49
+ {
50
+ mode: "stream",
51
+ messages: [{ role: "user", content: prompt }],
52
+ },
53
+ );
54
+ const source = governModelTokenSource(
55
+ buildProviderSource(provider, {
56
+ model,
57
+ baseUrl,
58
+ apiKey,
59
+ prompt,
60
+ messages: turn.governed ? turn.messages : undefined,
61
+ requireCompletion: turn.governed,
62
+ }),
63
+ turn,
64
+ );
46
65
 
47
66
  if (options.text) {
48
67
  const out = await router.collect(source);
49
68
  if (out.errored) {
50
69
  logger.error(`Stream errored: ${out.error?.message || out.error}`);
51
70
  process.exit(1);
71
+ return;
52
72
  }
53
73
  process.stdout.write(out.text);
54
74
  if (!out.text.endsWith("\n")) process.stdout.write("\n");
@@ -57,6 +77,7 @@ export function registerStreamCommand(program) {
57
77
 
58
78
  for await (const ev of router.stream(source)) {
59
79
  process.stdout.write(`${JSON.stringify(ev)}\n`);
80
+ if (ev.type === "error") process.exitCode = 1;
60
81
  }
61
82
  } catch (err) {
62
83
  const ev = {
@@ -1,7 +1,10 @@
1
1
  import { logger } from "../lib/logger.js";
2
2
  import { createAgentRuntimeFactory } from "../runtime/runtime-factory.js";
3
+ import { readEvolutionCompositionFactory } from "../lib/evolution/governed-model-turn.js";
3
4
 
4
- export function registerUiCommand(program) {
5
+ export function registerUiCommand(program, dependencies = {}) {
6
+ const evolutionCompositionFactory =
7
+ readEvolutionCompositionFactory(dependencies);
5
8
  program
6
9
  .command("ui")
7
10
  .description("Start a local web management UI (project or global mode)")
@@ -42,7 +45,12 @@ export function registerUiCommand(program) {
42
45
  opts.port && opts.port !== "18810" ? opts.port : portEnv || opts.port,
43
46
  10,
44
47
  );
45
- const runtime = createAgentRuntimeFactory().createUiRuntime({
48
+ const runtime = createAgentRuntimeFactory({
49
+ deps:
50
+ evolutionCompositionFactory === null
51
+ ? {}
52
+ : { evolutionCompositionFactory },
53
+ }).createUiRuntime({
46
54
  port,
47
55
  wsPort: parseInt(opts.wsPort, 10),
48
56
  host,
@@ -1,6 +1,32 @@
1
1
  {
2
2
  "source": "CHANGELOG.md",
3
3
  "releases": [
4
+ {
5
+ "productVersion": null,
6
+ "cliVersion": "0.166.38",
7
+ "cliVersions": ["0.166.38"],
8
+ "date": null,
9
+ "title": "",
10
+ "sections": [
11
+ {
12
+ "heading": "Fixed - cc CLI 0.166.38: publish audited child package updates",
13
+ "body": "- Upgrade the CLI dependency to Context Memory Kernel `0.1.1`, including the\n LLM selector in the writer inventory.\n- Release Agent Protocol `0.1.9` with knowledge revocation prepare/publish methods\n in the schema and generated Kotlin/Swift bindings.\n- Include Agent Protocol checks and publication in the CLI release workflow,\n before the CLI is published.\n- Pair the pending IDE releases with CLI `0.166.38` after npm verification."
14
+ }
15
+ ]
16
+ },
17
+ {
18
+ "productVersion": null,
19
+ "cliVersion": "0.166.37",
20
+ "cliVersions": ["0.166.36", "0.166.37"],
21
+ "date": "2026-09-09",
22
+ "title": "",
23
+ "sections": [
24
+ {
25
+ "heading": "Fixed - cc CLI 0.166.37: govern model entry points and preserve failures",
26
+ "body": "> `chainlesschain` **0.166.36 -> 0.166.37** (2026-09-09), source candidate\n> awaiting the exact-commit release matrix and child-package publication.\n\n- Apply host-provided evolution governance to CLI streams, intent requests,\n WebSocket chat, Hub analysis and skills, and Hub resolver model calls.\n- Reject incomplete provider streams and preserve governance failures through\n optional skill commentary instead of reporting a successful fallback.\n- Forward deployment composition through UI startup and retain per-turn\n evidence before reporting model completion.\n- Require personal-data-hub 0.4.60 with valid JSON model examples and preserved\n governance errors. Repository-wide model entry coverage remains incomplete."
27
+ }
28
+ ]
29
+ },
4
30
  {
5
31
  "productVersion": null,
6
32
  "cliVersion": "0.166.36",
@@ -60,6 +60,7 @@ export async function handleChatIntentUnderstand(server, id, ws, message) {
60
60
  contextMode: message.contextMode || "global",
61
61
  history,
62
62
  llmOptions,
63
+ evolutionCompositionFactory: server.evolutionCompositionFactory ?? null,
63
64
  });
64
65
  server._send(ws, {
65
66
  id,
@@ -117,6 +118,7 @@ export async function handleChatIntentUnderstandStream(
117
118
  contextMode: message.contextMode || "global",
118
119
  history,
119
120
  llmOptions,
121
+ evolutionCompositionFactory: server.evolutionCompositionFactory ?? null,
120
122
  })) {
121
123
  if (event.type === "token") {
122
124
  server._send(ws, {
@@ -131,7 +133,7 @@ export async function handleChatIntentUnderstandStream(
131
133
  server._send(ws, {
132
134
  id,
133
135
  type: `${topic}.result`,
134
- ok: final?.success !== false,
136
+ ok: final?.success === true,
135
137
  result: final || {
136
138
  success: false,
137
139
  correctedInput: message.userInput,
@@ -169,6 +171,7 @@ export async function handleChatIntentClassifyFollowup(
169
171
  input,
170
172
  context: message.context || {},
171
173
  llmOptions,
174
+ evolutionCompositionFactory: server.evolutionCompositionFactory ?? null,
172
175
  });
173
176
  server._send(ws, {
174
177
  id,
@@ -39,6 +39,7 @@ import {
39
39
  } from "../../lib/chat-core.js";
40
40
  import { BUILT_IN_PROVIDERS } from "../../lib/llm-providers.js";
41
41
  import { resolveLlmCreds } from "./llm-creds.js";
42
+ import { prepareGovernedModelTurn } from "../../lib/evolution/governed-model-turn.js";
42
43
 
43
44
  function validateMessages(messages) {
44
45
  if (!Array.isArray(messages) || messages.length === 0)
@@ -108,26 +109,46 @@ export async function handleLlmChat(server, id, ws, message) {
108
109
  usage = u;
109
110
  };
110
111
 
112
+ const controller = new AbortController();
113
+ const disconnect = () =>
114
+ controller.abort(new Error("Chat connection closed"));
115
+ ws?.once?.("close", disconnect);
111
116
  try {
117
+ const turn = await prepareGovernedModelTurn(
118
+ server.evolutionCompositionFactory ?? null,
119
+ {
120
+ mode: "ws-llm-chat",
121
+ messages: message.messages,
122
+ signal: controller.signal,
123
+ },
124
+ );
125
+ const streamOptions = {
126
+ requireCompletion: turn.governed,
127
+ signal: controller.signal,
128
+ };
112
129
  const baseUrl = creds.baseUrl || "http://localhost:11434";
113
130
  if (creds.provider === "ollama") {
114
131
  await streamOllama(
115
- message.messages,
132
+ turn.messages,
116
133
  creds.model,
117
134
  baseUrl,
118
135
  onToken,
119
136
  onUsage,
137
+ undefined,
138
+ streamOptions,
120
139
  );
121
140
  } else if (creds.provider === "anthropic") {
122
141
  const def = BUILT_IN_PROVIDERS.anthropic;
123
142
  const url = baseUrl !== "http://localhost:11434" ? baseUrl : def.baseUrl;
124
143
  await streamAnthropic(
125
- message.messages,
144
+ turn.messages,
126
145
  creds.model,
127
146
  url,
128
147
  creds.apiKey,
129
148
  onToken,
130
149
  onUsage,
150
+ undefined,
151
+ streamOptions,
131
152
  );
132
153
  } else {
133
154
  // OpenAI-compatible — covers openai / volcengine / deepseek / dashscope /
@@ -136,15 +157,18 @@ export async function handleLlmChat(server, id, ws, message) {
136
157
  const def = BUILT_IN_PROVIDERS[creds.provider];
137
158
  const url = baseUrl !== "http://localhost:11434" ? baseUrl : def?.baseUrl;
138
159
  await streamOpenAI(
139
- message.messages,
160
+ turn.messages,
140
161
  creds.model,
141
162
  url,
142
163
  creds.apiKey,
143
164
  onToken,
144
165
  onUsage,
166
+ undefined,
167
+ streamOptions,
145
168
  );
146
169
  }
147
170
 
171
+ await turn.complete(accumulator);
148
172
  send({
149
173
  type: `${topic}.result`,
150
174
  ok: true,
@@ -162,5 +186,7 @@ export async function handleLlmChat(server, id, ws, message) {
162
186
  ok: false,
163
187
  error: err?.message || String(err),
164
188
  });
189
+ } finally {
190
+ ws?.removeListener?.("close", disconnect);
165
191
  }
166
192
  }
@@ -391,7 +391,9 @@ export function createWsMessageDispatcher(server) {
391
391
  // response envelope so renderer code is shell-agnostic.
392
392
  if (PERSONAL_DATA_HUB_HANDLERS[type]) {
393
393
  try {
394
- const out = await PERSONAL_DATA_HUB_HANDLERS[type](message);
394
+ const out = await PERSONAL_DATA_HUB_HANDLERS[type](message, {
395
+ server,
396
+ });
395
397
  if (out && out.error) {
396
398
  server._send(ws, {
397
399
  id,
@@ -19,6 +19,7 @@
19
19
 
20
20
  import {
21
21
  getHub,
22
+ getGovernedAnalysisHub,
22
23
  close as closeHub,
23
24
  } from "../../lib/personal-data-hub-wiring.js";
24
25
  import { importPdh } from "../../lib/pdh-load-error.js";
@@ -181,9 +182,9 @@ export async function _tryAdbAutoPullInputPath(hub, name, options) {
181
182
  }
182
183
  }
183
184
 
184
- async function withHub(fn) {
185
+ async function withHub(fn, loadHub = getHub) {
185
186
  try {
186
- const hub = await getHub();
187
+ const hub = await loadHub();
187
188
  const result = await fn(hub);
188
189
  return { result };
189
190
  } catch (err) {
@@ -192,11 +193,16 @@ async function withHub(fn) {
192
193
  }
193
194
 
194
195
  export const PERSONAL_DATA_HUB_HANDLERS = {
195
- "personal-data-hub.ask": async (msg) =>
196
- withHub(async (hub) => {
197
- if (!hub.engine) throw new Error("Analysis engine unavailable");
198
- return await hub.engine.ask(msg.question, msg.options || {});
199
- }),
196
+ "personal-data-hub.ask": async (msg, context = {}) => {
197
+ const factory = context.server?.evolutionCompositionFactory;
198
+ return withHub(
199
+ async (hub) => {
200
+ if (!hub.engine) throw new Error("Analysis engine unavailable");
201
+ return await hub.engine.ask(msg.question, msg.options || {});
202
+ },
203
+ factory == null ? getHub : () => getGovernedAnalysisHub(factory),
204
+ );
205
+ },
200
206
 
201
207
  // Path Y: prompt context only, no LLM call. Lets web-shell / mobile host
202
208
  // its own inference (Volcengine Doubao, OpenRouter, etc.) while keeping
@@ -604,9 +610,12 @@ export const PERSONAL_DATA_HUB_HANDLERS = {
604
610
  return hub.entityResolver.manualUnmerge(msg.personId);
605
611
  }),
606
612
 
607
- "personal-data-hub.resolver-drain": async (msg) =>
613
+ "personal-data-hub.resolver-drain": async (msg, context = {}) =>
608
614
  withHub(async (hub) => {
609
615
  if (!hub.entityResolver) throw new Error("EntityResolver not wired");
616
+ const factory = context.server?.evolutionCompositionFactory;
617
+ if (factory != null)
618
+ return hub.drainResolver({ limit: msg.limit || 50 }, factory);
610
619
  return await hub.entityResolver.drain({ limit: msg.limit || 50 });
611
620
  }),
612
621
 
@@ -628,8 +637,13 @@ export const PERSONAL_DATA_HUB_HANDLERS = {
628
637
  "personal-data-hub.skills-list": async () =>
629
638
  withHub((hub) => hub.analysisSkillNames || []),
630
639
 
631
- "personal-data-hub.run-skill": async (msg) =>
632
- withHub(async (hub) => await hub.runSkill(msg.name, msg.options || {})),
640
+ "personal-data-hub.run-skill": async (msg, context = {}) => {
641
+ const factory = context.server?.evolutionCompositionFactory;
642
+ return withHub(
643
+ async (hub) => await hub.runSkill(msg.name, msg.options || {}),
644
+ factory == null ? getHub : () => getGovernedAnalysisHub(factory),
645
+ );
646
+ },
633
647
 
634
648
  // ─── Phase 10.3 — AIChat WebView 鉴权向导 (paste-mode on cc ui) ────────
635
649
 
@@ -321,13 +321,29 @@ async function streamRun(message, sender, signal, context) {
321
321
  const { buildProviderSource } = await import("../../lib/provider-stream.js");
322
322
  const { createStreamRouter } = await loadSingletons();
323
323
  const router = createStreamRouter();
324
- const source = buildProviderSource(provider, {
325
- model: message.model,
326
- baseUrl: message.baseUrl,
327
- apiKey: message.apiKey,
328
- prompt: message.prompt,
324
+ const { prepareGovernedModelTurn, governModelTokenSource } =
325
+ await import("../../lib/evolution/governed-model-turn.js");
326
+ const turn = await prepareGovernedModelTurn(
327
+ context?.server?.evolutionCompositionFactory ?? null,
328
+ {
329
+ mode: "ws-stream",
330
+ messages: [{ role: "user", content: message.prompt }],
331
+ signal,
332
+ },
333
+ );
334
+ const source = governModelTokenSource(
335
+ buildProviderSource(provider, {
336
+ model: message.model,
337
+ baseUrl: message.baseUrl,
338
+ apiKey: message.apiKey,
339
+ prompt: message.prompt,
340
+ messages: turn.governed ? turn.messages : undefined,
341
+ requireCompletion: turn.governed,
342
+ signal,
343
+ }),
344
+ turn,
329
345
  signal,
330
- });
346
+ );
331
347
 
332
348
  let envelopeHelper = null;
333
349
  if (context?.server?.envelopeBus && message.sessionId) {
@@ -368,6 +384,7 @@ async function streamRun(message, sender, signal, context) {
368
384
  }
369
385
  }
370
386
  if (errored) return fail("STREAM_ERROR", errorMsg);
387
+ signal?.throwIfAborted();
371
388
  return ok({ text });
372
389
  }
373
390
 
@@ -592,6 +592,7 @@ async function ensureSessionHandler(
592
592
  handler = new WSChatHandler({
593
593
  session,
594
594
  interaction: session.interaction,
595
+ evolutionCompositionFactory: server.evolutionCompositionFactory ?? null,
595
596
  });
596
597
  } else {
597
598
  const { WSAgentHandler } = await import("./ws-agent-handler.js");