chainlesschain 0.166.0 → 0.166.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/assets/web-panel/assets/{AIOps-D5_pwQ7M.js → AIOps-DwdhBUBc.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-DgoYO32D.js → ActionButton-Dd1lBEeo.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-BIpoZ4QH.js → Analytics-DuGuuI36.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-BJ3XrCEe.js → AppLayout-CvHpSs3M.js} +5 -5
- package/src/assets/web-panel/assets/{Artifacts-DUFs_izZ.js → Artifacts-BU9F3wJh.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-BZdPwwfL.js → Audit-DK_n_WFm.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-DK9Fn-8B.js → BackgroundAgents-qKsxF5tv.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-Bd6bOhV_.js → Backup-JS58pSyV.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-CRnWlXrd.js → BaseInput-gGl6Ray1.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-D1G_yEl6.js → Chat-B2FZNq3U.js} +5 -5
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-DDAlEtm-.js → ChatBubbleRenderer-CZS_bLAr.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-CP35SH7R.js → Checkbox-tsI0TE22.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-DugeL4pj.js → Codegen-D5kqhfAr.js} +1 -1
- package/src/assets/web-panel/assets/{Col-DPuJsvKg.js → Col-DdN1TrqS.js} +1 -1
- package/src/assets/web-panel/assets/{Community-CZqNjNNp.js → Community-DgbEeh6V.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-eeyIPEAb.js → Compact-FIm-fRB_.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-MGzTw87k.js → Compliance-B-N0pudf.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-D3goVIA5.js → Cowork-CuMafBpi.js} +2 -2
- package/src/assets/web-panel/assets/{Cron-9HA8hLLG.js → Cron-BTwzNFHR.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-DCSOX3l6.js → Crosschain-DRoYbLOd.js} +1 -1
- package/src/assets/web-panel/assets/{DID-ji3lN5Bc.js → DID-CPhnNkz_.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-DlZvF1E5.js → Dashboard-DJQftix2.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-2FyZcow9.js → Dropdown-PSAH1Kfy.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-qH2bSpSY.js → EmailListRenderer-PVRqeMiZ.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-Bfx47wZj.js → FamilyGuardDashboard-CYtnjqjl.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-DhGcZbIv.js → Federation-_-53kTDz.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-BMgi9_YQ.js → FormItemContext-DTQ4qGuE.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-DugMac-4.js → GenericCardRenderer-ON_NfX8k.js} +1 -1
- package/src/assets/web-panel/assets/{Git-D943BpH-.js → Git-DUc3w_Bf.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-DZ66a8Aa.js → Governance-CktsJ2ku.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-B00Mp2tN.js → Inference-4wUHQvju.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-BdwXXO2Q.js → KnowledgeGraph-Dq4saPnZ.js} +1 -1
- package/src/assets/web-panel/assets/Logs-Btb50m5s.js +2 -0
- package/src/assets/web-panel/assets/MarkdownRenderer-Cre8P8HG.js +1 -0
- package/src/assets/web-panel/assets/{Marketplace-CxeHRsnO.js → Marketplace-D3rSncxx.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-BOieTxZ4.js → McpTools-Bc6Mori_.js} +3 -3
- package/src/assets/web-panel/assets/{Memory-BQD26CM3.js → Memory-C-ottUdN.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-CPJ8ZlvR.js → MobileBridge-C0DITBmP.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-D7qRVu0y.js → MobileProjects-O6cr0Nal.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-BOyndGuk.js → Mtc-B_MXKXvY.js} +2 -2
- package/src/assets/web-panel/assets/{MtcAudit-CXQ_8ZoR.js → MtcAudit-BDkUqWIT.js} +5 -5
- package/src/assets/web-panel/assets/{Multisig-32Oh9KbH.js → Multisig-BaxNWm8c.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-CFAd00CX.js → NLProgramming-UD2GndZc.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-BBCY_qJA.js → Notes-pU7wtMwB.js} +3 -3
- package/src/assets/web-panel/assets/{NotificationSettings-uaQ0PdmW.js → NotificationSettings-BIs6ULr3.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-kpBxJ-SG.js → OrderTableRenderer-0NuumnfG.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-CmFn7Oeo.js → Organization-C9o-n2lq.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-R_avat3a.js → Overflow-CEvMXxCS.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-BIhLFmkY.js → P2P-C3gQMTK3.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-DTJjk-_i.js → PdhVaultBrowser-D1LVpBOr.js} +3 -3
- package/src/assets/web-panel/assets/{Permissions-CkzYv8Yb.js → Permissions-Dj5nIi0Y.js} +3 -3
- package/src/assets/web-panel/assets/{PersonalDataHub--0QvN2Nz.js → PersonalDataHub-uiLYuFcu.js} +6 -6
- package/src/assets/web-panel/assets/{Pipeline-Bfw5gQCH.js → Pipeline-CIrmF89x.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-DicjKfax.js → Privacy-B3K1CUBa.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-DUl_ykBp.js → ProjectInit-C_wCZ0zW.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-CPYDvN8a.js → ProjectSettings-iCitfuNJ.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-DnZ9_fAr.js → Projects-BwimeXkW.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-BX1jP31w.js → Providers-BLpepgr6.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-COab5qUl.js → QrScannerModal-DPy8tjXV.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-CdKQ_JZ0.js → QuickAsk-CRq8VhID.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-BPFHg8pK.js → Recommend-CirlWIiK.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-CqrfTJvO.js → RemoteSession-nlnJlKXO.js} +3 -3
- package/src/assets/web-panel/assets/{Reputation-DM-l8Pb3.js → Reputation-B5aaxee5.js} +1 -1
- package/src/assets/web-panel/assets/{Row-CKGBTeCw.js → Row-lzsTQZlq.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-Wb0YHIkc.js → RssFeed-C41AzjgC.js} +3 -3
- package/src/assets/web-panel/assets/{Search-DiBjxKv-.js → Search-1Hxx3TZ3.js} +1 -1
- package/src/assets/web-panel/assets/{Security-BAVEmbWP.js → Security-8VqwRxAp.js} +4 -4
- package/src/assets/web-panel/assets/{Services-A_a3TIRn.js → Services-DCm0HHAD.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-CloHJ-I7.js → Skeleton-D6w5gpmW.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-CkvV5hKa.js → Skills-Bw_pUTJB.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-BYozxxsV.js → Sla-BkMj8Dxu.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-CWianiZF.js → SpeechSettings-BOmLqW44.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-BR4G75do.js → SyncSettings-2xKSqFDO.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-D6gyUVrM.js → Tasks-BPAnzVau.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-DbfYIRzT.js → Templates-CcOGWgZz.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-BHutvukT.js → Tenant-CAyzzQWN.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-CYEiy2wJ.js → Terminal-Daagerkm.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-D9s1AxfE.js → TimelineRenderer-1jGbMj7I.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-ij9vxnoy.js → Tokens-CYQ-FQju.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-Dq_DCVeQ.js → Trigger-C70zRwuR.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-Bs6wdfoH.js → Trust-CeqXfiX_.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-CLazyr5t.js → UkeySign-D0j6m1bU.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-viWotIHA.js → VideoEditing-DFHpM7Yd.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-DlZ-A78d.js → Wallet-BVC2J0Yx.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-DSmOND3Y.js → WebAuthn-BceIN2Gn.js} +3 -3
- package/src/assets/web-panel/assets/{WorkflowEditor-BempLOJi.js → WorkflowEditor-Bgeb-i-S.js} +1 -1
- package/src/assets/web-panel/assets/{chat-CyJzf4JI.js → chat-BmMBqgvz.js} +1 -1
- package/src/assets/web-panel/assets/{colors-C62q7WrL.js → colors-sjRzwnyw.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-7dYM1KW3.js → compact-item-DNt6m2bM.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-CYTy7z2Q.js → createContext-DELaLit3.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-Ct8o3bu_.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-DHoclUqm.js → hasIn-dfwk9O8x.js} +1 -1
- package/src/assets/web-panel/assets/{index-BMxvWauP.js → index-1w7dha_a.js} +1 -1
- package/src/assets/web-panel/assets/{index-DNLD3nZY.js → index-6bjBUhoH.js} +1 -1
- package/src/assets/web-panel/assets/{index-DAYanuSk.js → index-B0wkOqE9.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dyq9tK5u.js → index-B4Z4HZcf.js} +1 -1
- package/src/assets/web-panel/assets/{index-CjeViaU-.js → index-B7qiZc2Z.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bzz0aJ86.js → index-BLbvXsxf.js} +1 -1
- package/src/assets/web-panel/assets/{index-lHfNxiB5.js → index-BMnvNNEd.js} +1 -1
- package/src/assets/web-panel/assets/{index-DA-_807C.js → index-BSB9Gin8.js} +1 -1
- package/src/assets/web-panel/assets/{index-C5YWYlW9.js → index-BXJ68ObJ.js} +1 -1
- package/src/assets/web-panel/assets/{index-DKdv8cju.js → index-Bs-mWOWt.js} +1 -1
- package/src/assets/web-panel/assets/{index-QXtrdrub.js → index-BvIQ9sZa.js} +1 -1
- package/src/assets/web-panel/assets/{index-2C8Xx2UO.js → index-BzddvOOb.js} +1 -1
- package/src/assets/web-panel/assets/{index-CZRBvN6i.js → index-C2Sxf7yC.js} +1 -1
- package/src/assets/web-panel/assets/{index-DJzZaPlb.js → index-CAIn5cS9.js} +1 -1
- package/src/assets/web-panel/assets/{index-DYKwGrAn.js → index-CLSqyAcE.js} +1 -1
- package/src/assets/web-panel/assets/{index-DkczsbiP.js → index-Cbu3-zFd.js} +1 -1
- package/src/assets/web-panel/assets/{index-BghdJ87W.js → index-Clrqtycd.js} +1 -1
- package/src/assets/web-panel/assets/{index-DOFAwpUK.js → index-CpVt6M_8.js} +1 -1
- package/src/assets/web-panel/assets/{index-DHgSRimK.js → index-CtfYPnsY.js} +1 -1
- package/src/assets/web-panel/assets/{index-3pI7AfmD.js → index-CujMHspH.js} +1 -1
- package/src/assets/web-panel/assets/index-D685kO6L.js +1 -0
- package/src/assets/web-panel/assets/{index-BMRmxFU_.js → index-DC6FlHlP.js} +1 -1
- package/src/assets/web-panel/assets/{index-DghnbMlY.js → index-DFOYbzg-.js} +1 -1
- package/src/assets/web-panel/assets/index-DTlIRMqX.js +1 -0
- package/src/assets/web-panel/assets/{index-DvEtHpLc.js → index-DV8q_Hki.js} +1 -1
- package/src/assets/web-panel/assets/{index-CnEZ4ZHj.js → index-DX3wwu3G.js} +3 -3
- package/src/assets/web-panel/assets/{index-CW86F2Zw.js → index-DY2G1Th2.js} +1 -1
- package/src/assets/web-panel/assets/{index-D6BC4mmz.js → index-DlYL8VP8.js} +1 -1
- package/src/assets/web-panel/assets/{index-C2efftJb.js → index-DnQOc5wo.js} +1 -1
- package/src/assets/web-panel/assets/{index-94ktimZG.js → index-Du62m6pG.js} +1 -1
- package/src/assets/web-panel/assets/{index-4gWv-Ubg.js → index-LMfsEdLk.js} +1 -1
- package/src/assets/web-panel/assets/{index-LK1MZoBj.js → index-OC3qYV4-.js} +1 -1
- package/src/assets/web-panel/assets/{index-XrsAHHQN.js → index-Rt-fym5b.js} +1 -1
- package/src/assets/web-panel/assets/{index-NuNCstRO.js → index-WpEDoyTv.js} +1 -1
- package/src/assets/web-panel/assets/{index-DhJjifZe.js → index-aj9ObF2R.js} +1 -1
- package/src/assets/web-panel/assets/{index-DK84lAS0.js → index-dAF9qRVa.js} +1 -1
- package/src/assets/web-panel/assets/{index-CVTnruDt.js → index-dpDeFZNt.js} +1 -1
- package/src/assets/web-panel/assets/{index-9uR7rc9a.js → index-fNwu9CU_.js} +1 -1
- package/src/assets/web-panel/assets/{index-ZXYp76IB.js → index-vCQ3l6DX.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-CwCl5sFQ.js → initDefaultProps-DUt9Xj8y.js} +1 -1
- package/src/assets/web-panel/assets/{motion-BFJFy70N.js → motion-DdiFPnv7.js} +1 -1
- package/src/assets/web-panel/assets/{move-ByrtVGq8.js → move-BJ2VH7Y2.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-BFiH1mT3.js → mtc-parser-BCnX6oOJ.js} +1 -1
- package/src/assets/web-panel/assets/{omit-bdvgpivj.js → omit-CyHxlDLV.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-BlfuuE3s.js → pickAttrs-BJiGW3bY.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-t2SC3DMy.js → placementArrow-DhJ9Rhx8.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-CoEXv2Li.js → responsiveObserve-C6zpL9bC.js} +1 -1
- package/src/assets/web-panel/assets/{slide-BfXCf0Fu.js → slide-DCbMFRF-.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-DNsdyOuS.js → statusUtils-CNtVLsIq.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-9aHukmoG.js → styleChecker-Z078OtUc.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-dTkPxzHN.js → useFlexGapSupport-w4RVmcGs.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-DINwfItP.js → useFs-D4Xw1XRt.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-Bj_RriBV.js → usePersonalDataHub-Bnbd1PgY.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-BzRAZrTc.js → vnode-DSOQxMFN.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-CamPjkeK.js → zoom-DNPE1Wca.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/data/changelog.json +13 -0
- package/src/generated/cc-agent-protocol.schema.json +49 -0
- package/src/lib/graph-kernel/compiler.js +548 -16
- package/src/lib/graph-kernel/runtime.js +1158 -30
- package/src/lib/graph-kernel/trace-reducer.js +101 -7
- package/src/assets/web-panel/assets/Logs-_MVXyYWc.js +0 -2
- package/src/assets/web-panel/assets/MarkdownRenderer-hOTeNyi7.js +0 -1
- package/src/assets/web-panel/assets/devWarning-BdTg_AMF.js +0 -1
- package/src/assets/web-panel/assets/index-B6WvFV4N.js +0 -1
- package/src/assets/web-panel/assets/index-BKgfptzA.js +0 -1
|
@@ -25,20 +25,41 @@ function durationMs(attempt) {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
function criticalPath(definition, attempts) {
|
|
28
|
-
const
|
|
28
|
+
const compensationNodeIds = new Set(
|
|
29
|
+
[
|
|
30
|
+
...definition.nodes.map((node) => node.compensationNodeId),
|
|
31
|
+
...definition.edges
|
|
32
|
+
.filter((edge) => edge.kind === "compensation")
|
|
33
|
+
.map((edge) => edge.to),
|
|
34
|
+
].filter((nodeId) => typeof nodeId === "string"),
|
|
35
|
+
);
|
|
36
|
+
const forwardNodes = definition.nodes.filter(
|
|
37
|
+
(node) => !compensationNodeIds.has(node.id),
|
|
38
|
+
);
|
|
39
|
+
const nodes = new Map(forwardNodes.map((node) => [node.id, node]));
|
|
29
40
|
const duration = new Map(
|
|
30
|
-
|
|
41
|
+
forwardNodes.map((node) => [
|
|
31
42
|
node.id,
|
|
32
|
-
|
|
33
|
-
0,
|
|
43
|
+
[
|
|
34
44
|
...attempts
|
|
35
45
|
.filter((attempt) => attempt.nodeId === node.id)
|
|
36
|
-
.
|
|
37
|
-
|
|
46
|
+
.reduce((iterations, attempt) => {
|
|
47
|
+
const key = JSON.stringify(attempt.iterationPath || []);
|
|
48
|
+
iterations.set(
|
|
49
|
+
key,
|
|
50
|
+
Math.max(iterations.get(key) || 0, durationMs(attempt)),
|
|
51
|
+
);
|
|
52
|
+
return iterations;
|
|
53
|
+
}, new Map())
|
|
54
|
+
.values(),
|
|
55
|
+
].reduce((total, value) => total + value, 0),
|
|
38
56
|
]),
|
|
39
57
|
);
|
|
40
58
|
const dependencies = new Map(
|
|
41
|
-
|
|
59
|
+
forwardNodes.map((node) => [
|
|
60
|
+
node.id,
|
|
61
|
+
new Set(node.dependsOn.filter((nodeId) => nodes.has(nodeId))),
|
|
62
|
+
]),
|
|
42
63
|
);
|
|
43
64
|
for (const edge of definition.edges) {
|
|
44
65
|
if (
|
|
@@ -137,7 +158,34 @@ export function reduceGraphTrace(
|
|
|
137
158
|
const handoffs = [...mapFromEntries(state.handoffs).values()];
|
|
138
159
|
const humanTasks = [...mapFromEntries(state.humanTasks).values()];
|
|
139
160
|
const agents = [...mapFromEntries(state.agents).values()];
|
|
161
|
+
const loopStates = [...mapFromEntries(state.loopStates).values()].sort(
|
|
162
|
+
(left, right) => left.regionId.localeCompare(right.regionId),
|
|
163
|
+
);
|
|
164
|
+
const iterationFrames = [
|
|
165
|
+
...mapFromEntries(state.iterationFrames).values(),
|
|
166
|
+
].sort(
|
|
167
|
+
(left, right) =>
|
|
168
|
+
left.regionId.localeCompare(right.regionId) ||
|
|
169
|
+
left.iterationPath.join(".").localeCompare(right.iterationPath.join(".")),
|
|
170
|
+
);
|
|
171
|
+
const subgraphRuns = [...mapFromEntries(state.subgraphRuns).values()].sort(
|
|
172
|
+
(left, right) => left.nodeId.localeCompare(right.nodeId),
|
|
173
|
+
);
|
|
140
174
|
const definition = state.definition;
|
|
175
|
+
const compensationForNode = new Map([
|
|
176
|
+
...definition.nodes
|
|
177
|
+
.filter((node) => node.compensationNodeId)
|
|
178
|
+
.map((node) => [node.compensationNodeId, node.id]),
|
|
179
|
+
...definition.edges
|
|
180
|
+
.filter((edge) => edge.kind === "compensation")
|
|
181
|
+
.map((edge) => [edge.to, edge.from]),
|
|
182
|
+
]);
|
|
183
|
+
const compensationByNode = new Map(
|
|
184
|
+
[...compensationForNode].map(([targetId, sourceId]) => [
|
|
185
|
+
sourceId,
|
|
186
|
+
targetId,
|
|
187
|
+
]),
|
|
188
|
+
);
|
|
141
189
|
const taskNodes = definition.nodes.map((node) => ({
|
|
142
190
|
id: node.id,
|
|
143
191
|
kind: node.kind,
|
|
@@ -145,8 +193,12 @@ export function reduceGraphTrace(
|
|
|
145
193
|
blockedRoot: nodeStates.get(node.id)?.blockedRoot || null,
|
|
146
194
|
acceptedAttemptId: nodeStates.get(node.id)?.acceptedAttemptId || null,
|
|
147
195
|
attemptIds: nodeStates.get(node.id)?.attemptIds || [],
|
|
196
|
+
iterationPath: nodeStates.get(node.id)?.iterationPath || [],
|
|
148
197
|
writeSet: node.writeSet || [],
|
|
149
198
|
workspaceIsolation: node.workspaceIsolation || null,
|
|
199
|
+
compensationNodeId:
|
|
200
|
+
node.compensationNodeId || compensationByNode.get(node.id) || null,
|
|
201
|
+
compensationForNodeId: compensationForNode.get(node.id) || null,
|
|
150
202
|
}));
|
|
151
203
|
const dependencyEdges = [
|
|
152
204
|
...definition.nodes.flatMap((node) =>
|
|
@@ -160,6 +212,26 @@ export function reduceGraphTrace(
|
|
|
160
212
|
),
|
|
161
213
|
...definition.edges,
|
|
162
214
|
];
|
|
215
|
+
const compensationEdgeKeys = new Set(
|
|
216
|
+
dependencyEdges
|
|
217
|
+
.filter((edge) => edge.kind === "compensation")
|
|
218
|
+
.map((edge) => `${edge.from}\0${edge.to}`),
|
|
219
|
+
);
|
|
220
|
+
for (const node of definition.nodes) {
|
|
221
|
+
if (
|
|
222
|
+
!node.compensationNodeId ||
|
|
223
|
+
compensationEdgeKeys.has(`${node.id}\0${node.compensationNodeId}`)
|
|
224
|
+
) {
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
dependencyEdges.push({
|
|
228
|
+
id: `compensation:${node.id}:${node.compensationNodeId}`,
|
|
229
|
+
from: node.id,
|
|
230
|
+
to: node.compensationNodeId,
|
|
231
|
+
kind: "compensation",
|
|
232
|
+
when: "always",
|
|
233
|
+
});
|
|
234
|
+
}
|
|
163
235
|
const artifactEdges = artifacts.flatMap((artifact) => [
|
|
164
236
|
{
|
|
165
237
|
from: artifact.producerNodeId,
|
|
@@ -213,6 +285,7 @@ export function reduceGraphTrace(
|
|
|
213
285
|
revisionDigest: state.revisionDigest,
|
|
214
286
|
phase: state.phase,
|
|
215
287
|
status: state.status,
|
|
288
|
+
compensation: clone(state.compensation || null),
|
|
216
289
|
agentTree,
|
|
217
290
|
taskGraph: { nodes: taskNodes, edges: dependencyEdges },
|
|
218
291
|
artifactGraph: { artifacts, edges: artifactEdges },
|
|
@@ -221,6 +294,27 @@ export function reduceGraphTrace(
|
|
|
221
294
|
attempts,
|
|
222
295
|
handoffs,
|
|
223
296
|
humanTasks,
|
|
297
|
+
iterationGraph: {
|
|
298
|
+
loops: loopStates,
|
|
299
|
+
frames: iterationFrames,
|
|
300
|
+
attempts: attempts.map((attempt) => ({
|
|
301
|
+
id: attempt.id,
|
|
302
|
+
nodeId: attempt.nodeId,
|
|
303
|
+
iterationPath: attempt.iterationPath || [],
|
|
304
|
+
attempt: attempt.attempt || 1,
|
|
305
|
+
status: attempt.status,
|
|
306
|
+
})),
|
|
307
|
+
},
|
|
308
|
+
subgraphGraph: {
|
|
309
|
+
runs: subgraphRuns,
|
|
310
|
+
edges: subgraphRuns.map((relation) => ({
|
|
311
|
+
from: relation.nodeId,
|
|
312
|
+
to: `run:${relation.childRunId}`,
|
|
313
|
+
kind: "subgraph_call",
|
|
314
|
+
revisionDigest: relation.revisionDigest,
|
|
315
|
+
status: relation.status,
|
|
316
|
+
})),
|
|
317
|
+
},
|
|
224
318
|
criticalPath: criticalPath(definition, attempts),
|
|
225
319
|
timeline,
|
|
226
320
|
};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{I as s,J as g,U as d,c as o,K as _,V as k,S as V,R as S,F as W,Z as Q,w as M,n as C,o as R,b as T,r,P as p,Q as O,_ as U}from"./vendor-Bn1JzzAn.js";import{_ as E,u as K}from"./index-CnEZ4ZHj.js";import{R as P}from"./icons-DG5UD-6K.js";const j={__name:"Logs",setup(N,{expose:a}){a();const x=K(),e=r("status"),y=r(!1),v=r(""),i=r(""),c=r(""),f=r(!0),n=r(null),h={status:"status",doctor:"doctor","skill-sources":"skill sources","llm-providers":"llm providers"},m=T(()=>i.value.split(`
|
|
2
|
-
`)),b=T(()=>{if(!c.value)return m.value;const t=c.value.toLowerCase();return m.value.filter(u=>u.toLowerCase().includes(t))});function L(t){return t.includes("✖")||t.includes("error")||t.includes("Error")||t.includes("failed")?"line-error":t.includes("✔")||t.includes("✓")||t.includes("success")||t.includes("running")?"line-success":t.includes("warn")||t.includes("Warn")||t.includes("○")?"line-warn":t.startsWith(" ")||t.startsWith(" ")?"line-indent":""}function l(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function w(t){if(!c.value)return t;const u=c.value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(`(${u})`,"gi"),"<mark>$1</mark>")}async function B(){y.value=!0,v.value="",i.value="";const t=h[e.value]||"status";try{const{output:u}=await x.execute(t,3e4);i.value=u,f.value&&(await C(),n.value&&(n.value.scrollTop=n.value.scrollHeight))}catch(u){v.value=`执行失败: ${u.message}`,i.value=v.value}finally{y.value=!1}}M(b,async()=>{f.value&&(await C(),n.value&&(n.value.scrollTop=n.value.scrollHeight))}),R(B);const H={ws:x,activeTab:e,loading:y,error:v,rawOutput:i,searchQuery:c,autoScroll:f,logContainer:n,TAB_COMMANDS:h,allLines:m,filteredLines:b,lineClass:L,escapeHtml:l,highlightSearch:w,loadLog:B,ref:r,computed:T,watch:M,nextTick:C,onMounted:R,get ReloadOutlined(){return P},get useWsStore(){return K}};return Object.defineProperty(H,"__isScriptSetup",{enumerable:!1,value:!0}),H}},q={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},z={style:{display:"flex",gap:"10px",margin:"12px 0"}},A={ref:"logContainer",class:"log-box"},D={key:0,style:{"text-align":"center",padding:"40px",color:"var(--text-muted)"}},F={key:1,style:{"text-align":"center",padding:"40px",color:"var(--text-muted)"}},I={key:2},J=["innerHTML"];function Z(N,a,x,e,y,v){const i=s("a-checkbox"),c=s("a-button"),f=s("a-space"),n=s("a-tab-pane"),h=s("a-tabs"),m=s("a-input-search"),b=s("a-tag"),L=s("a-spin");return p(),g("div",null,[d("div",q,[a[5]||(a[5]=d("div",null,[d("h2",{class:"page-title"},"日志查看"),d("p",{class:"page-sub"},"系统运行日志与诊断输出")],-1)),o(f,null,{default:_(()=>[o(i,{checked:e.autoScroll,"onUpdate:checked":a[0]||(a[0]=l=>e.autoScroll=l)},{default:_(()=>[...a[3]||(a[3]=[O("自动滚动",-1)])]),_:1},8,["checked"]),o(c,{type:"primary",ghost:"",loading:e.loading,onClick:e.loadLog},{icon:_(()=>[o(e.ReloadOutlined)]),default:_(()=>[a[4]||(a[4]=O(" 刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),k(" Tab Selector "),o(h,{activeKey:e.activeTab,"onUpdate:activeKey":a[1]||(a[1]=l=>e.activeTab=l),onChange:e.loadLog,style:{"margin-bottom":"0"}},{default:_(()=>[o(n,{key:"status",tab:"系统状态"}),o(n,{key:"doctor",tab:"环境诊断"}),o(n,{key:"skill-sources",tab:"技能来源"}),o(n,{key:"llm-providers",tab:"LLM 提供商"})]),_:1},8,["activeKey"]),k(" Search Bar "),d("div",z,[o(m,{value:e.searchQuery,"onUpdate:value":a[2]||(a[2]=l=>e.searchQuery=l),placeholder:"搜索日志内容...","allow-clear":"",style:{flex:"1"}},null,8,["value"]),e.filteredLines.length!==e.allLines.length?(p(),V(b,{key:0,color:"blue"},{default:_(()=>[O(S(e.filteredLines.length)+" / "+S(e.allLines.length)+" 行 ",1)]),_:1})):k("v-if",!0)]),k(" Log Output "),d("div",A,[e.loading?(p(),g("div",D,[o(L,{size:"large"}),a[6]||(a[6]=d("div",{style:{"margin-top":"10px"}},"加载中...",-1))])):e.filteredLines.length?(p(),g("div",I,[(p(!0),g(W,null,Q(e.filteredLines,(l,w)=>(p(),g("div",{key:w,class:U(["log-line",e.lineClass(l)]),innerHTML:e.highlightSearch(e.escapeHtml(l))},null,10,J))),128))])):(p(),g("div",F,S(e.error||"暂无日志内容,点击刷新加载"),1))],512)])}const $=E(j,[["render",Z],["__scopeId","data-v-8c2906e0"],["__file","/tmp/cc-web-panel-OP7nKs/repo/packages/web-panel/src/views/Logs.vue"]]);export{$ as default};
|
|
@@ -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-CnEZ4ZHj.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-OP7nKs/repo/packages/web-panel/src/components/MarkdownRenderer.vue"]]);export{w as M};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q as r}from"./index-CnEZ4ZHj.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-DPuJsvKg.js";import{a0 as t}from"./index-CnEZ4ZHj.js";import"./vendor-Bn1JzzAn.js";import"./index-DkczsbiP.js";import"./icons-DG5UD-6K.js";const s=t(o);export{s as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as o}from"./Row-CKGBTeCw.js";import{a0 as t}from"./index-CnEZ4ZHj.js";import"./vendor-Bn1JzzAn.js";import"./responsiveObserve-CoEXv2Li.js";import"./useFlexGapSupport-dTkPxzHN.js";import"./styleChecker-9aHukmoG.js";import"./index-DkczsbiP.js";import"./icons-DG5UD-6K.js";const l=t(o);export{l as default};
|