@tea-agent/loop-agent 0.42.0-next.14 → 0.42.0-next.15
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 +4 -0
- package/dist/build-stamp.json +3 -3
- package/dist/executors/dag-pi-executor.js +617 -94
- package/dist/executors/shell-executor.js +4 -0
- package/dist/worker/console/chat/pi-runtime.js +45 -2
- package/dist/worker/console/chat/resource-loader.js +4 -1
- package/dist/worker/console/chat/routes.js +8 -0
- package/dist/worker/console/chat/subagents/agent-tool.js +62 -0
- package/dist/worker/console/chat/subagents/explore-agent.js +169 -0
- package/dist/worker/console/chat/subagents/index.js +5 -0
- package/dist/worker/console/chat/subagents/orchestrator.js +273 -0
- package/dist/worker/console/chat/subagents/tool-policy.js +53 -0
- package/dist/worker/console/chat/subagents/types.js +13 -0
- package/dist/worker/console/chat/tool-preview.js +10 -0
- package/dist/worker/console/chat/tools.js +11 -1
- package/dist/worker/console/interview/tools.js +1 -0
- package/dist/worker/console/static/assets/{abnfDiagram-N423BO3Z-BGMbAdAG.js → abnfDiagram-N423BO3Z-CgXb0EVO.js} +1 -1
- package/dist/worker/console/static/assets/{arc-CJu1LND8.js → arc-DN59MZqN.js} +1 -1
- package/dist/worker/console/static/assets/{architectureDiagram-T3A2C74G-BmJh9gMQ.js → architectureDiagram-T3A2C74G-BUk3sWpn.js} +1 -1
- package/dist/worker/console/static/assets/{blockDiagram-VBNYF7ZC-BWjaX3ZF.js → blockDiagram-VBNYF7ZC-IH-cPBFE.js} +1 -1
- package/dist/worker/console/static/assets/{c4Diagram-5PPSVZJV-CLEOAxLB.js → c4Diagram-5PPSVZJV-BJWf1nGo.js} +1 -1
- package/dist/worker/console/static/assets/channel-i1DjpDIw.js +1 -0
- package/dist/worker/console/static/assets/{chunk-2GRJ4B5K-CydnyQUX.js → chunk-2GRJ4B5K-BCPb5H0y.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-2Q5K7J3B-tjJ1IoZ1.js → chunk-2Q5K7J3B-Cfs3jeW2.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5RXB4S5H-DR358Phd.js → chunk-5RXB4S5H-BhQI1B_T.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5VM5RSS4-B-LuWFZD.js → chunk-5VM5RSS4-Cc_m4gyV.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-6Q2QTUOP-FG53fA6v.js → chunk-6Q2QTUOP-JPqDS3IV.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-GF5L2VYU-Bkt-w8SZ.js → chunk-GF5L2VYU-AeGX6EAg.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-JWPE2WC7-WxHo0z2I.js → chunk-JWPE2WC7-pEyTjekV.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-KBJHAD2P-CqHrBJhp.js → chunk-KBJHAD2P-Bi5UopKd.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-RYQCIY6F-D4MVae_f.js → chunk-RYQCIY6F-FkGFJxgQ.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-XXDRQBXY-CamBh0Ll.js → chunk-XXDRQBXY-D-7LGrV2.js} +1 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-DgDRdE1V.js +1 -0
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-DgDRdE1V.js +1 -0
- package/dist/worker/console/static/assets/{cose-bilkent-JH36ORCC-C3qheCuW.js → cose-bilkent-JH36ORCC-CCEDNDaX.js} +1 -1
- package/dist/worker/console/static/assets/{cynefin-VYW2F7L2-DQlWfkS7.js → cynefin-VYW2F7L2-DDd-t7fm.js} +1 -1
- package/dist/worker/console/static/assets/{cynefinDiagram-MW4NZA55-BAxa9rFb.js → cynefinDiagram-MW4NZA55-LWe4Ikzr.js} +1 -1
- package/dist/worker/console/static/assets/{dagre-VZM6K2ZE-YM09nLJw.js → dagre-VZM6K2ZE-BBCZScc-.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-7IWD3JNH-I4W9EJj2.js → diagram-7IWD3JNH-B6liRVig.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-B4RE2ZJO-DH8eJ8Ff.js → diagram-B4RE2ZJO-DO_hIrpW.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-LBJQPF4R-D0D0ntDW.js → diagram-LBJQPF4R-dmCy93uR.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-Q27KOJAE-BIISKq1s.js → diagram-Q27KOJAE-D6mFTIxP.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-UB23O5K3--xyAWj0w.js → diagram-UB23O5K3-DCteVUfY.js} +1 -1
- package/dist/worker/console/static/assets/{ebnfDiagram-BXEA7PRR-B3sYXLJ4.js → ebnfDiagram-BXEA7PRR-DTv530VK.js} +1 -1
- package/dist/worker/console/static/assets/{erDiagram-JOGREHBK-zRSYWhJP.js → erDiagram-JOGREHBK-DCXDMxCr.js} +1 -1
- package/dist/worker/console/static/assets/{flowDiagram-UKHOOZJN-BUYlie03.js → flowDiagram-UKHOOZJN-BwEBLOJh.js} +1 -1
- package/dist/worker/console/static/assets/{ganttDiagram-PKOTCBZU-DP4kzzrM.js → ganttDiagram-PKOTCBZU-Ck-Vymjm.js} +1 -1
- package/dist/worker/console/static/assets/{gitGraphDiagram-DS77QQ5N-CAPoUxTF.js → gitGraphDiagram-DS77QQ5N-Hqs6X_3L.js} +1 -1
- package/dist/worker/console/static/assets/{index-CWhTyxvc.js → index-BmMi-Bve.js} +71 -71
- package/dist/worker/console/static/assets/{infoDiagram-6WML65LV-BXPfjekV.js → infoDiagram-6WML65LV-Cjc6M9eg.js} +1 -1
- package/dist/worker/console/static/assets/{ishikawaDiagram-WSZJBQD7-aOI3pV6t.js → ishikawaDiagram-WSZJBQD7-CPchYZMl.js} +1 -1
- package/dist/worker/console/static/assets/{journeyDiagram-NVQOT4AX-DAPZuvi4.js → journeyDiagram-NVQOT4AX-BABdJNNC.js} +1 -1
- package/dist/worker/console/static/assets/{kanban-definition-27J2QSJJ-atwDzL3C.js → kanban-definition-27J2QSJJ-1oXhbM4j.js} +1 -1
- package/dist/worker/console/static/assets/{linear-D5E09qji.js → linear-PTmQ9LkV.js} +1 -1
- package/dist/worker/console/static/assets/{mermaid.core-CE4idY-s.js → mermaid.core-B6Lxil0V.js} +5 -5
- package/dist/worker/console/static/assets/{mindmap-definition-FAOFIHXS-CbZxtPca.js → mindmap-definition-FAOFIHXS-BUqjNGEw.js} +1 -1
- package/dist/worker/console/static/assets/{pegDiagram-VL7TDLO6-De-FYEte.js → pegDiagram-VL7TDLO6-8D1N-orJ.js} +1 -1
- package/dist/worker/console/static/assets/{pieDiagram-7S7Q4E2Y-Bs0USobz.js → pieDiagram-7S7Q4E2Y-BlPMN9d9.js} +1 -1
- package/dist/worker/console/static/assets/{quadrantDiagram-CIZ2JOQS-Bq3ZrGCJ.js → quadrantDiagram-CIZ2JOQS-BIL5YDes.js} +1 -1
- package/dist/worker/console/static/assets/{railroadDiagram-AXF67PYL-Bk8ojyIj.js → railroadDiagram-AXF67PYL-Dqmil3ie.js} +1 -1
- package/dist/worker/console/static/assets/{requirementDiagram-LRYGKXZP-CGhoyws1.js → requirementDiagram-LRYGKXZP-C_-Dp4mH.js} +1 -1
- package/dist/worker/console/static/assets/{sankeyDiagram-W5VNT64P-DmVSQs3b.js → sankeyDiagram-W5VNT64P-C0s5-bQS.js} +1 -1
- package/dist/worker/console/static/assets/{sequenceDiagram-SI44F4Z6-C80h1u0Q.js → sequenceDiagram-SI44F4Z6-DiVCHPfi.js} +1 -1
- package/dist/worker/console/static/assets/{sizeCapture-X5ZJPWSS-CcbksQVZ.js → sizeCapture-X5ZJPWSS-CxQ9WVvx.js} +1 -1
- package/dist/worker/console/static/assets/{stateDiagram-OKZ733FA-CFTTTQKj.js → stateDiagram-OKZ733FA-D9mFHA-Y.js} +1 -1
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-BqXQxfFC.js +1 -0
- package/dist/worker/console/static/assets/{swimlanes-SLNWSIFB-Cw7Jr7Tg.js → swimlanes-SLNWSIFB-DDnC5l-M.js} +2 -2
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-CXwWNRJl.js +8 -0
- package/dist/worker/console/static/assets/{timeline-definition-Z64GVDOM-CVcdTVa5.js → timeline-definition-Z64GVDOM-C8QySPC-.js} +1 -1
- package/dist/worker/console/static/assets/{vennDiagram-T6HMQDX7-BpLbmWp9.js → vennDiagram-T6HMQDX7-BeYdDiz6.js} +1 -1
- package/dist/worker/console/static/assets/{wardleyDiagram-T6FBY63Y-6PXfbwj-.js → wardleyDiagram-T6FBY63Y-D8hjFWLH.js} +1 -1
- package/dist/worker/console/static/assets/{xychartDiagram-ELKLHX3M-Bjkcz4ih.js → xychartDiagram-ELKLHX3M-ClqG_JGK.js} +1 -1
- package/dist/worker/console/static/index.html +1 -1
- package/dist/worker/console/static-src/operator-chat/tools-catalog.js +21 -2
- package/dist/workflows/dag/frontend-contract-facts.js +130 -0
- package/dist/workflows/dag/frontend-design-policy.js +99 -14
- package/dist/workflows/dag/frontend-implementation-contract.js +56 -8
- package/dist/workflows/dag/frontend-plan-render.js +13 -2
- package/dist/workflows/dag/frontend-shadow-dual-write.js +1 -0
- package/dist/workflows/dag/frontend-typed-event-store.js +3 -0
- package/dist/workflows/dag/init-hybrid.js +7 -3
- package/dist/workflows/dag/node-execution.js +54 -16
- package/docs/operations/README.md +1 -0
- package/docs/templates/frontend-implementation-contract.schema.json +34 -2
- package/package.json +2 -3
- package/skills/frontend-plan/SKILL.md +8 -0
- package/skills/frontend-plan/references/decision-contract.md +26 -3
- package/dist/worker/console/static/assets/channel-DOsaUk1k.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-D4-D49vY.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-D4-D49vY.js +0 -1
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-C4YCesmi.js +0 -1
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-lN2U_DLl.js +0 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tea-agent/loop-agent",
|
|
3
|
-
"version": "0.42.0-next.
|
|
3
|
+
"version": "0.42.0-next.15",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"loop-agent": "bin/loop-agent.js",
|
|
@@ -107,6 +107,5 @@
|
|
|
107
107
|
"typescript": "^5.9.3",
|
|
108
108
|
"vite": "^7.0.0",
|
|
109
109
|
"vitest": "^4.1.11"
|
|
110
|
-
}
|
|
111
|
-
"packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319"
|
|
110
|
+
}
|
|
112
111
|
}
|
|
@@ -21,6 +21,14 @@ requirement coverage, component/styling choices, applicable states and interacti
|
|
|
21
21
|
data/Mock strategy, deviations, and dependency policy. Process a bounded requirement
|
|
22
22
|
slice and record facts immediately rather than reasoning over the whole task first.
|
|
23
23
|
|
|
24
|
+
UX vocabulary is global, not per-requirement: commit `record_state_registry`
|
|
25
|
+
(one stable behavior-domain name per state/interaction) before any
|
|
26
|
+
`record_state_flow`, bind UI states to the contract's declared authoritative ids,
|
|
27
|
+
and let one component choice cover many ids via `covers`. `reuse-existing` must
|
|
28
|
+
cite `evidencePath` of an existing file; greenfield is `decision=new`.
|
|
29
|
+
Bind every file in the Contract-owned `requiredDeliverables` inventory. It records
|
|
30
|
+
explicit source obligations, not every path mentioned by a requirement.
|
|
31
|
+
|
|
24
32
|
The runtime owns protected skeleton fields, path/command validation, materialization,
|
|
25
33
|
and final schema checks. Finish with exactly one `finalize_plan`; return no Markdown
|
|
26
34
|
narrative. Record a genuine evidence gap when frozen facts are insufficient.
|
|
@@ -36,12 +36,29 @@ the task's declared scope. Capabilities the task source lists as non-goals (e.g.
|
|
|
36
36
|
responsive/mobile layout, animations) must not be promised here, and themes or
|
|
37
37
|
CSS conventions must not be claimed without a Scout-confirmed repository fact.
|
|
38
38
|
|
|
39
|
+
## UX vocabulary (registry first)
|
|
40
|
+
|
|
41
|
+
- Record `record_state_registry` BEFORE any `record_state_flow`: one compact
|
|
42
|
+
global vocabulary of UI-state and interaction names. Coverage may slice by
|
|
43
|
+
requirement; UX must not — never one name per requirement number and never a
|
|
44
|
+
rename of an already-recorded concept (kebab-case behavior-domain names, e.g.
|
|
45
|
+
`planner-task-edit`, `focus-queue-move`).
|
|
46
|
+
- UI states use the contract's declared authoritative ids (`declaredUiStates`
|
|
47
|
+
in the plan input) when the source declares a state table.
|
|
48
|
+
- Retry slices see `committedUx` in the plan input: reuse those exact names.
|
|
49
|
+
|
|
39
50
|
## Global decisions
|
|
40
51
|
|
|
41
52
|
Keep route/component placement, Mock/data strategy, and dependency/deviation policy
|
|
42
53
|
as explicit global decisions rather than duplicating them across each requirement.
|
|
43
54
|
Use only frozen command labels and Scout-confirmed paths.
|
|
44
55
|
|
|
56
|
+
Component choices: ONE choice may cover many UI states/interactions explicitly via
|
|
57
|
+
`covers` — never one row per interaction. `decision=reuse-existing` REQUIRES
|
|
58
|
+
`evidencePath` naming the existing repo file that proves the reuse (the runtime
|
|
59
|
+
verifies the file exists); a path that does not exist yet is greenfield and must
|
|
60
|
+
use `decision=new`.
|
|
61
|
+
|
|
45
62
|
For Mock/API, keep the real request path enabled by default. Select only a strategy
|
|
46
63
|
allowed by the frozen task capability. Active Mock requires deterministic Mock-backed
|
|
47
64
|
verification and production-default-off activation. `not-needed` requires positive
|
|
@@ -54,6 +71,12 @@ widen the write set.
|
|
|
54
71
|
## Runtime-owned fields and terminal
|
|
55
72
|
|
|
56
73
|
The runtime owns `schemaVersion`, `sourceBinding`, risk, canonical target files,
|
|
57
|
-
aliases, command allowlisting, path containment, and final
|
|
58
|
-
editable decision facts, then call `finalize_plan` exactly
|
|
59
|
-
design policy materializes the canonical implementation
|
|
74
|
+
`requiredDeliverables`, aliases, command allowlisting, path containment, and final
|
|
75
|
+
validation. Submit only editable decision facts, then call `finalize_plan` exactly
|
|
76
|
+
once. The deterministic design policy materializes the canonical implementation
|
|
77
|
+
contract: every file in the Contract's explicit source-bound delivery inventory
|
|
78
|
+
must be planned (`requiredDeliverables` gate). Permissions, prohibitions, examples
|
|
79
|
+
and read-only references do not create delivery obligations. Plan receives this
|
|
80
|
+
inventory as `requiredDeliverables`; it cannot add, remove or reinterpret it.
|
|
81
|
+
Missing files and UX name collisions are reported by finalize_plan before commit
|
|
82
|
+
and checked again by the policy shell.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ag as o,ah as n}from"./mermaid.core-CE4idY-s.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-GF5L2VYU-Bkt-w8SZ.js";import{_ as i}from"./mermaid.core-CE4idY-s.js";import"./chunk-5VM5RSS4-B-LuWFZD.js";import"./chunk-XXDRQBXY-CamBh0Ll.js";import"./chunk-KBJHAD2P-CqHrBJhp.js";import"./chunk-2GRJ4B5K-CydnyQUX.js";import"./index-CWhTyxvc.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-GF5L2VYU-Bkt-w8SZ.js";import{_ as i}from"./mermaid.core-CE4idY-s.js";import"./chunk-5VM5RSS4-B-LuWFZD.js";import"./chunk-XXDRQBXY-CamBh0Ll.js";import"./chunk-KBJHAD2P-CqHrBJhp.js";import"./chunk-2GRJ4B5K-CydnyQUX.js";import"./index-CWhTyxvc.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as r,b as e,a,S as s}from"./chunk-5RXB4S5H-DR358Phd.js";import{_ as i}from"./mermaid.core-CE4idY-s.js";import"./chunk-XXDRQBXY-CamBh0Ll.js";import"./chunk-KBJHAD2P-CqHrBJhp.js";import"./chunk-2GRJ4B5K-CydnyQUX.js";import"./index-CWhTyxvc.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-BUYlie03.js";import{_ as a}from"./mermaid.core-CE4idY-s.js";import"./chunk-5VM5RSS4-B-LuWFZD.js";import"./chunk-XXDRQBXY-CamBh0Ll.js";import"./chunk-KBJHAD2P-CqHrBJhp.js";import"./chunk-2GRJ4B5K-CydnyQUX.js";import"./channel-DOsaUk1k.js";import"./index-CWhTyxvc.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};
|