chainlesschain 0.162.188 → 0.162.193
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 +61 -11
- package/bin/chainlesschain.js +7 -52
- package/completions/_cc +209 -0
- package/completions/cc.bash +18 -0
- package/completions/cc.fish +13 -0
- package/completions/cc.ps1 +226 -0
- package/package.json +10 -2
- package/src/assets/web-panel/assets/{AIOps-Brr1LVcE.js → AIOps-DBLkaTje.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-DQU74DKG.js → ActionButton-BAy-Qebo.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-CYp9178y.js → Analytics-Dfb1Mlau.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-DW4SCYsW.js → AppLayout-BbFkN8m0.js} +5 -5
- package/src/assets/web-panel/assets/{Artifacts-CYlD_ed1.js → Artifacts-kM4-cEEH.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-CWl1rZOi.js → Audit-BSQfYWf3.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-BOR-LPsa.js → BackgroundAgents-CWDbI_fG.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-DLpG7j1X.js → Backup-BxLPbq_Q.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-B35K9wdr.js → BaseInput-DuIbdrp6.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-CwUJb9gB.js → Chat-NEmjGahU.js} +5 -5
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-1v6aMS1m.js → ChatBubbleRenderer-DfJEo-5_.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-pi3-tPNW.js → Checkbox-CaoeG3Ns.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-FyNF35eL.js → Codegen-BFf_g3xY.js} +1 -1
- package/src/assets/web-panel/assets/{Col-tGt_JDEr.js → Col-CNOd8mdQ.js} +1 -1
- package/src/assets/web-panel/assets/{Community-CC7LonQX.js → Community-BhpDqz-i.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-BGXrHHjE.js → Compact-CQ42T7Z6.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-DSW0TBZ8.js → Compliance-DI5PcLMN.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-Bhk7rbvE.js → Cowork-wYYZe0wR.js} +3 -3
- package/src/assets/web-panel/assets/{Cron-DxyiQ2NZ.js → Cron-Dlq03DD_.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-B2ZkxHok.js → Crosschain-BzqS8PP3.js} +1 -1
- package/src/assets/web-panel/assets/{DID-yOJV99eJ.js → DID-It55Yem7.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-CKsttz7D.js → Dashboard-9HkH6oxn.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-CVFldXSL.js → Dropdown-00e2YWRB.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-Bufv638J.js → EmailListRenderer-By-ugRDL.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-4ncjoIjL.js → FamilyGuardDashboard-C396yu5m.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-DsknEDoX.js → Federation-BME5sbZY.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-Cqe5jWXA.js → FormItemContext-B4TEZCr-.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-NAJaFKxc.js → GenericCardRenderer-_9CX9ieY.js} +1 -1
- package/src/assets/web-panel/assets/{Git-CszKQpnl.js → Git-BrS6WVSr.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-BXGodXi6.js → Governance-BMdCWnKF.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-CkoYuG2c.js → Inference-Bcp3vzcA.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-DFlEr_T0.js → KnowledgeGraph-DlLuqGY5.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-CVaENddA.js → Logs-D-W_6x09.js} +2 -2
- package/src/assets/web-panel/assets/MarkdownRenderer-DElGPxCZ.js +1 -0
- package/src/assets/web-panel/assets/{Marketplace-CDlLT0fw.js → Marketplace-Dzn2guvI.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-DdwOyszN.js → McpTools-uPict-KL.js} +6 -6
- package/src/assets/web-panel/assets/{Memory-DKQnkKuG.js → Memory-BCw43kOb.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-DGseqlzJ.js → MobileBridge-DmV8Wv7F.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-COBbEOlj.js → MobileProjects-C-HaCmSM.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-O61Vwyli.js → Mtc-C6jxJ34Y.js} +5 -5
- package/src/assets/web-panel/assets/{MtcAudit-Dw2SyasS.js → MtcAudit-Za8ExwhQ.js} +5 -5
- package/src/assets/web-panel/assets/{Multisig-hSu_l8kf.js → Multisig-KKDbuEgb.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-CX1Epurr.js → NLProgramming-Dj97zbCk.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-R9xX8o8_.js → Notes-DBXvMraU.js} +4 -4
- package/src/assets/web-panel/assets/{NotificationSettings-jtSNLCuK.js → NotificationSettings-DOxITLYl.js} +1 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-7DVjZwMM.js +1 -0
- package/src/assets/web-panel/assets/{Organization-Pu2WO-U3.js → Organization-D1i73mjb.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-BjnqUyFp.js → Overflow-kW6Q3rvg.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-jjkvz44c.js → P2P-C-v_8p2v.js} +2 -2
- package/src/assets/web-panel/assets/PdhVaultBrowser-tUbbY64W.js +7 -0
- package/src/assets/web-panel/assets/{Permissions-D4yDpivd.js → Permissions-DkHxEZ58.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-0qsL6iH1.js → PersonalDataHub-DWuMPGrK.js} +5 -5
- package/src/assets/web-panel/assets/{Pipeline-Cx7Ybrk2.js → Pipeline-30IYXWWm.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-PbfR_M_V.js → Privacy-DZNQ4RrH.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-CyV6Gsub.js → ProjectInit-De2MCElf.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-C7KZ2Wdk.js → ProjectSettings-5uHk9wsC.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-DQDjO-yK.js → Projects-XjDfrFLb.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-DyFVBBMX.js → Providers-Bgwj6gcE.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-CzB1BC9_.js → QrScannerModal-gKql9umv.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-Bk636mC1.js → QuickAsk-BWvmwkh7.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-DoWxHIT3.js → Recommend-Uok4hZPd.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-oOVIv9wq.js → RemoteSession-DLJzTk9a.js} +3 -3
- package/src/assets/web-panel/assets/{Reputation-BucoReGG.js → Reputation-ZVwIPMSO.js} +1 -1
- package/src/assets/web-panel/assets/{Row-DzmOdJU7.js → Row-CN04HxWR.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-C1tK7KGU.js → RssFeed-BdSrEG4g.js} +3 -3
- package/src/assets/web-panel/assets/{Search-CSnInOqk.js → Search-5PwVd0IR.js} +1 -1
- package/src/assets/web-panel/assets/{Security-dlejr15l.js → Security-DdBo4zjN.js} +3 -3
- package/src/assets/web-panel/assets/{Services-BioPZuNh.js → Services-D3letU7M.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-DWMibwpC.js → Skeleton--Jb83f1v.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-BAAnx1B2.js → Skills-Bg-CulHX.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-jWNp4hNO.js → Sla-7QOa7S-X.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-y5kqKha-.js → SpeechSettings-DQwppjRw.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-B9GNsc3e.js → SyncSettings-dNPQGL-s.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-BDBYKRen.js → Tasks-Ggs-Z48q.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-DRiE5eaN.js → Templates-78TYHgRO.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-BGlAvExF.js → Tenant-xHwwv9vO.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-B8uzrbNY.js → Terminal-BJXSJfm4.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-Df48iveY.js → TimelineRenderer-fLbjRhJw.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-CcmHndN6.js → Tokens-oMSBSBmB.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-DPkWxmQ2.js → Trigger-CfnY_wX_.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-DTb5a5AV.js → Trust-AdyTgYKO.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-CBmg5vch.js → UkeySign-C5K_81dS.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-B0mZrz4O.js → VideoEditing-vcGVDqki.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-Bxs7_mpd.js → Wallet-hhOc3hlY.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-C8x3cMxU.js → WebAuthn-CVloC11s.js} +3 -3
- package/src/assets/web-panel/assets/{WorkflowEditor-DPrNznrP.js → WorkflowEditor-CYeE32R5.js} +1 -1
- package/src/assets/web-panel/assets/{chat-D3bYWu7S.js → chat-CNROR5bN.js} +1 -1
- package/src/assets/web-panel/assets/{colors-DY-PwMu4.js → colors-Cjx-cnwU.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-LDk10Kw6.js → compact-item-DOIfelvD.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-C-2MZnFq.js → createContext-DfA7UZ8u.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-ChcCBGs7.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-BQIBjcnB.js → hasIn-BMSCzcfM.js} +1 -1
- package/src/assets/web-panel/assets/{index-CQVb2dWp.js → index-5-HXgOX5.js} +1 -1
- package/src/assets/web-panel/assets/{index-BdXnYMCZ.js → index-AWg-0M1S.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cx6D_dx2.js → index-B4iYzpkL.js} +1 -1
- package/src/assets/web-panel/assets/{index-_HRO_cIu.js → index-B5Udeb_6.js} +1 -1
- package/src/assets/web-panel/assets/{index-DlRYqt3S.js → index-B7gf77CJ.js} +1 -1
- package/src/assets/web-panel/assets/{index-BrnRO9yE.js → index-BEMwBBHk.js} +1 -1
- package/src/assets/web-panel/assets/{index-VCh5zNJo.js → index-BM1y_9hM.js} +1 -1
- package/src/assets/web-panel/assets/{index-BRI3ngNg.js → index-BUonmKSE.js} +1 -1
- package/src/assets/web-panel/assets/{index-C3GNvExG.js → index-BbQ2eQ8H.js} +1 -1
- package/src/assets/web-panel/assets/{index-DSvo_bp0.js → index-BemJ2u_E.js} +1 -1
- package/src/assets/web-panel/assets/{index-L6qixyLc.js → index-BolaOQxx.js} +1 -1
- package/src/assets/web-panel/assets/{index-BI4KgcYC.js → index-BxOk9vkG.js} +1 -1
- package/src/assets/web-panel/assets/{index-CY4KnaO9.js → index-By61ojUx.js} +1 -1
- package/src/assets/web-panel/assets/{index-L3smcoQX.js → index-C2K9SNVX.js} +1 -1
- package/src/assets/web-panel/assets/{index-BX2b9Orc.js → index-C3L5gdiD.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cz4b6Z_7.js → index-C7xn0Nub.js} +1 -1
- package/src/assets/web-panel/assets/{index-COG61sRv.js → index-CAnvhwg6.js} +1 -1
- package/src/assets/web-panel/assets/{index-C7FC8cP2.js → index-CEKMcOyU.js} +1 -1
- package/src/assets/web-panel/assets/{index-BN-xdSWZ.js → index-CNC5onm4.js} +1 -1
- package/src/assets/web-panel/assets/{index-DY2FIrmz.js → index-CVL27kXC.js} +1 -1
- package/src/assets/web-panel/assets/{index-CiTvBAr-.js → index-CVm1_i3t.js} +1 -1
- package/src/assets/web-panel/assets/{index-DhRt9cYJ.js → index-CdYBye8B.js} +1 -1
- package/src/assets/web-panel/assets/{index-B5pgtZnY.js → index-ClNMrqEY.js} +1 -1
- package/src/assets/web-panel/assets/{index-7xKu7Fns.js → index-Cs6l7uRu.js} +1 -1
- package/src/assets/web-panel/assets/{index-D4K1weKc.js → index-CshQbilz.js} +1 -1
- package/src/assets/web-panel/assets/{index-k7C_oDCO.js → index-Cyweh0Hy.js} +1 -1
- package/src/assets/web-panel/assets/{index-D3Oq-DLL.js → index-DBpWXFed.js} +3 -3
- package/src/assets/web-panel/assets/{index-DYyLJPlF.js → index-DHtpHZAQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dh-tkpKQ.js → index-DLmn0BoK.js} +1 -1
- package/src/assets/web-panel/assets/{index-8JC9BJa1.js → index-DPAWBrMf.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dd2Km97U.js → index-DjEsxO5h.js} +1 -1
- package/src/assets/web-panel/assets/{index-KFZO_lcx.js → index-FBc_CJBd.js} +1 -1
- package/src/assets/web-panel/assets/{index-DTIZpPtG.js → index-Icdoqmzt.js} +1 -1
- package/src/assets/web-panel/assets/index-Q2IajL54.js +1 -0
- package/src/assets/web-panel/assets/index-bRkHgOMc.js +1 -0
- package/src/assets/web-panel/assets/{index-lmm9p-jm.js → index-dCd8cSUq.js} +1 -1
- package/src/assets/web-panel/assets/{index-HasPt4-h.js → index-m2vG9gG_.js} +1 -1
- package/src/assets/web-panel/assets/{index-CaslYch6.js → index-mTpHoEzr.js} +1 -1
- package/src/assets/web-panel/assets/{index-CbR6ROOa.js → index-ti_lnTWl.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-zQPSHf2C.js → initDefaultProps-Bu8k7H1Y.js} +1 -1
- package/src/assets/web-panel/assets/{motion-CKCStGVk.js → motion-s3iVK41k.js} +1 -1
- package/src/assets/web-panel/assets/{move-BufVDGYF.js → move-B6B-E5Jz.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-DcaFxy5D.js → mtc-parser-BiYgTidA.js} +1 -1
- package/src/assets/web-panel/assets/{omit-EScpkGdo.js → omit-pU1RdUDA.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-72hG_qfT.js → pickAttrs-Cdoq_SeM.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-CMFWiH20.js → placementArrow-DIuvAn2K.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-DKQHS41p.js → responsiveObserve-8w16YR2D.js} +1 -1
- package/src/assets/web-panel/assets/{slide-QVAFHTIQ.js → slide-VZ01cZe3.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-DIz38e2G.js → statusUtils-lh8YMN8Z.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-zK5cyLby.js → styleChecker-CmDyreec.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-DhZngk62.js → useFlexGapSupport-hiJWMU5y.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-BvV2cvkg.js → useFs-Thnu-Iaj.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-CRmxb9l3.js → usePersonalDataHub-LBdOxjwY.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-CgQIbobP.js → vnode-Cg6lFY_X.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-D4XrrO0R.js → zoom-DVfsR1YO.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/cli-help.js +181 -0
- package/src/command-help-index.json +181 -0
- package/src/command-manifest.json +1107 -175
- package/src/command-surface-policy.js +197 -0
- package/src/commands/agent.js +98 -33
- package/src/commands/artifacts.js +400 -2
- package/src/commands/background-session.js +41 -3
- package/src/commands/checkpoint-managed.js +1059 -0
- package/src/commands/checkpoint-restore-recovery.js +1476 -0
- package/src/commands/checkpoint.js +950 -22
- package/src/commands/compact.js +101 -25
- package/src/commands/config.js +506 -20
- package/src/commands/doctor.js +4 -1
- package/src/commands/hub.js +1 -1
- package/src/commands/mcp.js +688 -24
- package/src/commands/pack.js +16 -2
- package/src/commands/plugin.js +20 -12
- package/src/commands/session-mcp-recovery.js +218 -0
- package/src/commands/session.js +470 -110
- package/src/commands/setup.js +36 -10
- package/src/commands/skill.js +181 -110
- package/src/commands/status.js +21 -5
- package/src/commands/team-distributed.js +3324 -0
- package/src/commands/team.js +1130 -74
- package/src/commands/update.js +68 -6
- package/src/constants.js +11 -0
- package/src/data/changelog.json +26 -0
- package/src/gateways/ws/action-protocol.js +10 -0
- package/src/gateways/ws/session-protocol.js +555 -27
- package/src/gateways/ws/ws-agent-handler.js +541 -14
- package/src/gateways/ws/ws-session-gateway.js +129 -22
- package/src/gateways/ws/ws-session-state.js +431 -0
- package/src/harness/background-task-manager.js +233 -36
- package/src/harness/jsonl-session-store.js +2551 -167
- package/src/harness/mcp-client.js +802 -61
- package/src/harness/prompt-compressor.js +227 -27
- package/src/harness/session-index.js +89 -38
- package/src/harness/session-list-index.js +254 -0
- package/src/harness/structured-handoff.js +410 -0
- package/src/lazy-dispatch.js +747 -84
- package/src/lib/__tests__/logger.test.js +50 -2
- package/src/lib/advisor-runtime.js +1047 -0
- package/src/lib/agent-core.js +2 -0
- package/src/lib/agent-sandbox.js +120 -26
- package/src/lib/agent-session-export.js +20 -0
- package/src/lib/agent-team/task-lease.js +271 -3
- package/src/lib/agent-team/team-adjudication.js +1501 -0
- package/src/lib/agent-team/team-budget.js +4 -1
- package/src/lib/agent-team/team-control-store.js +582 -0
- package/src/lib/agent-team/team-distributed-queue.js +5246 -0
- package/src/lib/agent-team/team-process-checkpoint.js +211 -0
- package/src/lib/agent-team/team-runner.js +543 -24
- package/src/lib/agent-team/team-worktree.js +1403 -95
- package/src/lib/artifact-store.js +131 -8
- package/src/lib/background-agent-supervisor.js +185 -13
- package/src/lib/background-interaction-journal.js +37 -9
- package/src/lib/background-launch-profile.js +1058 -0
- package/src/lib/checkpoint-restore-already-completed-controller.js +902 -0
- package/src/lib/checkpoint-restore-orchestrator.js +987 -0
- package/src/lib/checkpoint-restore-partial-rollback-controller.js +1953 -0
- package/src/lib/checkpoint-restore-recovery-controller.js +689 -0
- package/src/lib/checkpoint-restore-recovery.js +884 -0
- package/src/lib/checkpoint-restore-retention.js +126 -0
- package/src/lib/checkpoint-restore-saga.js +5079 -0
- package/src/lib/checkpoint-restore-session-recovery.js +1178 -0
- package/src/lib/checkpoint-restore-workspace-target-verifier.js +270 -0
- package/src/lib/checkpoint-store.js +1688 -97
- package/src/lib/checkpoint-timeline-authority.js +522 -0
- package/src/lib/checkpoint-timeline.js +642 -0
- package/src/lib/config-keys.js +18 -119
- package/src/lib/config-manager.js +446 -27
- package/src/lib/config-redaction.js +57 -0
- package/src/lib/config-schema.js +853 -0
- package/src/lib/cowork-mcp-tools.js +5 -0
- package/src/lib/cowork-task-runner.js +458 -63
- package/src/lib/delivery-coordinator.js +1234 -0
- package/src/lib/delivery-evidence.js +450 -0
- package/src/lib/doctor-checkup.js +199 -14
- package/src/lib/executable-path.js +34 -0
- package/src/lib/fatal-handler.js +16 -0
- package/src/lib/file-checkpoint.js +4909 -186
- package/src/lib/file-lines.js +125 -0
- package/src/lib/headless-config-command.js +16 -5
- package/src/lib/hook-runner.cjs +139 -38
- package/src/lib/hooks-v2-workspace-context.js +10 -0
- package/src/lib/impacted-gate-selector.js +424 -0
- package/src/lib/interaction-adapter.js +62 -0
- package/src/lib/jsonl-session-store.js +1 -35
- package/src/lib/logger.js +66 -14
- package/src/lib/managed-checkpoint-render.js +60 -0
- package/src/lib/managed-tool-checkpoint.js +194 -0
- package/src/lib/mcp-call-ledger-store.js +1069 -0
- package/src/lib/mcp-call-ledger.js +747 -0
- package/src/lib/mcp-client.js +5 -0
- package/src/lib/mcp-conflict-scheduler.js +468 -0
- package/src/lib/mcp-effect-contract.js +102 -0
- package/src/lib/mcp-headers-helper-trust.js +145 -0
- package/src/lib/mcp-headers-helper.js +616 -0
- package/src/lib/mcp-host-recovery-runtime.js +131 -0
- package/src/lib/mcp-ledger-recovery-admission.js +1065 -0
- package/src/lib/mcp-recovery-adjudication.js +443 -0
- package/src/lib/output-context.js +86 -0
- package/src/lib/packer/file-identity.js +170 -0
- package/src/lib/packer/index.js +3 -0
- package/src/lib/packer/native-update-state.js +277 -0
- package/src/lib/packer/pack-update-applier.js +1983 -136
- package/src/lib/packer/pack-update-checker.js +34 -0
- package/src/lib/packer/pack-update-downloader.js +875 -86
- package/src/lib/packer/pack-update-signature.js +86 -0
- package/src/lib/packer/pkg-config-generator.js +6 -0
- package/src/lib/paths.js +65 -10
- package/src/lib/plan-mode.js +831 -14
- package/src/lib/plan-persistence.js +540 -0
- package/src/lib/plugin-runtime/hooks.js +227 -69
- package/src/lib/plugin-runtime/plugin-options.js +189 -44
- package/src/lib/pr-automation-policy.js +146 -8
- package/src/lib/process-execution-broker/credential-agent.js +7 -0
- package/src/lib/process-execution-broker/index.js +491 -13
- package/src/lib/process-execution-broker/linux-generic-bwrap-runtime.js +28 -1
- package/src/lib/process-execution-broker/linux-generic-bwrap.js +28 -4
- package/src/lib/process-execution-broker/platform-sandbox.js +92 -70
- 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 +284 -19
- package/src/lib/process-execution-broker/workspace-transaction.js +4459 -0
- package/src/lib/project-instructions.js +165 -29
- package/src/lib/project-mcp-trust.js +67 -0
- package/src/lib/public-ide-capability-manifest.js +272 -0
- package/src/lib/public-ide-capability-validation.js +351 -0
- package/src/lib/secret-store.js +267 -43
- package/src/lib/secure-file-identity.js +433 -0
- package/src/lib/secure-fs.js +1089 -0
- package/src/lib/security-audit.js +58 -0
- package/src/lib/service-manager.js +34 -13
- package/src/lib/session-budget-runtime.js +1452 -0
- package/src/lib/session-host-snapshot.js +388 -0
- package/src/lib/session-message-provenance.js +429 -0
- package/src/lib/session-projection.js +804 -0
- package/src/lib/session-resource-budget.js +1495 -0
- package/src/lib/settings-hooks.cjs +138 -22
- package/src/lib/settings-loader.cjs +25 -2
- package/src/lib/side-effect-ledger-store.js +45 -23
- package/src/lib/skill-execution-identity.js +217 -0
- package/src/lib/skill-loader.js +299 -18
- package/src/lib/sub-agent-context.js +236 -28
- package/src/lib/sub-agent-registry.js +5 -0
- package/src/lib/subagent-contract.js +94 -0
- package/src/lib/todo-manager.js +185 -18
- package/src/lib/todo-persistence.js +417 -0
- package/src/lib/turn-binding-store.js +41 -23
- package/src/lib/turn-binding.js +160 -2
- package/src/lib/with-file-lock.js +165 -24
- package/src/lib/ws-chat-handler.js +21 -0
- package/src/program-base.js +18 -0
- package/src/repl/advisor-command.js +103 -0
- package/src/repl/agent-repl.js +2175 -146
- package/src/repl/btw-command.js +93 -10
- package/src/repl/clipboard-image.js +119 -0
- package/src/repl/config-summary.js +64 -108
- package/src/repl/prompt-editor.js +233 -0
- package/src/repl/prompt-interactions.js +344 -0
- package/src/repl/prompt-stash.js +354 -0
- package/src/repl/prompt-suggestions.js +312 -0
- package/src/repl/repl-keybindings.js +227 -0
- package/src/repl/session-recap.js +217 -0
- package/src/repl/slash-command-registry.js +22 -0
- package/src/repl/terminal-layout.js +88 -0
- package/src/runtime/agent-core.js +1630 -447
- package/src/runtime/coding-agent-contract-shared.cjs +13 -1
- package/src/runtime/coding-agent-managed-tool-policy.cjs +7 -2
- package/src/runtime/diagnostics.js +32 -13
- package/src/runtime/headless-runner.js +310 -118
- package/src/runtime/headless-stream.js +356 -95
- package/src/runtime/mcp-config.js +148 -14
- package/src/runtime/policies/agent-policy.js +14 -0
- package/src/runtime/status-diagnostics-lite.js +137 -0
- package/src/assets/web-panel/assets/MarkdownRenderer-7iWGwZ-r.js +0 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-BU2Yqq5H.js +0 -1
- package/src/assets/web-panel/assets/PdhVaultBrowser-69ca_WeR.js +0 -7
- package/src/assets/web-panel/assets/devWarning-B4dXIJqD.js +0 -1
- package/src/assets/web-panel/assets/index-C-C7DaG6.js +0 -1
- package/src/assets/web-panel/assets/index-DkfWzWtd.js +0 -1
package/src/commands/update.js
CHANGED
|
@@ -7,6 +7,10 @@ import { askConfirm } from "../lib/prompts.js";
|
|
|
7
7
|
import logger from "../lib/logger.js";
|
|
8
8
|
import { executionBroker } from "../lib/process-execution-broker/index.js";
|
|
9
9
|
import { resolveNpmInvocation } from "../lib/npm-invocation.js";
|
|
10
|
+
import {
|
|
11
|
+
rollbackLastKnownGood,
|
|
12
|
+
ApplyError,
|
|
13
|
+
} from "../lib/packer/pack-update-applier.js";
|
|
10
14
|
|
|
11
15
|
export const _deps = {
|
|
12
16
|
platform: process.platform,
|
|
@@ -106,12 +110,17 @@ export async function selfUpdateCli(targetVersion) {
|
|
|
106
110
|
`CLI update ran but version is still ${newVersion}. Please run manually:\n npm install -g chainlesschain@${targetVersion}`,
|
|
107
111
|
);
|
|
108
112
|
return false;
|
|
109
|
-
} catch (
|
|
110
|
-
//
|
|
111
|
-
|
|
112
|
-
|
|
113
|
+
} catch (verifyErr) {
|
|
114
|
+
// Installation success is not update success. A stale shim on PATH, a
|
|
115
|
+
// broken executable, or a policy-denied verification spawn must never be
|
|
116
|
+
// reported as a verified update.
|
|
117
|
+
logger.warn(
|
|
118
|
+
`CLI package installation completed, but the installed version could not be verified: ${verifyErr?.message || "unknown verification error"}. ` +
|
|
119
|
+
`Please verify or reinstall manually:\n npm install -g chainlesschain@${targetVersion}`,
|
|
120
|
+
);
|
|
121
|
+
return false;
|
|
113
122
|
}
|
|
114
|
-
} catch
|
|
123
|
+
} catch {
|
|
115
124
|
// npm global install may fail due to permissions; guide the user
|
|
116
125
|
logger.warn(
|
|
117
126
|
`CLI self-update failed. Please run manually:\n npm install -g chainlesschain@${targetVersion}`,
|
|
@@ -121,7 +130,7 @@ export async function selfUpdateCli(targetVersion) {
|
|
|
121
130
|
}
|
|
122
131
|
|
|
123
132
|
export function registerUpdateCommand(program) {
|
|
124
|
-
program
|
|
133
|
+
const update = program
|
|
125
134
|
.command("update")
|
|
126
135
|
.description("Check for and install updates")
|
|
127
136
|
.option("--check", "Only check for updates (do not download)")
|
|
@@ -235,4 +244,57 @@ export function registerUpdateCommand(program) {
|
|
|
235
244
|
process.exit(1);
|
|
236
245
|
}
|
|
237
246
|
});
|
|
247
|
+
|
|
248
|
+
update
|
|
249
|
+
.command("rollback")
|
|
250
|
+
.description("Restore the last-known-good signed native CLI binary")
|
|
251
|
+
.option(
|
|
252
|
+
"--target-exe <path>",
|
|
253
|
+
"Native executable to restore (required outside a packed CLI)",
|
|
254
|
+
)
|
|
255
|
+
.option("--restart", "Restart the restored CLI after switching")
|
|
256
|
+
.option("--yes", "Skip confirmation")
|
|
257
|
+
.option("--json", "Output the rollback plan as JSON")
|
|
258
|
+
.action(async (options) => {
|
|
259
|
+
const targetExePath =
|
|
260
|
+
options.targetExe || (process.pkg ? process.execPath : null);
|
|
261
|
+
if (!targetExePath) {
|
|
262
|
+
logger.error(
|
|
263
|
+
"Rollback is for signed native installations. Provide --target-exe explicitly when invoking it from npm.",
|
|
264
|
+
);
|
|
265
|
+
process.exitCode = 2;
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
if (!options.yes) {
|
|
269
|
+
const accepted = await askConfirm(
|
|
270
|
+
`Restore ${targetExePath}.previous over ${targetExePath}?`,
|
|
271
|
+
false,
|
|
272
|
+
);
|
|
273
|
+
if (!accepted) {
|
|
274
|
+
logger.info("Rollback cancelled");
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
try {
|
|
279
|
+
const plan = await rollbackLastKnownGood({
|
|
280
|
+
targetExePath,
|
|
281
|
+
restart: Boolean(options.restart),
|
|
282
|
+
verify: true,
|
|
283
|
+
});
|
|
284
|
+
if (options.json) logger.log(JSON.stringify(plan, null, 2));
|
|
285
|
+
else
|
|
286
|
+
logger.success(`Rollback scheduled from ${targetExePath}.previous`);
|
|
287
|
+
if (plan.action === "sidecar-cmd") {
|
|
288
|
+
setTimeout(() => process.exit(0), 500).unref?.();
|
|
289
|
+
}
|
|
290
|
+
} catch (error) {
|
|
291
|
+
const code = error instanceof ApplyError ? error.code : "UNKNOWN";
|
|
292
|
+
if (options.json) {
|
|
293
|
+
logger.log(JSON.stringify({ error: error.message, code }));
|
|
294
|
+
} else {
|
|
295
|
+
logger.error(`Rollback failed [${code}]: ${error.message}`);
|
|
296
|
+
}
|
|
297
|
+
process.exitCode = 1;
|
|
298
|
+
}
|
|
299
|
+
});
|
|
238
300
|
}
|
package/src/constants.js
CHANGED
|
@@ -166,6 +166,17 @@ export const DEFAULT_CONFIG = {
|
|
|
166
166
|
channel: "stable",
|
|
167
167
|
autoCheck: true,
|
|
168
168
|
},
|
|
169
|
+
cli: {
|
|
170
|
+
promptSuggestions: true,
|
|
171
|
+
keybindings: {},
|
|
172
|
+
},
|
|
173
|
+
voice: {
|
|
174
|
+
backends: {},
|
|
175
|
+
allowCloud: false,
|
|
176
|
+
},
|
|
177
|
+
advisor: {
|
|
178
|
+
enabled: false,
|
|
179
|
+
},
|
|
169
180
|
};
|
|
170
181
|
|
|
171
182
|
export const MIN_NODE_VERSION = "22.12.0";
|
package/src/data/changelog.json
CHANGED
|
@@ -1,6 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"source": "CHANGELOG.md",
|
|
3
3
|
"releases": [
|
|
4
|
+
{
|
|
5
|
+
"productVersion": null,
|
|
6
|
+
"cliVersion": "0.162.193",
|
|
7
|
+
"cliVersions": ["0.162.189", "0.162.193"],
|
|
8
|
+
"date": "2026-08-03",
|
|
9
|
+
"title": "",
|
|
10
|
+
"sections": [
|
|
11
|
+
{
|
|
12
|
+
"heading": "Added — cc CLI 0.162.193: durable sessions, MCP recovery, and checkpoint safety",
|
|
13
|
+
"body": "> `chainlesschain` **0.162.189 → 0.162.193** (release candidate,\n> 2026-08-03; `0.162.190`, `0.162.191`, and `0.162.192` were never published). CLI-only release metadata;\n> `@chainlesschain/personal-data-hub`\n> remains **0.4.57** and `@chainlesschain/agent-sdk` remains **0.1.7**.\n\n- **Safer configuration defaults**: for CLI config writes, schema-declared\n secrets are refused by `config set` and must use `config set-secret` through\n hidden TTY/stdin and OS-store or owner-only fallback paths. Explicit\n `workspace-write` / `strict` isolation and managed-required sandbox policies\n fail closed when unavailable. `mcp add` now defaults to local scope; both\n human and JSON `status` use bounded quick probes, while full Docker Compose\n detail requires `--deep`.\n- **MCP transports and uncertain-outcome recovery**: scoped WebSocket MCP,\n trusted dynamic headers, timeout notifications, and durable recovery records\n cover REPL, stream, Cowork/host, and WebSocket paths through shared verified\n recovery authority. Ambiguous MCP outcomes require verification or\n adjudication instead of blind replay.\n- **Canonical sessions and resource budgets**: covered REPL, stream,\n WebSocket, and headless paths use verified transcript projections,\n transactional summary/compaction state, and reject stale or corrupt resume\n authority. A persistent session-budget foundation plus background/Team\n adapters adds fenced token/USD/wall-clock accounting and cleanup; it is not\n yet a universal cross-host budget authority.\n- **Agent workflow controls**: durable plan/todo state with revision and\n authority ceilings, controlled skill subagents, background launch profiles,\n semantic handoff, ephemeral side questions, manifest-driven help, and\n deterministic shell completions improve Claude Code-style daily workflows.\n CLI-owned canonical session/checkpoint/delivery projections are consumed by\n VS Code and JetBrains while mutations stay CLI-authoritative; this CLI-only\n metadata bump does not bump either IDE package.\n- **Signed native update recovery**: immutable release identity, signed updater\n rollback chains, atomic download replacement, and portable recovery/cleanup\n paths add fail-closed activation, rollback, and recovery fences for stale,\n replaced, or partial payloads.\n- **Checkpoint restore durability**: canonical workspace prestate binding,\n lifetime locks, immutable Git/copy target identity, copy tombstones and\n owner-private safety arms feed a hash-chained CAS restore saga shared by\n direct and timeline restores. A real Git/copy kill/restart matrix covers\n both the post-completion, pre-lock-release window and mutation-phase partial\n rollback recovery.\n- **Conservative recovery CLI**: `cc checkpoint recovery`\n `list/show/abort/resume/rollback/release` derives mutation authority from the\n current live owner digest or verified owner absence plus exact seq/head\n fences. `resume` remains limited to a verified already-completed settlement;\n `rollback --yes` only accepts a verified partial-mutation rollback cycle and\n dispatches the persisted Git/copy engine rather than re-detecting it.\n- **Verified partial restore rollback**: production Git and copy adapters,\n crash-safe rollback v2 phase boundaries, and the transaction-fenced\n `checkpoint_restore_recovery_resolution` event bind workspace and session\n settlement in both directions. Checkpoint delete, clear, and prune now retain\n active original/safety authority with expected-identity transactions,\n no-replace copy publication, and root-bound maintenance locks. This is a\n narrow partial-restore recovery path, not general multi-resource atomicity,\n power-loss proof, or checkpoint recovery GA.\n- **Release retry identity**: tags `v-npm-0-162-190`,\n `v-npm-0-162-191`, and `v-npm-0-162-192` remain immutable records of\n pre-publication failures.\n Run `30790359741` exposed an Agent SDK E2E fixture that used its owner-private\n `CHAINLESSCHAIN_HOME` as the active workspace; the fixture now uses sibling\n control-state and workspace roots while production path safety remains fail\n closed. Run `30793513643` passed all tests but exposed root-monorepo\n `npm sbom` contamination from unrelated desktop/mobile peer graphs; SBOM\n generation now resolves an ignore-scripts lock from the immutable CLI\n tarball and validates its CycloneDX package/version identity. Run\n `30799974832` exposed that the exact-SHA gate queried jobs with\n `filter=all`, so an earlier failed CLI CI attempt overrode the successful\n rerun; it now verifies only GitHub's latest attempt. The first `0.162.193`\n candidate then exposed a recurring macOS two-process CAS race in run\n `30800530258`: a cooperating owner could remove its lock between the\n unlocked safety inspection steps, and the loser reported `LOCK_FAILED`\n instead of reaching the serialized stale-head `CONFLICT`. Unlocked\n pre/postflight inspection now retries that exact disappearance, while\n owner-required critical-section checks still fail closed. Deterministic\n directory/owner disappearance regressions, the full 105-test checkpoint\n saga suite, and five repeated real-process CAS runs pass locally. None of\n these runs reached npm publication.\n- **Release status**: `0.162.193` is not published. The exact\n version/changelog/fix commit must pass `CLI CI` and `CLI Strict Sandbox` on\n Ubuntu, Windows, and macOS, plus affected `Session Host Consistency`,\n `CLI Background Interaction E2E`, and immutable npm tarball verification,\n before tag `v-npm-0-162-193` or npm publication is allowed. Local,\n older-SHA, and partial results are supplementary only."
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"productVersion": null,
|
|
19
|
+
"cliVersion": "0.162.189",
|
|
20
|
+
"cliVersions": ["0.162.188", "0.162.189"],
|
|
21
|
+
"date": "2026-07-31",
|
|
22
|
+
"title": "",
|
|
23
|
+
"sections": [
|
|
24
|
+
{
|
|
25
|
+
"heading": "Added — cc CLI 0.162.189: managed rollback and distributed Agent Teams closure",
|
|
26
|
+
"body": "> `chainlesschain` **0.162.188 → 0.162.189** (2026-07-31).\n> CLI-only release metadata; `@chainlesschain/personal-data-hub` remains\n> **0.4.57** and `@chainlesschain/agent-sdk` remains **0.1.7**.\n\n- **Managed workspace rollback**: Process Broker-managed workspace write paths\n record durable recovery evidence, establish checkpoints at accepted\n boundaries, and apply fenced rollback after failure, cancellation, or\n timeout. `full`, `partial`, and `none` coverage outcomes remain explicit,\n while unsupported external side effects stay outside the rollback guarantee.\n- **Distributed Agent Teams authority**: local schema v6 is the current state\n authority, with v5 accepted only through CLI-owned resume migration. The\n separate distributed queue schema v1 uses queue authority digests, leases,\n and compare-and-swap fences for supported shared-filesystem coordination; it\n is not a consensus or network-partition-tolerant queue.\n- **Wall-clock lifecycle fence**: linearized `startedAt` and `observedAt`\n checks surround executor activity, active managed shell and agent work is\n aborted when the wall-clock budget expires, and commit/checkpoint publication\n is fenced so late results cannot become completed tasks. Accepted committed\n evidence instead enters explicit adjudication.\n- **CLI-owned IDE controls**: VS Code and JetBrains surfaces observe the raw\n local v6 or distributed queue v1 JSON as read-only state and route takeover,\n recovery, and adjudication through CLI-owned authority, digest, lease, and\n evidence fences.\n- **Validated implementation candidate**: candidate\n `7df6feced4670ac71d19548752d18ac4cc225025` completed the\n [CLI CI](https://github.com/chainlesschain/chainlesschain/actions/runs/30549100935),\n [CLI Strict Sandbox](https://github.com/chainlesschain/chainlesschain/actions/runs/30549100289),\n [short distributed soak](https://github.com/chainlesschain/chainlesschain/actions/runs/30549100307),\n and [long distributed soak](https://github.com/chainlesschain/chainlesschain/actions/runs/30549142504)\n gates successfully.\n- **Published release evidence**: exact release commit\n [`2607af0dadeb951583139942e5f2add3e95e1208`](https://github.com/chainlesschain/chainlesschain/commit/2607af0dadeb951583139942e5f2add3e95e1208)\n passed [CLI CI](https://github.com/chainlesschain/chainlesschain/actions/runs/30586603353),\n [CLI Strict Sandbox](https://github.com/chainlesschain/chainlesschain/actions/runs/30586603019),\n the [long Agent Team soak](https://github.com/chainlesschain/chainlesschain/actions/runs/30564377629),\n and [npm publication](https://github.com/chainlesschain/chainlesschain/actions/runs/30588174291).\n `chainlesschain@0.162.189` is public on npm; candidate and local results remain\n supplementary and do not replace these exact-release-SHA gates."
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
4
30
|
{
|
|
5
31
|
"productVersion": null,
|
|
6
32
|
"cliVersion": "0.162.188",
|
|
@@ -55,6 +55,7 @@ export async function handleCoworkTask(server, id, ws, message) {
|
|
|
55
55
|
cwd: server.projectRoot || process.cwd(),
|
|
56
56
|
llmOptions: {},
|
|
57
57
|
signal: ac.signal,
|
|
58
|
+
...(message.mcpSessionId ? { mcpSessionId: message.mcpSessionId } : {}),
|
|
58
59
|
...(useParallel
|
|
59
60
|
? {
|
|
60
61
|
agents: message.agents || 3,
|
|
@@ -72,6 +73,14 @@ export async function handleCoworkTask(server, id, ws, message) {
|
|
|
72
73
|
tool: progress.tool,
|
|
73
74
|
iterationCount: progress.iterationCount,
|
|
74
75
|
tokenCount: progress.tokenCount,
|
|
76
|
+
...(progress.sessionId ? { mcpSessionId: progress.sessionId } : {}),
|
|
77
|
+
...(Number.isInteger(progress.unsettled)
|
|
78
|
+
? { unsettled: progress.unsettled }
|
|
79
|
+
: {}),
|
|
80
|
+
...(Number.isInteger(progress.incidents)
|
|
81
|
+
? { incidents: progress.incidents }
|
|
82
|
+
: {}),
|
|
83
|
+
...(progress.recovery ? { recovery: progress.recovery } : {}),
|
|
75
84
|
});
|
|
76
85
|
},
|
|
77
86
|
});
|
|
@@ -90,6 +99,7 @@ export async function handleCoworkTask(server, id, ws, message) {
|
|
|
90
99
|
tokenCount: result.result?.tokenCount || 0,
|
|
91
100
|
parallel: result.parallel || false,
|
|
92
101
|
subtaskCount: result.result?.subtaskCount || 0,
|
|
102
|
+
...(result.mcpSessionId ? { mcpSessionId: result.mcpSessionId } : {}),
|
|
93
103
|
mode: result.mode || (useDebate ? "debate" : "agent"),
|
|
94
104
|
...(useDebate
|
|
95
105
|
? {
|