chainlesschain 0.162.149 → 0.162.150
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/package.json +1 -1
- package/src/assets/web-panel/assets/{AIOps-BJif14yR.js → AIOps-CBLvrjeG.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-CXek6gJY.js → ActionButton-DYv2GtE0.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-BgQhdAJi.js → Analytics-CL6PZ-Ww.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-DTYl5NtR.js → AppLayout-xuyHt4uA.js} +3 -3
- package/src/assets/web-panel/assets/{Audit-BzATQAeR.js → Audit-DOvSVycq.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-BzdPEQhL.js → Backup-DMhfTswr.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-BM0KVh8E.js → BaseInput-CQxDdm63.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-D7fHXHkz.js → Chat-BEeNhK2a.js} +5 -5
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-Wm34RR-b.js → ChatBubbleRenderer-8nul8eTq.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-CAiSQ9vO.js → Checkbox-CL04O-ER.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-Df40CrEe.js → Codegen-C50o-n7x.js} +1 -1
- package/src/assets/web-panel/assets/{Col-DIT2fNFU.js → Col-CH-bDkzs.js} +1 -1
- package/src/assets/web-panel/assets/{Community-CSTIbW2k.js → Community-DqAIMvSe.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-DtqXZZUi.js → Compact-C43fo_my.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-CUtzw6o7.js → Compliance-BERnMrdP.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-CezmlnmU.js → Cowork-Baw3w1gp.js} +4 -4
- package/src/assets/web-panel/assets/{Cron-P4BITarg.js → Cron-BEqAHF1-.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-BRRiYwvq.js → Crosschain-CvnmKwK4.js} +1 -1
- package/src/assets/web-panel/assets/{DID-L5ijB9i4.js → DID-iMPxgVdt.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-CFxro4ob.js → Dashboard--4SJX3YR.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-BmAFCQ71.js → Dropdown-BgLV6xgz.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-DJBCEuon.js → EmailListRenderer-Bvb8oUD8.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-z4oLq6eT.js → FamilyGuardDashboard-DpXPjJB5.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-DsVCpHMF.js → Federation-BbFfJ1Xi.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-DP3bP5th.js → FormItemContext-DeGq1B-q.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-BAXP2Gc6.js → GenericCardRenderer-CNW7s9zM.js} +1 -1
- package/src/assets/web-panel/assets/{Git-I3g_bAw9.js → Git-L1PjW-lT.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-jHS5-ioS.js → Governance-PK-X58to.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-CPL7sfx9.js → Inference-BePWEH-d.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-Jf236h4C.js → KnowledgeGraph-LF_sBvdL.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-Cm2tcSKg.js → Logs-BKkfk9hy.js} +2 -2
- package/src/assets/web-panel/assets/{Marketplace-CZK82rhi.js → Marketplace-BNMqUDla.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-CZCeji7a.js → McpTools-w4WPiyz2.js} +5 -5
- package/src/assets/web-panel/assets/{Memory-3l2KVS9k.js → Memory-DUKMVGNi.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-VYdpoLh6.js → MobileBridge-BWhiEyTJ.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-CiB9cmm1.js → MobileProjects-Ocf5JEkX.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-wCFZbBuL.js → Mtc-D2B6MMhU.js} +4 -4
- package/src/assets/web-panel/assets/{MtcAudit-1a3THIyG.js → MtcAudit-DdYjCq1O.js} +2 -2
- package/src/assets/web-panel/assets/{Multisig-DMzLB2hG.js → Multisig-Cb1hfuUZ.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-D9wZbf6l.js → NLProgramming-CTeImGp7.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-hrFe2ZM-.js → Notes-BjYNc7eQ.js} +4 -4
- package/src/assets/web-panel/assets/{NotificationSettings-CHGX5Jwm.js → NotificationSettings-Dn_NtRXQ.js} +1 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-DVYYIizh.js +1 -0
- package/src/assets/web-panel/assets/{Organization-By7FkhtY.js → Organization-Be2Kmr5j.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow--khGSzJn.js → Overflow-Cu_-qRlR.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-CAG9dH35.js → P2P-DD2HoGzE.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-B3SQZmK9.js → PdhVaultBrowser-BRI7DVth.js} +3 -3
- package/src/assets/web-panel/assets/{Permissions-D35ec6JA.js → Permissions-C9Srcs2M.js} +3 -3
- package/src/assets/web-panel/assets/{PersonalDataHub-CxBF7hW_.js → PersonalDataHub-CUqcMgo1.js} +3 -3
- package/src/assets/web-panel/assets/{Pipeline-s6EtOO1s.js → Pipeline-HBrQGLXt.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-BbJYmWmO.js → Privacy-D-B0vjwh.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-VGQq1jMT.js → ProjectInit-eTeLIu9e.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-B1ew3Teh.js → ProjectSettings-DrRqCsC6.js} +2 -2
- package/src/assets/web-panel/assets/Projects-1G9DNOhI.js +1 -0
- package/src/assets/web-panel/assets/{Providers-mrO47FIK.js → Providers-RkTZzpxP.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-IJF2mHyw.js → QrScannerModal-BSCUgsgC.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-CU0wN_Z0.js → QuickAsk-CHgyM3Bz.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-DhN37R6G.js → Recommend-0lry4OZq.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-D_xOX_hu.js → RemoteSession-Cn45UroZ.js} +2 -2
- package/src/assets/web-panel/assets/{Reputation-D_Ssv7uH.js → Reputation-Q-Zjb707.js} +1 -1
- package/src/assets/web-panel/assets/{Row-Kx5dKxX7.js → Row-BdM70oda.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-BlGwqZkY.js → RssFeed-DmOAKKap.js} +2 -2
- package/src/assets/web-panel/assets/{Search-hLFQzxpb.js → Search-Dwavbm07.js} +1 -1
- package/src/assets/web-panel/assets/{Security-DMlvsVt4.js → Security-DukXFCnk.js} +3 -3
- package/src/assets/web-panel/assets/{Services-Bd0Qsj2m.js → Services-BIlRnITu.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-DFclq9X3.js → Skeleton-YYVQdhhQ.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-BNtln2qY.js → Skills-B8_iYHz2.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-Dch5H19G.js → Sla-BdVrhT31.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-2UfQcU1g.js → SpeechSettings-CD3ggRx7.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-CD9YQr4i.js → SyncSettings-Bp02VZFH.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-BNu-7MzI.js → Tasks-DEVmCEsr.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-D1n9CaIR.js → Templates-B6czWc4N.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-DenL3iBW.js → Tenant-BCJLv17r.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-ZzU0Io1Y.js → Terminal-CD132d2Y.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-D87IfukO.js → TimelineRenderer-ZB-CvkZl.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-BkiZc8E3.js → Tokens-BnSY0S-s.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-BNRSytGN.js → Trigger-VZw9Oy2w.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-Bwbd4X2m.js → Trust-pZq7Hjd2.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-B8O2bs0o.js → UkeySign-DnQaqk4q.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-C2fL8zmH.js → VideoEditing-BEUfmvJV.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-BORYDdE1.js → Wallet-CoZKMXJ2.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-C0V5S2FM.js → WebAuthn-CBOGVx1I.js} +5 -5
- package/src/assets/web-panel/assets/{WorkflowEditor-2dR0fcHL.js → WorkflowEditor-huSKn7TT.js} +1 -1
- package/src/assets/web-panel/assets/{chat-BmuAFAn8.js → chat-A_3w6FBO.js} +1 -1
- package/src/assets/web-panel/assets/{colors-CN3smMcK.js → colors-D1Bem9Oy.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-DCnxb4kW.js → compact-item-CJYJj0oO.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-vlR43pHn.js → createContext-BkbFiKT4.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-WDr3_M_N.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-D04tHYFd.js → hasIn-CKvUafVY.js} +1 -1
- package/src/assets/web-panel/assets/{index-0DnaZGkC.js → index-AjrSPnvv.js} +1 -1
- package/src/assets/web-panel/assets/{index-BudvKQfG.js → index-B8i0lViZ.js} +1 -1
- package/src/assets/web-panel/assets/{index-BeGDEXFs.js → index-B9Svn0zc.js} +1 -1
- package/src/assets/web-panel/assets/{index-D5LZVZ0L.js → index-BHdHSX06.js} +1 -1
- package/src/assets/web-panel/assets/{index-BTPEZTk1.js → index-BHdailyo.js} +1 -1
- package/src/assets/web-panel/assets/{index-DIpY0qM5.js → index-BJwlEnYo.js} +1 -1
- package/src/assets/web-panel/assets/{index-CsAsCPJ6.js → index-BOoAQjJz.js} +1 -1
- package/src/assets/web-panel/assets/{index-ljuBiQW9.js → index-BSgWxAOG.js} +1 -1
- package/src/assets/web-panel/assets/{index-hpvvtAZ3.js → index-BdutMsne.js} +1 -1
- package/src/assets/web-panel/assets/{index-_FIkN3jd.js → index-BiDWxzbn.js} +1 -1
- package/src/assets/web-panel/assets/{index-C-6NO5il.js → index-By5a0T_W.js} +1 -1
- package/src/assets/web-panel/assets/{index-B78xL3s2.js → index-C-WIY-FQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-ClhAHDK3.js → index-C37f6iey.js} +1 -1
- package/src/assets/web-panel/assets/{index-ToUh2b1-.js → index-C9bWmTcO.js} +1 -1
- package/src/assets/web-panel/assets/{index-D28DeAAB.js → index-CBaosWRO.js} +1 -1
- package/src/assets/web-panel/assets/{index-D8vwp4qp.js → index-CBlBVJ_m.js} +1 -1
- package/src/assets/web-panel/assets/{index-BqhASEL4.js → index-CD62EEGo.js} +1 -1
- package/src/assets/web-panel/assets/{index-DDwLgQY9.js → index-CUj-l7GM.js} +1 -1
- package/src/assets/web-panel/assets/{index-DbVsQBOH.js → index-CVS8Ymuq.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cr-A0FYJ.js → index-ChkXUj3f.js} +1 -1
- package/src/assets/web-panel/assets/{index-D65_XseV.js → index-Cj0OZ-37.js} +1 -1
- package/src/assets/web-panel/assets/{index-BXRg8GFQ.js → index-Co3OFL0t.js} +1 -1
- package/src/assets/web-panel/assets/{index-430S68MN.js → index-Crp8CbRg.js} +1 -1
- package/src/assets/web-panel/assets/{index-CngCC8hC.js → index-D22zNXiS.js} +1 -1
- package/src/assets/web-panel/assets/{index-HhNjnCfe.js → index-DTs_D1OL.js} +1 -1
- package/src/assets/web-panel/assets/{index-CP9m9Ggr.js → index-DfgCdFrN.js} +3 -3
- package/src/assets/web-panel/assets/{index-jzR7Ujuw.js → index-DjYrecNb.js} +1 -1
- package/src/assets/web-panel/assets/{index-CTOCnIQ7.js → index-DpW9cf3e.js} +1 -1
- package/src/assets/web-panel/assets/index-Dwix3p4g.js +1 -0
- package/src/assets/web-panel/assets/{index-D_n8_vfI.js → index-F--HuPG1.js} +1 -1
- package/src/assets/web-panel/assets/{index-BasvsWDM.js → index-Fuk6t_3K.js} +1 -1
- package/src/assets/web-panel/assets/{index-CnXebZLL.js → index-JEAGMii9.js} +1 -1
- package/src/assets/web-panel/assets/{index-DYAtmqiv.js → index-PF-mpv8K.js} +1 -1
- package/src/assets/web-panel/assets/index-SHaoZ0CA.js +1 -0
- package/src/assets/web-panel/assets/{index-DTWg-18U.js → index-b-sbVdjQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-C5Sxb1sE.js → index-pyvMVX8r.js} +1 -1
- package/src/assets/web-panel/assets/{index-TslMTwNy.js → index-qNTtOVi_.js} +1 -1
- package/src/assets/web-panel/assets/{index-DTtRscUa.js → index-tgO8iza6.js} +1 -1
- package/src/assets/web-panel/assets/{index-DbADHwhr.js → index-ttDQVhZy.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-C3wUb4je.js → initDefaultProps-DtrnfsZH.js} +1 -1
- package/src/assets/web-panel/assets/{motion-D-jYFUNA.js → motion-D4zqSaX3.js} +1 -1
- package/src/assets/web-panel/assets/{move-tqb8nwJ2.js → move-CGFGOUQj.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-DSOjMJMz.js → mtc-parser-DH2HvkJl.js} +1 -1
- package/src/assets/web-panel/assets/{omit-CJ7VimIW.js → omit-jJ2at5HX.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-qXiG1iT3.js → pickAttrs-CRyMT1Fv.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-CkGBcy1Z.js → placementArrow-DZ_CX0Pt.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-D3WvTlLO.js → responsiveObserve-wruHk-h5.js} +1 -1
- package/src/assets/web-panel/assets/{slide-BEE2ftge.js → slide-BGgx8q67.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-CsfBpxiG.js → statusUtils-Do5M7gKm.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-xPrIiJPI.js → styleChecker-CRa-GZpX.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-C5Yd-SCR.js → useFlexGapSupport-BxPcq6pj.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-D_MDS8HI.js → useFs-v5O2ZcJm.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-BqJh-usA.js → usePersonalDataHub--z2FU0Px.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-chm_p-gz.js → vnode-1emidVKd.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-3-YDNz0Z.js → zoom-CcJaRyHs.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/commands/a2a.js +19 -4
- package/src/commands/activitypub.js +20 -3
- package/src/commands/agent.js +27 -5
- package/src/commands/audit.js +40 -24
- package/src/commands/codeintel.js +68 -0
- package/src/commands/collab.js +15 -2
- package/src/commands/compliance.js +5 -0
- package/src/commands/config.js +4 -1
- package/src/commands/dao.js +86 -14
- package/src/commands/dev.js +2 -0
- package/src/commands/did.js +7 -1
- package/src/commands/dlp.js +23 -1
- package/src/commands/economy.js +29 -3
- package/src/commands/eval.js +7 -0
- package/src/commands/evomap.js +26 -0
- package/src/commands/governance.js +17 -3
- package/src/commands/hardening.js +18 -0
- package/src/commands/incentive.js +5 -0
- package/src/commands/init.js +46 -2
- package/src/commands/kg.js +4 -0
- package/src/commands/loop.js +6 -1
- package/src/commands/lowcode.js +15 -2
- package/src/commands/marketplace.js +40 -6
- package/src/commands/matrix.js +20 -1
- package/src/commands/memory.js +4 -1
- package/src/commands/mtc.js +7 -1
- package/src/commands/nostr.js +31 -4
- package/src/commands/note.js +7 -4
- package/src/commands/plugin.js +125 -5
- package/src/commands/pqc.js +5 -0
- package/src/commands/reputation.js +10 -1
- package/src/commands/scim.js +6 -0
- package/src/commands/session.js +32 -10
- package/src/commands/siem.js +11 -0
- package/src/commands/sla.js +18 -3
- package/src/commands/social.js +38 -5
- package/src/commands/sso.js +10 -2
- package/src/commands/stress.js +23 -4
- package/src/commands/team.js +9 -2
- package/src/commands/tech.js +2 -0
- package/src/commands/tenant.js +10 -1
- package/src/commands/terraform.js +6 -0
- package/src/commands/update.js +1 -1
- package/src/commands/zkp.js +20 -0
- package/src/gateways/ws/message-dispatcher.js +5 -2
- package/src/gateways/ws/remote-session-protocol.js +103 -42
- package/src/harness/jsonl-session-store.js +12 -5
- package/src/harness/plugin-manager.js +16 -4
- package/src/harness/remote-command-ledger.js +46 -15
- package/src/harness/worktree-isolator.js +16 -6
- package/src/lib/__tests__/logger.test.js +5 -2
- package/src/lib/a2a-protocol.js +25 -1
- package/src/lib/activitypub-bridge.js +61 -0
- package/src/lib/agent-core.js +2 -0
- package/src/lib/agent-economy.js +262 -29
- package/src/lib/agent-network.js +7 -1
- package/src/lib/agent-team/team-runner.js +25 -9
- package/src/lib/agent-team/team-worktree.js +36 -4
- package/src/lib/async-hook-supervisor.cjs +102 -16
- package/src/lib/audit-logger.js +7 -6
- package/src/lib/autonomous-developer.js +60 -0
- package/src/lib/chat-core.js +17 -4
- package/src/lib/collaboration-governance.js +56 -0
- package/src/lib/community-governance.js +68 -0
- package/src/lib/compliance-manager.js +63 -0
- package/src/lib/cross-chain.js +5 -0
- package/src/lib/dao-governance.js +151 -2
- package/src/lib/did-manager.js +23 -10
- package/src/lib/dlp-engine.js +70 -0
- package/src/lib/eval/runner.js +89 -1
- package/src/lib/eval/tasks.js +170 -0
- package/src/lib/eval/trend.js +16 -1
- package/src/lib/evolution-system.js +92 -0
- package/src/lib/evomap-federation.js +55 -0
- package/src/lib/evomap-governance.js +94 -0
- package/src/lib/fatal-handler.js +17 -1
- package/src/lib/hardening-manager.js +73 -0
- package/src/lib/hierarchical-memory.js +14 -8
- package/src/lib/knowledge-exporter.js +8 -2
- package/src/lib/knowledge-graph.js +79 -0
- package/src/lib/llm-providers.js +23 -14
- package/src/lib/logger.js +4 -1
- package/src/lib/lsp/__tests__/benchmark.test.js +88 -0
- package/src/lib/lsp/__tests__/lsp-client.test.js +11 -0
- package/src/lib/lsp/__tests__/lsp-manager.test.js +69 -0
- package/src/lib/lsp/benchmark.js +257 -0
- package/src/lib/lsp/lsp-client.js +30 -9
- package/src/lib/lsp/lsp-manager.js +54 -2
- package/src/lib/matrix-bridge.js +84 -0
- package/src/lib/memory-manager.js +5 -3
- package/src/lib/nostr-bridge.js +53 -0
- package/src/lib/permission-engine.js +22 -4
- package/src/lib/plugin-runtime/__tests__/remote-source.test.js +256 -0
- package/src/lib/plugin-runtime/install.js +9 -1
- package/src/lib/plugin-runtime/policy.js +9 -1
- package/src/lib/plugin-runtime/remote-source.js +240 -0
- package/src/lib/pqc-manager.js +64 -0
- package/src/lib/reputation-optimizer.js +101 -0
- package/src/lib/sandbox-egress-proxy.js +159 -59
- package/src/lib/sandbox-fs-policy.js +112 -0
- package/src/lib/sandbox-network-policy.js +18 -1
- package/src/lib/sandbox-v2.js +14 -14
- package/src/lib/scim-manager.js +36 -0
- package/src/lib/session-manager.js +5 -2
- package/src/lib/settings-hooks.cjs +1 -0
- package/src/lib/siem-exporter.js +45 -0
- package/src/lib/skill-loader.js +20 -2
- package/src/lib/skill-marketplace.js +83 -0
- package/src/lib/sla-manager.js +88 -0
- package/src/lib/social-manager.js +74 -0
- package/src/lib/stress-tester.js +65 -0
- package/src/lib/tech-learning-engine.js +75 -0
- package/src/lib/tenant-saas.js +107 -0
- package/src/lib/terraform-manager.js +67 -0
- package/src/lib/token-incentive.js +180 -29
- package/src/lib/wallet-manager.js +81 -35
- package/src/lib/zkp-engine.js +87 -0
- package/src/repl/agent-repl.js +17 -2
- package/src/runtime/__tests__/auto-pin.test.js +104 -0
- package/src/runtime/agent-core.js +241 -68
- package/src/runtime/auto-pin.js +117 -0
- package/src/runtime/headless-runner.js +35 -0
- package/src/assets/web-panel/assets/OrderTableRenderer-CRIFE2Tj.js +0 -1
- package/src/assets/web-panel/assets/Projects-CGcNIs_g.js +0 -1
- package/src/assets/web-panel/assets/devWarning-DxwmsL4j.js +0 -1
- package/src/assets/web-panel/assets/index-Cg2ldRfU.js +0 -1
- package/src/assets/web-panel/assets/index-Dwzo-dtJ.js +0 -1
package/src/commands/dlp.js
CHANGED
|
@@ -9,6 +9,7 @@ import { logger } from "../lib/logger.js";
|
|
|
9
9
|
import { bootstrap, shutdown } from "../runtime/bootstrap.js";
|
|
10
10
|
import {
|
|
11
11
|
ensureDLPTables,
|
|
12
|
+
loadFromDb as loadDlpFromDb,
|
|
12
13
|
scanContent,
|
|
13
14
|
listIncidents,
|
|
14
15
|
resolveIncident,
|
|
@@ -54,6 +55,7 @@ export function registerDlpCommand(program) {
|
|
|
54
55
|
}
|
|
55
56
|
const db = ctx.db.getDatabase();
|
|
56
57
|
ensureDLPTables(db);
|
|
58
|
+
loadDlpFromDb(db);
|
|
57
59
|
|
|
58
60
|
const result = scanContent(db, content, options.channel, options.user);
|
|
59
61
|
if (options.json) {
|
|
@@ -94,6 +96,7 @@ export function registerDlpCommand(program) {
|
|
|
94
96
|
}
|
|
95
97
|
const db = ctx.db.getDatabase();
|
|
96
98
|
ensureDLPTables(db);
|
|
99
|
+
loadDlpFromDb(db);
|
|
97
100
|
|
|
98
101
|
const incidents = listIncidents({
|
|
99
102
|
channel: options.channel,
|
|
@@ -135,6 +138,7 @@ export function registerDlpCommand(program) {
|
|
|
135
138
|
}
|
|
136
139
|
const db = ctx.db.getDatabase();
|
|
137
140
|
ensureDLPTables(db);
|
|
141
|
+
loadDlpFromDb(db);
|
|
138
142
|
|
|
139
143
|
const result = resolveIncident(db, incidentId, options.resolution);
|
|
140
144
|
logger.success(
|
|
@@ -162,6 +166,7 @@ export function registerDlpCommand(program) {
|
|
|
162
166
|
}
|
|
163
167
|
const db = ctx.db.getDatabase();
|
|
164
168
|
ensureDLPTables(db);
|
|
169
|
+
loadDlpFromDb(db);
|
|
165
170
|
|
|
166
171
|
const stats = getDLPStats();
|
|
167
172
|
if (options.json) {
|
|
@@ -206,6 +211,7 @@ export function registerDlpCommand(program) {
|
|
|
206
211
|
}
|
|
207
212
|
const db = ctx.db.getDatabase();
|
|
208
213
|
ensureDLPTables(db);
|
|
214
|
+
loadDlpFromDb(db);
|
|
209
215
|
|
|
210
216
|
const patterns = options.patterns
|
|
211
217
|
? options.patterns.split(",").map((s) => s.trim())
|
|
@@ -247,6 +253,7 @@ export function registerDlpCommand(program) {
|
|
|
247
253
|
}
|
|
248
254
|
const db = ctx.db.getDatabase();
|
|
249
255
|
ensureDLPTables(db);
|
|
256
|
+
loadDlpFromDb(db);
|
|
250
257
|
|
|
251
258
|
const policies = listDLPPolicies();
|
|
252
259
|
if (options.json) {
|
|
@@ -280,6 +287,7 @@ export function registerDlpCommand(program) {
|
|
|
280
287
|
}
|
|
281
288
|
const db = ctx.db.getDatabase();
|
|
282
289
|
ensureDLPTables(db);
|
|
290
|
+
loadDlpFromDb(db);
|
|
283
291
|
|
|
284
292
|
deletePolicy(db, policyId);
|
|
285
293
|
logger.success(`Policy ${chalk.cyan(policyId.slice(0, 8))} deleted`);
|
|
@@ -346,6 +354,7 @@ export function registerDlpCommand(program) {
|
|
|
346
354
|
}
|
|
347
355
|
const db = ctx.db.getDatabase();
|
|
348
356
|
ensureDLPTables(db);
|
|
357
|
+
loadDlpFromDb(db);
|
|
349
358
|
|
|
350
359
|
const result = createPolicyV2(db, {
|
|
351
360
|
name,
|
|
@@ -392,6 +401,7 @@ export function registerDlpCommand(program) {
|
|
|
392
401
|
}
|
|
393
402
|
const db = ctx.db.getDatabase();
|
|
394
403
|
ensureDLPTables(db);
|
|
404
|
+
loadDlpFromDb(db);
|
|
395
405
|
|
|
396
406
|
console.log(JSON.stringify(getPolicyV2(policyId), null, 2));
|
|
397
407
|
|
|
@@ -414,6 +424,7 @@ export function registerDlpCommand(program) {
|
|
|
414
424
|
}
|
|
415
425
|
const db = ctx.db.getDatabase();
|
|
416
426
|
ensureDLPTables(db);
|
|
427
|
+
loadDlpFromDb(db);
|
|
417
428
|
|
|
418
429
|
console.log(
|
|
419
430
|
JSON.stringify(listActivePoliciesForChannel(channel), null, 2),
|
|
@@ -450,6 +461,7 @@ export function registerDlpCommand(program) {
|
|
|
450
461
|
}
|
|
451
462
|
const db = ctx.db.getDatabase();
|
|
452
463
|
ensureDLPTables(db);
|
|
464
|
+
loadDlpFromDb(db);
|
|
453
465
|
|
|
454
466
|
const installed = installBuiltinPolicies(
|
|
455
467
|
db,
|
|
@@ -481,6 +493,7 @@ export function registerDlpCommand(program) {
|
|
|
481
493
|
}
|
|
482
494
|
const db = ctx.db.getDatabase();
|
|
483
495
|
ensureDLPTables(db);
|
|
496
|
+
loadDlpFromDb(db);
|
|
484
497
|
|
|
485
498
|
let metadata = {};
|
|
486
499
|
try {
|
|
@@ -528,6 +541,7 @@ export function registerDlpCommand(program) {
|
|
|
528
541
|
}
|
|
529
542
|
const db = ctx.db.getDatabase();
|
|
530
543
|
ensureDLPTables(db);
|
|
544
|
+
loadDlpFromDb(db);
|
|
531
545
|
|
|
532
546
|
const filter = {};
|
|
533
547
|
if (options.channel) filter.channel = options.channel;
|
|
@@ -538,7 +552,12 @@ export function registerDlpCommand(program) {
|
|
|
538
552
|
if (options.policy) filter.policyId = options.policy;
|
|
539
553
|
if (options.from) filter.fromDate = options.from;
|
|
540
554
|
if (options.to) filter.toDate = options.to;
|
|
541
|
-
filter.limit = numericOption(options.limit, {
|
|
555
|
+
filter.limit = numericOption(options.limit, {
|
|
556
|
+
name: "--limit",
|
|
557
|
+
integer: true,
|
|
558
|
+
min: 1,
|
|
559
|
+
fallback: 50,
|
|
560
|
+
});
|
|
542
561
|
console.log(JSON.stringify(listIncidentsV2(filter), null, 2));
|
|
543
562
|
|
|
544
563
|
await shutdown();
|
|
@@ -560,6 +579,7 @@ export function registerDlpCommand(program) {
|
|
|
560
579
|
}
|
|
561
580
|
const db = ctx.db.getDatabase();
|
|
562
581
|
ensureDLPTables(db);
|
|
582
|
+
loadDlpFromDb(db);
|
|
563
583
|
|
|
564
584
|
console.log(JSON.stringify(getIncidentV2(incidentId), null, 2));
|
|
565
585
|
|
|
@@ -584,6 +604,7 @@ export function registerDlpCommand(program) {
|
|
|
584
604
|
}
|
|
585
605
|
const db = ctx.db.getDatabase();
|
|
586
606
|
ensureDLPTables(db);
|
|
607
|
+
loadDlpFromDb(db);
|
|
587
608
|
|
|
588
609
|
console.log(JSON.stringify(getDLPStatsV2(), null, 2));
|
|
589
610
|
|
|
@@ -606,6 +627,7 @@ export function registerDlpCommand(program) {
|
|
|
606
627
|
}
|
|
607
628
|
const db = ctx.db.getDatabase();
|
|
608
629
|
ensureDLPTables(db);
|
|
630
|
+
loadDlpFromDb(db);
|
|
609
631
|
|
|
610
632
|
console.log(
|
|
611
633
|
JSON.stringify({ highestSeverity: getHighestUnresolvedSeverity() }),
|
package/src/commands/economy.js
CHANGED
|
@@ -11,6 +11,7 @@ import { parseJsonOption } from "../lib/parse-json-option.js";
|
|
|
11
11
|
import { bootstrap, shutdown } from "../runtime/bootstrap.js";
|
|
12
12
|
import {
|
|
13
13
|
ensureEconomyTables,
|
|
14
|
+
loadFromDb as loadEconomyFromDb,
|
|
14
15
|
priceService,
|
|
15
16
|
getServicePrice,
|
|
16
17
|
pay,
|
|
@@ -69,6 +70,7 @@ export function registerEconomyCommand(program) {
|
|
|
69
70
|
}
|
|
70
71
|
const db = ctx.db.getDatabase();
|
|
71
72
|
ensureEconomyTables(db);
|
|
73
|
+
loadEconomyFromDb(db);
|
|
72
74
|
|
|
73
75
|
const result = priceService(db, serviceId, parseFloat(price), {});
|
|
74
76
|
logger.success(
|
|
@@ -96,6 +98,7 @@ export function registerEconomyCommand(program) {
|
|
|
96
98
|
}
|
|
97
99
|
const db = ctx.db.getDatabase();
|
|
98
100
|
ensureEconomyTables(db);
|
|
101
|
+
loadEconomyFromDb(db);
|
|
99
102
|
|
|
100
103
|
const result = pay(
|
|
101
104
|
db,
|
|
@@ -132,6 +135,7 @@ export function registerEconomyCommand(program) {
|
|
|
132
135
|
}
|
|
133
136
|
const db = ctx.db.getDatabase();
|
|
134
137
|
ensureEconomyTables(db);
|
|
138
|
+
loadEconomyFromDb(db);
|
|
135
139
|
|
|
136
140
|
const bal = getBalance(agentId);
|
|
137
141
|
if (options.json) {
|
|
@@ -167,8 +171,14 @@ export function registerEconomyCommand(program) {
|
|
|
167
171
|
}
|
|
168
172
|
const db = ctx.db.getDatabase();
|
|
169
173
|
ensureEconomyTables(db);
|
|
174
|
+
loadEconomyFromDb(db);
|
|
170
175
|
|
|
171
|
-
const ch = openChannel(
|
|
176
|
+
const ch = openChannel(
|
|
177
|
+
db,
|
|
178
|
+
partyA,
|
|
179
|
+
partyB,
|
|
180
|
+
numericOption(options.deposit, { name: "--deposit", min: 0 }),
|
|
181
|
+
);
|
|
172
182
|
logger.success("Channel opened");
|
|
173
183
|
logger.log(` ${chalk.bold("ID:")} ${chalk.cyan(ch.id)}`);
|
|
174
184
|
logger.log(` ${chalk.bold("Party A:")} ${ch.partyA} (${ch.balanceA})`);
|
|
@@ -193,6 +203,7 @@ export function registerEconomyCommand(program) {
|
|
|
193
203
|
}
|
|
194
204
|
const db = ctx.db.getDatabase();
|
|
195
205
|
ensureEconomyTables(db);
|
|
206
|
+
loadEconomyFromDb(db);
|
|
196
207
|
|
|
197
208
|
const ch = closeChannel(db, channelId);
|
|
198
209
|
logger.success("Channel closed and settled");
|
|
@@ -221,6 +232,7 @@ export function registerEconomyCommand(program) {
|
|
|
221
232
|
}
|
|
222
233
|
const db = ctx.db.getDatabase();
|
|
223
234
|
ensureEconomyTables(db);
|
|
235
|
+
loadEconomyFromDb(db);
|
|
224
236
|
|
|
225
237
|
const listing = listResource(
|
|
226
238
|
db,
|
|
@@ -258,6 +270,7 @@ export function registerEconomyCommand(program) {
|
|
|
258
270
|
}
|
|
259
271
|
const db = ctx.db.getDatabase();
|
|
260
272
|
ensureEconomyTables(db);
|
|
273
|
+
loadEconomyFromDb(db);
|
|
261
274
|
|
|
262
275
|
const filter = options.type ? { type: options.type } : undefined;
|
|
263
276
|
const listings = getMarketListings(filter);
|
|
@@ -296,8 +309,14 @@ export function registerEconomyCommand(program) {
|
|
|
296
309
|
}
|
|
297
310
|
const db = ctx.db.getDatabase();
|
|
298
311
|
ensureEconomyTables(db);
|
|
312
|
+
loadEconomyFromDb(db);
|
|
299
313
|
|
|
300
|
-
const result = tradeResource(
|
|
314
|
+
const result = tradeResource(
|
|
315
|
+
db,
|
|
316
|
+
listingId,
|
|
317
|
+
buyer,
|
|
318
|
+
parseFloat(quantity),
|
|
319
|
+
);
|
|
301
320
|
logger.success("Trade complete");
|
|
302
321
|
logger.log(` ${chalk.bold("Cost:")} ${result.cost}`);
|
|
303
322
|
logger.log(` ${chalk.bold("Quantity:")} ${result.quantity}`);
|
|
@@ -326,6 +345,7 @@ export function registerEconomyCommand(program) {
|
|
|
326
345
|
}
|
|
327
346
|
const db = ctx.db.getDatabase();
|
|
328
347
|
ensureEconomyTables(db);
|
|
348
|
+
loadEconomyFromDb(db);
|
|
329
349
|
|
|
330
350
|
const metadata = parseJsonOption(options.metadata, "--metadata", {});
|
|
331
351
|
const nftObj = mintNFT(db, owner, type, metadata);
|
|
@@ -354,6 +374,7 @@ export function registerEconomyCommand(program) {
|
|
|
354
374
|
}
|
|
355
375
|
const db = ctx.db.getDatabase();
|
|
356
376
|
ensureEconomyTables(db);
|
|
377
|
+
loadEconomyFromDb(db);
|
|
357
378
|
|
|
358
379
|
const ids = agentIds.split(",").map((s) => s.trim());
|
|
359
380
|
const results = distributeRevenue(db, parseFloat(pool), ids);
|
|
@@ -386,6 +407,7 @@ export function registerEconomyCommand(program) {
|
|
|
386
407
|
}
|
|
387
408
|
const db = ctx.db.getDatabase();
|
|
388
409
|
ensureEconomyTables(db);
|
|
410
|
+
loadEconomyFromDb(db);
|
|
389
411
|
|
|
390
412
|
const c = recordContribution(db, agentId, type, parseFloat(value), "");
|
|
391
413
|
logger.success("Contribution recorded");
|
|
@@ -504,7 +526,11 @@ export function registerEconomyCommand(program) {
|
|
|
504
526
|
.argument("<to>", "To agent ID")
|
|
505
527
|
.argument("<service-id>", "Service ID")
|
|
506
528
|
.option("--tokens <n>", "Token count (for per_token)", intArg("--tokens"))
|
|
507
|
-
.option(
|
|
529
|
+
.option(
|
|
530
|
+
"--minutes <n>",
|
|
531
|
+
"Minute count (for per_minute)",
|
|
532
|
+
floatArg("--minutes"),
|
|
533
|
+
)
|
|
508
534
|
.option("--calls <n>", "Call count (for per_call)", intArg("--calls"))
|
|
509
535
|
.option("--json", "Output as JSON")
|
|
510
536
|
.action(async (from, to, serviceId, options) => {
|
package/src/commands/eval.js
CHANGED
|
@@ -218,6 +218,7 @@ export function registerEvalCommand(program, { logger } = {}) {
|
|
|
218
218
|
passed: summary.passed,
|
|
219
219
|
total: summary.total,
|
|
220
220
|
passRate: summary.passRate,
|
|
221
|
+
unrelatedChangeRate: summary.unrelatedChangeRate,
|
|
221
222
|
results: (summary.results || []).map((r) => ({
|
|
222
223
|
id: r.id,
|
|
223
224
|
pass: r.pass,
|
|
@@ -237,6 +238,12 @@ export function registerEvalCommand(program, { logger } = {}) {
|
|
|
237
238
|
(log.log || console.log)(
|
|
238
239
|
`\nEval: ${summary.passed}/${summary.total} passed (${pct}%) in ${summary.ms}ms`,
|
|
239
240
|
);
|
|
241
|
+
if (typeof summary.unrelatedChangeRate === "number") {
|
|
242
|
+
const upct = (summary.unrelatedChangeRate * 100).toFixed(1);
|
|
243
|
+
(log.log || console.log)(
|
|
244
|
+
`Unrelated-change rate: ${upct}% (${summary.tasksWithUnrelatedChanges} task(s) edited files outside their expected surface)`,
|
|
245
|
+
);
|
|
246
|
+
}
|
|
240
247
|
if (summary.telemetry) {
|
|
241
248
|
(log.log || console.log)("\n" + formatTelemetry(summary.telemetry));
|
|
242
249
|
}
|
package/src/commands/evomap.js
CHANGED
|
@@ -11,6 +11,7 @@ import { EvoMapClient } from "../lib/evomap-client.js";
|
|
|
11
11
|
import { EvoMapManager } from "../lib/evomap-manager.js";
|
|
12
12
|
import {
|
|
13
13
|
ensureEvoMapFederationTables,
|
|
14
|
+
loadFromDb as loadFedFromDb,
|
|
14
15
|
listFederatedHubs,
|
|
15
16
|
addFederatedHub,
|
|
16
17
|
syncGenes,
|
|
@@ -28,6 +29,7 @@ import {
|
|
|
28
29
|
} from "../lib/evomap-federation.js";
|
|
29
30
|
import {
|
|
30
31
|
ensureEvoMapGovernanceTables,
|
|
32
|
+
loadFromDb as loadGovFromDb,
|
|
31
33
|
registerOwnership,
|
|
32
34
|
traceOwnership,
|
|
33
35
|
createGovernanceProposal,
|
|
@@ -221,6 +223,7 @@ export function registerEvoMapCommand(program) {
|
|
|
221
223
|
}
|
|
222
224
|
const db = ctx.db.getDatabase();
|
|
223
225
|
ensureEvoMapFederationTables(db);
|
|
226
|
+
loadFedFromDb(db);
|
|
224
227
|
|
|
225
228
|
const hubs = listFederatedHubs(db, {
|
|
226
229
|
status: options.status,
|
|
@@ -261,6 +264,7 @@ export function registerEvoMapCommand(program) {
|
|
|
261
264
|
}
|
|
262
265
|
const db = ctx.db.getDatabase();
|
|
263
266
|
ensureEvoMapFederationTables(db);
|
|
267
|
+
loadFedFromDb(db);
|
|
264
268
|
|
|
265
269
|
const hub = addFederatedHub(db, url, options.name, options.region);
|
|
266
270
|
logger.success("Hub added");
|
|
@@ -288,6 +292,7 @@ export function registerEvoMapCommand(program) {
|
|
|
288
292
|
}
|
|
289
293
|
const db = ctx.db.getDatabase();
|
|
290
294
|
ensureEvoMapFederationTables(db);
|
|
295
|
+
loadFedFromDb(db);
|
|
291
296
|
|
|
292
297
|
const geneIds = options.geneIds
|
|
293
298
|
? options.geneIds.split(",").map((s) => s.trim())
|
|
@@ -317,6 +322,7 @@ export function registerEvoMapCommand(program) {
|
|
|
317
322
|
}
|
|
318
323
|
const db = ctx.db.getDatabase();
|
|
319
324
|
ensureEvoMapFederationTables(db);
|
|
325
|
+
loadFedFromDb(db);
|
|
320
326
|
|
|
321
327
|
const report = getPressureReport();
|
|
322
328
|
if (options.json) {
|
|
@@ -354,6 +360,7 @@ export function registerEvoMapCommand(program) {
|
|
|
354
360
|
}
|
|
355
361
|
const db = ctx.db.getDatabase();
|
|
356
362
|
ensureEvoMapFederationTables(db);
|
|
363
|
+
loadFedFromDb(db);
|
|
357
364
|
|
|
358
365
|
const entry = recombineGenes(db, geneId1, geneId2);
|
|
359
366
|
logger.success("Genes recombined");
|
|
@@ -389,6 +396,7 @@ export function registerEvoMapCommand(program) {
|
|
|
389
396
|
}
|
|
390
397
|
const db = ctx.db.getDatabase();
|
|
391
398
|
ensureEvoMapFederationTables(db);
|
|
399
|
+
loadFedFromDb(db);
|
|
392
400
|
|
|
393
401
|
const entries = getLineage(geneId);
|
|
394
402
|
if (options.json) {
|
|
@@ -428,6 +436,7 @@ export function registerEvoMapCommand(program) {
|
|
|
428
436
|
}
|
|
429
437
|
const db = ctx.db.getDatabase();
|
|
430
438
|
ensureEvoMapGovernanceTables(db);
|
|
439
|
+
loadGovFromDb(db);
|
|
431
440
|
|
|
432
441
|
const result = registerOwnership(db, geneId, ownerDid);
|
|
433
442
|
logger.success("Ownership registered");
|
|
@@ -455,6 +464,7 @@ export function registerEvoMapCommand(program) {
|
|
|
455
464
|
}
|
|
456
465
|
const db = ctx.db.getDatabase();
|
|
457
466
|
ensureEvoMapGovernanceTables(db);
|
|
467
|
+
loadGovFromDb(db);
|
|
458
468
|
|
|
459
469
|
const result = traceOwnership(geneId);
|
|
460
470
|
if (options.json) {
|
|
@@ -490,6 +500,7 @@ export function registerEvoMapCommand(program) {
|
|
|
490
500
|
}
|
|
491
501
|
const db = ctx.db.getDatabase();
|
|
492
502
|
ensureEvoMapGovernanceTables(db);
|
|
503
|
+
loadGovFromDb(db);
|
|
493
504
|
|
|
494
505
|
const result = createGovernanceProposal(
|
|
495
506
|
db,
|
|
@@ -522,6 +533,7 @@ export function registerEvoMapCommand(program) {
|
|
|
522
533
|
}
|
|
523
534
|
const db = ctx.db.getDatabase();
|
|
524
535
|
ensureEvoMapGovernanceTables(db);
|
|
536
|
+
loadGovFromDb(db);
|
|
525
537
|
|
|
526
538
|
const result = voteOnGovernanceProposal(
|
|
527
539
|
db,
|
|
@@ -555,6 +567,7 @@ export function registerEvoMapCommand(program) {
|
|
|
555
567
|
}
|
|
556
568
|
const db = ctx.db.getDatabase();
|
|
557
569
|
ensureEvoMapGovernanceTables(db);
|
|
570
|
+
loadGovFromDb(db);
|
|
558
571
|
|
|
559
572
|
const result = getGovernanceDashboard();
|
|
560
573
|
if (options.json) {
|
|
@@ -626,6 +639,7 @@ export function registerEvoMapCommand(program) {
|
|
|
626
639
|
}
|
|
627
640
|
const db = ctx.db.getDatabase();
|
|
628
641
|
ensureEvoMapFederationTables(db);
|
|
642
|
+
loadFedFromDb(db);
|
|
629
643
|
console.log(JSON.stringify(setHubStatus(db, hubId, status), null, 2));
|
|
630
644
|
await shutdown();
|
|
631
645
|
} catch (err) {
|
|
@@ -650,6 +664,7 @@ export function registerEvoMapCommand(program) {
|
|
|
650
664
|
}
|
|
651
665
|
const db = ctx.db.getDatabase();
|
|
652
666
|
ensureEvoMapFederationTables(db);
|
|
667
|
+
loadFedFromDb(db);
|
|
653
668
|
const hubs = listHubsV2(db, {
|
|
654
669
|
status: options.status,
|
|
655
670
|
region: options.region,
|
|
@@ -676,6 +691,7 @@ export function registerEvoMapCommand(program) {
|
|
|
676
691
|
}
|
|
677
692
|
const db = ctx.db.getDatabase();
|
|
678
693
|
ensureEvoMapFederationTables(db);
|
|
694
|
+
loadFedFromDb(db);
|
|
679
695
|
console.log(JSON.stringify(buildFederationContext(), null, 2));
|
|
680
696
|
await shutdown();
|
|
681
697
|
} catch (err) {
|
|
@@ -696,6 +712,7 @@ export function registerEvoMapCommand(program) {
|
|
|
696
712
|
}
|
|
697
713
|
const db = ctx.db.getDatabase();
|
|
698
714
|
ensureEvoMapFederationTables(db);
|
|
715
|
+
loadFedFromDb(db);
|
|
699
716
|
console.log(JSON.stringify(getFederationStatsV2(), null, 2));
|
|
700
717
|
await shutdown();
|
|
701
718
|
} catch (err) {
|
|
@@ -748,6 +765,7 @@ export function registerEvoMapCommand(program) {
|
|
|
748
765
|
}
|
|
749
766
|
const db = ctx.db.getDatabase();
|
|
750
767
|
ensureEvoMapGovernanceTables(db);
|
|
768
|
+
loadGovFromDb(db);
|
|
751
769
|
const p = createGovernanceProposalV2(db, {
|
|
752
770
|
title: options.title,
|
|
753
771
|
description: options.description,
|
|
@@ -781,6 +799,7 @@ export function registerEvoMapCommand(program) {
|
|
|
781
799
|
}
|
|
782
800
|
const db = ctx.db.getDatabase();
|
|
783
801
|
ensureEvoMapGovernanceTables(db);
|
|
802
|
+
loadGovFromDb(db);
|
|
784
803
|
const r = castVoteV2(db, {
|
|
785
804
|
proposalId,
|
|
786
805
|
voterDid: options.voter,
|
|
@@ -807,6 +826,7 @@ export function registerEvoMapCommand(program) {
|
|
|
807
826
|
}
|
|
808
827
|
const db = ctx.db.getDatabase();
|
|
809
828
|
ensureEvoMapGovernanceTables(db);
|
|
829
|
+
loadGovFromDb(db);
|
|
810
830
|
console.log(
|
|
811
831
|
JSON.stringify(setProposalStatus(db, proposalId, status), null, 2),
|
|
812
832
|
);
|
|
@@ -829,6 +849,7 @@ export function registerEvoMapCommand(program) {
|
|
|
829
849
|
}
|
|
830
850
|
const db = ctx.db.getDatabase();
|
|
831
851
|
ensureEvoMapGovernanceTables(db);
|
|
852
|
+
loadGovFromDb(db);
|
|
832
853
|
console.log(JSON.stringify(executeProposal(db, proposalId), null, 2));
|
|
833
854
|
await shutdown();
|
|
834
855
|
} catch (err) {
|
|
@@ -849,6 +870,7 @@ export function registerEvoMapCommand(program) {
|
|
|
849
870
|
}
|
|
850
871
|
const db = ctx.db.getDatabase();
|
|
851
872
|
ensureEvoMapGovernanceTables(db);
|
|
873
|
+
loadGovFromDb(db);
|
|
852
874
|
console.log(JSON.stringify(cancelProposal(db, proposalId), null, 2));
|
|
853
875
|
await shutdown();
|
|
854
876
|
} catch (err) {
|
|
@@ -869,6 +891,7 @@ export function registerEvoMapCommand(program) {
|
|
|
869
891
|
}
|
|
870
892
|
const db = ctx.db.getDatabase();
|
|
871
893
|
ensureEvoMapGovernanceTables(db);
|
|
894
|
+
loadGovFromDb(db);
|
|
872
895
|
console.log(JSON.stringify(expireProposalsV2(db), null, 2));
|
|
873
896
|
await shutdown();
|
|
874
897
|
} catch (err) {
|
|
@@ -892,6 +915,7 @@ export function registerEvoMapCommand(program) {
|
|
|
892
915
|
}
|
|
893
916
|
const db = ctx.db.getDatabase();
|
|
894
917
|
ensureEvoMapGovernanceTables(db);
|
|
918
|
+
loadGovFromDb(db);
|
|
895
919
|
console.log(
|
|
896
920
|
JSON.stringify(
|
|
897
921
|
listProposalsV2(db, {
|
|
@@ -922,6 +946,7 @@ export function registerEvoMapCommand(program) {
|
|
|
922
946
|
}
|
|
923
947
|
const db = ctx.db.getDatabase();
|
|
924
948
|
ensureEvoMapGovernanceTables(db);
|
|
949
|
+
loadGovFromDb(db);
|
|
925
950
|
console.log(JSON.stringify(traceContributions(geneId), null, 2));
|
|
926
951
|
await shutdown();
|
|
927
952
|
} catch (err) {
|
|
@@ -942,6 +967,7 @@ export function registerEvoMapCommand(program) {
|
|
|
942
967
|
}
|
|
943
968
|
const db = ctx.db.getDatabase();
|
|
944
969
|
ensureEvoMapGovernanceTables(db);
|
|
970
|
+
loadGovFromDb(db);
|
|
945
971
|
console.log(JSON.stringify(getGovernanceStatsV2(), null, 2));
|
|
946
972
|
await shutdown();
|
|
947
973
|
} catch (err) {
|
|
@@ -12,6 +12,7 @@ import { parseJsonOption } from "../lib/parse-json-option.js";
|
|
|
12
12
|
import { bootstrap, shutdown } from "../runtime/bootstrap.js";
|
|
13
13
|
import {
|
|
14
14
|
ensureGovernanceTables,
|
|
15
|
+
loadFromDb,
|
|
15
16
|
listProposalTypes,
|
|
16
17
|
listProposalStatuses,
|
|
17
18
|
listImpactLevels,
|
|
@@ -68,6 +69,7 @@ function _dbFromCtx(ctx) {
|
|
|
68
69
|
}
|
|
69
70
|
const db = ctx.db.getDatabase();
|
|
70
71
|
ensureGovernanceTables(db);
|
|
72
|
+
loadFromDb(db);
|
|
71
73
|
return db;
|
|
72
74
|
}
|
|
73
75
|
|
|
@@ -292,7 +294,11 @@ export function registerGovernanceCommand(program) {
|
|
|
292
294
|
.command("close <proposal-id>")
|
|
293
295
|
.description("Close voting — auto-resolves to passed/rejected")
|
|
294
296
|
.option("-q, --quorum <n>", "Quorum threshold (0-1)", floatArg("--quorum"))
|
|
295
|
-
.option(
|
|
297
|
+
.option(
|
|
298
|
+
"-t, --threshold <n>",
|
|
299
|
+
"Pass threshold (0-1)",
|
|
300
|
+
floatArg("--threshold"),
|
|
301
|
+
)
|
|
296
302
|
.option(
|
|
297
303
|
"-n, --total-voters <n>",
|
|
298
304
|
"Total eligible voters (for quorum)",
|
|
@@ -404,8 +410,16 @@ export function registerGovernanceCommand(program) {
|
|
|
404
410
|
.command("tally <proposal-id>")
|
|
405
411
|
.description("Show vote tally with quorum/threshold check")
|
|
406
412
|
.option("-q, --quorum <n>", "Quorum threshold (0-1)", floatArg("--quorum"))
|
|
407
|
-
.option(
|
|
408
|
-
|
|
413
|
+
.option(
|
|
414
|
+
"-t, --threshold <n>",
|
|
415
|
+
"Pass threshold (0-1)",
|
|
416
|
+
floatArg("--threshold"),
|
|
417
|
+
)
|
|
418
|
+
.option(
|
|
419
|
+
"-n, --total-voters <n>",
|
|
420
|
+
"Total eligible voters",
|
|
421
|
+
intArg("--total-voters"),
|
|
422
|
+
)
|
|
409
423
|
.option("--json", "Output as JSON")
|
|
410
424
|
.action(async (proposalId, options) => {
|
|
411
425
|
try {
|
|
@@ -10,6 +10,7 @@ import { parseJsonOption } from "../lib/parse-json-option.js";
|
|
|
10
10
|
import { bootstrap, shutdown } from "../runtime/bootstrap.js";
|
|
11
11
|
import {
|
|
12
12
|
ensureHardeningTables,
|
|
13
|
+
loadFromDb,
|
|
13
14
|
collectBaseline,
|
|
14
15
|
compareBaseline,
|
|
15
16
|
listBaselines,
|
|
@@ -71,6 +72,7 @@ export function registerHardeningCommand(program) {
|
|
|
71
72
|
}
|
|
72
73
|
const db = ctx.db.getDatabase();
|
|
73
74
|
ensureHardeningTables(db);
|
|
75
|
+
loadFromDb(db);
|
|
74
76
|
|
|
75
77
|
const result = collectBaseline(db, name, options.version);
|
|
76
78
|
logger.success("Baseline collected");
|
|
@@ -99,6 +101,7 @@ export function registerHardeningCommand(program) {
|
|
|
99
101
|
}
|
|
100
102
|
const db = ctx.db.getDatabase();
|
|
101
103
|
ensureHardeningTables(db);
|
|
104
|
+
loadFromDb(db);
|
|
102
105
|
|
|
103
106
|
const result = compareBaseline(baselineId, options.current);
|
|
104
107
|
if (options.json) {
|
|
@@ -134,6 +137,7 @@ export function registerHardeningCommand(program) {
|
|
|
134
137
|
}
|
|
135
138
|
const db = ctx.db.getDatabase();
|
|
136
139
|
ensureHardeningTables(db);
|
|
140
|
+
loadFromDb(db);
|
|
137
141
|
|
|
138
142
|
const baselines = listBaselines();
|
|
139
143
|
if (options.json) {
|
|
@@ -171,6 +175,7 @@ export function registerHardeningCommand(program) {
|
|
|
171
175
|
}
|
|
172
176
|
const db = ctx.db.getDatabase();
|
|
173
177
|
ensureHardeningTables(db);
|
|
178
|
+
loadFromDb(db);
|
|
174
179
|
|
|
175
180
|
const result = runAudit(db, name);
|
|
176
181
|
logger.success(`Audit complete: score ${result.score}%`);
|
|
@@ -204,6 +209,7 @@ export function registerHardeningCommand(program) {
|
|
|
204
209
|
}
|
|
205
210
|
const db = ctx.db.getDatabase();
|
|
206
211
|
ensureHardeningTables(db);
|
|
212
|
+
loadFromDb(db);
|
|
207
213
|
|
|
208
214
|
const reports = getAuditReports();
|
|
209
215
|
if (options.json) {
|
|
@@ -247,6 +253,7 @@ export function registerHardeningCommand(program) {
|
|
|
247
253
|
}
|
|
248
254
|
const db = ctx.db.getDatabase();
|
|
249
255
|
ensureHardeningTables(db);
|
|
256
|
+
loadFromDb(db);
|
|
250
257
|
|
|
251
258
|
const requiredKeys = options.required
|
|
252
259
|
? options.required
|
|
@@ -305,6 +312,7 @@ export function registerHardeningCommand(program) {
|
|
|
305
312
|
}
|
|
306
313
|
const db = ctx.db.getDatabase();
|
|
307
314
|
ensureHardeningTables(db);
|
|
315
|
+
loadFromDb(db);
|
|
308
316
|
|
|
309
317
|
const result = deployCheck();
|
|
310
318
|
if (options.json) {
|
|
@@ -345,6 +353,7 @@ export function registerHardeningCommand(program) {
|
|
|
345
353
|
}
|
|
346
354
|
const db = ctx.db.getDatabase();
|
|
347
355
|
ensureHardeningTables(db);
|
|
356
|
+
loadFromDb(db);
|
|
348
357
|
|
|
349
358
|
const report = getAuditReport(auditId);
|
|
350
359
|
if (options.json) {
|
|
@@ -520,6 +529,7 @@ export function registerHardeningCommand(program) {
|
|
|
520
529
|
try {
|
|
521
530
|
const { db } = await bootstrap();
|
|
522
531
|
ensureHardeningTables(db);
|
|
532
|
+
loadFromDb(db);
|
|
523
533
|
const metadata = parseJsonOption(opts.metadata, "--metadata");
|
|
524
534
|
const r = registerAuditV2(db, {
|
|
525
535
|
name,
|
|
@@ -544,6 +554,7 @@ export function registerHardeningCommand(program) {
|
|
|
544
554
|
try {
|
|
545
555
|
const { db } = await bootstrap();
|
|
546
556
|
ensureHardeningTables(db);
|
|
557
|
+
loadFromDb(db);
|
|
547
558
|
const r = startAudit(db, auditId);
|
|
548
559
|
if (opts.json) console.log(JSON.stringify(r, null, 2));
|
|
549
560
|
else console.log(`${auditId} → ${r.status}`);
|
|
@@ -565,6 +576,7 @@ export function registerHardeningCommand(program) {
|
|
|
565
576
|
try {
|
|
566
577
|
const { db } = await bootstrap();
|
|
567
578
|
ensureHardeningTables(db);
|
|
579
|
+
loadFromDb(db);
|
|
568
580
|
const warningThreshold = opts.warningThreshold
|
|
569
581
|
? Number(opts.warningThreshold)
|
|
570
582
|
: undefined;
|
|
@@ -592,6 +604,7 @@ export function registerHardeningCommand(program) {
|
|
|
592
604
|
try {
|
|
593
605
|
const { db } = await bootstrap();
|
|
594
606
|
ensureHardeningTables(db);
|
|
607
|
+
loadFromDb(db);
|
|
595
608
|
const patch = {};
|
|
596
609
|
if (opts.errorMessage !== undefined)
|
|
597
610
|
patch.errorMessage = opts.errorMessage;
|
|
@@ -626,6 +639,7 @@ export function registerHardeningCommand(program) {
|
|
|
626
639
|
try {
|
|
627
640
|
const { db } = await bootstrap();
|
|
628
641
|
ensureHardeningTables(db);
|
|
642
|
+
loadFromDb(db);
|
|
629
643
|
const r = autoTimeoutAudits(db);
|
|
630
644
|
if (opts.json) console.log(JSON.stringify(r, null, 2));
|
|
631
645
|
else console.log(`Timed out ${r.length} audit(s)`);
|
|
@@ -646,6 +660,7 @@ export function registerHardeningCommand(program) {
|
|
|
646
660
|
try {
|
|
647
661
|
const { db } = await bootstrap();
|
|
648
662
|
ensureHardeningTables(db);
|
|
663
|
+
loadFromDb(db);
|
|
649
664
|
const metadata = parseJsonOption(opts.metadata, "--metadata");
|
|
650
665
|
const r = createBaselineV2(db, {
|
|
651
666
|
name,
|
|
@@ -669,6 +684,7 @@ export function registerHardeningCommand(program) {
|
|
|
669
684
|
try {
|
|
670
685
|
const { db } = await bootstrap();
|
|
671
686
|
ensureHardeningTables(db);
|
|
687
|
+
loadFromDb(db);
|
|
672
688
|
const r = activateBaseline(db, baselineId);
|
|
673
689
|
if (opts.json) console.log(JSON.stringify(r, null, 2));
|
|
674
690
|
else console.log(`${baselineId} → ${r.status}`);
|
|
@@ -689,6 +705,7 @@ export function registerHardeningCommand(program) {
|
|
|
689
705
|
try {
|
|
690
706
|
const { db } = await bootstrap();
|
|
691
707
|
ensureHardeningTables(db);
|
|
708
|
+
loadFromDb(db);
|
|
692
709
|
const patch = {};
|
|
693
710
|
if (opts.reason !== undefined) patch.reason = opts.reason;
|
|
694
711
|
if (opts.metadata !== undefined)
|
|
@@ -722,6 +739,7 @@ export function registerHardeningCommand(program) {
|
|
|
722
739
|
try {
|
|
723
740
|
const { db } = await bootstrap();
|
|
724
741
|
ensureHardeningTables(db);
|
|
742
|
+
loadFromDb(db);
|
|
725
743
|
const r = autoArchiveStaleBaselines(db);
|
|
726
744
|
if (opts.json) console.log(JSON.stringify(r, null, 2));
|
|
727
745
|
else console.log(`Archived ${r.length} baseline(s)`);
|
|
@@ -10,6 +10,7 @@ import { parseJsonOption } from "../lib/parse-json-option.js";
|
|
|
10
10
|
import { bootstrap, shutdown } from "../runtime/bootstrap.js";
|
|
11
11
|
import {
|
|
12
12
|
ensureTokenTables,
|
|
13
|
+
loadFromDb as loadIncentiveFromDb,
|
|
13
14
|
listContributionTypes,
|
|
14
15
|
listTxTypes,
|
|
15
16
|
getBalance,
|
|
@@ -57,6 +58,10 @@ function _dbFromCtx(ctx) {
|
|
|
57
58
|
}
|
|
58
59
|
const db = ctx.db.getDatabase();
|
|
59
60
|
ensureTokenTables(db);
|
|
61
|
+
// Rehydrate the ledger Maps from the token_* tables — without this every read
|
|
62
|
+
// is Map-only-empty in the fresh CLI process, and worse, _ensureAccount would
|
|
63
|
+
// clobber the persisted balance back to 0 via INSERT OR REPLACE.
|
|
64
|
+
loadIncentiveFromDb(db);
|
|
60
65
|
return db;
|
|
61
66
|
}
|
|
62
67
|
|