chainlesschain 0.166.22 → 0.166.25
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 +46 -3
- package/package.json +4 -3
- package/src/assets/web-panel/assets/{AIOps-oJ7USzMC.js → AIOps-RaxL_QQD.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-BlgnZe_C.js → ActionButton-DD3ieFO-.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-D2rRbTLu.js → Analytics-CATDJukS.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-FwS3f0B2.js → AppLayout-BHGsnRDS.js} +5 -5
- package/src/assets/web-panel/assets/{Artifacts-iF-_08Hi.js → Artifacts-BL6NunjN.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-D24p0zQw.js → Audit-D0nEWfbA.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-Cg3mRVi9.js → BackgroundAgents-BAP1MUol.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-EOqht3H-.js → Backup-R4y2OeSi.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-9XWYq2hj.js → BaseInput-ByQZ2z6S.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-Dq5yardA.js → Chat-32uV--xF.js} +4 -4
- package/src/assets/web-panel/assets/ChatBubbleRenderer-t1enanwz.js +1 -0
- package/src/assets/web-panel/assets/{Checkbox-CuyCBoBf.js → Checkbox-D1CB-7bq.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-DjWtYHNe.js → Codegen-BPx3dQ2q.js} +1 -1
- package/src/assets/web-panel/assets/{Col-CrVr_iuG.js → Col-DkPTQ2Gl.js} +1 -1
- package/src/assets/web-panel/assets/{Community-C6QxpfGc.js → Community-ZriaxRlr.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-B-v5r6Pa.js → Compact-C_qJ0P7F.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-zNiLiFgD.js → Compliance-Bgoy-saS.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-D9K7lMOu.js → Cowork-B5i9y6XK.js} +2 -2
- package/src/assets/web-panel/assets/{Cron-DAjO36z4.js → Cron-D7vBJ5-J.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-Bxqn0aqB.js → Crosschain-D4kvoGI_.js} +1 -1
- package/src/assets/web-panel/assets/{DID-DfRmLUe-.js → DID-BLOeBd-r.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-Cz8KF3fr.js → Dashboard-mecJaonC.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-C4oVfkP0.js → Dropdown-GPKwaFer.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-ivyZKN8k.js → EmailListRenderer-BML9m7Dd.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-DoxY1CPW.js → FamilyGuardDashboard-DN5bAtJC.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-C93gZxnb.js → Federation-DmD6Gecd.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-D_lEjYJE.js → FormItemContext-6wwplN_K.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-BNFN9YjN.js → GenericCardRenderer-DUhpLkDL.js} +1 -1
- package/src/assets/web-panel/assets/{Git-mUu2HcLI.js → Git-eJfyXkwf.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-CNuosrge.js → Governance-swAUW59x.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-DwY5pbCB.js → Inference-CbdwJPDJ.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-aRUxhACD.js → KnowledgeGraph-UuYpg1nm.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-DFfsWYy_.js → Logs-CS0G057y.js} +2 -2
- package/src/assets/web-panel/assets/MarkdownRenderer-BxIIB4k3.js +1 -0
- package/src/assets/web-panel/assets/{Marketplace-COI-ciM-.js → Marketplace-CZRjuvvI.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-BJJwaIpe.js → McpTools-BOJ9A_Rf.js} +3 -3
- package/src/assets/web-panel/assets/{Memory-CDO6SGDZ.js → Memory-BnkrR-Ok.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-BlZ5tFf4.js → MobileBridge-Do4mPi13.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-DuoxbgWz.js → MobileProjects-2JxWa6-p.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-6ec9j70b.js → Mtc-CS_mnpGd.js} +2 -2
- package/src/assets/web-panel/assets/{MtcAudit-BuL7HkC7.js → MtcAudit-DZ4J_351.js} +5 -5
- package/src/assets/web-panel/assets/{Multisig-CJxR85lk.js → Multisig-Jh74zKXu.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-B71O1S4l.js → NLProgramming-_4n2BfnS.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-Bsw5zbpV.js → Notes-CtENcKHv.js} +3 -3
- package/src/assets/web-panel/assets/{NotificationSettings-BnAhXuK_.js → NotificationSettings-dgDCvpK9.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-BJ0R5GGz.js → OrderTableRenderer-D5VxCrmG.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-B7wwNxoP.js → Organization-CpIF8Xkd.js} +2 -2
- package/src/assets/web-panel/assets/{Overflow-CfAGr0gM.js → Overflow-aHnBZaez.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-KhMg22Fz.js → P2P-8ppzog2V.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-NdAXI9ft.js → PdhVaultBrowser-D3p1BXkp.js} +3 -3
- package/src/assets/web-panel/assets/{Permissions-CIYjqyT7.js → Permissions-D7vflD5q.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-D2ht3P_R.js → PersonalDataHub-D2hY-Ek2.js} +4 -4
- package/src/assets/web-panel/assets/{Pipeline-i6flZW1m.js → Pipeline-qK2VqhJC.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-DE0lhYVc.js → Privacy-DHJr4uu0.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-BL3YbyxS.js → ProjectInit-DMBS6trm.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-CEtdg7ni.js → ProjectSettings-D3Ng74BT.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-CvtU5peJ.js → Projects-BfJFZiIW.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-DKt_Cg-j.js → Providers-DlNA95G0.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-DA61jNSx.js → QrScannerModal-CMOIYxIm.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-fS9ryUmq.js → QuickAsk-D6MyGp5I.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-CR9dZU5Y.js → Recommend-W6WcShtf.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-BV0BR2Dz.js → RemoteSession-Dm_MjlV_.js} +2 -2
- package/src/assets/web-panel/assets/{Reputation-BIeGUvYD.js → Reputation-Ctvij6eX.js} +1 -1
- package/src/assets/web-panel/assets/{Row-DHDT1aro.js → Row-DivbeDE-.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-Cq6YKb1h.js → RssFeed-D4famoAw.js} +3 -3
- package/src/assets/web-panel/assets/{Search-DEF6vsy6.js → Search-6gOAh3zG.js} +1 -1
- package/src/assets/web-panel/assets/{Security-CHtYiKY9.js → Security-DApb9kK8.js} +4 -4
- package/src/assets/web-panel/assets/{Services-u16lvBJN.js → Services-B8OomyE2.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-CGbizyDj.js → Skeleton-BTJ2g2E3.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-BZMQcAa7.js → Skills-NIRr4DD1.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-Bm-CycVi.js → Sla-BQHP_6px.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-BudpA5kr.js → SpeechSettings-BVQTDSVS.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-B8q1C1eC.js → SyncSettings-BOD4Mar6.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-SU1pBWc-.js → Tasks-Ciu7H2-y.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-CyOfJzmt.js → Templates-CtlwavRU.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-xqWSm2GP.js → Tenant-QLWYJdL6.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-D1Ttgjsi.js → Terminal-B3q10mjm.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-Da2lYs5D.js → TimelineRenderer-CqltBA_8.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-B34-SduO.js → Tokens-CJOKrj4y.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-C8zyYm4R.js → Trigger-CPMGgfdM.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-D1Pvqems.js → Trust-DiJms7Bl.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-Do3VVnAy.js → UkeySign-rakR8eel.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-Dz7egVIA.js → VideoEditing-DAWZUM5o.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-Dcuw-OxR.js → Wallet-DqUPnl7K.js} +3 -3
- package/src/assets/web-panel/assets/{WebAuthn-DPlw-QsB.js → WebAuthn-BnVUwvMm.js} +3 -3
- package/src/assets/web-panel/assets/{WorkflowEditor-h4OsnU5q.js → WorkflowEditor-B1CAwxgs.js} +1 -1
- package/src/assets/web-panel/assets/{chat-eO9wEwrW.js → chat-k2-0Jzfy.js} +1 -1
- package/src/assets/web-panel/assets/{colors-34lSmOXw.js → colors-BAu8xBmW.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-CK4kEWJ4.js → compact-item-DMlqcdfI.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-E0A57xed.js → createContext-BU9kfiSw.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-DuGrUMAS.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-BD9ZMGAl.js → hasIn-2vacgdcl.js} +1 -1
- package/src/assets/web-panel/assets/{index--N0u6kTG.js → index-B-C-Ruft.js} +1 -1
- package/src/assets/web-panel/assets/{index-DzXjP44T.js → index-B7wDjYUd.js} +1 -1
- package/src/assets/web-panel/assets/{index-CZBaqe3d.js → index-BMq0frKK.js} +1 -1
- package/src/assets/web-panel/assets/{index-DrOalGut.js → index-BUX4W-2v.js} +1 -1
- package/src/assets/web-panel/assets/{index-CT1_eRL-.js → index-BZz2eB33.js} +1 -1
- package/src/assets/web-panel/assets/{index-DrsDA_md.js → index-BblNQlaA.js} +1 -1
- package/src/assets/web-panel/assets/{index-DP-UZAQN.js → index-BdfKoqsK.js} +1 -1
- package/src/assets/web-panel/assets/{index-DiT_REby.js → index-Bf8YofPE.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cx3Jn1r0.js → index-Bn8tARil.js} +1 -1
- package/src/assets/web-panel/assets/{index-B0rkHxKK.js → index-Bpe2CJd-.js} +1 -1
- package/src/assets/web-panel/assets/{index-B_G_ElKO.js → index-BxctzdYQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-MIg5Z8qe.js → index-C24NoPpy.js} +1 -1
- package/src/assets/web-panel/assets/{index-BmNbU2Z6.js → index-C5C4kSi8.js} +1 -1
- package/src/assets/web-panel/assets/{index-BsGmo6v1.js → index-C6ICn9Y6.js} +1 -1
- package/src/assets/web-panel/assets/{index-CsrKJJcX.js → index-C8ldqZi6.js} +1 -1
- package/src/assets/web-panel/assets/{index-BbX_Dted.js → index-C9WsM29I.js} +1 -1
- package/src/assets/web-panel/assets/{index-Ch175NUw.js → index-CONPVaxw.js} +1 -1
- package/src/assets/web-panel/assets/{index-DONOUtlz.js → index-CPyYXKFB.js} +1 -1
- package/src/assets/web-panel/assets/{index-DFLE2qO9.js → index-CSvSf9px.js} +1 -1
- package/src/assets/web-panel/assets/{index-o8pYehRq.js → index-CXmpR6N3.js} +3 -3
- package/src/assets/web-panel/assets/{index-Cz3unNfL.js → index-Chybe7Ge.js} +1 -1
- package/src/assets/web-panel/assets/{index-yAGBu2E0.js → index-CyXmP3PW.js} +1 -1
- package/src/assets/web-panel/assets/{index-CuSau5ya.js → index-DCusBOqR.js} +1 -1
- package/src/assets/web-panel/assets/{index-DcE1BspQ.js → index-DH01oIaj.js} +1 -1
- package/src/assets/web-panel/assets/{index-DrSAAuJj.js → index-DHg3LMNP.js} +1 -1
- package/src/assets/web-panel/assets/{index-CZkFMeWL.js → index-DWLTSIka.js} +1 -1
- package/src/assets/web-panel/assets/{index-DvKcroix.js → index-DaUGdvtU.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bjs90Eh9.js → index-DcA-tEQd.js} +1 -1
- package/src/assets/web-panel/assets/{index-DGRxt5wj.js → index-DfWvcu4p.js} +1 -1
- package/src/assets/web-panel/assets/{index-DCn-ECvK.js → index-DmZNnZz7.js} +1 -1
- package/src/assets/web-panel/assets/index-DvFfMAux.js +1 -0
- package/src/assets/web-panel/assets/{index-8qMA1DWQ.js → index-JsyGqKmD.js} +1 -1
- package/src/assets/web-panel/assets/{index-D4bB_x_v.js → index-TtrpHmYx.js} +1 -1
- package/src/assets/web-panel/assets/{index-Brqc9Emx.js → index-Ygh0wmKz.js} +1 -1
- package/src/assets/web-panel/assets/{index-Da5fmOHB.js → index-dIYqw3f0.js} +1 -1
- package/src/assets/web-panel/assets/{index-DpfisY1g.js → index-hDHHJYno.js} +1 -1
- package/src/assets/web-panel/assets/index-n6p-1A77.js +1 -0
- package/src/assets/web-panel/assets/{index-DeXNCyQJ.js → index-oElehY4F.js} +1 -1
- package/src/assets/web-panel/assets/{index-DcbgVLOH.js → index-z4_YwZDW.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-DMTkAomF.js → initDefaultProps-B9OXWu2e.js} +1 -1
- package/src/assets/web-panel/assets/{motion-Cnti1F5g.js → motion-IQ47MCDQ.js} +1 -1
- package/src/assets/web-panel/assets/{move-CGxmHUga.js → move-CLCU4kjV.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-CuwwLoq7.js → mtc-parser-CXnVlSPq.js} +1 -1
- package/src/assets/web-panel/assets/{omit-BpdlTkPM.js → omit-BJjLXB0f.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-D7nWrThp.js → pickAttrs-BHdtvdy6.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-Bhx0TV8F.js → placementArrow-oq8X_Bwc.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-CZ1KesZh.js → responsiveObserve-DTD02LAO.js} +1 -1
- package/src/assets/web-panel/assets/{slide-CnldF8J6.js → slide-DbEeq8to.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-CZfo_GOA.js → statusUtils-Do2fy1CJ.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-B2QCcAv5.js → styleChecker-CFWD63T-.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-DzzjIS4J.js → useFlexGapSupport-BeozAWOo.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-B_atg9M0.js → useFs-0-rIgnBL.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-DhZs3QYN.js → usePersonalDataHub-CeiNoI31.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-DcePTYAm.js → vnode-Dj0ReRNg.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-BYmlnjRk.js → zoom-DD7MC4Dy.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/command-help-index.json +3 -3
- package/src/commands/agent.js +18 -1
- package/src/commands/evolution-benchmark.js +72 -0
- package/src/commands/evolution-knowledge.js +40 -1
- package/src/commands/evolution.js +2 -0
- package/src/commands/governed-skill-marketplace.js +142 -0
- package/src/commands/marketplace.js +4 -1
- package/src/commands/serve.js +21 -0
- package/src/commands/skill.js +3 -0
- package/src/data/changelog.json +39 -0
- package/src/gateways/ws/ws-agent-handler.js +59 -2
- package/src/gateways/ws/ws-server.js +2 -0
- package/src/generated/cc-agent-protocol.schema.json +3 -1
- package/src/harness/golden-transcript.js +1 -0
- package/src/harness/prompt-compressor.js +51 -5
- package/src/harness/provider-backed-compaction.js +28 -1
- package/src/harness/remote-session-registry.js +15 -3
- package/src/index.js +20 -2
- package/src/lazy-dispatch.js +6 -0
- package/src/lib/advisor-runtime.js +55 -2
- package/src/lib/app-server/cli-agent-kernel-adapter.js +4 -0
- package/src/lib/app-server/graph-runtime.js +32 -0
- package/src/lib/app-server/server.js +94 -1
- package/src/lib/app-server/websocket-transport.js +15 -0
- package/src/lib/autonomous-agent.js +63 -13
- package/src/lib/cowork/ab-comparator-cli.js +4 -3
- package/src/lib/cowork/debate-review-cli.js +4 -3
- package/src/lib/cowork/decision-kb-cli.js +5 -0
- package/src/lib/cowork-adapter.js +38 -16
- package/src/lib/evolution/agent-evolution-ingress.js +95 -15
- package/src/lib/evolution/agent-evolution-runtime-composition.js +82 -0
- package/src/lib/evolution/agent-evolution-session-lifecycle.js +46 -0
- package/src/lib/evolution/agent-model-projection.js +437 -0
- package/src/lib/evolution/bounded-descriptor-read.js +29 -0
- package/src/lib/evolution/controlled-skill-pilot-ledger-adapter.js +551 -0
- package/src/lib/evolution/controlled-skill-production-pilot.js +308 -18
- package/src/lib/evolution/evidence-backed-wiki-maintainer.js +32 -10
- package/src/lib/evolution/evidence-json-text.js +236 -0
- package/src/lib/evolution/evolution-artifact-ports.js +196 -21
- package/src/lib/evolution/evolution-deployment-loader.js +240 -2
- package/src/lib/evolution/evolution-eval-child-evidence-ledger-adapter.js +373 -0
- package/src/lib/evolution/evolution-eval-gate.js +14 -1
- package/src/lib/evolution/evolution-eval-process-supervisor-worker.mjs +14 -0
- package/src/lib/evolution/evolution-eval-process-supervisor.js +607 -0
- package/src/lib/evolution/evolution-evidence-artifact-adapter.js +14 -1
- package/src/lib/evolution/evolution-evidence-projector.js +271 -37
- package/src/lib/evolution/evolution-file-witness.js +153 -30
- package/src/lib/evolution/evolution-ledger-ports.js +1219 -66
- package/src/lib/evolution/evolution-ledger.js +66 -2
- package/src/lib/evolution/evolution-raw-crypto-shred.js +29 -15
- package/src/lib/evolution/evolution-raw-deletion-ledger-adapter.js +865 -0
- package/src/lib/evolution/evolution-release-train-domain-stages.js +769 -0
- package/src/lib/evolution/evolution-release-train-stage-output-ledger-adapter.js +333 -0
- package/src/lib/evolution/evolution-release-train.js +54 -6
- package/src/lib/evolution/evolution-workbench-batch-executor.js +101 -144
- package/src/lib/evolution/evolution-workbench-control-ports.js +203 -0
- package/src/lib/evolution/evolution-workbench-file-resources.js +403 -0
- package/src/lib/evolution/evolution-workbench-projection.js +134 -26
- package/src/lib/evolution/evolution-workbench-registry-source.js +482 -0
- package/src/lib/evolution/evolution-workbench-review-ledger-adapter.js +823 -0
- package/src/lib/evolution/evolution-workbench-review-protocol.js +157 -0
- package/src/lib/evolution/evolution-workbench-rollback-authorization.js +57 -0
- package/src/lib/evolution/evolution-workbench-rollback-ledger-adapter.js +1016 -0
- package/src/lib/evolution/evolution-workbench-runtime.js +133 -0
- package/src/lib/evolution/evolution-workbench-version-control.js +70 -36
- package/src/lib/evolution/evolvable-artifact-ledger-adapter.js +48 -0
- package/src/lib/evolution/governed-knowledge-candidate-rejection.js +343 -0
- package/src/lib/evolution/governed-knowledge-dependency-authority.js +227 -44
- package/src/lib/evolution/governed-knowledge-dependency-inventory.js +392 -0
- package/src/lib/evolution/governed-knowledge-dependency-ledger-executor.js +217 -82
- package/src/lib/evolution/governed-knowledge-quarantine-release.js +1013 -0
- package/src/lib/evolution/governed-knowledge-record.js +148 -0
- package/src/lib/evolution/governed-knowledge-revocation-host.js +59 -0
- package/src/lib/evolution/governed-knowledge-revocation-record.js +135 -0
- package/src/lib/evolution/governed-knowledge-skill-rollback.js +510 -0
- package/src/lib/evolution/governed-knowledge-sync.js +181 -95
- package/src/lib/evolution/governed-knowledge-wiki-tombstone.js +516 -0
- package/src/lib/evolution/governed-skill-marketplace-badge.js +208 -0
- package/src/lib/evolution/governed-skill-marketplace-candidate.js +330 -0
- package/src/lib/evolution/governed-skill-marketplace-cli-host.js +308 -0
- package/src/lib/evolution/governed-skill-marketplace-ledger-adapter.js +420 -0
- package/src/lib/evolution/governed-skill-marketplace.js +288 -5
- package/src/lib/evolution/governed-wiki-pruning-journal.js +302 -0
- package/src/lib/evolution/governed-wiki-pruning-ledger-adapter.js +459 -0
- package/src/lib/evolution/governed-wiki-pruning-maintenance.js +576 -0
- package/src/lib/evolution/governed-wiki-pruning-plan-authority.js +169 -0
- package/src/lib/evolution/governed-wiki-pruning-raw-shred.js +207 -0
- package/src/lib/evolution/governed-wiki-pruning-retrieval.js +587 -0
- package/src/lib/evolution/governed-wiki-pruning-runtime.js +153 -0
- package/src/lib/evolution/governed-wiki-pruning-skill-rollback.js +360 -0
- package/src/lib/evolution/governed-wiki-pruning.js +322 -143
- package/src/lib/evolution/independent-skill-revocation-source.js +231 -0
- package/src/lib/evolution/knowledge-wiki-source-admission.js +283 -0
- package/src/lib/evolution/knowledge-wiki-source-provenance.js +360 -0
- package/src/lib/evolution/progressive-canary-external-watchdog.js +578 -0
- package/src/lib/evolution/progressive-canary-traffic-worker.js +628 -0
- package/src/lib/evolution/progressive-canary-watchdog-file-store.js +285 -0
- package/src/lib/evolution/progressive-canary-watchdog-node-pki.js +265 -0
- package/src/lib/evolution/skill-candidate-registry.js +43 -3
- package/src/lib/evolution/skill-promotion-controller.js +25 -0
- package/src/lib/evolution/skill-promotion-review-ledger-adapter.js +100 -0
- package/src/lib/evolution/skill-registry-transition-ledger-adapter.js +131 -2
- package/src/lib/evolution/skill-release-registry.js +168 -4
- package/src/lib/evolution/skill-retrieval-revocation-authority.js +361 -0
- package/src/lib/evolution/skill-retrieval-revocation-ledger-adapter.js +346 -0
- package/src/lib/evolution/skill-revocation-propagation.js +467 -0
- package/src/lib/evolution/skill-target-matrix-eval.js +162 -11
- package/src/lib/evolution/skill-wiki-reconciliation.js +985 -0
- package/src/lib/evolution/skill-writer-inventory-manifest.js +8 -6
- package/src/lib/evolution/statistical-progressive-canary.js +165 -3
- package/src/lib/evolution/structured-memory-agent-control-plane.js +120 -0
- package/src/lib/evolution/structured-memory-authority-ledger-adapter.js +5 -1
- package/src/lib/evolution/structured-memory-promotion-receipt-writer.js +126 -0
- package/src/lib/evolution/wiki-informed-skill-proposer.js +127 -21
- package/src/lib/evolution/wiki-maintainer-ledger-adapter.js +822 -101
- package/src/lib/evolution/wiki-revision-protocol.js +120 -0
- package/src/lib/evolution/wiki-skill-proposal-ledger-adapter.js +307 -0
- package/src/lib/evolution/wiki-target-tombstone-revision.js +109 -0
- package/src/lib/evolution/wikiskill-benchmark-cli-host.js +178 -0
- package/src/lib/evolution/wikiskill-benchmark-execution-host.js +702 -0
- package/src/lib/evolution/wikiskill-benchmark-ledger-adapter.js +613 -0
- package/src/lib/evolution/wikiskill-benchmark.js +80 -16
- package/src/lib/goal-assess.js +17 -10
- package/src/lib/interactive-planner.js +9 -1
- package/src/lib/iteration-budget.js +16 -2
- package/src/lib/micro-compact.js +4 -1
- package/src/lib/model-failure-policy.js +21 -0
- package/src/lib/process-execution-broker/index.js +1 -0
- package/src/lib/process-execution-broker/windows-sandbox-helper.dll +0 -0
- package/src/lib/process-execution-broker/windows-sandbox-helper.exe +0 -0
- package/src/lib/process-execution-broker/windows-sandbox.cs +33 -15
- package/src/lib/read-file-loop-guard.js +113 -0
- package/src/lib/read-file-page.js +191 -0
- package/src/lib/runnable-provider.js +2 -1
- package/src/lib/skill-retrieval-router.js +22 -1
- package/src/repl/agent-repl.js +133 -34
- package/src/runtime/agent-core.js +196 -74
- package/src/runtime/agent-runtime.js +43 -0
- package/src/runtime/coding-agent-contract-shared.cjs +7 -1
- package/src/runtime/fallback-model.js +143 -62
- package/src/runtime/headless-runner.js +54 -10
- package/src/runtime/headless-stream.js +50 -6
- package/src/runtime/runtime-factory.js +41 -2
- package/src/assets/web-panel/assets/ChatBubbleRenderer-Ds3pA-ET.js +0 -1
- package/src/assets/web-panel/assets/MarkdownRenderer-DqTx7_u1.js +0 -1
- package/src/assets/web-panel/assets/devWarning-CF3xafX2.js +0 -1
- package/src/assets/web-panel/assets/index-C907rPwd.js +0 -1
- package/src/assets/web-panel/assets/index-wueRSK2d.js +0 -1
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { types as utilTypes } from "node:util";
|
|
3
3
|
|
|
4
|
+
import { verifyGovernedKnowledgeRecord } from "./governed-knowledge-sync.js";
|
|
5
|
+
import {
|
|
6
|
+
digestGovernedKnowledgeDependencyOperation,
|
|
7
|
+
isGovernedKnowledgeDependencyExecutionRequest,
|
|
8
|
+
} from "./governed-knowledge-dependency-ledger-executor.js";
|
|
9
|
+
|
|
4
10
|
export const GOVERNED_KNOWLEDGE_DEPENDENCY_REQUEST_SCHEMA =
|
|
5
11
|
"chainlesschain.governed-knowledge-dependency-request/v1";
|
|
6
12
|
export const GOVERNED_KNOWLEDGE_DEPENDENCY_RESULT_SCHEMA =
|
|
7
13
|
"chainlesschain.governed-knowledge-dependency-result/v1";
|
|
8
14
|
|
|
9
15
|
const AUTHORITIES = new WeakSet();
|
|
16
|
+
// Only this module can dispatch a prepared router request into a leaf's full
|
|
17
|
+
// request/result verification pipeline. No public rebranding API is exposed.
|
|
18
|
+
const PREPARED_EXECUTIONS = new WeakMap();
|
|
19
|
+
const PREPARED_REVERIFIERS = new WeakMap();
|
|
20
|
+
|
|
21
|
+
// A read-only final check for the genuine executor. Reverification cannot call
|
|
22
|
+
// a provider again, mint a request, or bypass the original leaf verifier.
|
|
23
|
+
export function captureGovernedKnowledgeDependencyReverifier(authority) {
|
|
24
|
+
const verify = PREPARED_REVERIFIERS.get(authority);
|
|
25
|
+
if (!verify)
|
|
26
|
+
throw new TypeError("a genuine dependency authority is required");
|
|
27
|
+
return verify;
|
|
28
|
+
}
|
|
10
29
|
const DIGEST = /^sha256:[a-f0-9]{64}$/u;
|
|
11
30
|
const ID = /^[A-Za-z0-9][A-Za-z0-9._:@/-]{0,255}$/u;
|
|
12
31
|
const DESCRIPTOR_KEYS = new Set([
|
|
@@ -36,6 +55,14 @@ const RESULT_KEYS = new Set([
|
|
|
36
55
|
"tenantId",
|
|
37
56
|
]);
|
|
38
57
|
const ATTESTATION_KEYS = new Set(["algorithm", "keyId", "value"]);
|
|
58
|
+
const INPUT_KEYS = new Set([
|
|
59
|
+
"tenantId",
|
|
60
|
+
"deviceId",
|
|
61
|
+
"operationDigest",
|
|
62
|
+
"knowledge",
|
|
63
|
+
"dependency",
|
|
64
|
+
]);
|
|
65
|
+
const DEPENDENCY_KEYS = new Set(["kind", "digest", "disposition"]);
|
|
39
66
|
|
|
40
67
|
function canonical(value) {
|
|
41
68
|
if (value === null || typeof value !== "object") return JSON.stringify(value);
|
|
@@ -83,6 +110,14 @@ function exact(value, keys, label) {
|
|
|
83
110
|
) {
|
|
84
111
|
throw new TypeError(`${label} has an invalid shape`);
|
|
85
112
|
}
|
|
113
|
+
if (
|
|
114
|
+
actual.some(
|
|
115
|
+
(key) =>
|
|
116
|
+
!Object.hasOwn(Object.getOwnPropertyDescriptor(value, key), "value"),
|
|
117
|
+
)
|
|
118
|
+
) {
|
|
119
|
+
throw new TypeError(`${label} must contain only data properties`);
|
|
120
|
+
}
|
|
86
121
|
return value;
|
|
87
122
|
}
|
|
88
123
|
|
|
@@ -94,15 +129,17 @@ function identifier(value, label) {
|
|
|
94
129
|
}
|
|
95
130
|
|
|
96
131
|
function capture(owner, method, label) {
|
|
132
|
+
if (!owner || typeof owner !== "object" || utilTypes.isProxy(owner)) {
|
|
133
|
+
throw new TypeError(`${label}.${method}() is required`);
|
|
134
|
+
}
|
|
135
|
+
const implementation = owner[method];
|
|
97
136
|
if (
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
utilTypes.isProxy(owner) ||
|
|
101
|
-
typeof owner[method] !== "function"
|
|
137
|
+
typeof implementation !== "function" ||
|
|
138
|
+
utilTypes.isProxy(implementation)
|
|
102
139
|
) {
|
|
103
|
-
throw new TypeError(`${label}.${method}()
|
|
140
|
+
throw new TypeError(`${label}.${method}() must be a non-proxy function`);
|
|
104
141
|
}
|
|
105
|
-
return (...args) => Reflect.apply(
|
|
142
|
+
return (...args) => Reflect.apply(implementation, owner, args);
|
|
106
143
|
}
|
|
107
144
|
|
|
108
145
|
function descriptor(input, label) {
|
|
@@ -219,55 +256,201 @@ export function createGovernedKnowledgeDependencyAuthority({
|
|
|
219
256
|
}
|
|
220
257
|
const apply = capture(provider, "apply", "provider");
|
|
221
258
|
const verify = capture(verifier, "verify", "verifier");
|
|
259
|
+
const executePrepared = async (input, revalidation = null) => {
|
|
260
|
+
exact(input, INPUT_KEYS, "dependency execution input");
|
|
261
|
+
if (
|
|
262
|
+
input?.tenantId !== tenantId ||
|
|
263
|
+
input.deviceId !== deviceId ||
|
|
264
|
+
!DIGEST.test(input.operationDigest ?? "")
|
|
265
|
+
) {
|
|
266
|
+
throw new Error("dependency request crossed its authority boundary");
|
|
267
|
+
}
|
|
268
|
+
// Normalize and snapshot before the first await, then bind both the entire
|
|
269
|
+
// operation and the selected edge. A plausible digest is not authorization
|
|
270
|
+
// to apply an unlisted dependency or to change its disposition.
|
|
271
|
+
const knowledge = verifyGovernedKnowledgeRecord(input.knowledge, {
|
|
272
|
+
tenantId,
|
|
273
|
+
});
|
|
274
|
+
const dependency = exact(input.dependency, DEPENDENCY_KEYS, "dependency");
|
|
275
|
+
const selected = knowledge.dependencies.find(
|
|
276
|
+
(entry) =>
|
|
277
|
+
entry.kind === dependency.kind &&
|
|
278
|
+
entry.digest === dependency.digest &&
|
|
279
|
+
entry.disposition === dependency.disposition,
|
|
280
|
+
);
|
|
281
|
+
if (
|
|
282
|
+
!["tombstone", "revoke"].includes(knowledge.action) ||
|
|
283
|
+
!selected ||
|
|
284
|
+
input.operationDigest !==
|
|
285
|
+
digestGovernedKnowledgeDependencyOperation({
|
|
286
|
+
tenantId,
|
|
287
|
+
deviceId,
|
|
288
|
+
knowledge,
|
|
289
|
+
})
|
|
290
|
+
) {
|
|
291
|
+
throw new Error(
|
|
292
|
+
"dependency request is not bound to its revocation operation",
|
|
293
|
+
);
|
|
294
|
+
}
|
|
295
|
+
const request = requestFor({
|
|
296
|
+
tenantId,
|
|
297
|
+
deviceId,
|
|
298
|
+
operationDigest: input.operationDigest,
|
|
299
|
+
knowledge,
|
|
300
|
+
dependency: selected,
|
|
301
|
+
});
|
|
302
|
+
let supplied;
|
|
303
|
+
if (revalidation !== null) {
|
|
304
|
+
exact(
|
|
305
|
+
revalidation.result,
|
|
306
|
+
new Set([...RESULT_KEYS, "verificationReceiptDigest"]),
|
|
307
|
+
"previously verified dependency result",
|
|
308
|
+
);
|
|
309
|
+
if (!DIGEST.test(revalidation.result.verificationReceiptDigest))
|
|
310
|
+
throw new TypeError("dependency verification receipt is invalid");
|
|
311
|
+
supplied = clone(revalidation.result);
|
|
312
|
+
delete supplied.verificationReceiptDigest;
|
|
313
|
+
}
|
|
314
|
+
const result = validateResult(
|
|
315
|
+
revalidation === null ? await apply(request) : supplied,
|
|
316
|
+
request,
|
|
317
|
+
providerDescriptor,
|
|
318
|
+
);
|
|
319
|
+
const verified = await verify({
|
|
320
|
+
request,
|
|
321
|
+
result,
|
|
322
|
+
providerDescriptor,
|
|
323
|
+
verifierDescriptor,
|
|
324
|
+
});
|
|
325
|
+
if (
|
|
326
|
+
verified?.authenticated !== true ||
|
|
327
|
+
verified.durable !== true ||
|
|
328
|
+
verified.tenantId !== tenantId ||
|
|
329
|
+
verified.deviceId !== deviceId ||
|
|
330
|
+
verified.operationId !== request.operationId ||
|
|
331
|
+
verified.requestDigest !== request.requestDigest ||
|
|
332
|
+
verified.resultDigest !== result.resultDigest ||
|
|
333
|
+
verified.providerAuthorityId !== providerDescriptor.authorityId ||
|
|
334
|
+
verified.providerRevision !== providerDescriptor.revision ||
|
|
335
|
+
verified.verifierAuthorityId !== verifierDescriptor.authorityId ||
|
|
336
|
+
verified.verifierRevision !== verifierDescriptor.revision ||
|
|
337
|
+
!DIGEST.test(verified.verificationReceiptDigest ?? "")
|
|
338
|
+
) {
|
|
339
|
+
throw new Error("dependency result was not independently verified");
|
|
340
|
+
}
|
|
341
|
+
return freeze({
|
|
342
|
+
...clone(result),
|
|
343
|
+
verificationReceiptDigest: verified.verificationReceiptDigest,
|
|
344
|
+
});
|
|
345
|
+
};
|
|
222
346
|
const authority = Object.freeze({
|
|
223
347
|
tenantId,
|
|
224
348
|
deviceId,
|
|
225
349
|
async apply(input) {
|
|
226
|
-
if (
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
) {
|
|
231
|
-
throw new Error("dependency request crossed its authority boundary");
|
|
350
|
+
if (!isGovernedKnowledgeDependencyExecutionRequest(input, authority)) {
|
|
351
|
+
throw new TypeError(
|
|
352
|
+
"dependency execution requires a prepared executor request",
|
|
353
|
+
);
|
|
232
354
|
}
|
|
233
|
-
|
|
234
|
-
const result = validateResult(
|
|
235
|
-
await apply(request),
|
|
236
|
-
request,
|
|
237
|
-
providerDescriptor,
|
|
238
|
-
);
|
|
239
|
-
const verified = await verify({
|
|
240
|
-
request,
|
|
241
|
-
result,
|
|
242
|
-
providerDescriptor,
|
|
243
|
-
verifierDescriptor,
|
|
244
|
-
});
|
|
245
|
-
if (
|
|
246
|
-
verified?.authenticated !== true ||
|
|
247
|
-
verified.durable !== true ||
|
|
248
|
-
verified.tenantId !== tenantId ||
|
|
249
|
-
verified.deviceId !== deviceId ||
|
|
250
|
-
verified.operationId !== request.operationId ||
|
|
251
|
-
verified.requestDigest !== request.requestDigest ||
|
|
252
|
-
verified.resultDigest !== result.resultDigest ||
|
|
253
|
-
verified.providerAuthorityId !== providerDescriptor.authorityId ||
|
|
254
|
-
verified.providerRevision !== providerDescriptor.revision ||
|
|
255
|
-
verified.verifierAuthorityId !== verifierDescriptor.authorityId ||
|
|
256
|
-
verified.verifierRevision !== verifierDescriptor.revision ||
|
|
257
|
-
!DIGEST.test(verified.verificationReceiptDigest ?? "")
|
|
258
|
-
) {
|
|
259
|
-
throw new Error("dependency result was not independently verified");
|
|
260
|
-
}
|
|
261
|
-
return freeze({
|
|
262
|
-
...clone(result),
|
|
263
|
-
verificationReceiptDigest: verified.verificationReceiptDigest,
|
|
264
|
-
});
|
|
355
|
+
return executePrepared(input);
|
|
265
356
|
},
|
|
266
357
|
});
|
|
267
358
|
AUTHORITIES.add(authority);
|
|
359
|
+
PREPARED_EXECUTIONS.set(authority, executePrepared);
|
|
360
|
+
PREPARED_REVERIFIERS.set(
|
|
361
|
+
authority,
|
|
362
|
+
Object.freeze((input, result) => {
|
|
363
|
+
if (!isGovernedKnowledgeDependencyExecutionRequest(input, authority))
|
|
364
|
+
throw new TypeError(
|
|
365
|
+
"dependency verification requires a prepared executor request",
|
|
366
|
+
);
|
|
367
|
+
return executePrepared(input, { result });
|
|
368
|
+
}),
|
|
369
|
+
);
|
|
268
370
|
return authority;
|
|
269
371
|
}
|
|
270
372
|
|
|
373
|
+
export function createGovernedKnowledgeDependencyRouter({
|
|
374
|
+
tenantId,
|
|
375
|
+
deviceId,
|
|
376
|
+
routes,
|
|
377
|
+
} = {}) {
|
|
378
|
+
identifier(tenantId, "router tenantId");
|
|
379
|
+
identifier(deviceId, "router deviceId");
|
|
380
|
+
if (
|
|
381
|
+
!routes ||
|
|
382
|
+
typeof routes !== "object" ||
|
|
383
|
+
utilTypes.isProxy(routes) ||
|
|
384
|
+
![Object.prototype, null].includes(Object.getPrototypeOf(routes))
|
|
385
|
+
) {
|
|
386
|
+
throw new TypeError("dependency routes must be a plain object");
|
|
387
|
+
}
|
|
388
|
+
const keys = Reflect.ownKeys(routes);
|
|
389
|
+
exact(routes, new Set(keys), "dependency routes");
|
|
390
|
+
const allowed = new Set([
|
|
391
|
+
"wiki/tombstone",
|
|
392
|
+
"wiki/quarantine",
|
|
393
|
+
"candidate/reject-candidate",
|
|
394
|
+
"candidate/quarantine",
|
|
395
|
+
"active-skill/rollback-active",
|
|
396
|
+
"active-skill/quarantine",
|
|
397
|
+
]);
|
|
398
|
+
if (!keys.length || keys.some((key) => !allowed.has(key)))
|
|
399
|
+
throw new TypeError("dependency route is unsupported");
|
|
400
|
+
const handlers = new Map();
|
|
401
|
+
for (const key of keys) {
|
|
402
|
+
const authority = routes[key];
|
|
403
|
+
const execute = PREPARED_EXECUTIONS.get(authority);
|
|
404
|
+
if (
|
|
405
|
+
!execute ||
|
|
406
|
+
authority.tenantId !== tenantId ||
|
|
407
|
+
authority.deviceId !== deviceId
|
|
408
|
+
) {
|
|
409
|
+
throw new TypeError(
|
|
410
|
+
"dependency route requires a genuine same-boundary leaf authority",
|
|
411
|
+
);
|
|
412
|
+
}
|
|
413
|
+
handlers.set(key, execute);
|
|
414
|
+
}
|
|
415
|
+
const router = Object.freeze({
|
|
416
|
+
tenantId,
|
|
417
|
+
deviceId,
|
|
418
|
+
async apply(input) {
|
|
419
|
+
if (!isGovernedKnowledgeDependencyExecutionRequest(input, router))
|
|
420
|
+
throw new TypeError(
|
|
421
|
+
"dependency routing requires a prepared executor request",
|
|
422
|
+
);
|
|
423
|
+
exact(input, INPUT_KEYS, "dependency routing input");
|
|
424
|
+
exact(input.dependency, DEPENDENCY_KEYS, "dependency route selection");
|
|
425
|
+
const execute = handlers.get(
|
|
426
|
+
`${input.dependency.kind}/${input.dependency.disposition}`,
|
|
427
|
+
);
|
|
428
|
+
if (!execute)
|
|
429
|
+
throw new Error("no real authority for this dependency disposition");
|
|
430
|
+
return execute(input);
|
|
431
|
+
},
|
|
432
|
+
});
|
|
433
|
+
AUTHORITIES.add(router);
|
|
434
|
+
PREPARED_REVERIFIERS.set(
|
|
435
|
+
router,
|
|
436
|
+
Object.freeze((input, result) => {
|
|
437
|
+
if (!isGovernedKnowledgeDependencyExecutionRequest(input, router))
|
|
438
|
+
throw new TypeError(
|
|
439
|
+
"dependency verification requires a prepared router request",
|
|
440
|
+
);
|
|
441
|
+
exact(input, INPUT_KEYS, "dependency verification input");
|
|
442
|
+
exact(input.dependency, DEPENDENCY_KEYS, "dependency verification route");
|
|
443
|
+
const execute = handlers.get(
|
|
444
|
+
`${input.dependency.kind}/${input.dependency.disposition}`,
|
|
445
|
+
);
|
|
446
|
+
if (!execute)
|
|
447
|
+
throw new Error("no real authority for dependency verification");
|
|
448
|
+
return execute(input, { result });
|
|
449
|
+
}),
|
|
450
|
+
);
|
|
451
|
+
return router;
|
|
452
|
+
}
|
|
453
|
+
|
|
271
454
|
export function isGovernedKnowledgeDependencyAuthority(value) {
|
|
272
455
|
return AUTHORITIES.has(value);
|
|
273
456
|
}
|