chainlesschain 0.166.104 → 0.166.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -2
- package/package.json +2 -1
- package/src/assets/linux-subreaper/linux-arm64/manifest.json +1 -1
- package/src/assets/linux-subreaper/linux-x64/manifest.json +1 -1
- package/src/assets/web-panel/assets/{AIOps-Bah3HREy.js → AIOps-CcD-AVDw.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-DY2aeZMc.js → ActionButton-CYy-g36A.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-BFly8Xaa.js → Analytics-DPFDNaBL.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-dp0Zz-JM.js → AppLayout-PVIuRdgN.js} +4 -4
- package/src/assets/web-panel/assets/{Artifacts-DcIg09ai.js → Artifacts-BXGD3bM-.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-DkN-lsjZ.js → Audit-Bu5s_4tu.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-BjzgusLx.js → BackgroundAgents-BHmgpnzo.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-CU8S6qu9.js → Backup-C872jURx.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-B1pC2gjL.js → BaseInput-Bh7xO30H.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-B6xFp6gD.js → Chat-DaacK53T.js} +6 -6
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-DxNCLZ_X.js → ChatBubbleRenderer-PYrSKMM_.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-QHw7Vc4U.js → Checkbox-Cnt7_8I2.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-gdecsfjg.js → Codegen-AZRz6kmW.js} +1 -1
- package/src/assets/web-panel/assets/{Col-B0_JmAmc.js → Col-BtOXzMFt.js} +1 -1
- package/src/assets/web-panel/assets/{Community-DRCcP5xR.js → Community-BFmFygS7.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-DZtoGzhX.js → Compact-2z5CfKpR.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-BfNTvEnT.js → Compliance-B5hKrPVF.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-CDXTLm84.js → Cowork-CxEyp2ww.js} +3 -3
- package/src/assets/web-panel/assets/{Cron-Big35CbN.js → Cron-B-8f9_qF.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-C8ArrAVr.js → Crosschain-XARMOcc4.js} +1 -1
- package/src/assets/web-panel/assets/{DID-D_77BI2O.js → DID-DwLtEKAe.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-D2SxTzEp.js → Dashboard-Cjw0L_iA.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-mR1-b9ud.js → Dropdown-BBGWIP7l.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-DPl7TE1c.js → EmailListRenderer-DG4kZFkm.js} +1 -1
- package/src/assets/web-panel/assets/{EvolutionSettings-BxRYLRSH.js → EvolutionSettings-D8vuNDde.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-rnGtXJ5Z.js → FamilyGuardDashboard-COXCzDXI.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-BpxenYK8.js → Federation-Btb-aMhW.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-Cz1kDf6l.js → FormItemContext-TO-E6l6e.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-CGV3KN6U.js → GenericCardRenderer-BWXdJCT0.js} +1 -1
- package/src/assets/web-panel/assets/{Git-CIRP4UTx.js → Git-B6icGhEv.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-DX4r8Vmt.js → Governance-C5Y__K6S.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-DQKk02Hl.js → Inference-DZGEKnbN.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-DdD6J-By.js → KnowledgeGraph--Kga5yvm.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-DA2w-1_m.js → Logs-BXs3EPKj.js} +2 -2
- package/src/assets/web-panel/assets/MarkdownRenderer-BsSiyE-A.js +1 -0
- package/src/assets/web-panel/assets/{Marketplace-BsJ6_6KW.js → Marketplace-JSEAu0su.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-_6k30z6u.js → McpTools-BUBifkKP.js} +3 -3
- package/src/assets/web-panel/assets/{Memory-C0_dYY0A.js → Memory-Cb7sE4a-.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-CCTnVqiC.js → MobileBridge-BOzmmNV2.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-RZdxDSwC.js → MobileProjects-ClRlavdF.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-D4Ys8lvX.js → Mtc-DmMWErG1.js} +2 -2
- package/src/assets/web-panel/assets/{MtcAudit-BKTC--a2.js → MtcAudit-DnGkRVXF.js} +2 -2
- package/src/assets/web-panel/assets/{Multisig-CGR1qOe1.js → Multisig-C3mzascL.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-hKKD4qWb.js → NLProgramming-CrmMZZ1t.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-pCn7Ec40.js → Notes-4S6uts9Q.js} +3 -3
- package/src/assets/web-panel/assets/{NotificationSettings-B9eEJXEs.js → NotificationSettings-gn3UrWwW.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-CmJuhaT2.js → OrderTableRenderer-CDVAlBUf.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-CcQbrnwW.js → Organization-fMlkdgpW.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-HmD4Mn72.js → Overflow-DGwCUPU1.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-B7LIgx5H.js → P2P-BDGcpPmf.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-CXiHnBfX.js → PdhVaultBrowser-CccRPAB9.js} +3 -3
- package/src/assets/web-panel/assets/{Permissions-CQRI3y_l.js → Permissions-C33dNECx.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-1EeHmsy5.js → PersonalDataHub-BeqbCStc.js} +4 -4
- package/src/assets/web-panel/assets/{Pipeline-BFyoIdn8.js → Pipeline-CTmasgbQ.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-BxWthXMF.js → Privacy-ktd37BSp.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-DfigBilu.js → ProjectInit-KOGvQtBX.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-CFmIcVc-.js → ProjectSettings-CUvH_hC6.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-CR7H59v3.js → Projects-BvP_Os-1.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-2ulom-76.js → Providers-C-hmLXlO.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-BwhO07b_.js → QrScannerModal-DzG_rbSL.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-_Wg34OwF.js → QuickAsk-ShwiATg4.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-D_jq6Svg.js → Recommend-DkV8Ruep.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-BlzvEfsa.js → RemoteSession-Ca2dOx_G.js} +2 -2
- package/src/assets/web-panel/assets/{Reputation-9CTXHfL4.js → Reputation-DYA5BJ6A.js} +1 -1
- package/src/assets/web-panel/assets/{Row-DlCYCN-t.js → Row-DvGDgxLS.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-BvlInFCH.js → RssFeed-DbwTBSPw.js} +3 -3
- package/src/assets/web-panel/assets/{Search-CfaUzKuL.js → Search-C5XAMQ9T.js} +1 -1
- package/src/assets/web-panel/assets/{Security-bAWgLyve.js → Security-CKWT60Qt.js} +3 -3
- package/src/assets/web-panel/assets/{Services-C4LOGACW.js → Services-CZvASlWL.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-Dd0Uwh3_.js → Skeleton-DFkMVqws.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-ZYF1kYCU.js → Skills-hslZ_GyP.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-DpsmIaEo.js → Sla-BLW5rmZ5.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-BBXoJ4yc.js → SpeechSettings-Cn4ffCi5.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-SOnROi2Y.js → SyncSettings-D1K0nJuo.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-HFA_ZlDk.js → Tasks-CCRu0xoN.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-fsK-RCEc.js → Templates-L19GYuS4.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-CuqYxamb.js → Tenant-CZ6HE3PF.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-GKlI2R5F.js → Terminal-BiAwzaBT.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-DMDMHLeY.js → TimelineRenderer-DRHSWQT5.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-BoV60rh3.js → Tokens-Cm-XATgh.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-CE344-Ws.js → Trigger-BVXtx3kn.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-DENwgkVc.js → Trust-Bb0TmkLJ.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-FrcM7yfm.js → UkeySign-Dbt9R7l0.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-DAY9WaC2.js → VideoEditing-z0-Ti8eJ.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-BuUR5i82.js → Wallet-BZh31tI-.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-nfSQuq85.js → WebAuthn-DQ0yIr5K.js} +4 -4
- package/src/assets/web-panel/assets/{WorkflowEditor-DHhPOp9l.js → WorkflowEditor-DCt_yuWG.js} +1 -1
- package/src/assets/web-panel/assets/{chat-C4nsLzYy.js → chat-BLgtmFeS.js} +1 -1
- package/src/assets/web-panel/assets/{colors-BwXH0Wjn.js → colors-xU4UH8M1.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-uApFG30S.js → compact-item-C4w4v16T.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-BpyYs4fe.js → createContext-CZM9hAaj.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-BZUZgMkO.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-MXCLi00p.js → hasIn-DvHqEpE7.js} +1 -1
- package/src/assets/web-panel/assets/index--_-pNhk0.js +1 -0
- package/src/assets/web-panel/assets/{index-BOhjapd5.js → index-55Rkd1KA.js} +1 -1
- package/src/assets/web-panel/assets/{index-CNjUPfJP.js → index-B0IvKEVO.js} +1 -1
- package/src/assets/web-panel/assets/{index-DucLR6YX.js → index-B4jIcYSv.js} +1 -1
- package/src/assets/web-panel/assets/{index-Gz2rGWef.js → index-B64Vf-8H.js} +1 -1
- package/src/assets/web-panel/assets/{index-IvgszJ3C.js → index-B6AQ2b5U.js} +1 -1
- package/src/assets/web-panel/assets/{index-pgHGBAoF.js → index-BHK3CQHq.js} +1 -1
- package/src/assets/web-panel/assets/{index-DE4W4vLO.js → index-BHg9NoJ5.js} +3 -3
- package/src/assets/web-panel/assets/{index-Dt-nq2eF.js → index-BIWumeQl.js} +1 -1
- package/src/assets/web-panel/assets/{index-1LxX2IwJ.js → index-BRhD9RMV.js} +1 -1
- package/src/assets/web-panel/assets/{index-nn22NSDK.js → index-BTxhDCtg.js} +1 -1
- package/src/assets/web-panel/assets/{index-B7jojVc7.js → index-BaQZvM4m.js} +1 -1
- package/src/assets/web-panel/assets/{index-CF0bUOP4.js → index-Bf8Wm4ks.js} +1 -1
- package/src/assets/web-panel/assets/{index-ChUTKrOq.js → index-Bh14b1k0.js} +1 -1
- package/src/assets/web-panel/assets/{index-pCIAE2yS.js → index-BkTKWAgq.js} +1 -1
- package/src/assets/web-panel/assets/{index-pRpMLhMt.js → index-BlN5KPq6.js} +1 -1
- package/src/assets/web-panel/assets/{index-XHBXtvqp.js → index-C6ZrTSw5.js} +1 -1
- package/src/assets/web-panel/assets/{index-CwVvk2i7.js → index-C9YnZFv2.js} +1 -1
- package/src/assets/web-panel/assets/{index-xLGf7f9K.js → index-CExiTobS.js} +1 -1
- package/src/assets/web-panel/assets/{index-C_oOpXhP.js → index-CF9ebAIB.js} +1 -1
- package/src/assets/web-panel/assets/{index-BaBwXpAp.js → index-CKugxsw3.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dn12gJJU.js → index-CPC7OGCe.js} +1 -1
- package/src/assets/web-panel/assets/{index-DLxKx5_J.js → index-CPDw21XY.js} +1 -1
- package/src/assets/web-panel/assets/{index-CiIpIYhs.js → index-CQEzxnYS.js} +1 -1
- package/src/assets/web-panel/assets/{index-Daco83me.js → index-CRLP56-W.js} +1 -1
- package/src/assets/web-panel/assets/{index-CRmNdEk_.js → index-CYrQnkqA.js} +1 -1
- package/src/assets/web-panel/assets/{index-DffWVpZv.js → index-Cm00787d.js} +1 -1
- package/src/assets/web-panel/assets/{index-Btv--Nnt.js → index-CpiuuIww.js} +1 -1
- package/src/assets/web-panel/assets/{index-S80LLjdx.js → index-CqDiY-jl.js} +1 -1
- package/src/assets/web-panel/assets/{index-ugIUt5TL.js → index-CyV8fNBg.js} +1 -1
- package/src/assets/web-panel/assets/{index-D3_tj06B.js → index-DGdLkss8.js} +1 -1
- package/src/assets/web-panel/assets/{index-BEGMfaOo.js → index-DifMvnMQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-61CBBrHE.js → index-Ds1tM734.js} +1 -1
- package/src/assets/web-panel/assets/{index-DTXi_gQh.js → index-Ds6wKTMh.js} +1 -1
- package/src/assets/web-panel/assets/{index-Du01X9N9.js → index-QHmhwgfc.js} +1 -1
- package/src/assets/web-panel/assets/{index-WKbnwbKa.js → index-SNV95Zen.js} +1 -1
- package/src/assets/web-panel/assets/index-ftwO31cp.js +1 -0
- package/src/assets/web-panel/assets/{index-B0P1Z_oa.js → index-n6SAUmmI.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dkncxel3.js → index-wYRjvvbl.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-C58CkKEo.js → initDefaultProps-C44ZER6c.js} +1 -1
- package/src/assets/web-panel/assets/{motion-BLWPO2NV.js → motion-DbNzzScd.js} +1 -1
- package/src/assets/web-panel/assets/{move-BgrFMwYp.js → move-BrRrDH2u.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-Cq2AuGzl.js → mtc-parser-DZ_T_Pw8.js} +1 -1
- package/src/assets/web-panel/assets/{omit-Bb-9L7if.js → omit-5QHHk_V3.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-vLmOxYr1.js → pickAttrs-BdxEl0G2.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-BNySU_dJ.js → placementArrow-CGyD615D.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-xnbwagnm.js → responsiveObserve-QqcWAQmN.js} +1 -1
- package/src/assets/web-panel/assets/{slide-BccbY5Cn.js → slide-BumQrJ5R.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-DOp9d2-w.js → statusUtils-Pf64olM7.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-Bu1w6ho9.js → styleChecker-DNwm5SQZ.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-ZsUOrVdL.js → useFlexGapSupport-c3gLKs6e.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-C0zpzKtO.js → useFs-TzTd6NDM.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-DO1OdgXK.js → usePersonalDataHub-BP5E_0Fe.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-jTIRyhR5.js → vnode-CVEkRfZU.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-DKvS7-Qs.js → zoom-C18X_8TJ.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/data/changelog.json +13 -0
- package/src/lib/coding-task-guidance.js +13 -0
- package/src/lib/file-import-diagnostics.js +246 -0
- package/src/lib/transport-error-details.js +83 -0
- package/src/runtime/agent-core.js +137 -2
- package/src/runtime/headless-runner.js +83 -49
- package/src/runtime/headless-stream.js +8 -2
- package/src/assets/web-panel/assets/MarkdownRenderer-C9aSGETh.js +0 -1
- package/src/assets/web-panel/assets/devWarning-Bk6HGn3N.js +0 -1
- package/src/assets/web-panel/assets/index-Bb1LPYdi.js +0 -1
- package/src/assets/web-panel/assets/index-C-FsTuFG.js +0 -1
|
@@ -23,7 +23,9 @@
|
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
import { randomUUID } from "node:crypto";
|
|
26
|
+
import { transportErrorDetails } from "../lib/transport-error-details.js";
|
|
26
27
|
import { captureAgentExecutionPolicy } from "../lib/agent-execution-policy.js";
|
|
28
|
+
import { HERMETIC_CODING_SYSTEM_PROMPT } from "../lib/coding-task-guidance.js";
|
|
27
29
|
import { bootstrap } from "./bootstrap.js";
|
|
28
30
|
import {
|
|
29
31
|
buildSystemPrompt,
|
|
@@ -1223,8 +1225,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
1223
1225
|
const loaded = loadHooks({ cwd, settingsFile: options.settingsFile });
|
|
1224
1226
|
// Fold in installed plugins' hooks/hooks.json (Phase 3.3c) — plugins ADD
|
|
1225
1227
|
// to the user's settings hooks, never replace them.
|
|
1226
|
-
const { mergePluginHooks } =
|
|
1227
|
-
|
|
1228
|
+
const { mergePluginHooks } = await import(
|
|
1229
|
+
"../lib/plugin-runtime/hooks.js"
|
|
1230
|
+
);
|
|
1228
1231
|
const effectiveHooks = mergePluginHooks(
|
|
1229
1232
|
attachAuthorityErrors(loaded.hooks, loaded.authorityErrors),
|
|
1230
1233
|
{ cwd },
|
|
@@ -1265,8 +1268,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
1265
1268
|
// the run, so no explicit restore is needed.
|
|
1266
1269
|
if (!hermeticExecution) {
|
|
1267
1270
|
try {
|
|
1268
|
-
const { applyPluginBinPath } =
|
|
1269
|
-
|
|
1271
|
+
const { applyPluginBinPath } = await import(
|
|
1272
|
+
"../lib/plugin-runtime/bin.js"
|
|
1273
|
+
);
|
|
1270
1274
|
applyPluginBinPath({ cwd });
|
|
1271
1275
|
} catch {
|
|
1272
1276
|
/* best-effort — plugin bin PATH never blocks a headless run */
|
|
@@ -1277,8 +1281,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
1277
1281
|
// keys not already set; the process exits at the end so no restore is needed.
|
|
1278
1282
|
if (!hermeticExecution) {
|
|
1279
1283
|
try {
|
|
1280
|
-
const { applyPluginSettingsEnv } =
|
|
1281
|
-
|
|
1284
|
+
const { applyPluginSettingsEnv } = await import(
|
|
1285
|
+
"../lib/plugin-runtime/settings.js"
|
|
1286
|
+
);
|
|
1282
1287
|
applyPluginSettingsEnv({ cwd });
|
|
1283
1288
|
} catch {
|
|
1284
1289
|
/* best-effort — plugin settings never block a headless run */
|
|
@@ -1412,8 +1417,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
1412
1417
|
if (isHeadlessConfigCommand(prompt)) {
|
|
1413
1418
|
const cm = await import("../lib/config-manager.js");
|
|
1414
1419
|
const { getConfigPath } = await import("../lib/paths.js");
|
|
1415
|
-
const { runConfigDirective } =
|
|
1416
|
-
|
|
1420
|
+
const { runConfigDirective } = await import(
|
|
1421
|
+
"../lib/headless-config-command.js"
|
|
1422
|
+
);
|
|
1417
1423
|
const { text, isError } = runConfigDirective(prompt, {
|
|
1418
1424
|
configManager: cm,
|
|
1419
1425
|
getConfigPath,
|
|
@@ -1489,8 +1495,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
1489
1495
|
model = macro.model;
|
|
1490
1496
|
writeErr(` command: model → ${model}\n`);
|
|
1491
1497
|
try {
|
|
1492
|
-
const { maybeWarnDeprecatedModel } =
|
|
1493
|
-
|
|
1498
|
+
const { maybeWarnDeprecatedModel } = await import(
|
|
1499
|
+
"../lib/model-deprecation.js"
|
|
1500
|
+
);
|
|
1494
1501
|
maybeWarnDeprecatedModel({ model });
|
|
1495
1502
|
} catch {
|
|
1496
1503
|
// deprecation notice is best-effort
|
|
@@ -1527,8 +1534,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
1527
1534
|
|
|
1528
1535
|
// ── Permission + tool resolution ──────────────────────────────────────
|
|
1529
1536
|
if (managedSettings) {
|
|
1530
|
-
const { assertManagedPermissionMode } =
|
|
1531
|
-
|
|
1537
|
+
const { assertManagedPermissionMode } = await import(
|
|
1538
|
+
"../lib/settings-loader.cjs"
|
|
1539
|
+
);
|
|
1532
1540
|
assertManagedPermissionMode(options.permissionMode, managedSettings);
|
|
1533
1541
|
}
|
|
1534
1542
|
const perm = resolvePermissionMode(options.permissionMode);
|
|
@@ -1988,8 +1996,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
1988
1996
|
: null;
|
|
1989
1997
|
if (!hermeticExecution && !instructionExcludes) {
|
|
1990
1998
|
try {
|
|
1991
|
-
const { readStringArraySetting } =
|
|
1992
|
-
|
|
1999
|
+
const { readStringArraySetting } = await import(
|
|
2000
|
+
"../lib/settings-loader.cjs"
|
|
2001
|
+
);
|
|
1993
2002
|
const fromSettings = readStringArraySetting("instructionExcludes", {
|
|
1994
2003
|
cwd,
|
|
1995
2004
|
settingsFile: options.settingsFile,
|
|
@@ -2014,10 +2023,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
2014
2023
|
: options.skillLoader ||
|
|
2015
2024
|
new CLISkillLoader(captureSkillRuntimeDependencies(options));
|
|
2016
2025
|
const systemContent = hermeticExecution
|
|
2017
|
-
? composeSystemPrompt(
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
)
|
|
2026
|
+
? composeSystemPrompt(HERMETIC_CODING_SYSTEM_PROMPT, {
|
|
2027
|
+
projectMemory: false,
|
|
2028
|
+
})
|
|
2021
2029
|
: composeSystemPrompt(
|
|
2022
2030
|
buildSystemPrompt(cwd, {
|
|
2023
2031
|
additionalDirectories,
|
|
@@ -2044,8 +2052,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
2044
2052
|
// settings.json UserPromptSubmit hooks. block → abort the run; context → inject.
|
|
2045
2053
|
if (settingsHooks) {
|
|
2046
2054
|
try {
|
|
2047
|
-
const { runUserPromptSubmitHooks } =
|
|
2048
|
-
|
|
2055
|
+
const { runUserPromptSubmitHooks } = await import(
|
|
2056
|
+
"../lib/settings-hook-events.js"
|
|
2057
|
+
);
|
|
2049
2058
|
const ups = await runUserPromptSubmitHooks(settingsHooks, {
|
|
2050
2059
|
prompt: userContent,
|
|
2051
2060
|
cwd,
|
|
@@ -2075,8 +2084,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
2075
2084
|
let instructionsLoadedContext = null;
|
|
2076
2085
|
if (settingsHooks && _loadedInstructions) {
|
|
2077
2086
|
try {
|
|
2078
|
-
const { runInstructionsLoadedHooks } =
|
|
2079
|
-
|
|
2087
|
+
const { runInstructionsLoadedHooks } = await import(
|
|
2088
|
+
"../lib/settings-hook-events.js"
|
|
2089
|
+
);
|
|
2080
2090
|
instructionsLoadedContext = (
|
|
2081
2091
|
await runInstructionsLoadedHooks(settingsHooks, {
|
|
2082
2092
|
files: _loadedInstructions.files,
|
|
@@ -2093,8 +2103,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
2093
2103
|
let sessionStartContext = null;
|
|
2094
2104
|
if (settingsHooks) {
|
|
2095
2105
|
try {
|
|
2096
|
-
const { runSessionStartHooks } =
|
|
2097
|
-
|
|
2106
|
+
const { runSessionStartHooks } = await import(
|
|
2107
|
+
"../lib/settings-hook-events.js"
|
|
2108
|
+
);
|
|
2098
2109
|
sessionStartContext = (
|
|
2099
2110
|
await runSessionStartHooks(settingsHooks, {
|
|
2100
2111
|
source: resumeId ? "resume" : "startup",
|
|
@@ -2114,8 +2125,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
2114
2125
|
// back up" — e.g. re-run a workspace sanity check. Observe-only, best-effort.
|
|
2115
2126
|
if (settingsHooks && resumeId && history.length > 0) {
|
|
2116
2127
|
try {
|
|
2117
|
-
const { runObserveHooks } =
|
|
2118
|
-
|
|
2128
|
+
const { runObserveHooks } = await import(
|
|
2129
|
+
"../lib/settings-hook-events.js"
|
|
2130
|
+
);
|
|
2119
2131
|
await runObserveHooks(
|
|
2120
2132
|
settingsHooks,
|
|
2121
2133
|
"SessionResume",
|
|
@@ -2367,8 +2379,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
2367
2379
|
// --add-dir → workspaceRootDirs = [cwd] and this is a no-op. Best-effort.
|
|
2368
2380
|
if (hostMcp?.mcpClient && additionalDirectories.length > 0) {
|
|
2369
2381
|
try {
|
|
2370
|
-
const { notifyMcpRootsChanged, workspaceRootDirs } =
|
|
2371
|
-
|
|
2382
|
+
const { notifyMcpRootsChanged, workspaceRootDirs } = await import(
|
|
2383
|
+
"../repl/add-dir.js"
|
|
2384
|
+
);
|
|
2372
2385
|
notifyMcpRootsChanged(
|
|
2373
2386
|
[hostMcp.mcpClient],
|
|
2374
2387
|
workspaceRootDirs(options.cwd || process.cwd(), additionalDirectories),
|
|
@@ -2476,8 +2489,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
2476
2489
|
error.code = "CC_REMOTE_APPROVAL_GATE_UNAVAILABLE";
|
|
2477
2490
|
throw error;
|
|
2478
2491
|
}
|
|
2479
|
-
const { startHeadlessRemoteApproval } =
|
|
2480
|
-
|
|
2492
|
+
const { startHeadlessRemoteApproval } = await import(
|
|
2493
|
+
"../lib/remote-approval-bridge.js"
|
|
2494
|
+
);
|
|
2481
2495
|
_remoteApproval = await (
|
|
2482
2496
|
deps.startHeadlessRemoteApproval || startHeadlessRemoteApproval
|
|
2483
2497
|
)({
|
|
@@ -2508,8 +2522,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
2508
2522
|
let _collectorEnabled = false;
|
|
2509
2523
|
if (!hermeticExecution) {
|
|
2510
2524
|
try {
|
|
2511
|
-
const { isOtlpCollectorEnabled } =
|
|
2512
|
-
|
|
2525
|
+
const { isOtlpCollectorEnabled } = await import(
|
|
2526
|
+
"../lib/observability/index.js"
|
|
2527
|
+
);
|
|
2513
2528
|
_collectorEnabled = isOtlpCollectorEnabled();
|
|
2514
2529
|
} catch {
|
|
2515
2530
|
_collectorEnabled = false;
|
|
@@ -2517,8 +2532,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
2517
2532
|
}
|
|
2518
2533
|
if (!hermeticExecution && (options.otlp || _collectorEnabled)) {
|
|
2519
2534
|
try {
|
|
2520
|
-
const { TelemetryRecorder } =
|
|
2521
|
-
|
|
2535
|
+
const { TelemetryRecorder } = await import(
|
|
2536
|
+
"../lib/telemetry/span-recorder.js"
|
|
2537
|
+
);
|
|
2522
2538
|
_otlpRecorder = new TelemetryRecorder({ serviceName: "cc-agent" });
|
|
2523
2539
|
} catch {
|
|
2524
2540
|
_otlpRecorder = null; // telemetry is best-effort, never blocks the run
|
|
@@ -2532,8 +2548,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
2532
2548
|
let _hookSupervisor = null;
|
|
2533
2549
|
if (settingsHooks) {
|
|
2534
2550
|
try {
|
|
2535
|
-
const { AsyncHookSupervisor } =
|
|
2536
|
-
|
|
2551
|
+
const { AsyncHookSupervisor } = await import(
|
|
2552
|
+
"../lib/async-hook-supervisor.js"
|
|
2553
|
+
);
|
|
2537
2554
|
_hookSupervisor = new AsyncHookSupervisor({
|
|
2538
2555
|
persistStats: true,
|
|
2539
2556
|
// Durably park failed-rewake signals keyed by session so a crash before
|
|
@@ -3027,8 +3044,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
3027
3044
|
if (options.goal !== undefined && options.goal !== false) {
|
|
3028
3045
|
try {
|
|
3029
3046
|
const explicitId = typeof options.goal === "string" ? options.goal : null;
|
|
3030
|
-
const { resolveActiveGoal, linkSession } =
|
|
3031
|
-
|
|
3047
|
+
const { resolveActiveGoal, linkSession } = await import(
|
|
3048
|
+
"../lib/goal-store.js"
|
|
3049
|
+
);
|
|
3032
3050
|
const goal = (deps.resolveActiveGoal || resolveActiveGoal)({
|
|
3033
3051
|
explicitId,
|
|
3034
3052
|
sessionId,
|
|
@@ -3832,6 +3850,7 @@ async function runAgentHeadlessInWorkspace(
|
|
|
3832
3850
|
autoRewake &&
|
|
3833
3851
|
_hookSupervisor &&
|
|
3834
3852
|
!stopForCost &&
|
|
3853
|
+
endReason !== "deferred-mutation-unresolved" &&
|
|
3835
3854
|
endReason !== "max_turns" &&
|
|
3836
3855
|
endReason !== "cost-budget-exhausted"
|
|
3837
3856
|
) {
|
|
@@ -3886,7 +3905,8 @@ async function runAgentHeadlessInWorkspace(
|
|
|
3886
3905
|
!goalEngine.done &&
|
|
3887
3906
|
!stopForCost &&
|
|
3888
3907
|
endReason !== "cost-budget-exhausted" &&
|
|
3889
|
-
endReason !== "max_turns"
|
|
3908
|
+
endReason !== "max_turns" &&
|
|
3909
|
+
endReason !== "deferred-mutation-unresolved"
|
|
3890
3910
|
) {
|
|
3891
3911
|
// Feed this turn's usage DELTA so the engine's totals equal the run's
|
|
3892
3912
|
// cumulative usage (recordTurnUsage accumulates).
|
|
@@ -4004,17 +4024,23 @@ async function runAgentHeadlessInWorkspace(
|
|
|
4004
4024
|
: sessionBudgetFailed
|
|
4005
4025
|
? "error_session_budget"
|
|
4006
4026
|
: "error";
|
|
4027
|
+
const transportDetails =
|
|
4028
|
+
errorSubtype === "error" ? transportErrorDetails(err) : undefined;
|
|
4029
|
+
const diagnosticFields = transportDetails
|
|
4030
|
+
? { error_details: transportDetails }
|
|
4031
|
+
: {};
|
|
4007
4032
|
if (isStream) {
|
|
4008
4033
|
emitStream({
|
|
4009
4034
|
type: "result",
|
|
4010
4035
|
subtype: errorSubtype,
|
|
4011
4036
|
is_error: true,
|
|
4012
4037
|
error: message,
|
|
4038
|
+
...diagnosticFields,
|
|
4013
4039
|
});
|
|
4014
4040
|
} else if (isJson) {
|
|
4015
4041
|
writeOut(
|
|
4016
|
-
JSON.stringify(
|
|
4017
|
-
buildResultEnvelope({
|
|
4042
|
+
JSON.stringify({
|
|
4043
|
+
...buildResultEnvelope({
|
|
4018
4044
|
subtype: errorSubtype,
|
|
4019
4045
|
isError: true,
|
|
4020
4046
|
result: message,
|
|
@@ -4026,7 +4052,8 @@ async function runAgentHeadlessInWorkspace(
|
|
|
4026
4052
|
denials,
|
|
4027
4053
|
compactionDegradations,
|
|
4028
4054
|
}),
|
|
4029
|
-
|
|
4055
|
+
...diagnosticFields,
|
|
4056
|
+
}) + "\n",
|
|
4030
4057
|
);
|
|
4031
4058
|
} else {
|
|
4032
4059
|
writeErr(`Error: ${message}\n`);
|
|
@@ -4077,8 +4104,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
4077
4104
|
await cleanupDeadline.run("settings-hooks", async () => {
|
|
4078
4105
|
if (settingsHooks) {
|
|
4079
4106
|
try {
|
|
4080
|
-
const { runObserveHooks } =
|
|
4081
|
-
|
|
4107
|
+
const { runObserveHooks } = await import(
|
|
4108
|
+
"../lib/settings-hook-events.js"
|
|
4109
|
+
);
|
|
4082
4110
|
const stopPayload = {
|
|
4083
4111
|
reason: pipeState.closed ? "pipe_closed" : endReason,
|
|
4084
4112
|
cwd,
|
|
@@ -4208,7 +4236,11 @@ async function runAgentHeadlessInWorkspace(
|
|
|
4208
4236
|
const exhausted =
|
|
4209
4237
|
endReason === "budget-exhausted" || endReason === "max_turns";
|
|
4210
4238
|
const costStopped = endReason === "cost-budget-exhausted";
|
|
4211
|
-
let isError =
|
|
4239
|
+
let isError =
|
|
4240
|
+
exhausted ||
|
|
4241
|
+
costStopped ||
|
|
4242
|
+
endReason === "no-response" ||
|
|
4243
|
+
endReason === "deferred-mutation-unresolved";
|
|
4212
4244
|
let subtype = exhausted
|
|
4213
4245
|
? "error_max_turns"
|
|
4214
4246
|
: costStopped
|
|
@@ -4355,8 +4387,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
4355
4387
|
emitStream({ type: "denials_summary", count: denials.length, denials });
|
|
4356
4388
|
}
|
|
4357
4389
|
try {
|
|
4358
|
-
const { appendRecentDenials } =
|
|
4359
|
-
|
|
4390
|
+
const { appendRecentDenials } = await import(
|
|
4391
|
+
"../lib/permission-denial-store.js"
|
|
4392
|
+
);
|
|
4360
4393
|
appendRecentDenials(denials, {
|
|
4361
4394
|
sessionId,
|
|
4362
4395
|
permissionMode: options.permissionMode || "default",
|
|
@@ -4429,8 +4462,9 @@ async function runAgentHeadlessInWorkspace(
|
|
|
4429
4462
|
}
|
|
4430
4463
|
if (_collectorEnabled) {
|
|
4431
4464
|
try {
|
|
4432
|
-
const { exportTelemetryRecorder } =
|
|
4433
|
-
|
|
4465
|
+
const { exportTelemetryRecorder } = await import(
|
|
4466
|
+
"../lib/observability/index.js"
|
|
4467
|
+
);
|
|
4434
4468
|
exportTelemetryRecorder(_otlpRecorder);
|
|
4435
4469
|
} catch {
|
|
4436
4470
|
// Telemetry is observational only and never changes the agent result.
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import { randomUUID } from "node:crypto";
|
|
20
|
+
import { transportErrorDetails } from "../lib/transport-error-details.js";
|
|
20
21
|
import { captureAgentExecutionPolicy } from "../lib/agent-execution-policy.js";
|
|
21
22
|
import { TaskWorklog } from "../lib/context-memory-kernel/task-worklog-port.js";
|
|
22
23
|
import { isProxy } from "node:util/types";
|
|
@@ -5546,6 +5547,7 @@ async function runAgentHeadlessStreamInWorkspace(
|
|
|
5546
5547
|
},
|
|
5547
5548
|
);
|
|
5548
5549
|
} catch (err) {
|
|
5550
|
+
const turnWasAborted = currentAbort?.signal.aborted === true;
|
|
5549
5551
|
currentAbort = null;
|
|
5550
5552
|
if (err?.code === AGENT_EVOLUTION_INGRESS_FAILED_CODE) {
|
|
5551
5553
|
emit({
|
|
@@ -5623,8 +5625,9 @@ async function runAgentHeadlessStreamInWorkspace(
|
|
|
5623
5625
|
sawError = true;
|
|
5624
5626
|
break;
|
|
5625
5627
|
}
|
|
5626
|
-
|
|
5627
|
-
|
|
5628
|
+
// Providers can abort their own transport/timeouts, even with AbortError
|
|
5629
|
+
// or ABORT_ERR. Only our owned signals establish user/caller cancellation.
|
|
5630
|
+
const isAbort = turnWasAborted || options.signal?.aborted === true;
|
|
5628
5631
|
if (isAbort && !options.signal?.aborted) {
|
|
5629
5632
|
// User-initiated turn interrupt — not an error; no assistant message
|
|
5630
5633
|
// is recorded (the dangling user turn is fine for the next exchange).
|
|
@@ -5653,11 +5656,13 @@ async function runAgentHeadlessStreamInWorkspace(
|
|
|
5653
5656
|
continue;
|
|
5654
5657
|
}
|
|
5655
5658
|
if (isAbort) break; // outer options.signal — caller is shutting down
|
|
5659
|
+
const transportDetails = transportErrorDetails(err);
|
|
5656
5660
|
emit({
|
|
5657
5661
|
type: "result",
|
|
5658
5662
|
subtype: "error",
|
|
5659
5663
|
is_error: true,
|
|
5660
5664
|
error: err?.message || String(err),
|
|
5665
|
+
...(transportDetails ? { error_details: transportDetails } : {}),
|
|
5661
5666
|
turn: turns,
|
|
5662
5667
|
});
|
|
5663
5668
|
sawError = true;
|
|
@@ -5770,6 +5775,7 @@ async function runAgentHeadlessStreamInWorkspace(
|
|
|
5770
5775
|
exhausted ||
|
|
5771
5776
|
costStopped ||
|
|
5772
5777
|
outcome.endReason === "no-response" ||
|
|
5778
|
+
outcome.endReason === "deferred-mutation-unresolved" ||
|
|
5773
5779
|
Boolean(persistenceFailure);
|
|
5774
5780
|
if (isError) sawError = true;
|
|
5775
5781
|
const transcriptRefs = !persistenceFailure
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{P as c,J as p,b as s}from"./vendor-Bn1JzzAn.js";import{r as a}from"./markdown-Yo_c6Krv.js";import{_ as d}from"./index-DE4W4vLO.js";const _={__name:"MarkdownRenderer",props:{content:{type:String,default:""}},setup(t,{expose:o}){o();const e=t,r=s(()=>a(e.content||"")),n={props:e,rendered:r,computed:s,get renderMarkdown(){return a}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},i=["innerHTML"];function m(t,o,e,r,n,u){return c(),p("div",{class:"markdown-content",innerHTML:r.rendered},null,8,i)}const w=d(_,[["render",m],["__scopeId","data-v-0b0b9f63"],["__file","/tmp/cc-web-panel-C4oDSZ/repo/packages/web-panel/src/components/MarkdownRenderer.vue"]]);export{w as M};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q as r}from"./index-DE4W4vLO.js";const o=((n,a,e)=>{r(n,`[ant-design-vue: ${a}] ${e}`)});export{o as d};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as o}from"./Col-B0_JmAmc.js";import{a0 as t}from"./index-DE4W4vLO.js";import"./vendor-Bn1JzzAn.js";import"./index-pgHGBAoF.js";import"./icons-DG5UD-6K.js";const s=t(o);export{s as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as o}from"./Row-DlCYCN-t.js";import{a0 as t}from"./index-DE4W4vLO.js";import"./vendor-Bn1JzzAn.js";import"./responsiveObserve-xnbwagnm.js";import"./useFlexGapSupport-ZsUOrVdL.js";import"./styleChecker-Bu1w6ho9.js";import"./index-pgHGBAoF.js";import"./icons-DG5UD-6K.js";const l=t(o);export{l as default};
|