chainlesschain 0.166.17 → 0.166.18
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.
- package/README.md +14 -7
- package/package.json +1 -1
- package/src/assets/web-panel/assets/{AIOps-CVW2n2rh.js → AIOps-CQSBl3hY.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-DtuM163O.js → ActionButton-IQt-vRLt.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-BXvl_qHu.js → Analytics-DkHC8O7k.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-VDBTFKOp.js → AppLayout-CSti2P2T.js} +3 -3
- package/src/assets/web-panel/assets/{Artifacts-BNz2xCiG.js → Artifacts-C57hxn3v.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-DTu9Hn9P.js → Audit-DByLntcf.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-D2OCPzLe.js → BackgroundAgents-D1Bd2EOa.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-C9M-vG7G.js → Backup-VstHzHng.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-BUkCNiUQ.js → BaseInput-CLhdexIf.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-OJ2ajF7l.js → Chat-BefC_JZS.js} +6 -6
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-BdZt76Ab.js → ChatBubbleRenderer-DbXMvgmn.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-C1gXKDsc.js → Checkbox-CEY982vx.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-BXbznLg7.js → Codegen-Dcm_DTvJ.js} +1 -1
- package/src/assets/web-panel/assets/{Col-CbCq5N0i.js → Col-C8SSu4KA.js} +1 -1
- package/src/assets/web-panel/assets/{Community-V8Ks6Yun.js → Community-BVV9vwRR.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-DkeHQTpQ.js → Compact-B7c5Vo18.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-JeLKwn4Q.js → Compliance-Tq9jSZ5a.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-azfetcBz.js → Cowork-BJUjT09Q.js} +3 -3
- package/src/assets/web-panel/assets/{Cron-Q691i_Gp.js → Cron-CjV9PEaS.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-BLjDRbr_.js → Crosschain-Dl7ReL8F.js} +1 -1
- package/src/assets/web-panel/assets/{DID-D8ptXplK.js → DID-CG8PjWmM.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-Ctj2VVZL.js → Dashboard-CDBM6wmF.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-D8VgkMJ8.js → Dropdown-8_55bXTD.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-CQPe5S6q.js → EmailListRenderer-D3qOU1Cm.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-ySA-7SiN.js → FamilyGuardDashboard-Bv5oWMZF.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-1PMD-fBf.js → Federation-hpZ1xkKd.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-C_jr6U4Q.js → FormItemContext-BN7GT191.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-Bu3bKf2B.js → GenericCardRenderer-PCRhfA7M.js} +1 -1
- package/src/assets/web-panel/assets/{Git-Dv4Fa_T5.js → Git-CIlP2vy7.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-DOEy1n1k.js → Governance-81lgm7YL.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-DkvqzWcJ.js → Inference-Cs24xMOV.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-DdUJK949.js → KnowledgeGraph-CrJLVCZo.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-CRelcdUZ.js → Logs-DLyO8RKT.js} +2 -2
- package/src/assets/web-panel/assets/{MarkdownRenderer-0AHbbTA4.js → MarkdownRenderer-DBOqijrP.js} +1 -1
- package/src/assets/web-panel/assets/{Marketplace-BuuBKsev.js → Marketplace-Dz7AbQZc.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-DlgpEmA1.js → McpTools-BM0aFiWv.js} +3 -3
- package/src/assets/web-panel/assets/{Memory-DTfdqUGy.js → Memory-C9SJzENX.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-CXLE5ZFO.js → MobileBridge-BO2HnNRk.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-Dz25OB0n.js → MobileProjects-CK_jMz0l.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-kEL0fhgD.js → Mtc-CfhrJsdO.js} +2 -2
- package/src/assets/web-panel/assets/{MtcAudit-BE4UvFJU.js → MtcAudit-BE2ELxgI.js} +4 -4
- package/src/assets/web-panel/assets/{Multisig-CSApSn8c.js → Multisig-CgR_E3Jd.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-D11FpKWx.js → NLProgramming-Cw9445_K.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-CDL-D2CS.js → Notes-DZimkTrb.js} +3 -3
- package/src/assets/web-panel/assets/{NotificationSettings-C0Q6lO-c.js → NotificationSettings-DxHVh4uT.js} +1 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-Iy-pnX56.js +1 -0
- package/src/assets/web-panel/assets/{Organization-Dc-maVAq.js → Organization-pPXJtWo4.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-B5mUpSvi.js → Overflow-YamdTJwA.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-TjXV53wq.js → P2P-BvqP53x7.js} +2 -2
- package/src/assets/web-panel/assets/PdhVaultBrowser-Blz1Xn2n.js +7 -0
- package/src/assets/web-panel/assets/{Permissions-DKRzQ2O6.js → Permissions-CgFRQqFJ.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-Dx2eqft8.js → PersonalDataHub-CFeo3-6O.js} +4 -4
- package/src/assets/web-panel/assets/{Pipeline-CnYZMB5p.js → Pipeline-BkaRojEK.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-BonKpPnp.js → Privacy-BNZEx2Qp.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-DWO0Du3J.js → ProjectInit-HUBOgEEK.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-C9jqyYRv.js → ProjectSettings-CFMmhROS.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-CYpKwXbz.js → Projects-Dc517BXp.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-CW-fkwJq.js → Providers-DTLf8bgj.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-Cw0J3Zud.js → QrScannerModal-BBNjPszk.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-BH4A4IpR.js → QuickAsk-DCsHvk3G.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-CDwMwJus.js → Recommend-Dpr5YSop.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-DKIPwzTf.js → RemoteSession-DmKnvqGg.js} +2 -2
- package/src/assets/web-panel/assets/{Reputation-CklDj7qS.js → Reputation-CSRfuurX.js} +1 -1
- package/src/assets/web-panel/assets/{Row-DJWZKsH0.js → Row-CDj3pQ_w.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-BfSLCewo.js → RssFeed-DI0a_kNq.js} +2 -2
- package/src/assets/web-panel/assets/{Search-B0IST--x.js → Search-jAy7B2nU.js} +1 -1
- package/src/assets/web-panel/assets/{Security-h1sYNWtt.js → Security-CkHTqYhc.js} +4 -4
- package/src/assets/web-panel/assets/{Services-Gh0-oxI_.js → Services-CP-0Nzga.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-CNDV_jOs.js → Skeleton-BkF5-p3n.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-ByCLTh1n.js → Skills-BDu-utDE.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-BfyrJTJz.js → Sla-CQvq_2Qb.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-BQzo9kNX.js → SpeechSettings-T7Ap512g.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-B6fS6z_1.js → SyncSettings-Bt-PLvot.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-C-uKCP-l.js → Tasks-yLEcCogg.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-D6oDy7wL.js → Templates-ByN3fmbr.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-D3LT2wNQ.js → Tenant-DBI7hITH.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-BteLcv_O.js → Terminal-B77_DlGX.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-DHHuxfqH.js → TimelineRenderer-CsLTB_QO.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-BRQeykXw.js → Tokens-BV2N6cR8.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-p2XaFWEu.js → Trigger-CjXWGH3p.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-BxadBMft.js → Trust-uqXIq3WC.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-DRBP7LDk.js → UkeySign-D-6qu4vY.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-CZ3NZkh7.js → VideoEditing-CxGmx_2e.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-C3NTBN7G.js → Wallet-DSq7WlAg.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-C7LVgMlb.js → WebAuthn-CDBiD57O.js} +2 -2
- package/src/assets/web-panel/assets/{WorkflowEditor-0_Iveog7.js → WorkflowEditor-Z8f63TSb.js} +1 -1
- package/src/assets/web-panel/assets/{chat-DzzluYo3.js → chat-B-UZFBjy.js} +1 -1
- package/src/assets/web-panel/assets/{colors-DSMYXpaj.js → colors-CFk7K-7Q.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-W76u1VSV.js → compact-item-X0IVMvgi.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-otsESjb5.js → createContext-DWg4j2n6.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-B2IW1J_J.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-3sNLrvug.js → hasIn-CkVCwNNF.js} +1 -1
- package/src/assets/web-panel/assets/{index-BdtmEKat.js → index-5OcZHdzc.js} +1 -1
- package/src/assets/web-panel/assets/{index-DS9WYDMf.js → index-B273IY-E.js} +1 -1
- package/src/assets/web-panel/assets/{index-NaO9AE-F.js → index-B3-B3FWD.js} +1 -1
- package/src/assets/web-panel/assets/{index-BcGJtmHM.js → index-BB4KHHcv.js} +1 -1
- package/src/assets/web-panel/assets/index-BCp2ir-1.js +1 -0
- package/src/assets/web-panel/assets/{index-pVm_iUre.js → index-BG-GaZri.js} +1 -1
- package/src/assets/web-panel/assets/{index-BpcQYzP7.js → index-BPBia4b-.js} +1 -1
- package/src/assets/web-panel/assets/{index-BXLx9HfA.js → index-BipwEbTA.js} +1 -1
- package/src/assets/web-panel/assets/{index-uSCkbpZH.js → index-BoskgPt9.js} +1 -1
- package/src/assets/web-panel/assets/{index-DMmdIpLA.js → index-Btqk6zWb.js} +1 -1
- package/src/assets/web-panel/assets/index-Bw4iuzRD.js +1 -0
- package/src/assets/web-panel/assets/{index-DLDh1OW3.js → index-BzXjYUmd.js} +1 -1
- package/src/assets/web-panel/assets/{index-B9X_jqXe.js → index-C1ZAOJRW.js} +1 -1
- package/src/assets/web-panel/assets/{index-vBKPcmAP.js → index-CCLwoATF.js} +1 -1
- package/src/assets/web-panel/assets/{index-vUmYkqmu.js → index-CDfSD07S.js} +1 -1
- package/src/assets/web-panel/assets/{index-D7A5U2IH.js → index-CLlP1E4X.js} +1 -1
- package/src/assets/web-panel/assets/{index-ClOFeZ-t.js → index-CMCEXBRh.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cg86EzNp.js → index-CN8HZlLH.js} +1 -1
- package/src/assets/web-panel/assets/{index-Ddd4mird.js → index-CNKFsBlz.js} +1 -1
- package/src/assets/web-panel/assets/{index-CE7tSow-.js → index-CUBkvFPH.js} +1 -1
- package/src/assets/web-panel/assets/{index-GlIOE4ja.js → index-Ca0mij1n.js} +1 -1
- package/src/assets/web-panel/assets/{index-DdU7IkKX.js → index-CbIAWbma.js} +1 -1
- package/src/assets/web-panel/assets/{index-UUHCwfNq.js → index-CbihMThv.js} +1 -1
- package/src/assets/web-panel/assets/{index-BRsD1PT2.js → index-CvOa-IFV.js} +1 -1
- package/src/assets/web-panel/assets/{index-C2aht9-M.js → index-Cvwu_rA_.js} +1 -1
- package/src/assets/web-panel/assets/{index-BJsQio5O.js → index-D-EJNxgR.js} +1 -1
- package/src/assets/web-panel/assets/{index-q7ftLqNt.js → index-D8uEL8Uw.js} +1 -1
- package/src/assets/web-panel/assets/{index-B1I1AYJs.js → index-D92g4l3n.js} +1 -1
- package/src/assets/web-panel/assets/{index-DZKAzEge.js → index-DCqpl_E_.js} +1 -1
- package/src/assets/web-panel/assets/{index-CKoFyHYQ.js → index-DLSBks8h.js} +1 -1
- package/src/assets/web-panel/assets/{index-BDlDO2px.js → index-Db_5xhrU.js} +1 -1
- package/src/assets/web-panel/assets/{index-CENWwjef.js → index-DcDggpWR.js} +1 -1
- package/src/assets/web-panel/assets/{index-DH4cl52p.js → index-DeWKPQGs.js} +1 -1
- package/src/assets/web-panel/assets/{index-DTA8Iavv.js → index-DhVHoqGL.js} +3 -3
- package/src/assets/web-panel/assets/{index-DmpaC2yk.js → index-DyWlOuak.js} +1 -1
- package/src/assets/web-panel/assets/{index-BA8mZxd-.js → index-LU54bChK.js} +1 -1
- package/src/assets/web-panel/assets/{index-CtFOt5x1.js → index-OjnAwUJo.js} +1 -1
- package/src/assets/web-panel/assets/{index-B5LOYdYm.js → index-P83LDnCz.js} +1 -1
- package/src/assets/web-panel/assets/{index-MhQQ3h8q.js → index-_-9k3Tna.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-DF6llUXV.js → initDefaultProps-CFNgY8lJ.js} +1 -1
- package/src/assets/web-panel/assets/{motion-vtDV8_5K.js → motion-D-5RrDzn.js} +1 -1
- package/src/assets/web-panel/assets/{move-B6c0bdy2.js → move-DN-L0Bd-.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-DlLYWuBK.js → mtc-parser-6mgLSeCK.js} +1 -1
- package/src/assets/web-panel/assets/{omit-BH0zOxLN.js → omit-ClWW8eTP.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-D9di8_In.js → pickAttrs-Vystq3R8.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-BDSngufM.js → placementArrow-D0H9hK4W.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-C_EawMvP.js → responsiveObserve-B3iNRU-a.js} +1 -1
- package/src/assets/web-panel/assets/{slide-B_4wShxA.js → slide-CiMXe6am.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-CbQu6qJ-.js → statusUtils-CGDZJ1uT.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-CvXJWYXb.js → styleChecker-D2zA6NkY.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-jjY1XknO.js → useFlexGapSupport-C1sYU6QE.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-CMXBdsK_.js → useFs-BzUHSjg2.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-YbAhhPXx.js → usePersonalDataHub-CxB5yZCq.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-BFCTKc0H.js → vnode-BfUfMwtc.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-CY9aBl5O.js → zoom-CFYmj1TO.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/command-help-index.json +1 -1
- package/src/commands/agent.js +80 -2
- package/src/commands/evolution.js +33 -27
- package/src/commands/serve.js +11 -2
- package/src/data/changelog.json +5 -5
- package/src/gateways/ws/session-protocol.js +1 -0
- package/src/gateways/ws/ws-agent-handler.js +70 -2
- package/src/gateways/ws/ws-server.js +8 -0
- package/src/lib/app-server/cli-agent-kernel-adapter.js +4 -0
- package/src/lib/app-server/graph-runtime.js +115 -8
- package/src/lib/app-server/server.js +21 -2
- package/src/lib/app-server/websocket-transport.js +2 -0
- package/src/lib/evolution/agent-evolution-ingress.js +300 -0
- package/src/lib/evolution/agent-evolution-runtime-composition-brand.js +22 -0
- package/src/lib/evolution/agent-evolution-runtime-composition.js +369 -0
- package/src/lib/evolution/evidence-backed-wiki-maintainer.js +752 -0
- package/src/lib/evolution/evolution-artifact-ports.js +48 -0
- package/src/lib/evolution/evolution-eval-gate.js +11 -4
- package/src/lib/evolution/evolution-evidence-artifact-adapter.js +499 -0
- package/src/lib/evolution/evolution-evidence-projector.js +61 -1
- package/src/lib/evolution/evolution-file-witness.js +601 -0
- package/src/lib/evolution/evolution-ledger-file-backend.js +176 -0
- package/src/lib/evolution/evolution-ledger-ports.js +353 -16
- package/src/lib/evolution/evolution-ledger.js +1355 -54
- package/src/lib/evolution/evolution-run-ledger-adapter.js +409 -0
- package/src/lib/evolution/evolution-run-wiki-maintenance-source.js +300 -0
- package/src/lib/evolution/scheduled-batch-wiki-maintenance-source.js +368 -0
- package/src/lib/evolution/skill-candidate-registry.js +649 -0
- package/src/lib/evolution/skill-promotion-controller.js +109 -38
- package/src/lib/evolution/skill-promotion-review-ledger-adapter.js +451 -0
- package/src/lib/evolution/skill-promotion-review.js +793 -0
- package/src/lib/evolution/skill-registry-transition-capability.js +55 -0
- package/src/lib/evolution/skill-registry-transition-ledger-adapter.js +1280 -0
- package/src/lib/evolution/skill-registry-transition-source.js +372 -0
- package/src/lib/evolution/skill-release-registry.js +2191 -11
- package/src/lib/evolution/skill-target-matrix-eval.js +133 -10
- package/src/lib/evolution/structured-memory-agent-control-plane.js +222 -0
- package/src/lib/evolution/structured-memory-authority-ledger-adapter.js +351 -0
- package/src/lib/evolution/structured-memory-ledger-adapter.js +220 -0
- package/src/lib/evolution/structured-memory-policy-receipt-writer.js +164 -0
- package/src/lib/evolution/structured-memory-post-compact-hook.js +87 -0
- package/src/lib/evolution/structured-memory-promotion-receipt-writer.js +221 -0
- package/src/lib/evolution/structured-memory-semantic-review-pipeline.js +313 -0
- package/src/lib/evolution/wiki-maintainer-ledger-adapter.js +200 -0
- package/src/lib/evolution/wiki-maintenance-trigger-ledger-adapter.js +687 -0
- package/src/lib/evolution-system.js +65 -30
- package/src/lib/mcp-lifecycle-authority.js +21 -2
- package/src/lib/remote-approval-bridge.js +24 -0
- package/src/lib/scheduler-kernel/store.js +62 -14
- package/src/repl/agent-repl.js +45 -0
- package/src/runtime/agent-runtime.js +114 -1
- package/src/runtime/headless-runner.js +19 -0
- package/src/runtime/headless-stream.js +43 -0
- package/src/runtime/runtime-factory.js +19 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-ZRE0OKbj.js +0 -1
- package/src/assets/web-panel/assets/PdhVaultBrowser-DvV2btIr.js +0 -7
- package/src/assets/web-panel/assets/devWarning-BztaXF84.js +0 -1
- package/src/assets/web-panel/assets/index-4jP_hG_4.js +0 -1
- package/src/assets/web-panel/assets/index-zxwuAXL5.js +0 -1
- package/src/lib/learning/learning-hooks.js +0 -123
package/src/assets/web-panel/assets/{placementArrow-BDSngufM.js → placementArrow-D0H9hK4W.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as i}from"./index-
|
|
1
|
+
import{h as i}from"./index-DhVHoqGL.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};
|
package/src/assets/web-panel/assets/{responsiveObserve-C_EawMvP.js → responsiveObserve-B3iNRU-a.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{J as o,h}from"./index-
|
|
1
|
+
import{J as o,h}from"./index-DhVHoqGL.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-
|
|
1
|
+
import{K as n}from"./index-DhVHoqGL.js";import{i as e}from"./motion-D-5RrDzn.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-
|
|
1
|
+
import{i as e}from"./index-DhVHoqGL.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-
|
|
1
|
+
import{B as d}from"./index-DhVHoqGL.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};
|
package/src/assets/web-panel/assets/{useFlexGapSupport-jjY1XknO.js → useFlexGapSupport-C1sYU6QE.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o,s as t}from"./vendor-Bn1JzzAn.js";import{d as s}from"./styleChecker-
|
|
1
|
+
import{o,s as t}from"./vendor-Bn1JzzAn.js";import{d as s}from"./styleChecker-D2zA6NkY.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-
|
|
1
|
+
import{u as d}from"./index-DhVHoqGL.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-
|
|
1
|
+
import{u as v}from"./index-DhVHoqGL.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-
|
|
1
|
+
import{N as i,h as a,w as l}from"./index-DhVHoqGL.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-
|
|
1
|
+
import{K as o}from"./index-DhVHoqGL.js";import{i as f}from"./motion-D-5RrDzn.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-
|
|
11
|
+
<script type="module" crossorigin src="./assets/index-DhVHoqGL.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">
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"ecosystem": "Usage: chainlesschain ecosystem|eco [options] [command]\n\nPlugin Ecosystem 2.0 (Phase 64) — registry + deps + install + AI review +\npublish + revenue + recommend\n\nOptions:\n -h, --help display help for command\n\nCommands:\n config Show ecosystem config (severities, statuses, rules, defaults)\n severities List review severities\n statuses List publish / install statuses\n revenue-types List revenue event types\n dep-kinds List dependency kinds\n rules List heuristic AI review rules\n register [options] Register a new plugin (status=draft)\n plugins [options] List plugins\n show <pluginId> Show plugin details\n update-stats [options] <pluginId> Update download count / avg rating\n dep-add [options] <pluginId> Add a dependency to a plugin\n deps <pluginId> List direct dependencies of a plugin\n resolve <pluginId> Resolve dependency tree (detects conflicts + cycles)\n install [options] Install a plugin for a user (auto-fails on cycle/conflict)\n installs [options] List install records\n uninstall <installId> Mark an install as uninstalled\n review [options] <pluginId> Run heuristic AI code review (regex rules + score)\n review-show <reviewId> Show a single review record\n reviews [options] List review records\n sandbox [options] <pluginId> Record a sandbox test result (caller pushes outcome)\n sandbox-show <testId> Show a single sandbox test record\n sandbox-tests [options] List sandbox test records\n submit <pluginId> Submit a plugin for review (draft/rejected → reviewing)\n approve <pluginId> Approve a reviewing plugin\n reject [options] <pluginId> Reject a reviewing plugin (appends a rejection review record)\n publish [options] <pluginId> Publish an approved plugin (computes sourceHash)\n rev-record [options] Record a revenue event (splits via developerShareRatio)\n revenue [options] <developerId> Aggregate a developer's revenue\n recommend [options] Heuristic plugin recommendations for a user\n stats Show ecosystem stats\n maturity-statuses-v2 List V2 plugin maturity statuses\n install-lifecycle-v2 List V2 install lifecycle statuses\n default-max-active-plugins-per-developer Show V2 default max active plugins per developer\n max-active-plugins-per-developer Show current V2 max active plugins per developer\n set-max-active-plugins-per-developer <n> Set V2 max active plugins per developer\n default-max-pending-installs-per-user Show V2 default max pending installs per user\n max-pending-installs-per-user Show current V2 max pending installs per user\n set-max-pending-installs-per-user <n> Set V2 max pending installs per user\n default-auto-deprecate-after-ms Show V2 default auto-deprecate threshold (ms)\n auto-deprecate-after-ms Show current V2 auto-deprecate threshold (ms)\n set-auto-deprecate-after-ms <ms> Set V2 auto-deprecate threshold (ms)\n default-auto-archive-after-ms Show V2 default auto-archive threshold (ms)\n auto-archive-after-ms Show current V2 auto-archive threshold (ms)\n set-auto-archive-after-ms <ms> Set V2 auto-archive threshold (ms)\n active-plugin-count [options] Count V2 active plugins (optionally scoped)\n pending-install-count [options] Count V2 pending+resolving installs (optionally scoped)\n register-plugin-v2 [options] <plugin-id> Register V2 plugin (status=active)\n maturity-v2 <plugin-id> Show V2 plugin maturity\n set-maturity-v2 [options] <plugin-id> <status> Transition V2 plugin maturity\n deprecate-plugin [options] <plugin-id> Deprecate V2 plugin\n archive-plugin-v2 [options] <plugin-id> Archive V2 plugin\n remove-plugin-v2 [options] <plugin-id> Remove V2 plugin (terminal)\n touch-plugin-activity <plugin-id> Bump lastActivityAt for V2 plugin\n submit-install-v2 [options] <install-id> Submit V2 install (status=pending)\n install-status-v2 <install-id> Show V2 install status\n set-install-status-v2 [options] <install-id> <status> Transition V2 install status\n resolve-install [options] <install-id> Mark V2 install as resolving\n complete-install [options] <install-id> Mark V2 install as installed\n fail-install [options] <install-id> Mark V2 install as failed\n uninstall-install-v2 [options] <install-id> Mark V2 install as uninstalled (terminal)\n retry-failed-install [options] <install-id> Retry a failed V2 install (failed → pending)\n auto-deprecate-stale-plugins Bulk-flip stale V2 ACTIVE plugins to DEPRECATED\n auto-archive-long-deprecated Bulk-flip long-deprecated V2 plugins to ARCHIVED\n stats-v2 Show V2 ecosystem stats (maturity + install)\n help [command] display help for command\n",
|
|
57
57
|
"encrypt": "Usage: chainlesschain encrypt [options] [command]\n\nFile encryption and database encryption management\n\nOptions:\n -h, --help display help for command\n\nCommands:\n file [options] <path> Encrypt a file with AES-256-GCM\n db [options] Enable database encryption tracking\n info [options] <path> Check if a file is encrypted\n status [options] Show database encryption status\n key-maturities-v2 [options] [V2] List crypto key maturity states\n job-lifecycles-v2 [options] [V2] List crypto job lifecycle states\n config-v2 [options] [V2] Show governance config\n set-max-active-keys-per-owner-v2 <n> [V2] Set per-owner active key cap\n set-max-pending-jobs-per-key-v2 <n> [V2] Set per-key pending job cap\n set-key-idle-ms-v2 <ms> [V2] Set key idle threshold (ms)\n set-job-stuck-ms-v2 <ms> [V2] Set job stuck threshold (ms)\n register-key-v2 [options] <id> [V2] Register a crypto key profile\n (PENDING)\n activate-key-v2 <id> [V2] Activate key (pending|rotated ->\n active)\n rotate-key-v2 <id> [V2] Rotate key (active -> rotated)\n retire-key-v2 <id> [V2] Retire key (terminal)\n touch-key-v2 <id> [V2] Bump key lastSeenAt\n get-key-v2 [options] <id> [V2] Show crypto key profile\n list-keys-v2 [options] [V2] List crypto key profiles\n create-job-v2 [options] <id> [V2] Create a queued V2 crypto job\n start-job-v2 <id> [V2] Start crypto job (queued ->\n running)\n complete-job-v2 <id> [V2] Complete crypto job (running ->\n completed)\n fail-job-v2 <id> [V2] Fail crypto job (running ->\n failed)\n cancel-job-v2 <id> [V2] Cancel crypto job (queued|running\n -> cancelled)\n get-job-v2 [options] <id> [V2] Show crypto job\n list-jobs-v2 [options] [V2] List V2 crypto jobs\n active-key-count-v2 [options] [V2] Count active crypto keys (optional\n --owner)\n pending-job-count-v2 [options] [V2] Count pending crypto jobs\n (queued+running)\n auto-rotate-idle-keys-v2 [options] [V2] Rotate idle active keys\n auto-fail-stuck-jobs-v2 [options] [V2] Fail stuck running crypto jobs\n stats-v2 [options] [V2] Show governance stats\n help [command] display help for command\n",
|
|
58
58
|
"eval": "Usage: chainlesschain eval [options]\n\nRun the reliability eval suite (self-checking coding tasks) and report the\ntask-success rate\n\nOptions:\n --suite <name> Suite to run (default: \"builtin\")\n --model <model> Model for the agent runs\n --provider <provider> Provider for the agent runs\n --json Output the summary as JSON\n --keep Keep the per-task temp workspaces (debug)\n --otlp <file> Write OpenTelemetry (OTLP/JSON) spans for the\n run to a file\n --dry-run Use a no-op agent (exercise the harness/report\n without a model)\n --history <file> Append this run's summary (JSONL) for trend\n tracking\n --label <label> Tag this run in the history (e.g. a\n version/commit)\n --trend Report the pass-rate trend from --history\n instead of running (CI gate)\n --regression-threshold <pct> With --trend: pass-rate drop (in points) that\n fails the gate on its own (default: \"0\")\n -h, --help display help for command\n",
|
|
59
|
-
"evolution": "Usage: chainlesschain evolution [options] [command]\n\nEvolution metrics and governance records — not model training or active Skill\npromotion\n\nOptions:\n -h, --help
|
|
59
|
+
"evolution": "Usage: chainlesschain evolution [options] [command]\n\nEvolution metrics and governance records — not model training or active Skill\npromotion\n\nOptions:\n -h, --help display help for command\n\nCommands:\n assess [options] <name> <score> Assess and track a capability\n record-model-metrics [options] <model-id> Record a synthetic model metric estimate (no training)\n diagnose [options] Diagnose recorded evolution metrics\n repair [options] <issue> Apply a maintenance strategy to a recorded diagnosis\n predict [options] [user-id] Predict user behavior\n growth [options] Show growth log\n stats [options] Show capabilities and models overview\n export [options] <model-id> Export a model metric record for portability\n dimensions [options] List CAPABILITY_DIMENSION enum\n severities [options] List DIAGNOSIS_SEVERITY enum\n strategies [options] List REPAIR_STRATEGY enum\n milestones [options] List GROWTH_MILESTONE enum\n assess-v2 [options] <dimension> <score> Assess capability by canonical dimension\n capabilities-v2 [options] List V2 capabilities\n record-training-metrics-v2 [options] Record caller-supplied loss metrics (no training)\n training-metrics-v2 [options] List V2 training metric records\n diagnose-v2 [options] Diagnose recorded V2 evolution metrics\n diagnoses-v2 [options] List V2 diagnoses\n diagnosis-show [options] <id> Show a specific diagnosis\n repair-v2 [options] <diagnosis-id> Record a V2 maintenance strategy for a diagnosis\n predict-v2 [options] Project behavior from recorded V2 metrics\n record-milestone [options] <type> Record a growth milestone explicitly\n growth-v2 [options] List V2 growth milestones\n configure [options] Update evolution config\n config [options] Show evolution config\n stats-v2 [options] V2 evolution stats\n enums-v2 Show V2 enums (goal maturity + cycle lifecycle)\n config-v2 Show V2 config thresholds\n set-max-active-goals-v2 <n> Set max active goals per owner\n set-max-pending-cycles-v2 <n> Set max pending cycles per goal\n set-goal-idle-ms-v2 <n> Set goal idle threshold (ms)\n set-cycle-stuck-ms-v2 <n> Set cycle stuck threshold (ms)\n register-goal-v2 [options] <id> <owner> Register V2 evo goal\n activate-goal-v2 <id> Activate evo goal\n pause-goal-v2 <id> Pause evo goal\n archive-goal-v2 <id> Archive goal (terminal)\n touch-goal-v2 <id> Touch goal lastTouchedAt\n get-goal-v2 <id> Get V2 goal\n list-goals-v2 List all V2 goals\n create-cycle-v2 [options] <id> <goalId> Create V2 cycle (queued)\n start-cycle-v2 <id> Start cycle (queued→running)\n complete-cycle-v2 <id> Complete cycle (running→completed)\n fail-cycle-v2 <id> [reason] Fail cycle\n cancel-cycle-v2 <id> [reason] Cancel cycle\n get-cycle-v2 <id> Get V2 cycle\n list-cycles-v2 List all V2 cycles\n auto-pause-idle-v2 Auto-pause idle active goals\n auto-fail-stuck-v2 Auto-fail stuck running cycles\n gov-stats-v2 V2 governance aggregate stats\n help [command] display help for command\n",
|
|
60
60
|
"evomap": "Usage: chainlesschain evomap [options] [command]\n\nEvoMap — gene exchange protocol for agent capabilities\n\nOptions:\n -h, --help display help for command\n\nCommands:\n search [options] <query> Search for genes on the hub\n download <geneId> Download a gene from the hub\n publish [options] Publish a gene to the hub\n list List locally installed genes\n hubs List configured EvoMap hubs\n federation Federated hub management and gene syncing\n gov EvoMap governance — ownership, proposals,\n voting\n enums-v2 Show V2 governance enums\n register-map-v2 [options] Register an evomap profile (pending)\n activate-map-v2 <id> Activate map\n stale-map-v2 <id> Mark map stale\n archive-map-v2 <id> Archive map (terminal)\n touch-map-v2 <id> Refresh lastTouchedAt\n get-map-v2 <id> Get map\n list-maps-v2 List maps\n create-evolution-v2 [options] Create an evolution (queued)\n start-evolution-v2 <id> Transition evolution to running\n complete-evolution-v2 <id> Transition evolution to completed\n fail-evolution-v2 [options] <id> Fail evolution\n cancel-evolution-v2 [options] <id> Cancel evolution\n get-evolution-v2 <id> Get evolution\n list-evolutions-v2 List evolutions\n set-max-active-maps-v2 <n> Set per-owner active cap\n set-max-pending-evolutions-v2 <n> Set per-map pending cap\n set-map-idle-ms-v2 <n> Set idle threshold\n set-evolution-stuck-ms-v2 <n> Set stuck threshold\n auto-stale-idle-maps-v2 Auto-stale idle maps\n auto-fail-stuck-evolutions-v2 Auto-fail stuck running evolutions\n gov-stats-v2 V2 governance aggregate stats\n help [command] display help for command\n",
|
|
61
61
|
"execbe": "Usage: chainlesschain execbe [options] [command]\n\nExecution backend V2 governance\n\nOptions:\n -h, --help display help for command\n\nCommands:\n maturities-v2\n job-lifecycle-v2\n stats-v2\n config-v2\n register-backend-v2 <id> <owner> [kind]\n activate-backend-v2 <id>\n degrade-backend-v2 <id>\n retire-backend-v2 <id>\n touch-backend-v2 <id>\n get-backend-v2 <id>\n list-backends-v2\n create-job-v2 <id> <backendId> [cmd]\n start-job-v2 <id>\n succeed-job-v2 <id>\n fail-job-v2 <id> [reason]\n cancel-job-v2 <id> [reason]\n get-job-v2 <id>\n list-jobs-v2\n auto-degrade-idle-v2\n auto-fail-stuck-v2\n set-max-active-v2 <n>\n set-max-pending-v2 <n>\n set-idle-ms-v2 <n>\n set-stuck-ms-v2 <n>\n reset-state-v2\n help [command] display help for command\n",
|
|
62
62
|
"export": "Usage: chainlesschain export [options] [command]\n\nExport knowledge base to external formats\n\nOptions:\n -h, --help display help for command\n\nCommands:\n markdown [options] Export notes as markdown files\n site [options] Export notes as a static HTML website\n target-maturities-v2 List V2 target maturity states\n export-job-lifecycles-v2 List V2 export-job lifecycle states\n stats-v2 V2 knowledge-exporter stats\n get-max-active-targets-v2 Get max active targets per owner (V2)\n set-max-active-targets-v2 <n> Set max active targets per owner (V2)\n get-max-pending-jobs-v2 Get max pending jobs per target (V2)\n set-max-pending-jobs-v2 <n> Set max pending jobs per target (V2)\n get-target-idle-ms-v2 Get target idle threshold (V2)\n set-target-idle-ms-v2 <ms> Set target idle threshold (V2)\n get-job-stuck-ms-v2 Get export-job stuck threshold (V2)\n set-job-stuck-ms-v2 <ms> Set export-job stuck threshold (V2)\n active-target-count-v2 <ownerId> Active target count for owner (V2)\n pending-job-count-v2 <targetId> Pending export-job count for target\n (V2)\n register-target-v2 [options] <id> Register a V2 export target\n get-target-v2 <id> Get a V2 target\n list-targets-v2 [options] List V2 targets\n set-target-status-v2 <id> <next> Set V2 target status\n activate-target-v2 <id> Activate a V2 target\n pause-target-v2 <id> Pause a V2 target\n archive-target-v2 <id> Archive a V2 target\n touch-target-v2 <id> Touch a V2 target\n create-export-job-v2 [options] <id> Create a V2 export job\n get-export-job-v2 <id> Get a V2 export job\n list-export-jobs-v2 [options] List V2 export jobs\n set-export-job-status-v2 <id> <next> Set V2 export-job status\n start-export-job-v2 <id> Start a V2 export job\n complete-export-job-v2 <id> Complete a V2 export job\n fail-export-job-v2 <id> Fail a V2 export job\n cancel-export-job-v2 <id> Cancel a V2 export job\n auto-pause-idle-targets-v2 Auto-pause idle V2 targets\n auto-fail-stuck-export-jobs-v2 Auto-fail stuck V2 export jobs\n help [command] display help for command\n",
|
package/src/commands/agent.js
CHANGED
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import fs from "node:fs";
|
|
11
|
+
import { randomUUID } from "node:crypto";
|
|
11
12
|
import { createAgentRuntimeFactory } from "../runtime/runtime-factory.js";
|
|
13
|
+
import { captureAgentEvolutionRuntimeComposition } from "../lib/evolution/agent-evolution-runtime-composition-brand.js";
|
|
12
14
|
import { resolvePromptText } from "../runtime/system-prompt.js";
|
|
13
15
|
import {
|
|
14
16
|
makeFallbackChatFn,
|
|
@@ -235,7 +237,33 @@ export function resolveAgentObservabilityScope(options = {}) {
|
|
|
235
237
|
return scope;
|
|
236
238
|
}
|
|
237
239
|
|
|
238
|
-
export function
|
|
240
|
+
export async function resolveAgentCommandEvolutionComposition(
|
|
241
|
+
factory,
|
|
242
|
+
{ mode, sessionId = null, cwd = process.cwd() } = {},
|
|
243
|
+
) {
|
|
244
|
+
if (factory == null) return null;
|
|
245
|
+
if (typeof factory !== "function") {
|
|
246
|
+
throw new TypeError(
|
|
247
|
+
"Agent evolution composition factory must be a function",
|
|
248
|
+
);
|
|
249
|
+
}
|
|
250
|
+
if (!["interactive", "headless", "headless-stream"].includes(mode)) {
|
|
251
|
+
throw new TypeError("Agent evolution command mode is invalid");
|
|
252
|
+
}
|
|
253
|
+
const composition = await factory(
|
|
254
|
+
Object.freeze({
|
|
255
|
+
mode,
|
|
256
|
+
sessionId,
|
|
257
|
+
runId: sessionId || `agent-run-${randomUUID()}`,
|
|
258
|
+
cwd: path.resolve(cwd),
|
|
259
|
+
}),
|
|
260
|
+
);
|
|
261
|
+
return captureAgentEvolutionRuntimeComposition(composition);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
export function registerAgentCommand(program, dependencies = {}) {
|
|
265
|
+
const evolutionCompositionFactory =
|
|
266
|
+
dependencies.evolutionCompositionFactory ?? null;
|
|
239
267
|
program
|
|
240
268
|
.command("agent")
|
|
241
269
|
.aliases(["a", "exec"])
|
|
@@ -1455,6 +1483,15 @@ export function registerAgentCommand(program) {
|
|
|
1455
1483
|
const cwd = process.cwd();
|
|
1456
1484
|
let outcome;
|
|
1457
1485
|
try {
|
|
1486
|
+
const evolutionComposition =
|
|
1487
|
+
await resolveAgentCommandEvolutionComposition(
|
|
1488
|
+
evolutionCompositionFactory,
|
|
1489
|
+
{
|
|
1490
|
+
mode: "headless-stream",
|
|
1491
|
+
sessionId: options.session || null,
|
|
1492
|
+
cwd,
|
|
1493
|
+
},
|
|
1494
|
+
);
|
|
1458
1495
|
outcome = await runAgentHeadlessStream({
|
|
1459
1496
|
model: options.model,
|
|
1460
1497
|
thinking,
|
|
@@ -1521,6 +1558,9 @@ export function registerAgentCommand(program) {
|
|
|
1521
1558
|
// appended after each turn (parity with single-prompt --json-schema).
|
|
1522
1559
|
jsonSchema: options.jsonSchema || null,
|
|
1523
1560
|
claudeStorageLaunchEnv,
|
|
1561
|
+
...(evolutionComposition === null
|
|
1562
|
+
? {}
|
|
1563
|
+
: { evolutionIngress: evolutionComposition.evolutionIngress }),
|
|
1524
1564
|
});
|
|
1525
1565
|
} catch (err) {
|
|
1526
1566
|
process.stderr.write(
|
|
@@ -1530,6 +1570,7 @@ export function registerAgentCommand(program) {
|
|
|
1530
1570
|
);
|
|
1531
1571
|
await _finishWorktree();
|
|
1532
1572
|
process.exit(1);
|
|
1573
|
+
return;
|
|
1533
1574
|
}
|
|
1534
1575
|
await _finishWorktree();
|
|
1535
1576
|
process.exit(outcome.exitCode);
|
|
@@ -1718,6 +1759,22 @@ export function registerAgentCommand(program) {
|
|
|
1718
1759
|
(fs.realpathSync.native || fs.realpathSync)(process.cwd()),
|
|
1719
1760
|
)
|
|
1720
1761
|
: null;
|
|
1762
|
+
let evolutionComposition;
|
|
1763
|
+
try {
|
|
1764
|
+
evolutionComposition = await resolveAgentCommandEvolutionComposition(
|
|
1765
|
+
evolutionCompositionFactory,
|
|
1766
|
+
{
|
|
1767
|
+
mode: "headless",
|
|
1768
|
+
sessionId: options.session || null,
|
|
1769
|
+
cwd: process.cwd(),
|
|
1770
|
+
},
|
|
1771
|
+
);
|
|
1772
|
+
} catch (error) {
|
|
1773
|
+
process.stderr.write(`Evolution ingress: ${error.message}\n`);
|
|
1774
|
+
await _finishWorktree();
|
|
1775
|
+
process.exit(1);
|
|
1776
|
+
return;
|
|
1777
|
+
}
|
|
1721
1778
|
const headlessOptions = {
|
|
1722
1779
|
prompt,
|
|
1723
1780
|
images,
|
|
@@ -1841,6 +1898,9 @@ export function registerAgentCommand(program) {
|
|
|
1841
1898
|
// --fallback-model: retry once on a backup model on transient errors
|
|
1842
1899
|
chatFn: fallbackChatFn,
|
|
1843
1900
|
claudeStorageLaunchEnv,
|
|
1901
|
+
...(evolutionComposition === null
|
|
1902
|
+
? {}
|
|
1903
|
+
: { evolutionIngress: evolutionComposition.evolutionIngress }),
|
|
1844
1904
|
};
|
|
1845
1905
|
|
|
1846
1906
|
// --json-schema: structured output. Accepts a file path OR inline JSON.
|
|
@@ -1932,7 +1992,25 @@ export function registerAgentCommand(program) {
|
|
|
1932
1992
|
|
|
1933
1993
|
// Strict sandbox mode also guards the interactive session: refuse to
|
|
1934
1994
|
// start when failIfUnavailable is set and the engine can't run.
|
|
1935
|
-
|
|
1995
|
+
let evolutionComposition;
|
|
1996
|
+
try {
|
|
1997
|
+
evolutionComposition = await resolveAgentCommandEvolutionComposition(
|
|
1998
|
+
evolutionCompositionFactory,
|
|
1999
|
+
{
|
|
2000
|
+
mode: "interactive",
|
|
2001
|
+
sessionId: options.session || null,
|
|
2002
|
+
cwd: process.cwd(),
|
|
2003
|
+
},
|
|
2004
|
+
);
|
|
2005
|
+
} catch (error) {
|
|
2006
|
+
process.stderr.write(`Evolution ingress: ${error.message}\n`);
|
|
2007
|
+
await _finishWorktree();
|
|
2008
|
+
process.exitCode = 1;
|
|
2009
|
+
return;
|
|
2010
|
+
}
|
|
2011
|
+
const runtime = createAgentRuntimeFactory({
|
|
2012
|
+
evolutionComposition,
|
|
2013
|
+
}).createAgentRuntime({
|
|
1936
2014
|
model: options.model,
|
|
1937
2015
|
thinking,
|
|
1938
2016
|
thinkingBudget,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Evolution metrics and governance-record commands
|
|
3
|
-
* chainlesschain evolution assess|
|
|
3
|
+
* chainlesschain evolution assess|record-model-metrics|diagnose|repair|predict|growth|stats|export
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import chalk from "chalk";
|
|
7
|
-
import { intArg
|
|
7
|
+
import { intArg } from "../lib/cli-arg.js";
|
|
8
8
|
import { numericOption } from "../lib/cli-numeric.js";
|
|
9
9
|
import ora from "ora";
|
|
10
10
|
import { logger } from "../lib/logger.js";
|
|
@@ -12,7 +12,7 @@ import { parseJsonOption } from "../lib/parse-json-option.js";
|
|
|
12
12
|
import { bootstrap, shutdown } from "../runtime/bootstrap.js";
|
|
13
13
|
import {
|
|
14
14
|
assessCapability,
|
|
15
|
-
|
|
15
|
+
recordIncrementalModelMetrics,
|
|
16
16
|
selfDiagnose,
|
|
17
17
|
selfRepair,
|
|
18
18
|
predictBehavior,
|
|
@@ -26,10 +26,9 @@ import {
|
|
|
26
26
|
REPAIR_STRATEGY,
|
|
27
27
|
GROWTH_MILESTONE,
|
|
28
28
|
assessCapabilityV2,
|
|
29
|
-
getCapabilityV2,
|
|
30
29
|
listCapabilitiesV2,
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
recordTrainingMetricsV2,
|
|
31
|
+
listTrainingMetricRecordsV2,
|
|
33
32
|
selfDiagnoseV2,
|
|
34
33
|
getDiagnosisV2,
|
|
35
34
|
listDiagnosesV2,
|
|
@@ -97,12 +96,12 @@ export function registerEvolutionCommand(program) {
|
|
|
97
96
|
}
|
|
98
97
|
});
|
|
99
98
|
|
|
100
|
-
// evolution
|
|
99
|
+
// evolution record-model-metrics <model-id>
|
|
101
100
|
evolution
|
|
102
|
-
.command("
|
|
103
|
-
.description("Record
|
|
101
|
+
.command("record-model-metrics")
|
|
102
|
+
.description("Record a synthetic model metric estimate (no training)")
|
|
104
103
|
.argument("<model-id>", "Model record ID")
|
|
105
|
-
.option("--data <json>", "
|
|
104
|
+
.option("--data <json>", "Observed data as JSON array")
|
|
106
105
|
.option(
|
|
107
106
|
"--type <type>",
|
|
108
107
|
"Model type (classification|regression)",
|
|
@@ -123,13 +122,13 @@ export function registerEvolutionCommand(program) {
|
|
|
123
122
|
if (options.data) {
|
|
124
123
|
try {
|
|
125
124
|
data = JSON.parse(options.data);
|
|
126
|
-
} catch
|
|
125
|
+
} catch {
|
|
127
126
|
// Use data string as single data point
|
|
128
127
|
data = [options.data];
|
|
129
128
|
}
|
|
130
129
|
}
|
|
131
130
|
|
|
132
|
-
const result =
|
|
131
|
+
const result = recordIncrementalModelMetrics(db, modelId, data, {
|
|
133
132
|
type: options.type,
|
|
134
133
|
});
|
|
135
134
|
spinner.succeed("Model metrics recorded");
|
|
@@ -139,8 +138,11 @@ export function registerEvolutionCommand(program) {
|
|
|
139
138
|
} else {
|
|
140
139
|
logger.log(chalk.bold(`Model: ${result.name}`));
|
|
141
140
|
logger.log(` Type: ${result.type}`);
|
|
142
|
-
logger.log(
|
|
141
|
+
logger.log(
|
|
142
|
+
` Formula Estimate: ${chalk.cyan(result.accuracy.toFixed(4))}`,
|
|
143
|
+
);
|
|
143
144
|
logger.log(` Data Points: ${result.dataPoints}`);
|
|
145
|
+
logger.log(` Training Performed: ${result.performedTraining}`);
|
|
144
146
|
}
|
|
145
147
|
|
|
146
148
|
await shutdown();
|
|
@@ -389,7 +391,7 @@ export function registerEvolutionCommand(program) {
|
|
|
389
391
|
// evolution export <model-id>
|
|
390
392
|
evolution
|
|
391
393
|
.command("export")
|
|
392
|
-
.description("Export a model for portability")
|
|
394
|
+
.description("Export a model metric record for portability")
|
|
393
395
|
.argument("<model-id>", "Model ID to export")
|
|
394
396
|
.option("--json", "Output as JSON")
|
|
395
397
|
.action(async (modelId, options) => {
|
|
@@ -512,20 +514,20 @@ export function registerEvolutionCommand(program) {
|
|
|
512
514
|
});
|
|
513
515
|
|
|
514
516
|
evolution
|
|
515
|
-
.command("
|
|
516
|
-
.description("Record
|
|
517
|
+
.command("record-training-metrics-v2")
|
|
518
|
+
.description("Record caller-supplied loss metrics (no training)")
|
|
517
519
|
.requiredOption(
|
|
518
520
|
"-s, --strategy <s>",
|
|
519
521
|
"replay|elastic-weight|knowledge-distill",
|
|
520
522
|
)
|
|
521
523
|
.requiredOption("--data-size <n>", "Data size")
|
|
522
|
-
.requiredOption("--loss-before <n>", "
|
|
523
|
-
.requiredOption("--loss-after <n>", "
|
|
524
|
+
.requiredOption("--loss-before <n>", "Caller-reported loss before")
|
|
525
|
+
.requiredOption("--loss-after <n>", "Caller-reported loss after")
|
|
524
526
|
.option("--duration-ms <n>", "Duration in ms", "0")
|
|
525
527
|
.option("--json", "Output as JSON")
|
|
526
528
|
.action((options) => {
|
|
527
529
|
try {
|
|
528
|
-
const r =
|
|
530
|
+
const r = recordTrainingMetricsV2({
|
|
529
531
|
strategy: options.strategy,
|
|
530
532
|
dataSize: numericOption(options.dataSize, {
|
|
531
533
|
name: "--data-size",
|
|
@@ -543,10 +545,11 @@ export function registerEvolutionCommand(program) {
|
|
|
543
545
|
});
|
|
544
546
|
if (options.json) console.log(JSON.stringify(r, null, 2));
|
|
545
547
|
else {
|
|
546
|
-
logger.log(chalk.bold(`
|
|
548
|
+
logger.log(chalk.bold(`Metric Record ${r.id}`));
|
|
547
549
|
logger.log(` Strategy: ${r.strategy}`);
|
|
548
550
|
logger.log(` KnowledgeRetention ${r.knowledgeRetention.toFixed(4)}`);
|
|
549
|
-
logger.log(`
|
|
551
|
+
logger.log(` Assessment: ${r.retentionAssessment}`);
|
|
552
|
+
logger.log(` Training Performed: ${r.performedTraining}`);
|
|
550
553
|
}
|
|
551
554
|
} catch (err) {
|
|
552
555
|
logger.error(`Failed: ${err.message}`);
|
|
@@ -555,20 +558,23 @@ export function registerEvolutionCommand(program) {
|
|
|
555
558
|
});
|
|
556
559
|
|
|
557
560
|
evolution
|
|
558
|
-
.command("training-
|
|
559
|
-
.description("List V2 training
|
|
561
|
+
.command("training-metrics-v2")
|
|
562
|
+
.description("List V2 training metric records")
|
|
560
563
|
.option("-s, --strategy <s>", "Filter by strategy")
|
|
561
564
|
.option("-l, --limit <n>", "Limit")
|
|
562
565
|
.option("--json", "Output as JSON")
|
|
563
566
|
.action((options) => {
|
|
564
567
|
const limit = options.limit ? parseInt(options.limit, 10) : undefined;
|
|
565
|
-
const list =
|
|
568
|
+
const list = listTrainingMetricRecordsV2({
|
|
569
|
+
strategy: options.strategy,
|
|
570
|
+
limit,
|
|
571
|
+
});
|
|
566
572
|
if (options.json) console.log(JSON.stringify(list, null, 2));
|
|
567
573
|
else {
|
|
568
|
-
if (list.length === 0) logger.log("(no
|
|
574
|
+
if (list.length === 0) logger.log("(no metric records)");
|
|
569
575
|
for (const t of list) {
|
|
570
576
|
logger.log(
|
|
571
|
-
`${new Date(t.createdAt).toISOString()} ${t.strategy.padEnd(20)} retention=${t.knowledgeRetention.toFixed(3)}
|
|
577
|
+
`${new Date(t.createdAt).toISOString()} ${t.strategy.padEnd(20)} retention=${t.knowledgeRetention.toFixed(3)} assessment=${t.retentionAssessment}`,
|
|
572
578
|
);
|
|
573
579
|
}
|
|
574
580
|
}
|
|
@@ -785,7 +791,7 @@ export function registerEvolutionCommand(program) {
|
|
|
785
791
|
else {
|
|
786
792
|
logger.log(chalk.bold("Evolution Stats V2"));
|
|
787
793
|
logger.log(` Capabilities: ${s.capabilityCount}`);
|
|
788
|
-
logger.log(`
|
|
794
|
+
logger.log(` TrainingMetricRecords: ${s.trainingMetricRecords}`);
|
|
789
795
|
logger.log(
|
|
790
796
|
` Diagnoses: ${s.diagnoses.total} (${Object.entries(
|
|
791
797
|
s.diagnoses.bySeverity,
|
package/src/commands/serve.js
CHANGED
|
@@ -7,7 +7,9 @@ import { logger } from "../lib/logger.js";
|
|
|
7
7
|
import { createAgentRuntimeFactory } from "../runtime/runtime-factory.js";
|
|
8
8
|
import path from "node:path";
|
|
9
9
|
|
|
10
|
-
export function registerServeCommand(program) {
|
|
10
|
+
export function registerServeCommand(program, dependencies = {}) {
|
|
11
|
+
const evolutionCompositionFactory =
|
|
12
|
+
dependencies.evolutionCompositionFactory ?? null;
|
|
11
13
|
const serve = program
|
|
12
14
|
.command("serve")
|
|
13
15
|
.description("Start WebSocket server for remote CLI access")
|
|
@@ -126,6 +128,7 @@ export function registerServeCommand(program) {
|
|
|
126
128
|
maxConnections: parseInt(opts.maxConnections, 10),
|
|
127
129
|
store,
|
|
128
130
|
kernelFactory: () => new CliAgentKernelAdapter({ cwd }),
|
|
131
|
+
evolutionCompositionFactory,
|
|
129
132
|
maxQueuedRequests,
|
|
130
133
|
});
|
|
131
134
|
const info = await host.start();
|
|
@@ -155,6 +158,7 @@ export function registerServeCommand(program) {
|
|
|
155
158
|
await runStdioAppServer({
|
|
156
159
|
store,
|
|
157
160
|
kernel: new CliAgentKernelAdapter({ cwd }),
|
|
161
|
+
evolutionCompositionFactory,
|
|
158
162
|
maxQueuedRequests,
|
|
159
163
|
});
|
|
160
164
|
} finally {
|
|
@@ -162,7 +166,12 @@ export function registerServeCommand(program) {
|
|
|
162
166
|
}
|
|
163
167
|
return;
|
|
164
168
|
}
|
|
165
|
-
const runtime = createAgentRuntimeFactory(
|
|
169
|
+
const runtime = createAgentRuntimeFactory({
|
|
170
|
+
deps:
|
|
171
|
+
evolutionCompositionFactory === null
|
|
172
|
+
? {}
|
|
173
|
+
: { evolutionCompositionFactory },
|
|
174
|
+
}).createServerRuntime({
|
|
166
175
|
port: parseInt(opts.port, 10),
|
|
167
176
|
host: opts.host,
|
|
168
177
|
token: opts.token,
|
package/src/data/changelog.json
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"releases": [
|
|
4
4
|
{
|
|
5
5
|
"productVersion": null,
|
|
6
|
-
"cliVersion": "0.166.
|
|
7
|
-
"cliVersions": ["0.3.9", "0.166.
|
|
8
|
-
"date": "2026-09-
|
|
6
|
+
"cliVersion": "0.166.18",
|
|
7
|
+
"cliVersions": ["0.3.9", "0.166.17", "0.166.18"],
|
|
8
|
+
"date": "2026-09-03",
|
|
9
9
|
"title": "",
|
|
10
10
|
"sections": [
|
|
11
11
|
{
|
|
12
|
-
"heading": "Added - cc CLI 0.166.
|
|
13
|
-
"body": "> `chainlesschain` **0.166.
|
|
12
|
+
"heading": "Added - cc CLI 0.166.18 and Session Core 0.3.9: governed Skill evolution",
|
|
13
|
+
"body": "> `chainlesschain` **0.166.17 -> 0.166.18** and\n> `@chainlesschain/session-core` **0.3.8 -> 0.3.9** (release candidate,\n> 2026-09-03).\n\n- **Evaluated promotion**: Skill candidates must carry target-matrix evidence,\n current-revision bindings, durable promotion receipts, and revocation-aware\n attestations before an active revision can change.\n- **Crash-safe lifecycle**: tenant-scoped candidate and release registries,\n lease/CAS promotion, last-known-good tracking, and rollback keep concurrent\n or interrupted mutations fail closed.\n- **Bounded improvement pilot**: the CLI can propose constrained Skill\n improvements and wiki-informed candidates without directly rewriting or\n activating installed Skills.\n- **Cross-runtime evidence**: CLI, Desktop, and Graph adapters share the new\n Session Core `EvolutionRun` and Skill-invocation receipt contracts, keeping\n evidence identity consistent across runtimes.\n- **Deterministic async hooks**: tool execution now skips `async:true`\n `PostToolUse` hooks when no supervisor/dispatcher is available, preventing a\n hidden background command and a Windows timing race.\n- **Release boundary**: publication requires this exact candidate commit to\n pass every configured Linux, Windows, and macOS job in `CLI CI` and\n `CLI Strict Sandbox`; a local test result or an older green run is not\n release authorization."
|
|
14
14
|
}
|
|
15
15
|
]
|
|
16
16
|
},
|