chainlesschain 0.166.77 → 0.166.79
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 +9 -8
- package/completions/_cc +1 -1
- package/completions/cc.bash +1 -1
- package/completions/cc.fish +1 -1
- package/completions/cc.ps1 +1 -1
- package/package.json +1 -1
- package/src/assets/linux-subreaper/linux-arm64/manifest.json +10 -0
- package/src/assets/linux-subreaper/linux-arm64/supervisor +0 -0
- package/src/assets/linux-subreaper/linux-x64/manifest.json +10 -0
- package/src/assets/linux-subreaper/linux-x64/supervisor +0 -0
- package/src/assets/web-panel/assets/{AIOps-CpiCBhRh.js → AIOps-CwD6Pm_Y.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-CnU-Xvx-.js → ActionButton-Du5Rp-O6.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-BJW-CNtf.js → Analytics-DY9l72ma.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-UFQJL3G9.js → AppLayout-7t1WIaCJ.js} +5 -5
- package/src/assets/web-panel/assets/{Artifacts-Dr_IUDoY.js → Artifacts-BLIA5yny.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-aglWo6rr.js → Audit-BC_N0QTg.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-Dm_TCiXC.js → BackgroundAgents-CA7SxDtg.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-DUdX4-gA.js → Backup-BZ4AzS1_.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-BTcLjy1o.js → BaseInput-BhiggGaH.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-Bhy9qZrl.js → Chat-CDdBoIBI.js} +5 -5
- package/src/assets/web-panel/assets/ChatBubbleRenderer-hsBsrl31.js +1 -0
- package/src/assets/web-panel/assets/{Checkbox-CblrPa21.js → Checkbox-asoMKSEK.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-SEAHzOlr.js → Codegen-B0gElLdm.js} +1 -1
- package/src/assets/web-panel/assets/{Col-DJz8iFOR.js → Col-DrNzLpF6.js} +1 -1
- package/src/assets/web-panel/assets/{Community-RufKhcQt.js → Community-DCzB5qkI.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-Dlifx08U.js → Compact-Db-Eua_j.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-DdhQWcHh.js → Compliance-B76NByjl.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-BLNn6oOm.js → Cowork-C-nK6Qpk.js} +3 -3
- package/src/assets/web-panel/assets/{Cron-Dv-JWY2d.js → Cron-C-GlQO19.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-k7Pz7O-b.js → Crosschain-Cuuz9IIh.js} +1 -1
- package/src/assets/web-panel/assets/{DID-C_10syUW.js → DID-gwFaT973.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-CMyH6Szx.js → Dashboard-DHDt5jEf.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-DjmD2Saa.js → Dropdown-CJ9kog-Y.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-36_IRUSo.js → EmailListRenderer-DOSXFRiQ.js} +1 -1
- package/src/assets/web-panel/assets/{EvolutionSettings-CmtU0XmM.js → EvolutionSettings-CHYMP7rR.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-DEgf9kyP.js → FamilyGuardDashboard-C1gzG5EK.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-DGO1wQls.js → Federation-CEdNVWUw.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-Doj1FmKW.js → FormItemContext-CwVOWPX8.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-GzOU27iT.js → GenericCardRenderer-CgNUs3kT.js} +1 -1
- package/src/assets/web-panel/assets/{Git-Dd7D1EDK.js → Git-DM4MNnQo.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-6IY8LcjI.js → Governance-DdOtjkvd.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-BB9gl8q1.js → Inference-28PidFfr.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-CeCed5wd.js → KnowledgeGraph-Bpj_qNUK.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-CYOeHuaI.js → Logs-C6Ix19Ay.js} +2 -2
- package/src/assets/web-panel/assets/{MarkdownRenderer-Bk8Zqc2R.js → MarkdownRenderer-Bj6mtPbf.js} +1 -1
- package/src/assets/web-panel/assets/{Marketplace-D-_xgHgM.js → Marketplace-DqkhRSMP.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-NnaUTF5t.js → McpTools-1WQ2SjaE.js} +3 -3
- package/src/assets/web-panel/assets/{Memory-CndN9pMt.js → Memory-BWTi7v6R.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-BXblFmhY.js → MobileBridge-DB4wu3UE.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-CC26Dm2k.js → MobileProjects-Bh9pWx2f.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-BhaqWCiW.js → Mtc-BVF1Wrno.js} +4 -4
- package/src/assets/web-panel/assets/{MtcAudit-D6fktM2w.js → MtcAudit-DtNfslPf.js} +5 -5
- package/src/assets/web-panel/assets/{Multisig-CFvahz7s.js → Multisig-4qcXP0bf.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-Co73Ivya.js → NLProgramming-BRJl5Ehw.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-B4g33L1o.js → Notes-BRY_bgMk.js} +3 -3
- package/src/assets/web-panel/assets/{NotificationSettings-lXd17EbN.js → NotificationSettings-DirXMFz4.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-BiOB0GIi.js → OrderTableRenderer-BlrY8lwu.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-JQ7_wQIA.js → Organization-CVzQ1vO-.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-gwgJgozQ.js → Overflow-A3rXTPG4.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-D9L_0gie.js → P2P-Db9ABWz0.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-CbOPsFE9.js → PdhVaultBrowser-CPv0H2OZ.js} +3 -3
- package/src/assets/web-panel/assets/{Permissions-Cz42HNQf.js → Permissions-COnW4sIR.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-DjorYtrF.js → PersonalDataHub-C1hG7rp7.js} +5 -5
- package/src/assets/web-panel/assets/{Pipeline-DyWPhmm5.js → Pipeline---GLRDEe.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-DyfLMl2j.js → Privacy-aaN9R3Lu.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-CyqDx1OE.js → ProjectInit-C-kw49hE.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-DsBw0Csy.js → ProjectSettings-y5tTkBTC.js} +2 -2
- package/src/assets/web-panel/assets/Projects-DZHlhyPB.js +1 -0
- package/src/assets/web-panel/assets/{Providers-CCI_klN-.js → Providers-LqxnV72o.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-DNsnlDdS.js → QrScannerModal-D_q-Y5F0.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-B9r2iaee.js → QuickAsk-_E_KB5o8.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-BJDe03GR.js → Recommend-BN8S5WJA.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-J7JR3rRo.js → RemoteSession-BFzrY_aW.js} +3 -3
- package/src/assets/web-panel/assets/{Reputation-DR39AJeV.js → Reputation-C1HCLaTV.js} +1 -1
- package/src/assets/web-panel/assets/{Row-Dh77m3NZ.js → Row-B8T2-Qv7.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-BUdg28nJ.js → RssFeed-CNQLk8v1.js} +3 -3
- package/src/assets/web-panel/assets/{Search-BNC7sGhj.js → Search-BOx720Kc.js} +1 -1
- package/src/assets/web-panel/assets/{Security-DISENGI7.js → Security-Ds8z6PF6.js} +4 -4
- package/src/assets/web-panel/assets/{Services-BBBGpJ1-.js → Services-C0-YkRSF.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-DMcIoIv2.js → Skeleton-DUHlSySD.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-QAyFbI3r.js → Skills-C8CBbbh0.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-CSg5wLH7.js → Sla-lQltyYfB.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-DMPxTc5x.js → SpeechSettings-B5vyOma-.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-CPG7l30y.js → SyncSettings-BKDPu_y-.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-Y1kOVvVL.js → Tasks-Bgvf7LTx.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-jt9NagL0.js → Templates-BMZyYYS7.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-DauuJICx.js → Tenant-7PYTig8f.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-E9rnKeGq.js → Terminal-C2W0LMdR.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-Cc7z2APG.js → TimelineRenderer-CqREew_l.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-CV0UthRA.js → Tokens-BhTyxTuD.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-BFcJJGfu.js → Trigger-DxNSSZy_.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-BAydbNJA.js → Trust-Dy_wfbIh.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-DcOS6sqL.js → UkeySign-DJC5ANqx.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-BLHJZvif.js → VideoEditing-CNFevrO4.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-4QFLKHwW.js → Wallet-CXzuS1YK.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-BocEOOSj.js → WebAuthn-BWS6HP8c.js} +5 -5
- package/src/assets/web-panel/assets/{WorkflowEditor-DCfF7D0B.js → WorkflowEditor-swiN_7Vj.js} +1 -1
- package/src/assets/web-panel/assets/{chat-CxvfsYGr.js → chat-NwH7qlBs.js} +1 -1
- package/src/assets/web-panel/assets/{colors-KtQB9DmQ.js → colors-h6nRhBTw.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-Dx4J6arN.js → compact-item-BQ6B6rP2.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-Cq0olgzo.js → createContext-CQkJuRcG.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-Bz6vqBGV.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-Bf9-h3D-.js → hasIn-Diwl1WyI.js} +1 -1
- package/src/assets/web-panel/assets/{index-CpO6DKuu.js → index-0ZztPzIm.js} +1 -1
- package/src/assets/web-panel/assets/index-1b7DEw-w.js +1 -0
- package/src/assets/web-panel/assets/{index-DQDR-_ai.js → index-AzeSQJDK.js} +1 -1
- package/src/assets/web-panel/assets/{index-BMcC4cbj.js → index-B3QgcUBV.js} +1 -1
- package/src/assets/web-panel/assets/{index-BO6XvO-C.js → index-B5gj_uCC.js} +1 -1
- package/src/assets/web-panel/assets/{index-ClUfSChI.js → index-BI3ALCgN.js} +1 -1
- package/src/assets/web-panel/assets/{index-B3xfiItB.js → index-BRl3KUj0.js} +1 -1
- package/src/assets/web-panel/assets/{index-DFdEDvFn.js → index-BYYb8oeV.js} +1 -1
- package/src/assets/web-panel/assets/{index-CqnggDos.js → index-BcKDUGYf.js} +1 -1
- package/src/assets/web-panel/assets/{index-B_8UcDan.js → index-BcjlIMP9.js} +1 -1
- package/src/assets/web-panel/assets/{index-CmQuG0fr.js → index-BheCvudN.js} +1 -1
- package/src/assets/web-panel/assets/{index-iE9tqEN5.js → index-BjcARUtr.js} +1 -1
- package/src/assets/web-panel/assets/{index-nmyDOh_b.js → index-BnQUin2K.js} +1 -1
- package/src/assets/web-panel/assets/{index-Br1mDMfO.js → index-Bs6HyCfP.js} +1 -1
- package/src/assets/web-panel/assets/{index-DZWjYfWt.js → index-BvPz6vZ8.js} +1 -1
- package/src/assets/web-panel/assets/{index-0fi8DIVQ.js → index-C3Ye1ISy.js} +1 -1
- package/src/assets/web-panel/assets/{index-hSzyoXri.js → index-C7-T-u0L.js} +3 -3
- package/src/assets/web-panel/assets/{index-DfrFNMvz.js → index-CRWpixu2.js} +1 -1
- package/src/assets/web-panel/assets/{index-C9yaUHm9.js → index-CatBQDSQ.js} +1 -1
- package/src/assets/web-panel/assets/index-CfD4tMuW.js +1 -0
- package/src/assets/web-panel/assets/{index-DMR-keCL.js → index-CqH-oOR3.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cy865Hhq.js → index-CwsoVDi-.js} +1 -1
- package/src/assets/web-panel/assets/{index-DI5bRqNG.js → index-CyBtEVLM.js} +1 -1
- package/src/assets/web-panel/assets/{index-gt5N6VM_.js → index-D5P498Rk.js} +1 -1
- package/src/assets/web-panel/assets/{index-6dDDSCHD.js → index-DKaB4xTf.js} +1 -1
- package/src/assets/web-panel/assets/{index-BKtQyb2o.js → index-DQYZa1Ci.js} +1 -1
- package/src/assets/web-panel/assets/{index-CaIclw-E.js → index-DZ9CNcbJ.js} +1 -1
- package/src/assets/web-panel/assets/{index-_FIz-0tp.js → index-DZAsByy4.js} +1 -1
- package/src/assets/web-panel/assets/{index-DBRlZdZj.js → index-D_HY0nyN.js} +1 -1
- package/src/assets/web-panel/assets/{index-DsCdl2Od.js → index-Da8frO_A.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cfsn7N18.js → index-DjB8IC9D.js} +1 -1
- package/src/assets/web-panel/assets/{index-CeYP_kT9.js → index-Dwpthe2b.js} +1 -1
- package/src/assets/web-panel/assets/{index-B8WuPI-h.js → index-Fm95dO4u.js} +1 -1
- package/src/assets/web-panel/assets/{index-CK2U_AHi.js → index-GTefQSbY.js} +1 -1
- package/src/assets/web-panel/assets/{index-DnU-dUWd.js → index-OEWSrqit.js} +1 -1
- package/src/assets/web-panel/assets/{index-DDAe1UmZ.js → index-TYMmUsxZ.js} +1 -1
- package/src/assets/web-panel/assets/{index-D2BfSIrn.js → index-iHNOr_wL.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cz7f4Jaq.js → index-mxxZtsHp.js} +1 -1
- package/src/assets/web-panel/assets/{index-BHmdMKYl.js → index-pYwYBVeQ.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-DvzKJ6o5.js → initDefaultProps-BeUrpC_H.js} +1 -1
- package/src/assets/web-panel/assets/{motion-D1yTvmxW.js → motion-CHW5EXt1.js} +1 -1
- package/src/assets/web-panel/assets/{move-DxtSIF8K.js → move-CWaoWJvF.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-BDsQgIHY.js → mtc-parser-CEC6Us1u.js} +1 -1
- package/src/assets/web-panel/assets/{omit-UVBJW8kh.js → omit-1D-kP_Qj.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-D4QqtTyX.js → pickAttrs-CsS0myLl.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-QXmu6vBf.js → placementArrow-bMThOvkI.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-D-PmXO9M.js → responsiveObserve-B72knbW8.js} +1 -1
- package/src/assets/web-panel/assets/{slide-CKbGxEZJ.js → slide-C3bI_2yy.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-BbgXPkXm.js → statusUtils-0-FmcCAS.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-DOr9rk68.js → styleChecker-DXUyqoWY.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-B2wO2r36.js → useFlexGapSupport-BSSnL3f1.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-SeVGBK34.js → useFs-B0Cvvl0S.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-DUJBCxjD.js → usePersonalDataHub-6D-d4WU5.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-CF4EYsig.js → vnode-zjIrlxT_.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-pRUs5pqI.js → zoom-Hw7NEisu.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/command-help-index.json +1 -1
- package/src/command-manifest.json +1 -1
- package/src/commands/checkpoint.js +42 -7
- package/src/commands/orchestrate.js +85 -25
- package/src/commands/session-location.js +5 -0
- package/src/commands/session-show.js +109 -1
- package/src/commands/session.js +26 -2
- package/src/commands/tokens.js +9 -4
- package/src/data/changelog.json +26 -0
- package/src/generated/cc-agent-protocol.schema.json +71 -0
- package/src/harness/jsonl-session-store.js +357 -114
- package/src/harness/mcp-client.js +44 -1
- package/src/lib/agent-router.js +35 -7
- package/src/lib/agent-sandbox.js +302 -2
- package/src/lib/app-server/server.js +14 -0
- package/src/lib/background-agent-supervisor.js +14 -4
- package/src/lib/causal-observability.js +64 -1
- package/src/lib/checkpoint-summary-projection.js +98 -0
- package/src/lib/checkpoint-timeline-authority.js +15 -51
- package/src/lib/claude-code-bridge.js +302 -60
- package/src/lib/codex-app-server-adapter.js +161 -35
- package/src/lib/cost-budget.js +4 -0
- package/src/lib/doctor-checkup.js +31 -2
- package/src/lib/durable-security-store.js +6 -1
- package/src/lib/evolution/evolution-artifact-identity.js +21 -0
- package/src/lib/evolution/evolution-artifact-ports.js +5 -11
- package/src/lib/evolution/evolution-eval-cohort-receipt-reconciliation.js +389 -0
- package/src/lib/execution-location-failure-site.js +63 -0
- package/src/lib/execution-location-target.js +102 -8
- package/src/lib/external-agent-adapters.js +2 -0
- package/src/lib/image-file-boundary.js +154 -0
- package/src/lib/image-input.js +16 -3
- package/src/lib/llm-pricing.js +114 -8
- package/src/lib/lsp/code-intelligence.js +7 -1
- package/src/lib/mcp-call-ledger-store.js +7 -2
- package/src/lib/model-capabilities.js +21 -10
- package/src/lib/model-context-catalog.js +60 -1
- package/src/lib/openai-responses.js +7 -1
- package/src/lib/orchestrator.js +8 -2
- package/src/lib/process-execution-broker/index.js +93 -1
- package/src/lib/process-execution-broker/linux-subreaper-artifact.js +120 -0
- package/src/lib/process-execution-broker/linux-subreaper-helper.js +344 -0
- package/src/lib/process-execution-broker/linux-subreaper-process.js +326 -0
- package/src/lib/process-execution-broker/linux-subreaper-supervisor.c +360 -0
- package/src/lib/process-execution-broker/owned-posix-process-group-worker.mjs +131 -0
- package/src/lib/process-execution-broker/owned-posix-process-group.js +267 -0
- package/src/lib/process-execution-broker/process-ownership-journal.js +297 -0
- package/src/lib/process-execution-broker/process-ownership-quarantine.js +91 -0
- package/src/lib/runtime-usage-ledger.js +3 -0
- package/src/lib/sandbox-docker-egress.js +507 -0
- package/src/lib/sandbox-egress-proxy.js +167 -10
- package/src/lib/sandbox-egress-worker-thread.js +38 -0
- package/src/lib/sandbox-egress-worker.js +196 -0
- package/src/lib/secure-fs.js +158 -42
- package/src/lib/session-branch-history.js +240 -0
- package/src/lib/session-history-origins.js +285 -0
- package/src/lib/session-input-receipt.js +110 -0
- package/src/lib/session-resource-budget.js +8 -8
- package/src/lib/session-transcript-history.js +456 -0
- package/src/lib/session-transcript-page.js +164 -0
- package/src/lib/session-transcript-reference.js +38 -0
- package/src/lib/session-usage.js +8 -0
- package/src/lib/token-tracker.js +32 -54
- package/src/lib/usage-pricing-context.js +93 -0
- package/src/runtime/agent-core.js +141 -21
- package/src/runtime/headless-stream.js +202 -4
- package/src/assets/web-panel/assets/ChatBubbleRenderer-D0WrJQaQ.js +0 -1
- package/src/assets/web-panel/assets/Projects-CRaSI25Z.js +0 -1
- package/src/assets/web-panel/assets/devWarning-CmgDNkoO.js +0 -1
- package/src/assets/web-panel/assets/index-BpIZ2S01.js +0 -1
- package/src/assets/web-panel/assets/index-C-VmKuyv.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as s}from"./index-
|
|
1
|
+
import{t as s}from"./index-C7-T-u0L.js";const i=Object.freeze({ok:!1,config:{enabled:!1,batch_interval_seconds:3600,namespace_prefix:"",issuer:""},staging:{count:0,malformed:0,oldest_queued_at:null},batches:{count:0,last_batch_id:null,last_closed_at:null,last_tree_size:null,last_tree_head_id:null}});function n(r,t=0){return typeof r=="number"&&Number.isFinite(r)?r:t}function a(r,t=""){return typeof r=="string"?r:t}function f(r){const t=JSON.parse(JSON.stringify(i)),e=r&&typeof r=="object"&&!Array.isArray(r)?r:s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.ok=!0,e.config&&typeof e.config=="object"&&(t.config.enabled=e.config.enabled===!0,t.config.batch_interval_seconds=n(e.config.batch_interval_seconds,t.config.batch_interval_seconds),t.config.namespace_prefix=a(e.config.namespace_prefix),t.config.issuer=a(e.config.issuer)),e.staging&&typeof e.staging=="object"&&(t.staging.count=n(e.staging.count,0),t.staging.malformed=n(e.staging.malformed,0),t.staging.oldest_queued_at=e.staging.oldest_queued_at??null),e.batches&&typeof e.batches=="object"&&(t.batches.count=n(e.batches.count,0),t.batches.last_batch_id=e.batches.last_batch_id??null,t.batches.last_closed_at=e.batches.last_closed_at??null,t.batches.last_tree_size=e.batches.last_tree_size??null,t.batches.last_tree_head_id=e.batches.last_tree_head_id??null)),t}const o=Object.freeze({ok:!1,exists:!1,stateFile:"",lastSeq:0,lastFingerprint:null,lastPublishedAt:null,historyCount:0,history:[]});function l(r){if(!r||typeof r!="object")return null;const t=a(r.seq);return t?{key:t,seq:t,namespace:a(r.namespace),treeHeadId:a(r.tree_head_id),rootHash:a(r.root_hash),treeSize:n(r.tree_size,0),fingerprint:a(r.fingerprint),publishedAt:a(r.published_at),batchDir:a(r.batch_dir)}:null}function _(r){const t=JSON.parse(JSON.stringify(o)),e=s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.ok=e.ok===!0,t.exists=e.exists===!0,t.stateFile=a(e.state_file),!t.exists)||(t.lastSeq=n(e.last_seq,0),t.lastFingerprint=e.last_fingerprint??null,t.lastPublishedAt=e.last_published_at??null,t.historyCount=n(e.history_count,0),Array.isArray(e.history)&&(t.history=e.history.map(l).filter(Boolean))),t}const u=Object.freeze({ok:!1,code:"",recoverable:!1,leaf:null,treeHead:null,raw:null});function d(r){const t=JSON.parse(JSON.stringify(u)),e=s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.raw=e,t.ok=e.ok===!0,t.code=a(e.code,e.reason||""),t.recoverable=e.recoverable===!0,e.leaf&&typeof e.leaf=="object"&&(t.leaf=e.leaf),e.treeHead&&typeof e.treeHead=="object"&&(t.treeHead=e.treeHead)),t}function h(r){return typeof r!="number"||!Number.isFinite(r)||r<=0?"—":r<60?`${r}s`:r<3600?`${Math.round(r/60)}min`:`${Math.round(r/3600)}h`}function b(r){if(!r)return"—";const t=new Date(r);return isNaN(t.getTime())?r:t.toLocaleString("zh-CN",{hour12:!1})}function g(r){if(!r)return"—";const t=Date.parse(r);if(isNaN(t))return r;const e=Math.round((Date.now()-t)/1e3);return e<60?`${e}s 前`:e<3600?`${Math.round(e/60)}min 前`:e<86400?`${Math.round(e/3600)}h 前`:`${Math.round(e/86400)}d 前`}export{f as a,_ as b,b as c,h as d,g as f,d as p};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as s}from"./index-
|
|
1
|
+
import{h as s}from"./index-C7-T-u0L.js";function a(n,t){const e=s({},n);for(let o=0;o<t.length;o+=1){const r=t[o];delete e[r]}return e}export{a as o};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{h as i}from"./index-
|
|
1
|
+
import{h as i}from"./index-C7-T-u0L.js";const l=`accept acceptcharset accesskey action allowfullscreen allowtransparency
|
|
2
2
|
alt async autocomplete autofocus autoplay capture cellpadding cellspacing challenge
|
|
3
3
|
charset checked classid classname colspan cols content contenteditable contextmenu
|
|
4
4
|
controls coords crossorigin data datetime default defer dir disabled download draggable
|
package/src/assets/web-panel/assets/{placementArrow-QXmu6vBf.js → placementArrow-bMThOvkI.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as i}from"./index-
|
|
1
|
+
import{h as i}from"./index-C7-T-u0L.js";const L=(e,o,t,n,p)=>{const r=e/2,a=0,s=r,m=t*1/Math.sqrt(2),h=r-t*(1-1/Math.sqrt(2)),b=r-o*(1/Math.sqrt(2)),u=t*(Math.sqrt(2)-1)+o*(1/Math.sqrt(2)),g=2*r-b,w=u,d=2*r-m,c=h,A=2*r-a,x=s,v=r*Math.sqrt(2)+t*(Math.sqrt(2)-2),$=t*(Math.sqrt(2)-1);return{pointerEvents:"none",width:e,height:e,overflow:"hidden","&::after":{content:'""',position:"absolute",width:v,height:v,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${o}px 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:p,zIndex:0,background:"transparent"},"&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:e,height:e/2,background:n,clipPath:{_multi_value_:!0,value:[`polygon(${$}px 100%, 50% ${$}px, ${2*r-$}px 100%, ${$}px 100%)`,`path('M ${a} ${s} A ${t} ${t} 0 0 0 ${m} ${h} L ${b} ${u} A ${o} ${o} 0 0 1 ${g} ${w} L ${d} ${c} A ${t} ${t} 0 0 0 ${A} ${x} Z')`]},content:'""'}}},f={adjustX:1,adjustY:1},l=[0,0],j={left:{points:["cr","cl"],overflow:f,offset:[-4,0],targetOffset:l},right:{points:["cl","cr"],overflow:f,offset:[4,0],targetOffset:l},top:{points:["bc","tc"],overflow:f,offset:[0,-4],targetOffset:l},bottom:{points:["tc","bc"],overflow:f,offset:[0,4],targetOffset:l},topLeft:{points:["bl","tl"],overflow:f,offset:[0,-4],targetOffset:l},leftTop:{points:["tr","tl"],overflow:f,offset:[-4,0],targetOffset:l},topRight:{points:["br","tr"],overflow:f,offset:[0,-4],targetOffset:l},rightTop:{points:["tl","tr"],overflow:f,offset:[4,0],targetOffset:l},bottomRight:{points:["tr","br"],overflow:f,offset:[0,4],targetOffset:l},rightBottom:{points:["bl","br"],overflow:f,offset:[4,0],targetOffset:l},bottomLeft:{points:["tl","bl"],overflow:f,offset:[0,4],targetOffset:l},leftBottom:{points:["br","bl"],overflow:f,offset:[-4,0],targetOffset:l}},M={adjustX:1,adjustY:1},O={adjustX:0,adjustY:0},T=[0,0];function k(e){return typeof e=="boolean"?e?M:O:i(i({},O),e)}function Y(e){const{arrowWidth:o=4,horizontalArrowShift:t=16,verticalArrowShift:n=8,autoAdjustOverflow:p,arrowPointAtCenter:r}=e,a={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(t+o),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(n+o)]},topRight:{points:["br","tc"],offset:[t+o,-4]},rightTop:{points:["tl","cr"],offset:[4,-(n+o)]},bottomRight:{points:["tr","bc"],offset:[t+o,4]},rightBottom:{points:["bl","cr"],offset:[4,n+o]},bottomLeft:{points:["tl","bc"],offset:[-(t+o),4]},leftBottom:{points:["br","cl"],offset:[-4,n+o]}};return Object.keys(a).forEach(s=>{a[s]=r?i(i({},a[s]),{overflow:k(p),targetOffset:T}):i(i({},j[s]),{overflow:k(p)}),a[s].ignoreShake=!0}),a}function _(e){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return e.map(t=>`${o}${t}`).join(",")}const X=8;function B(e){const o=X,{sizePopupArrow:t,contentRadius:n,borderRadiusOuter:p,limitVerticalRadius:r}=e,a=t/2-Math.ceil(p*(Math.sqrt(2)-1)),s=(n>12?n+2:12)-a,m=r?o-a:s;return{dropdownArrowOffset:s,dropdownArrowOffsetVertical:m}}function q(e,o){const{componentCls:t,sizePopupArrow:n,marginXXS:p,borderRadiusXS:r,borderRadiusOuter:a,boxShadowPopoverArrow:s}=e,{colorBg:m,showArrowCls:h,contentRadius:b=e.borderRadiusLG,limitVerticalRadius:u}=o,{dropdownArrowOffsetVertical:g,dropdownArrowOffset:w}=B({sizePopupArrow:n,contentRadius:b,borderRadiusOuter:a,limitVerticalRadius:u}),d=n/2+p;return{[t]:{[`${t}-arrow`]:[i(i({position:"absolute",zIndex:1,display:"block"},L(n,r,a,m,s)),{"&:before":{background:m}})],[[`&-placement-top ${t}-arrow`,`&-placement-topLeft ${t}-arrow`,`&-placement-topRight ${t}-arrow`].join(",")]:{bottom:0,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-topRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-bottom ${t}-arrow`,`&-placement-bottomLeft ${t}-arrow`,`&-placement-bottomRight ${t}-arrow`].join(",")]:{top:0,transform:"translateY(-100%)"},[`&-placement-bottom ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-bottomRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-left ${t}-arrow`,`&-placement-leftTop ${t}-arrow`,`&-placement-leftBottom ${t}-arrow`].join(",")]:{right:{_skip_check_:!0,value:0},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop ${t}-arrow`]:{top:g},[`&-placement-leftBottom ${t}-arrow`]:{bottom:g},[[`&-placement-right ${t}-arrow`,`&-placement-rightTop ${t}-arrow`,`&-placement-rightBottom ${t}-arrow`].join(",")]:{left:{_skip_check_:!0,value:0},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop ${t}-arrow`]:{top:g},[`&-placement-rightBottom ${t}-arrow`]:{bottom:g},[_(["&-placement-topLeft","&-placement-top","&-placement-topRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingBottom:d},[_(["&-placement-bottomLeft","&-placement-bottom","&-placement-bottomRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingTop:d},[_(["&-placement-leftTop","&-placement-left","&-placement-leftBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingRight:{_skip_check_:!0,value:d}},[_(["&-placement-rightTop","&-placement-right","&-placement-rightBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingLeft:{_skip_check_:!0,value:d}}}}}export{X as M,Y as a,B as b,q as g,j as p,L as r};
|
package/src/assets/web-panel/assets/{responsiveObserve-D-PmXO9M.js → responsiveObserve-B72knbW8.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{J as o,h}from"./index-
|
|
1
|
+
import{J as o,h}from"./index-C7-T-u0L.js";import{b as x}from"./vendor-Bn1JzzAn.js";const v=["xxxl","xxl","xl","lg","md","sm","xs"],p=r=>({xs:`(max-width: ${r.screenXSMax}px)`,sm:`(min-width: ${r.screenSM}px)`,md:`(min-width: ${r.screenMD}px)`,lg:`(min-width: ${r.screenLG}px)`,xl:`(min-width: ${r.screenXL}px)`,xxl:`(min-width: ${r.screenXXL}px)`,xxxl:`{min-width: ${r.screenXXXL}px}`});function w(){const[,r]=o();return x(()=>{const n=p(r.value),i=new Map;let a=-1,c={};return{matchHandlers:{},dispatch(e){return c=e,i.forEach(t=>t(c)),i.size>=1},subscribe(e){return i.size||this.register(),a+=1,i.set(a,e),e(c),a},unsubscribe(e){i.delete(e),i.size||this.unregister()},unregister(){Object.keys(n).forEach(e=>{const t=n[e],s=this.matchHandlers[t];s?.mql.removeListener(s?.listener)}),i.clear()},register(){Object.keys(n).forEach(e=>{const t=n[e],s=l=>{let{matches:m}=l;this.dispatch(h(h({},c),{[e]:m}))},d=window.matchMedia(t);d.addListener(s),this.matchHandlers[t]={mql:d,listener:s},s(d)})},responsiveMap:n}})}export{v as r,w as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{K as n}from"./index-
|
|
1
|
+
import{K as n}from"./index-C7-T-u0L.js";import{i as e}from"./motion-CHW5EXt1.js";const m=new n("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),f=new n("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),c=new n("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),l=new n("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),y=new n("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),p=new n("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),O=new n("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),d=new n("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),g={"slide-up":{inKeyframes:m,outKeyframes:f},"slide-down":{inKeyframes:c,outKeyframes:l},"slide-left":{inKeyframes:y,outKeyframes:p},"slide-right":{inKeyframes:O,outKeyframes:d}},K=(t,r)=>{const{antCls:a}=t,i=`${a}-${r}`,{inKeyframes:s,outKeyframes:o}=g[r];return[e(i,s,o,t.motionDurationMid),{[`
|
|
2
2
|
${i}-enter,
|
|
3
3
|
${i}-appear
|
|
4
4
|
`]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:t.motionEaseOutQuint},[`${i}-leave`]:{animationTimingFunction:t.motionEaseInQuint}}]};export{f as a,c as b,m as c,K as i,l as s};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./index-
|
|
1
|
+
import{i as e}from"./index-C7-T-u0L.js";function r(a,s,t){return e({[`${a}-status-success`]:s==="success",[`${a}-status-warning`]:s==="warning",[`${a}-status-error`]:s==="error",[`${a}-status-validating`]:s==="validating",[`${a}-has-feedback`]:t})}const c=(a,s)=>s||a;export{c as a,r as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as d}from"./index-
|
|
1
|
+
import{B as d}from"./index-C7-T-u0L.js";const i=()=>d()&&window.document.documentElement,c=e=>{if(d()&&window.document.documentElement){const t=Array.isArray(e)?e:[e],{documentElement:n}=window.document;return t.some(r=>r in n.style)}return!1},u=(e,t)=>{if(!c(e))return!1;const n=document.createElement("div"),r=n.style[e];return n.style[e]=t,n.style[e]!==r};function s(e,t){return!Array.isArray(e)&&t!==void 0?u(e,t):c(e)}let o;const p=()=>{if(!i())return!1;if(o!==void 0)return o;const e=document.createElement("div");return e.style.display="flex",e.style.flexDirection="column",e.style.rowGap="1px",e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),document.body.appendChild(e),o=e.scrollHeight===1,document.body.removeChild(e),o};export{i as c,p as d,s as i};
|
package/src/assets/web-panel/assets/{useFlexGapSupport-B2wO2r36.js → useFlexGapSupport-BSSnL3f1.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o,s as t}from"./vendor-Bn1JzzAn.js";import{d as s}from"./styleChecker-
|
|
1
|
+
import{o,s as t}from"./vendor-Bn1JzzAn.js";import{d as s}from"./styleChecker-DXUyqoWY.js";const r=(()=>{const e=t(!1);return o(()=>{e.value=s()}),e});export{r as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as d}from"./index-
|
|
1
|
+
import{u as d}from"./index-C7-T-u0L.js";import{u as c}from"./useShellMode-CgR0wCYM.js";function u({accept:l=""}={}){return new Promise(a=>{if(typeof document>"u"){a({canceled:!0,path:null,content:null});return}const n=document.createElement("input");n.type="file",l&&(n.accept=l),n.style.display="none",document.body.appendChild(n);let o=!1;const i=()=>{n.parentNode&&n.parentNode.removeChild(n)},r=()=>{if(o)return;o=!0;const e=n.files&&n.files[0];if(!e){i(),a({canceled:!0,path:null,content:null});return}const t=new FileReader;t.onload=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:typeof t.result=="string"?t.result:""})},t.onerror=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:null,reason:"read_failed"})},t.readAsText(e)};n.addEventListener("change",r),n.click()})}function f(l,{defaultPath:a="download.txt"}={}){if(typeof document>"u")return{canceled:!0,path:null};const n=new Blob([l],{type:"text/plain"}),o=URL.createObjectURL(n),i=document.createElement("a");return i.href=o,i.download=a,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o),{canceled:!1,path:a}}function p(l){if(!Array.isArray(l))return"";const a=[];for(const n of l)if(Array.isArray(n.extensions))for(const o of n.extensions)a.push(`.${o.replace(/^\./,"")}`);return a.join(",")}function m(){const l=d();async function a(r={}){if(c().isEmbedded){const e=await l.sendRaw({type:"fs.openDialog",title:r.title,filters:r.filters},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDialog failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,content:t.content??null,size:t.size,reason:t.reason}}return u({accept:p(r.filters)})}async function n(r,e={}){if(typeof r!="string")throw new Error("content must be a string");if(c().isEmbedded){const t=await l.sendRaw({type:"fs.saveDialog",title:e.title,defaultPath:e.defaultPath,filters:e.filters,content:r},6e4);if(t&&t.ok===!1)throw new Error(t.error||"fs.saveDialog failed");const s=t?.result??t;return{canceled:!!s.canceled,path:s.path??null}}return f(r,{defaultPath:e.defaultPath})}async function o(r,e={}){const t=JSON.stringify(r,null,2),s={...e,defaultPath:e.defaultPath||"data.json",filters:e.filters||[{name:"JSON",extensions:["json"]}]};return n(t,s)}async function i(r={}){if(!c().isEmbedded)return{canceled:!0,path:null,initialized:!1,unsupported:!0};const e=await l.sendRaw({type:"fs.openDirectory",title:r.title},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDirectory failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,initialized:!!t.initialized}}return{pickFileText:a,saveText:n,saveJson:o,pickDirectory:i}}export{m as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as v}from"./index-
|
|
1
|
+
import{u as v}from"./index-C7-T-u0L.js";import{u as _}from"./useShellMode-CgR0wCYM.js";function d(r){if(!r)return r;if(r.error)throw new Error(r.error);return r.result!==void 0?r.result:r}async function p(r,s={},e=!0){try{if(e!==!0||!r||typeof r.sendRaw!="function")return{status:"unavailable",path:null};const a=await r.sendRaw({type:"fs.openDirectory",title:s.title},6e4);if(a&&(a.ok===!1||a.error))return{status:"unavailable",path:null};const t=a&&a.result!==void 0?a.result:a;return t&&(t.ok===!1||t.error||t.unsupported===!0)?{status:"unavailable",path:null}:t&&t.canceled===!0?{status:"cancelled",path:null}:t&&typeof t.path=="string"&&t.path.length>0?{status:"selected",path:t.path}:{status:"unavailable",path:null}}catch{return{status:"unavailable",path:null}}}function b(r,s,e,a,t){return typeof r.onMessage!="function"||typeof r.sendRaw!="function"?r.sendRaw({type:s,...e},t).then(d):new Promise((n,u)=>{const l=typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`,w=`${s}.event`,m=`${s}.end`;let c=!1,h=()=>{};const o=(i,f)=>{if(!c){c=!0,clearTimeout(g);try{h()}catch{}i(f)}},g=setTimeout(()=>{o(u,new Error(`stream timeout (${t}ms): ${s}`))},t),y=r.onMessage(i=>{if(!(c||!i)&&!(i.id!==l&&i.requestId!==l)){if(i.type===w){if(typeof a=="function")try{a(i.event||i)}catch{}return}if(i.type===m){o(n,d(i));return}i.type==="error"&&o(u,new Error(i.message||"stream error"))}});h=typeof y=="function"?y:()=>{},Promise.resolve(r.sendRaw({id:l,type:s,...e},t)).catch(()=>{})})}function k(){const r=v(),s=_(),e=(a,t={},n=3e4)=>r.sendRaw({type:a,...t},n).then(d);return{async health(){return await e("personal-data-hub.health",{},8e3)},async stats(){return await e("personal-data-hub.stats",{},8e3)},async listAdapters(){return await e("personal-data-hub.list-adapters",{},5e3)},async pickFile(a={}){try{const t=await r.sendRaw({type:"fs.openDialog",title:a.title,filters:a.filters},6e4),n=t&&t.result!==void 0?t.result:t,u=n&&typeof n.path=="string"?n.path:n&&typeof n.filePath=="string"?n.filePath:null;return n&&n.canceled!==!0&&u?u:null}catch{return null}},async pickDirectoryResult(a={}){return await p(r,a,s.isEmbedded)},async pickDirectory(a={}){const t=await p(r,a,s.isEmbedded);return t.status==="selected"?t.path:null},async adapterReadiness(a){return await e("personal-data-hub.adapter-readiness",Number.isInteger(a)?{timeoutMs:a}:{},15e3)},async syncAdapter(a,t={}){return await e("personal-data-hub.sync-adapter",{name:a,options:t},6e5)},async syncAll(a={}){return await e("personal-data-hub.sync-all",{options:a},6e5)},async registerMock({name:a="mock",count:t=20,seed:n=1}={}){return await e("personal-data-hub.register-mock",{name:a,count:t,seed:n})},async unregister(a){return await e("personal-data-hub.unregister",{name:a})},async ask(a,t={}){return await e("personal-data-hub.ask",{question:a,options:t},18e4)},async queryEvents(a={}){return await e("personal-data-hub.query-events",a,1e4)},async recentAudit(a={}){return await e("personal-data-hub.recent-audit",a,1e4)},async searchEvents(a={}){return await e("personal-data-hub.search-events",a,15e3)},async facetCounts(a={}){return await e("personal-data-hub.facet-counts",a,1e4)},async testEmailAuth(a){return await e("personal-data-hub.test-email-auth",{account:a},3e4)},async registerEmail(a,t={}){return await e("personal-data-hub.register-email",{account:a,opts:t},15e3)},async unregisterEmail(a){return await e("personal-data-hub.unregister-email",{email:a},5e3)},async listEmailAccounts(){return await e("personal-data-hub.list-email-accounts",{},5e3)},async activateEmail(a){return await e("personal-data-hub.activate-email",{email:a},5e3)},async eventDetail(a){return await e("personal-data-hub.event-detail",{eventId:a},5e3)},async syncAdapterStream(a,t={},n){return await b(r,"personal-data-hub.sync-adapter-stream",{name:a,options:t},n,6e5)},async syncAllStream(a={},t){return await b(r,"personal-data-hub.sync-all-stream",{options:a},t,9e5)},async registerAlipay(a,t={}){return await e("personal-data-hub.register-alipay",{account:a,opts:t},15e3)},async unregisterAlipay(a){return await e("personal-data-hub.unregister-alipay",{email:a},5e3)},async listAlipayAccounts(){return await e("personal-data-hub.list-alipay-accounts",{},5e3)},async activateAlipay(a){return await e("personal-data-hub.activate-alipay",{email:a},5e3)},async importAlipayBill({zipPath:a,csvPath:t,zipPassword:n}={}){return await e("personal-data-hub.import-alipay-bill",{zipPath:a,csvPath:t,zipPassword:n},3e5)},async reviewQueueList(a=50){return await e("personal-data-hub.review-queue-list",{limit:a},5e3)},async reviewDecision(a,t){return await e("personal-data-hub.review-decision",{reviewId:a,decision:t},5e3)},async manualMerge(a,t){return await e("personal-data-hub.manual-merge",{aId:a,bId:t},5e3)},async manualUnmerge(a){return await e("personal-data-hub.manual-unmerge",{personId:a},5e3)},async resolverDrain(a=50){return await e("personal-data-hub.resolver-drain",{limit:a},18e4)},async resolverStats(){return await e("personal-data-hub.resolver-stats",{},5e3)},async skillsList(){return await e("personal-data-hub.skills-list",{},5e3)},async runSkill(a,t={}){return await e("personal-data-hub.run-skill",{name:a,options:t},12e4)},async openAichatLogin(a,t={}){return await e("personal-data-hub.aichat-open-login",{vendor:a,opts:t},1e4)},async probeAichatCookies(a,t){return await e("personal-data-hub.aichat-probe-cookies",{vendor:a,cookieHeader:t},1e4)},async registerAichatVendor(a,t,n={}){return await e("personal-data-hub.aichat-register-vendor",{vendor:a,cookies:t,opts:n},3e4)},async rotateAichatLogin(a){return await e("personal-data-hub.aichat-rotate-login",{vendor:a},1e4)},async listAichatAccounts(){return await e("personal-data-hub.list-aichat-accounts",{},5e3)},async unregisterAichat(a){return await e("personal-data-hub.unregister-aichat",{vendor:a},5e3)},async aichatHealthCheckOnce(){return await e("personal-data-hub.aichat-health-check-once",{},3e4)},async probeWechatEnv(){return await e("personal-data-hub.wechat-env-probe",{},15e3)},async registerWechat({account:a,dbPath:t,wechatDataPath:n,fridaOpts:u,keyProviderOverride:l}={}){return await e("personal-data-hub.register-wechat",{account:a,dbPath:t,wechatDataPath:n,fridaOpts:u,keyProviderOverride:l},45e3)},async listWechatAccounts(){return await e("personal-data-hub.list-wechat-accounts",{},5e3)},async activateWechat(a,t={}){return await e("personal-data-hub.activate-wechat",{uin:a,fridaOpts:t.fridaOpts,keyProviderOverride:t.keyProviderOverride},45e3)},async unregisterWechat(a){return await e("personal-data-hub.unregister-wechat",{uin:a},5e3)},async bilibiliAdbSync(a={}){return await e("personal-data-hub.bilibili-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bilibiliAdbDoctor(){return await e("personal-data-hub.bilibili-adb-doctor",{},15e3)},async weiboAdbSync(a={}){return await e("personal-data-hub.weibo-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async xhsAdbSync(a={}){return await e("personal-data-hub.xhs-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async toutiaoAdbSync(a={}){return await e("personal-data-hub.toutiao-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},9e4)},async kuaishouAdbSync(a={}){return await e("personal-data-hub.kuaishou-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bridgeDoctor(){return await e("personal-data-hub.bridge-doctor",{},6e4)},async douyinAdbSync(a={}){return await e("personal-data-hub.douyin-adb-sync",{uid:a.uid,limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)}}}export{k as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as i,h as a,w as l}from"./index-
|
|
1
|
+
import{N as i,h as a,w as l}from"./index-C7-T-u0L.js";import{a7 as o,k as g,C as d,F as f,A as p}from"./vendor-Bn1JzzAn.js";function c(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,u=e;if(Array.isArray(e)&&(u=i(e)[0]),!u)return null;const n=o(u,r,s);return n.props=t?a(a({},n.props),r):n.props,l(typeof n.props.class!="object","class must be string"),n}function V(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e.map(s=>c(s,r,t))}function v(e,r,t){p(o(e,a({},r)),t)}const m=e=>(e||[]).some(r=>g(r)?!(r.type===d||r.type===f&&!m(r.children)):!0)?e:null;function h(e,r,t,s){var u;const n=(u=e[r])===null||u===void 0?void 0:u.call(e,t);return m(n)?n:s?.()}export{h as a,V as b,c,v as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{K as o}from"./index-
|
|
1
|
+
import{K as o}from"./index-C7-T-u0L.js";import{i as f}from"./motion-CHW5EXt1.js";const c=new o("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),y=new o("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),a=new o("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),s=new o("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),g=new o("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),O=new o("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),l=new o("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),u=new o("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),p=new o("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),z=new o("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),K=new o("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),w=new o("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),I={zoom:{inKeyframes:c,outKeyframes:y},"zoom-big":{inKeyframes:a,outKeyframes:s},"zoom-big-fast":{inKeyframes:a,outKeyframes:s},"zoom-left":{inKeyframes:l,outKeyframes:u},"zoom-right":{inKeyframes:p,outKeyframes:z},"zoom-up":{inKeyframes:g,outKeyframes:O},"zoom-down":{inKeyframes:K,outKeyframes:w}},h=(n,r)=>{const{antCls:m}=n,t=`${m}-${r}`,{inKeyframes:i,outKeyframes:e}=I[r];return[f(t,i,e,r==="zoom-big-fast"?n.motionDurationFast:n.motionDurationMid),{[`
|
|
2
2
|
${t}-enter,
|
|
3
3
|
${t}-appear
|
|
4
4
|
`]:{transform:"scale(0)",opacity:0,animationTimingFunction:n.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${t}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};export{h as i,c as z};
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// Injected by web-ui-server.js at serve time
|
|
9
9
|
window.__CC_CONFIG__ = __CC_CONFIG_PLACEHOLDER__;
|
|
10
10
|
</script>
|
|
11
|
-
<script type="module" crossorigin src="./assets/index-
|
|
11
|
+
<script type="module" crossorigin src="./assets/index-C7-T-u0L.js"></script>
|
|
12
12
|
<link rel="modulepreload" crossorigin href="./assets/vendor-Bn1JzzAn.js">
|
|
13
13
|
<link rel="modulepreload" crossorigin href="./assets/icons-DG5UD-6K.js">
|
|
14
14
|
<link rel="stylesheet" crossorigin href="./assets/index-Cq93VfoF.css">
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"note": "Usage: chainlesschain note [options] [command]\n\nNote and knowledge base management\n\nOptions:\n -h, --help display help for command\n\nCommands:\n add [options] <title> Add a new note\n list [options] List notes\n show [options] <id> Show note content\n search [options] <query> Search notes\n delete [options] <id> Delete a note (soft delete)\n history [options] <id> Show version history for a note\n diff [options] <id> <v1> <v2> Show diff between two versions of a note\n revert [options] <id> <version> Revert a note to a specific version\n note-maturities-v2 List V2 note maturity states\n revision-lifecycles-v2 List V2 revision lifecycle states\n stats-v2 Show V2 governance stats\n get-max-active-notes-v2 Get max active notes per author\n set-max-active-notes-v2 <n> Set max active notes per author\n get-max-open-revs-v2 Get max open revisions per note\n set-max-open-revs-v2 <n> Set max open revisions per note\n get-note-idle-ms-v2 Get note idle threshold (ms)\n set-note-idle-ms-v2 <n> Set note idle threshold (ms)\n get-rev-stuck-ms-v2 Get revision stuck threshold (ms)\n set-rev-stuck-ms-v2 <n> Set revision stuck threshold (ms)\n active-note-count-v2 <authorId> Count active notes for an author\n open-rev-count-v2 <noteId> Count open revisions for a note\n register-note-v2 [options] <id> Register a V2 note\n get-note-v2 <id> Get a V2 note\n list-notes-v2 [options] List V2 notes\n activate-note-v2 <id> draft|locked → active\n lock-note-v2 <id> active → locked\n archive-note-v2 <id> → archived (terminal)\n touch-note-v2 <id> Update lastSeenAt\n create-revision-v2 [options] <id> Create a V2 revision\n get-revision-v2 <id> Get a V2 revision\n list-revisions-v2 [options] List V2 revisions\n review-revision-v2 <id> proposed → reviewed\n apply-revision-v2 <id> reviewed → applied (non-terminal)\n supersede-revision-v2 <id> reviewed|applied → superseded (terminal)\n discard-revision-v2 <id> → discarded (terminal)\n auto-lock-idle-notes-v2 Flip idle active notes → locked\n auto-discard-stale-revisions-v2 Flip stale proposed/reviewed → discarded\n help [command] display help for command\n",
|
|
101
101
|
"notification": "Usage: chainlesschain notification|notif [options] [command]\n\nPush notifications to paired mobile devices\n\nOptions:\n -h, --help display help for command\n\nCommands:\n send [options] Send a push notification to a paired iPhone/Android\n help [command] display help for command\n",
|
|
102
102
|
"ops": "Usage: chainlesschain ops [options] [command]\n\nAutonomous operations / AIOps\n\nOptions:\n -h, --help display help for command\n\nCommands:\n severities [options] List severity levels\n statuses [options] List incident statuses\n algorithms [options] List detection algorithms\n rollback-types [options] List rollback types\n baseline-update [options] <metric> Update metric baseline from values\n baseline-show [options] <metric> Show metric baseline\n baselines [options] List metric baselines\n detect [options] <metric> <value> Detect anomaly for a metric value\n incident-create [options] Create an incident manually\n incident-show [options] <id> Show incident details\n incident-ack [options] <id> Acknowledge an incident\n incident-resolve [options] <id> Resolve an incident\n incident-close [options] <id> Close a resolved incident\n incidents [options] List incidents\n playbook-create [options] Create remediation playbook\n playbook-show [options] <id> Show playbook details\n playbook-toggle [options] <id> <on|off> Enable or disable a playbook\n playbook-record [options] <id> <success|failure> Record playbook execution result\n playbooks [options] List playbooks\n postmortem [options] <id> Generate postmortem for resolved incident\n stats [options] AIOps statistics\n playbook-maturities-v2 [options] List playbook V2 maturity states\n remediation-lifecycles-v2 [options] List remediation V2 lifecycle states\n default-max-active-playbooks-per-owner Show default max-active-playbooks-per-owner\n max-active-playbooks-per-owner Show current max-active-playbooks-per-owner\n set-max-active-playbooks-per-owner <n> Set max-active-playbooks-per-owner\n default-max-pending-remediations-per-owner Show default max-pending-remediations-per-owner\n max-pending-remediations-per-owner Show current max-pending-remediations-per-owner\n set-max-pending-remediations-per-owner <n> Set max-pending-remediations-per-owner\n default-playbook-stale-ms Show default playbook-stale-ms\n playbook-stale-ms Show current playbook-stale-ms\n set-playbook-stale-ms <ms> Set playbook-stale-ms\n default-remediation-timeout-ms Show default remediation-timeout-ms\n remediation-timeout-ms Show current remediation-timeout-ms\n set-remediation-timeout-ms <ms> Set remediation-timeout-ms\n active-playbook-count [options] Active playbook count (optionally scoped by owner)\n pending-remediation-count [options] Pending/executing remediation count (optionally scoped by owner)\n register-playbook-v2 [options] <playbook-id> Register a V2 playbook\n playbook-v2 <playbook-id> Get V2 playbook record\n set-playbook-maturity-v2 [options] <playbook-id> <status> Set playbook V2 maturity status\n activate-playbook [options] <playbook-id> Transition playbook → active\n deprecate-playbook-v2 [options] <playbook-id> Transition playbook → deprecated\n retire-playbook [options] <playbook-id> Transition playbook → retired (terminal)\n touch-playbook-activity <playbook-id> Bump lastUsedAt for a playbook\n submit-remediation-v2 [options] <remediation-id> Submit a V2 remediation\n remediation-v2 <remediation-id> Get V2 remediation record\n set-remediation-status-v2 [options] <remediation-id> <status> Set remediation V2 status\n start-remediation [options] <remediation-id> Transition remediation → executing\n complete-remediation [options] <remediation-id> Transition remediation → succeeded (terminal)\n fail-remediation [options] <remediation-id> Transition remediation → failed (terminal)\n abort-remediation [options] <remediation-id> Transition remediation → aborted (terminal)\n auto-retire-stale-playbooks Bulk-flip stale playbooks → retired\n auto-timeout-stuck-remediations Bulk-flip stuck executing remediations → failed\n stats-v2 [options] Show V2 AIOps stats (all-enum-key)\n help [command] display help for command\n",
|
|
103
|
-
"orchestrate": "Usage: chainlesschain orchestrate [options] [task]\n\nOrchestrate AI coding tasks:
|
|
103
|
+
"orchestrate": "Usage: chainlesschain orchestrate [options] [task]\n\nOrchestrate AI coding tasks (experimental): API text generation only; external\nClaude/Codex execution is blocked pending governance admission. Use cc agent\nfor tool execution.\n\nOptions:\n -a, --agents <n> Max parallel agents (default: \"3\")\n --ci <command> CI command to run after agents complete\n (default: \"npm test\")\n --no-ci Skip CI/CD verification step\n --source <type> Input source:\n cli|sentry|github|file|wecom|dingtalk|feishu\n (default: \"cli\")\n --file <path> Read task from file (use with --source file)\n --context <text> Extra context for the task (e.g. stack trace)\n --cwd <path> Project root directory (default: current dir)\n --provider <name> LLM provider for decomposition\n --model <name> Model for decomposition LLM calls\n --cli-tool <name> Select claude|codex (currently blocked by\n governance preflight)\n --backends <list> Backends: claude,codex (blocked),\n gemini,openai,anthropic,ollama (text only)\n --strategy <name> Agent routing:\n round-robin|by-type|parallel-all|primary\n (default: \"round-robin\")\n --retries <n> Max CI retry cycles (default: \"3\")\n --timeout <sec> Per-agent timeout in seconds (default: \"300\")\n --no-notify Disable notifications\n --status Show orchestrator and agent pool status\n --watch Start cron watch mode\n --interval <min> Cron interval in minutes (watch mode) (default:\n \"10\")\n --webhook Start HTTP webhook server for IM platform\n commands\n --webhook-port <port> Webhook server port (default: \"18820\")\n --webhook-secret-env <name> Environment variable containing the webhook\n HMAC secret (default:\n \"CC_ORCHESTRATE_WEBHOOK_SECRET\")\n --webhook-auth-mode <mode> Webhook authentication: cc|vendor (default:\n \"cc\")\n --webhook-max-body-bytes <n> Maximum authenticated webhook request body\n (default: \"262144\")\n --webhook-rate-limit <n> Maximum webhook requests per source and minute\n (default: \"30\")\n --json Output as JSON\n --verbose Verbose output\n -h, --help display help for command\n",
|
|
104
104
|
"orchgov": "Usage: chainlesschain orchgov [options] [command]\n\nOrchestrator V2 governance\n\nOptions:\n -h, --help display help for command\n\nCommands:\n enums-v2\n config-v2\n set-max-active-v2 <n>\n set-max-pending-v2 <n>\n set-idle-ms-v2 <n>\n set-stuck-ms-v2 <n>\n register-profile-v2 [options] <id> <owner>\n activate-profile-v2 <id>\n pause-profile-v2 <id>\n retire-profile-v2 <id>\n touch-profile-v2 <id>\n get-profile-v2 <id>\n list-profiles-v2\n create-task-v2 [options] <id> <profileId>\n dispatch-task-v2 <id>\n complete-task-v2 <id>\n fail-task-v2 <id> [reason]\n cancel-task-v2 <id> [reason]\n get-task-v2 <id>\n list-tasks-v2\n auto-pause-idle-v2\n auto-fail-stuck-v2\n gov-stats-v2\n reset-state-v2\n help [command] display help for command\n",
|
|
105
105
|
"org": "Usage: chainlesschain org [options] [command]\n\nOrganization, team, and approval management\n\nOptions:\n -h, --help display help for command\n\nCommands:\n create [options] <name> Create a new organization\n list [options] List all organizations\n show [options] <org-id> Show organization details\n delete [options] <org-id> Delete an organization\n invite [options] <org-id> <user-id> Invite a member to an organization\n members [options] <org-id> List organization members\n team-create [options] <org-id> <team-name> Create a team\n teams [options] <org-id> List teams in an organization\n approval-submit [options] <org-id> <title> Submit an approval request\n approvals [options] List approval requests\n approve [options] <approval-id> Approve a request\n reject [options] <approval-id> Reject a request\n maturities-v2 List org maturity states (V2)\n member-lifecycles-v2 List member lifecycle states (V2)\n stats-v2 Show V2 org/member stats\n max-active-orgs-per-owner [n] Get/set max active orgs per owner (V2)\n max-active-members-per-org [n] Get/set max active members per org (V2)\n org-idle-ms [ms] Get/set org idle window ms (V2)\n invite-stale-ms [ms] Get/set invite stale window ms (V2)\n active-org-count-v2 <owner> Count active orgs for owner (V2)\n active-member-count-v2 <orgId> Count active members for org (V2)\n register-org-v2 [options] <id> Register a new provisional org (V2)\n org-v2 <id> Show org by id (V2)\n list-orgs-v2 [options] List orgs (V2)\n set-org-maturity-v2 <id> <next> Transition org maturity (V2)\n activate-org-v2 <id> Activate org (V2)\n suspend-org-v2 <id> Suspend org (V2)\n archive-org-v2 <id> Archive org terminally (V2)\n touch-org-v2 <id> Update org lastSeenAt (V2)\n invite-member-v2 [options] <id> Invite a member to an org (V2)\n member-v2 <id> Show member by id (V2)\n list-members-v2 [options] List members (V2)\n set-member-status-v2 <id> <next> Transition member status (V2)\n activate-member-v2 <id> Activate member (V2)\n suspend-member-v2 <id> Suspend member (V2)\n revoke-member-v2 <id> Revoke member terminally (V2)\n depart-member-v2 <id> Depart member terminally (V2)\n auto-archive-idle-orgs Auto-archive non-provisional orgs idle past window (V2)\n auto-revoke-stale-invites Auto-revoke invited members stale past window (V2)\n help [command] display help for command\n",
|
|
106
106
|
"output-style": "Usage: chainlesschain output-style|output-styles [options] [command]\n\nList / show agent output-style personas\n\nOptions:\n -h, --help display help for command\n\nCommands:\n list|ls [options] List built-in + .claude/output-styles/*.md personas\n show [options] <name> Show a style's metadata and body\n new [options] <name> Scaffold a new style under .claude/output-styles/\n help [command] display help for command\n",
|
|
@@ -1320,7 +1320,7 @@
|
|
|
1320
1320
|
"aliases": [],
|
|
1321
1321
|
"module": "./commands/orchestrate.js",
|
|
1322
1322
|
"register": "registerOrchestrateCommand",
|
|
1323
|
-
"summary": "Orchestrate AI coding tasks:
|
|
1323
|
+
"summary": "Orchestrate AI coding tasks (experimental): API text generation only; external Claude/Codex execution is blocked pending governance admission. Use cc agent for tool execution.",
|
|
1324
1324
|
"stability": "compatibility",
|
|
1325
1325
|
"category": "compatibility",
|
|
1326
1326
|
"visibility": "extended",
|
|
@@ -59,6 +59,9 @@ import {
|
|
|
59
59
|
} from "../lib/checkpoint-restore-orchestrator.js";
|
|
60
60
|
import { registerManagedCheckpointCommands } from "./checkpoint-managed.js";
|
|
61
61
|
import { registerCheckpointRestoreRecoveryCommands } from "./checkpoint-restore-recovery.js";
|
|
62
|
+
import { HISTORY_PREFIX_SCHEMA } from "../lib/session-history-origins.js";
|
|
63
|
+
import { HISTORY_SUMMARY_SCHEMA } from "../lib/checkpoint-summary-projection.js";
|
|
64
|
+
import { createSessionTranscriptBranchProjection } from "../lib/session-transcript-history.js";
|
|
62
65
|
|
|
63
66
|
function stableCheckpointRestoreValue(value) {
|
|
64
67
|
if (value === undefined) return "null";
|
|
@@ -770,13 +773,22 @@ export function registerCheckpointCommand(program, dependencies = {}) {
|
|
|
770
773
|
}
|
|
771
774
|
|
|
772
775
|
if (planned.commit.branchPlan) {
|
|
773
|
-
result.branch =
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
776
|
+
result.branch = transaction.readProjection(() =>
|
|
777
|
+
createSessionTranscriptBranchProjection(
|
|
778
|
+
options.session,
|
|
779
|
+
planned.commit.messages,
|
|
780
|
+
(history) =>
|
|
781
|
+
createBranchSession({
|
|
782
|
+
branchSessionId:
|
|
783
|
+
planned.commit.branchPlan.branchSessionId,
|
|
784
|
+
parentSessionId: options.session,
|
|
785
|
+
parentTurnId: submission.turnId,
|
|
786
|
+
messages: planned.commit.messages,
|
|
787
|
+
meta: { title: `Branch of ${options.session}` },
|
|
788
|
+
history,
|
|
789
|
+
}),
|
|
790
|
+
),
|
|
791
|
+
);
|
|
780
792
|
transaction.retainRecoveryEvidence({
|
|
781
793
|
branchSessionId:
|
|
782
794
|
result.branch?.branchSessionId ||
|
|
@@ -794,6 +806,29 @@ export function registerCheckpointCommand(program, dependencies = {}) {
|
|
|
794
806
|
sourceRevision: context.timeline.revision,
|
|
795
807
|
turnId: submission.turnId,
|
|
796
808
|
messages: planned.commit.messages,
|
|
809
|
+
...(["restore-conversation", "restore-both"].includes(
|
|
810
|
+
submission.action,
|
|
811
|
+
)
|
|
812
|
+
? {
|
|
813
|
+
historyPrefix: {
|
|
814
|
+
schema: HISTORY_PREFIX_SCHEMA,
|
|
815
|
+
sourceHead: transaction.currentHeadHash(),
|
|
816
|
+
sourceMessageCount: context.messages.length,
|
|
817
|
+
retainedMessageCount:
|
|
818
|
+
planned.commit.messages.length,
|
|
819
|
+
},
|
|
820
|
+
}
|
|
821
|
+
: {}),
|
|
822
|
+
...(planned.commit.summaryRange
|
|
823
|
+
? {
|
|
824
|
+
historySummary: {
|
|
825
|
+
schema: HISTORY_SUMMARY_SCHEMA,
|
|
826
|
+
sourceHead: transaction.currentHeadHash(),
|
|
827
|
+
sourceMessageCount: context.messages.length,
|
|
828
|
+
...planned.commit.summaryRange,
|
|
829
|
+
},
|
|
830
|
+
}
|
|
831
|
+
: {}),
|
|
797
832
|
binding: context.binding.toJSON(),
|
|
798
833
|
},
|
|
799
834
|
);
|
|
@@ -16,13 +16,42 @@ import fs from "fs";
|
|
|
16
16
|
import path from "path";
|
|
17
17
|
import { logger } from "../lib/logger.js";
|
|
18
18
|
|
|
19
|
+
function agentOptions(options) {
|
|
20
|
+
if (options.cliTool && options.backends)
|
|
21
|
+
throw new Error("Choose --cli-tool or --backends, not both");
|
|
22
|
+
if (options.cliTool && !["claude", "codex"].includes(options.cliTool))
|
|
23
|
+
throw new Error("--cli-tool must be claude or codex");
|
|
24
|
+
const selected = options.backends || options.cliTool;
|
|
25
|
+
const config = { strategy: options.strategy || "round-robin" };
|
|
26
|
+
if (selected) {
|
|
27
|
+
const types = selected.split(",").map((s) => s.trim());
|
|
28
|
+
if (
|
|
29
|
+
types.some(
|
|
30
|
+
(type) =>
|
|
31
|
+
![
|
|
32
|
+
"claude",
|
|
33
|
+
"codex",
|
|
34
|
+
"gemini",
|
|
35
|
+
"openai",
|
|
36
|
+
"anthropic",
|
|
37
|
+
"ollama",
|
|
38
|
+
].includes(type),
|
|
39
|
+
)
|
|
40
|
+
) {
|
|
41
|
+
throw new Error("Unknown orchestrate backend; see orchestrate --help");
|
|
42
|
+
}
|
|
43
|
+
config.backends = types.map((type) => ({ type, weight: 1 }));
|
|
44
|
+
}
|
|
45
|
+
return config;
|
|
46
|
+
}
|
|
47
|
+
|
|
19
48
|
export function registerOrchestrateCommand(program, dependencies = {}) {
|
|
20
49
|
const evolutionCompositionFactory =
|
|
21
50
|
dependencies.evolutionCompositionFactory ?? null;
|
|
22
51
|
const cmd = program
|
|
23
52
|
.command("orchestrate [task]")
|
|
24
53
|
.description(
|
|
25
|
-
"Orchestrate AI coding tasks:
|
|
54
|
+
"Orchestrate AI coding tasks (experimental): API text generation only; external Claude/Codex execution is blocked pending governance admission. Use cc agent for tool execution.",
|
|
26
55
|
)
|
|
27
56
|
.option("-a, --agents <n>", "Max parallel agents", "3")
|
|
28
57
|
.option(
|
|
@@ -41,10 +70,13 @@ export function registerOrchestrateCommand(program, dependencies = {}) {
|
|
|
41
70
|
.option("--cwd <path>", "Project root directory (default: current dir)")
|
|
42
71
|
.option("--provider <name>", "LLM provider for decomposition")
|
|
43
72
|
.option("--model <name>", "Model for decomposition LLM calls")
|
|
44
|
-
.option(
|
|
73
|
+
.option(
|
|
74
|
+
"--cli-tool <name>",
|
|
75
|
+
"Select claude|codex (currently blocked by governance preflight)",
|
|
76
|
+
)
|
|
45
77
|
.option(
|
|
46
78
|
"--backends <list>",
|
|
47
|
-
"
|
|
79
|
+
"Backends: claude,codex (blocked), gemini,openai,anthropic,ollama (text only)",
|
|
48
80
|
)
|
|
49
81
|
.option(
|
|
50
82
|
"--strategy <name>",
|
|
@@ -89,26 +121,45 @@ export function registerOrchestrateCommand(program, dependencies = {}) {
|
|
|
89
121
|
await import("../lib/claude-code-bridge.js");
|
|
90
122
|
const claude = detectClaudeCode();
|
|
91
123
|
const codex = detectCodex();
|
|
124
|
+
const { AgentRouter } = await import("../lib/agent-router.js");
|
|
125
|
+
const backends = new AgentRouter({
|
|
126
|
+
backends: [
|
|
127
|
+
{ type: "claude", installed: claude.found },
|
|
128
|
+
{ type: "codex", installed: codex.found },
|
|
129
|
+
],
|
|
130
|
+
}).summary();
|
|
131
|
+
if (options.json) {
|
|
132
|
+
console.log(
|
|
133
|
+
JSON.stringify(
|
|
134
|
+
{ cliTools: { claude, codex }, backends, alternative: "cc agent" },
|
|
135
|
+
null,
|
|
136
|
+
2,
|
|
137
|
+
),
|
|
138
|
+
);
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
92
141
|
console.log(chalk.bold("\n\uD83D\uDD0D AI CLI Detection\n"));
|
|
93
142
|
console.log(
|
|
94
143
|
claude.found
|
|
95
|
-
? chalk.
|
|
144
|
+
? chalk.yellow(
|
|
145
|
+
` claude ${claude.version} — installed, execution blocked`,
|
|
146
|
+
)
|
|
96
147
|
: chalk.red(
|
|
97
148
|
" \u2717 claude not found (install: npm i -g @anthropic-ai/claude-code)",
|
|
98
149
|
),
|
|
99
150
|
);
|
|
100
151
|
console.log(
|
|
101
152
|
codex.found
|
|
102
|
-
? chalk.
|
|
153
|
+
? chalk.yellow(
|
|
154
|
+
` codex ${codex.version} — installed, execution blocked`,
|
|
155
|
+
)
|
|
103
156
|
: chalk.gray(" \u2717 codex not found"),
|
|
104
157
|
);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
);
|
|
111
|
-
}
|
|
158
|
+
console.log(
|
|
159
|
+
chalk.yellow(
|
|
160
|
+
"\n External CLI model requests cannot be attested; installing a CLI does not enable execution. Use cc agent for tool execution.\n",
|
|
161
|
+
),
|
|
162
|
+
);
|
|
112
163
|
return;
|
|
113
164
|
}
|
|
114
165
|
|
|
@@ -156,16 +207,7 @@ export function registerOrchestrateCommand(program, dependencies = {}) {
|
|
|
156
207
|
}
|
|
157
208
|
|
|
158
209
|
// Build agent backends from --backends option
|
|
159
|
-
|
|
160
|
-
if (options.backends) {
|
|
161
|
-
const backendNames = options.backends.split(",").map((s) => s.trim());
|
|
162
|
-
agentsConfig = {
|
|
163
|
-
backends: backendNames.map((type) => ({ type, weight: 1 })),
|
|
164
|
-
strategy: options.strategy || "round-robin",
|
|
165
|
-
};
|
|
166
|
-
} else if (options.strategy && options.strategy !== "round-robin") {
|
|
167
|
-
agentsConfig = { strategy: options.strategy };
|
|
168
|
-
}
|
|
210
|
+
const agentsConfig = agentOptions(options);
|
|
169
211
|
|
|
170
212
|
// Build orchestrator
|
|
171
213
|
const orch = new Orchestrator({
|
|
@@ -471,11 +513,21 @@ async function _showStatus(cwd, options) {
|
|
|
471
513
|
claude: claude.found ? claude.version : "not found",
|
|
472
514
|
codex: codex.found ? codex.version : "not found",
|
|
473
515
|
},
|
|
474
|
-
activeCliTool:
|
|
516
|
+
activeCliTool: "none",
|
|
517
|
+
alternative: "cc agent",
|
|
475
518
|
};
|
|
476
519
|
|
|
477
520
|
const { AgentRouter } = await import("../lib/agent-router.js");
|
|
478
|
-
const
|
|
521
|
+
const config = agentOptions(options);
|
|
522
|
+
const router = config.backends
|
|
523
|
+
? new AgentRouter({
|
|
524
|
+
...config,
|
|
525
|
+
backends: config.backends.map((b) => ({
|
|
526
|
+
...b,
|
|
527
|
+
installed: { claude, codex }[b.type]?.found ?? null,
|
|
528
|
+
})),
|
|
529
|
+
})
|
|
530
|
+
: AgentRouter.autoDetect({ ...config, cliDetections: { claude, codex } });
|
|
479
531
|
const backends = router.summary();
|
|
480
532
|
|
|
481
533
|
if (options.json) {
|
|
@@ -498,10 +550,16 @@ async function _showStatus(cwd, options) {
|
|
|
498
550
|
for (const b of backends) {
|
|
499
551
|
const icon = b.kind === "cli" ? "🖥" : "🌐";
|
|
500
552
|
console.log(
|
|
501
|
-
` ${icon} ${chalk.cyan(b.type.padEnd(12))} ${
|
|
553
|
+
` ${icon} ${chalk.cyan(b.type.padEnd(12))} ${b.executionMode} — ${b.blockedReason}`,
|
|
502
554
|
);
|
|
503
555
|
}
|
|
504
556
|
|
|
557
|
+
console.log(
|
|
558
|
+
chalk.yellow(
|
|
559
|
+
" Installed/configured does not mean runnable. Use cc agent for tool execution.",
|
|
560
|
+
),
|
|
561
|
+
);
|
|
562
|
+
|
|
505
563
|
console.log();
|
|
506
564
|
console.log(chalk.bold(" Notification Channels"));
|
|
507
565
|
const { NotificationManager } = await import("../lib/notifiers/index.js");
|
|
@@ -534,6 +592,7 @@ async function _webhookMode(cwd, options, evolutionCompositionFactory = null) {
|
|
|
534
592
|
|
|
535
593
|
const orch = new Orchestrator({
|
|
536
594
|
cwd,
|
|
595
|
+
agents: agentOptions(options),
|
|
537
596
|
verbose: options.verbose,
|
|
538
597
|
evolutionCompositionFactory,
|
|
539
598
|
});
|
|
@@ -751,6 +810,7 @@ async function _watchMode(cwd, options, evolutionCompositionFactory = null) {
|
|
|
751
810
|
|
|
752
811
|
const orch = new Orchestrator({
|
|
753
812
|
cwd,
|
|
813
|
+
agents: agentOptions(options),
|
|
754
814
|
verbose: options.verbose,
|
|
755
815
|
evolutionCompositionFactory,
|
|
756
816
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { TextDecoder } from "node:util";
|
|
4
|
+
import { formatExecutionLocationFailureSite } from "../lib/execution-location-failure-site.js";
|
|
4
5
|
import {
|
|
5
6
|
buildExecutionLocationCatalog,
|
|
6
7
|
buildExecutionLocationHandoffPreview,
|
|
@@ -1124,6 +1125,8 @@ function runAction(action, options = {}) {
|
|
|
1124
1125
|
writeProjection(projection, options);
|
|
1125
1126
|
return projection.allowed === false ? 2 : 0;
|
|
1126
1127
|
} catch (error) {
|
|
1128
|
+
if (options.json)
|
|
1129
|
+
process.stderr.write(formatExecutionLocationFailureSite(error));
|
|
1127
1130
|
process.stderr.write(`Execution location failed: ${error.message}\n`);
|
|
1128
1131
|
return 1;
|
|
1129
1132
|
}
|
|
@@ -1145,6 +1148,8 @@ async function runAsyncAction(action, options = {}) {
|
|
|
1145
1148
|
writeProjection(projection, options);
|
|
1146
1149
|
return projection.allowed === false ? 2 : 0;
|
|
1147
1150
|
} catch (error) {
|
|
1151
|
+
if (options.json)
|
|
1152
|
+
process.stderr.write(formatExecutionLocationFailureSite(error));
|
|
1148
1153
|
process.stderr.write(`Execution location failed: ${error.message}\n`);
|
|
1149
1154
|
return 1;
|
|
1150
1155
|
}
|