@tea-agent/loop-agent 0.39.0-beta.10 → 0.39.0-beta.11
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/CHANGELOG.md +99 -0
- package/dist/build-stamp.json +3 -3
- package/dist/executors/dag-pi-executor.js +93 -32
- package/dist/executors/pi-executor.js +4 -2
- package/dist/executors/pi-sdk-executor.js +46 -1
- package/dist/executors/pi-writer-tool-policy.js +57 -1
- package/dist/executors/shell-executor.js +10 -1
- package/dist/worker/console/chat/chat-event-store.js +13 -1
- package/dist/worker/console/chat/pi-runtime.js +70 -5
- package/dist/worker/console/chat/routes.js +99 -29
- package/dist/worker/console/chat/workspace-landing.js +65 -0
- package/dist/worker/console/static/assets/{abnfDiagram-N423BO3Z-BAsjg7ew.js → abnfDiagram-N423BO3Z-CXj_GnSb.js} +1 -1
- package/dist/worker/console/static/assets/{arc-CyIlrwZw.js → arc-BZp6JAp7.js} +1 -1
- package/dist/worker/console/static/assets/{architectureDiagram-T3A2C74G-Bo4tobhH.js → architectureDiagram-T3A2C74G-DfpcEuYU.js} +1 -1
- package/dist/worker/console/static/assets/{blockDiagram-VBNYF7ZC-Dfpow9gu.js → blockDiagram-VBNYF7ZC-_Gf0xadb.js} +1 -1
- package/dist/worker/console/static/assets/{c4Diagram-5PPSVZJV-DPmzG_B4.js → c4Diagram-5PPSVZJV-Ct2QPCmv.js} +1 -1
- package/dist/worker/console/static/assets/channel-3TxJgYaH.js +1 -0
- package/dist/worker/console/static/assets/{chunk-2GRJ4B5K-pKQpB1UW.js → chunk-2GRJ4B5K-BfklkzKl.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-2Q5K7J3B-5n9YYquZ.js → chunk-2Q5K7J3B-Dy25vZJV.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5RXB4S5H-DP3CtA2a.js → chunk-5RXB4S5H-BFlCRZep.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5VM5RSS4-DYxMJPUy.js → chunk-5VM5RSS4-op3oVxIE.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-6Q2QTUOP-CS3D50Io.js → chunk-6Q2QTUOP-C0R7rzF2.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-GF5L2VYU-gSdDfo5_.js → chunk-GF5L2VYU-Bt44TCGy.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-JWPE2WC7-A48q0ZNt.js → chunk-JWPE2WC7-_uEE_XFx.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-KBJHAD2P-ow8Mm3DY.js → chunk-KBJHAD2P-C3TOYGZ9.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-RYQCIY6F-CMKfLWYE.js → chunk-RYQCIY6F-Cz60oBPV.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-XXDRQBXY-BiTBdQPX.js → chunk-XXDRQBXY-8Bik0qis.js} +1 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-BHIkXpp3.js +1 -0
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-BHIkXpp3.js +1 -0
- package/dist/worker/console/static/assets/{cose-bilkent-JH36ORCC-Cm7exRz_.js → cose-bilkent-JH36ORCC-C2QIOA4a.js} +1 -1
- package/dist/worker/console/static/assets/{cynefin-VYW2F7L2-D9O5qGOu.js → cynefin-VYW2F7L2-CSH_yUUd.js} +1 -1
- package/dist/worker/console/static/assets/{cynefinDiagram-MW4NZA55-CkvQnako.js → cynefinDiagram-MW4NZA55-BDLw2XFM.js} +1 -1
- package/dist/worker/console/static/assets/{dagre-VZM6K2ZE-B1rzp7CB.js → dagre-VZM6K2ZE-CcD9ZtF4.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-7IWD3JNH-BP07Ipcc.js → diagram-7IWD3JNH-DqwtkBsI.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-B4RE2ZJO-BlPzweQb.js → diagram-B4RE2ZJO-BWVEcqsC.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-LBJQPF4R-CxPa7n0S.js → diagram-LBJQPF4R-M-WAbtQi.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-Q27KOJAE-CMTZs53A.js → diagram-Q27KOJAE-DKW7SixP.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-UB23O5K3-CxG_X52r.js → diagram-UB23O5K3-PHHPPtrj.js} +1 -1
- package/dist/worker/console/static/assets/{ebnfDiagram-BXEA7PRR-D8axtJM0.js → ebnfDiagram-BXEA7PRR-BQD-B4RX.js} +1 -1
- package/dist/worker/console/static/assets/{erDiagram-JOGREHBK-DIsGzn7b.js → erDiagram-JOGREHBK-BFvULb51.js} +1 -1
- package/dist/worker/console/static/assets/{flowDiagram-UKHOOZJN-CU9zkDG0.js → flowDiagram-UKHOOZJN-Bw-aXTCb.js} +1 -1
- package/dist/worker/console/static/assets/{ganttDiagram-PKOTCBZU-DCjTmz5P.js → ganttDiagram-PKOTCBZU-BGKw04Qx.js} +1 -1
- package/dist/worker/console/static/assets/{gitGraphDiagram-DS77QQ5N-BksdmFzg.js → gitGraphDiagram-DS77QQ5N-RqKaPR-I.js} +1 -1
- package/dist/worker/console/static/assets/index-B_D8rbWc.js +407 -0
- package/dist/worker/console/static/assets/index-BdNx6fj0.css +1 -0
- package/dist/worker/console/static/assets/{infoDiagram-6WML65LV-CGzzzJtL.js → infoDiagram-6WML65LV-YO5dnzrJ.js} +1 -1
- package/dist/worker/console/static/assets/{ishikawaDiagram-WSZJBQD7-BdseB80N.js → ishikawaDiagram-WSZJBQD7-Bi1VZHMq.js} +1 -1
- package/dist/worker/console/static/assets/{journeyDiagram-NVQOT4AX-DM9gsgha.js → journeyDiagram-NVQOT4AX-Bszls1DD.js} +1 -1
- package/dist/worker/console/static/assets/{kanban-definition-27J2QSJJ-3q-_9R2b.js → kanban-definition-27J2QSJJ-PhzeaZ09.js} +1 -1
- package/dist/worker/console/static/assets/{linear-B8N-Mxsd.js → linear-BsjbDoXi.js} +1 -1
- package/dist/worker/console/static/assets/{mermaid.core-EPIHUUsu.js → mermaid.core-0B7NnWKk.js} +5 -5
- package/dist/worker/console/static/assets/{mindmap-definition-FAOFIHXS-CxwO12aa.js → mindmap-definition-FAOFIHXS-BJr4Fj-q.js} +1 -1
- package/dist/worker/console/static/assets/{pegDiagram-VL7TDLO6-bPqbVX6Y.js → pegDiagram-VL7TDLO6-moC4fpGB.js} +1 -1
- package/dist/worker/console/static/assets/{pieDiagram-7S7Q4E2Y-KzqIvzeX.js → pieDiagram-7S7Q4E2Y-BEw37-2c.js} +1 -1
- package/dist/worker/console/static/assets/{quadrantDiagram-CIZ2JOQS-CyofpWiV.js → quadrantDiagram-CIZ2JOQS-Cq6LyasU.js} +1 -1
- package/dist/worker/console/static/assets/{railroadDiagram-AXF67PYL-cTWJvLTP.js → railroadDiagram-AXF67PYL-DUCMcK0D.js} +1 -1
- package/dist/worker/console/static/assets/{requirementDiagram-LRYGKXZP-BK--q27B.js → requirementDiagram-LRYGKXZP-C3upTZm7.js} +1 -1
- package/dist/worker/console/static/assets/{sankeyDiagram-W5VNT64P-C0SDOHXK.js → sankeyDiagram-W5VNT64P-BI_gMsCW.js} +1 -1
- package/dist/worker/console/static/assets/{sequenceDiagram-SI44F4Z6-Cong6YIo.js → sequenceDiagram-SI44F4Z6-YFOIRzfN.js} +1 -1
- package/dist/worker/console/static/assets/{sizeCapture-X5ZJPWSS-DUVkgZx8.js → sizeCapture-X5ZJPWSS-dOnB7UDD.js} +1 -1
- package/dist/worker/console/static/assets/{stateDiagram-OKZ733FA-C7XgxuZg.js → stateDiagram-OKZ733FA-BXUniaIh.js} +1 -1
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-Cdi6UhLa.js +1 -0
- package/dist/worker/console/static/assets/{swimlanes-SLNWSIFB-D9Ayvwcy.js → swimlanes-SLNWSIFB-2tA4wTNu.js} +2 -2
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-D-RJBbb0.js +8 -0
- package/dist/worker/console/static/assets/{timeline-definition-Z64GVDOM-Byb000cH.js → timeline-definition-Z64GVDOM-DO0HkJXC.js} +1 -1
- package/dist/worker/console/static/assets/{vennDiagram-T6HMQDX7-DMLegPt4.js → vennDiagram-T6HMQDX7-DvIOzixv.js} +1 -1
- package/dist/worker/console/static/assets/{wardleyDiagram-T6FBY63Y-ChMMeOsP.js → wardleyDiagram-T6FBY63Y-DXDZ0cTj.js} +1 -1
- package/dist/worker/console/static/assets/{xychartDiagram-ELKLHX3M-bEMEPisW.js → xychartDiagram-ELKLHX3M-B32Ark0D.js} +1 -1
- package/dist/worker/console/static/index.html +2 -2
- package/dist/worker/console/static-src/operator-chat/chat-sse-events.js +33 -32
- package/dist/worker/console/static-src/operator-chat/compaction-message.js +79 -0
- package/dist/worker/console/static-src/operator-chat/spatial-overlay.js +1 -2
- package/dist/worker/console/static-src/operator-chat/turn-stream-controller.js +25 -0
- package/dist/worker/console/static-src/operator-chat/useChatSessions.js +54 -56
- package/dist/worker/console/static-src/operator-chat/useChatStream.js +81 -27
- package/dist/worker/console/static-src/operator-chat/useChatThread.js +14 -25
- package/dist/worker/console/static-src/shell/workspace-route.js +7 -5
- package/dist/workflows/dag/backend-test-writer-completeness.js +7 -12
- package/dist/workflows/dag/dynamic-runtime/map.js +1 -0
- package/dist/workflows/dag/init-hybrid.js +96 -55
- package/dist/workflows/dag/node-execution.js +84 -0
- package/dist/workflows/dag/types.js +17 -0
- package/docs/templates/agent-dag.schema.json +18 -0
- package/docs/templates/backend-test-dag.json +265 -237
- package/harness.json +3 -3
- package/package.json +1 -1
- package/dist/worker/console/static/assets/channel-DSrJAn0-.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-DeMmPl0_.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-DeMmPl0_.js +0 -1
- package/dist/worker/console/static/assets/index-B-O5ChYq.css +0 -1
- package/dist/worker/console/static/assets/index-CfnY8AQx.js +0 -407
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-Dzbnd5oX.js +0 -1
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-BY0hHk6G.js +0 -8
- package/dist/worker/console/static-src/operator-chat/activity-rail-presentation.js +0 -73
- package/dist/worker/console/static-src/operator-chat/useActivityRailTransition.js +0 -59
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as r,b as e,a,S as s}from"./chunk-5RXB4S5H-DP3CtA2a.js";import{_ as i}from"./mermaid.core-EPIHUUsu.js";import"./chunk-XXDRQBXY-BiTBdQPX.js";import"./chunk-KBJHAD2P-ow8Mm3DY.js";import"./chunk-2GRJ4B5K-pKQpB1UW.js";import"./index-CfnY8AQx.js";var u={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{u as diagram};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{c as r,s as e}from"./flowDiagram-UKHOOZJN-CU9zkDG0.js";import{_ as a}from"./mermaid.core-EPIHUUsu.js";import"./chunk-5VM5RSS4-DYxMJPUy.js";import"./chunk-XXDRQBXY-BiTBdQPX.js";import"./chunk-KBJHAD2P-ow8Mm3DY.js";import"./chunk-2GRJ4B5K-pKQpB1UW.js";import"./channel-DSrJAn0-.js";import"./index-CfnY8AQx.js";var o=a(t=>`${e(t)}
|
|
2
|
-
.swimlane.cluster rect {
|
|
3
|
-
stroke: ${t.clusterBorder} !important;
|
|
4
|
-
}
|
|
5
|
-
[data-look="neo"].cluster rect {
|
|
6
|
-
filter: none;
|
|
7
|
-
}
|
|
8
|
-
`,"getStyles"),s=o,n=r({defaultLayout:"swimlane",styles:s});export{n as diagram};
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { useLayoutEffect, useState } from "react";
|
|
2
|
-
export const ACTIVITY_RAIL_WIDTH = 420;
|
|
3
|
-
export const ACTIVITY_RAIL_GAP = 12;
|
|
4
|
-
/**
|
|
5
|
-
* Resolve Activity Rail placement from the actual free space to the right of
|
|
6
|
-
* ChatMain. Activity presence is deliberately not an input: session data may
|
|
7
|
-
* show/hide the Rail, but it must never change the conversation geometry.
|
|
8
|
-
*/
|
|
9
|
-
export function resolveActivityRailPresentation(input) {
|
|
10
|
-
if (input.layoutMode === "narrow")
|
|
11
|
-
return "sheet";
|
|
12
|
-
const railWidth = input.railWidth ?? ACTIVITY_RAIL_WIDTH;
|
|
13
|
-
const gap = input.gap ?? ACTIVITY_RAIL_GAP;
|
|
14
|
-
const available = input.viewportWidth - input.mainRight;
|
|
15
|
-
return available >= railWidth + gap ? "sidecar" : "drawer";
|
|
16
|
-
}
|
|
17
|
-
const INITIAL = {
|
|
18
|
-
presentation: "drawer",
|
|
19
|
-
sidecarRect: null,
|
|
20
|
-
};
|
|
21
|
-
/** Measure ChatMain without feeding Activity state back into the page layout. */
|
|
22
|
-
export function useActivityRailPresentation(mainRef, layoutMode, refreshKey) {
|
|
23
|
-
const [snapshot, setSnapshot] = useState(INITIAL);
|
|
24
|
-
useLayoutEffect(() => {
|
|
25
|
-
const main = mainRef.current;
|
|
26
|
-
if (!main)
|
|
27
|
-
return;
|
|
28
|
-
const verticalAnchor = main.closest(".panel--chat") ?? main;
|
|
29
|
-
let frame = 0;
|
|
30
|
-
const measure = () => {
|
|
31
|
-
window.cancelAnimationFrame(frame);
|
|
32
|
-
frame = window.requestAnimationFrame(() => {
|
|
33
|
-
const rect = main.getBoundingClientRect();
|
|
34
|
-
const verticalRect = verticalAnchor.getBoundingClientRect();
|
|
35
|
-
const presentation = resolveActivityRailPresentation({
|
|
36
|
-
layoutMode,
|
|
37
|
-
viewportWidth: window.innerWidth,
|
|
38
|
-
mainRight: rect.right,
|
|
39
|
-
});
|
|
40
|
-
const sidecarRect = presentation === "sidecar"
|
|
41
|
-
? {
|
|
42
|
-
top: verticalRect.top,
|
|
43
|
-
left: rect.right + ACTIVITY_RAIL_GAP,
|
|
44
|
-
height: verticalRect.height,
|
|
45
|
-
width: ACTIVITY_RAIL_WIDTH,
|
|
46
|
-
}
|
|
47
|
-
: null;
|
|
48
|
-
setSnapshot((current) => {
|
|
49
|
-
if (current.presentation === presentation &&
|
|
50
|
-
current.sidecarRect?.top === sidecarRect?.top &&
|
|
51
|
-
current.sidecarRect?.left === sidecarRect?.left &&
|
|
52
|
-
current.sidecarRect?.height === sidecarRect?.height &&
|
|
53
|
-
current.sidecarRect?.width === sidecarRect?.width) {
|
|
54
|
-
return current;
|
|
55
|
-
}
|
|
56
|
-
return { presentation, sidecarRect };
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
measure();
|
|
61
|
-
const observer = new ResizeObserver(measure);
|
|
62
|
-
observer.observe(main);
|
|
63
|
-
if (verticalAnchor !== main)
|
|
64
|
-
observer.observe(verticalAnchor);
|
|
65
|
-
window.addEventListener("resize", measure);
|
|
66
|
-
return () => {
|
|
67
|
-
window.cancelAnimationFrame(frame);
|
|
68
|
-
observer.disconnect();
|
|
69
|
-
window.removeEventListener("resize", measure);
|
|
70
|
-
};
|
|
71
|
-
}, [layoutMode, mainRef, refreshKey]);
|
|
72
|
-
return snapshot;
|
|
73
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { useEffect, useMemo, useRef, useState } from "react";
|
|
2
|
-
export const ACTIVITY_RAIL_ENTER_MS = 160;
|
|
3
|
-
export const ACTIVITY_RAIL_LEAVE_MS = 120;
|
|
4
|
-
export const ACTIVITY_RAIL_SWITCH_MS = 120;
|
|
5
|
-
export function activityRailSnapshotTotal(snapshot) {
|
|
6
|
-
if (!snapshot)
|
|
7
|
-
return 0;
|
|
8
|
-
return (snapshot.operationCards.length +
|
|
9
|
-
snapshot.humanGateCards.length +
|
|
10
|
-
snapshot.artifactCards.length);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Keep the Rail shell independent from ChatMain while sessions change. Old
|
|
14
|
-
* content is non-interactive during the short switching/leaving phase, then is
|
|
15
|
-
* replaced or removed without ever changing conversation geometry.
|
|
16
|
-
*/
|
|
17
|
-
export function useActivityRailTransition(current) {
|
|
18
|
-
const currentTotal = activityRailSnapshotTotal(current);
|
|
19
|
-
const [state, setState] = useState(() => currentTotal > 0
|
|
20
|
-
? { phase: "visible", snapshot: current }
|
|
21
|
-
: { phase: "hidden", snapshot: null });
|
|
22
|
-
const stateRef = useRef(state);
|
|
23
|
-
stateRef.current = state;
|
|
24
|
-
const currentKey = useMemo(() => `${current?.sessionId ?? "none"}:${currentTotal}`, [current?.sessionId, currentTotal]);
|
|
25
|
-
useEffect(() => {
|
|
26
|
-
const timers = [];
|
|
27
|
-
const displayed = stateRef.current.snapshot;
|
|
28
|
-
if (!current || currentTotal === 0) {
|
|
29
|
-
if (!displayed) {
|
|
30
|
-
setState({ phase: "hidden", snapshot: null });
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
setState({ phase: "leaving", snapshot: displayed });
|
|
34
|
-
timers.push(window.setTimeout(() => {
|
|
35
|
-
setState({ phase: "hidden", snapshot: null });
|
|
36
|
-
}, ACTIVITY_RAIL_LEAVE_MS));
|
|
37
|
-
}
|
|
38
|
-
else if (!displayed) {
|
|
39
|
-
setState({ phase: "entering", snapshot: current });
|
|
40
|
-
timers.push(window.setTimeout(() => {
|
|
41
|
-
setState({ phase: "visible", snapshot: current });
|
|
42
|
-
}, ACTIVITY_RAIL_ENTER_MS));
|
|
43
|
-
}
|
|
44
|
-
else if (displayed.sessionId !== current.sessionId) {
|
|
45
|
-
setState({ phase: "switching", snapshot: current });
|
|
46
|
-
timers.push(window.setTimeout(() => {
|
|
47
|
-
setState({ phase: "visible", snapshot: current });
|
|
48
|
-
}, ACTIVITY_RAIL_SWITCH_MS));
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
setState({ phase: "visible", snapshot: current });
|
|
52
|
-
}
|
|
53
|
-
return () => {
|
|
54
|
-
for (const timer of timers)
|
|
55
|
-
window.clearTimeout(timer);
|
|
56
|
-
};
|
|
57
|
-
}, [current, currentKey, currentTotal]);
|
|
58
|
-
return state;
|
|
59
|
-
}
|