@tea-agent/loop-agent 0.24.2-beta.0 → 0.24.3-beta.0
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 +28 -8
- package/dist/application/dag/generate-task-dag.js +5 -8
- package/dist/commands/init.js +1 -1
- package/dist/task/task-demand-routing.js +8 -7
- package/dist/worker/console/static/assets/index-Cv68Ge5n.js +27 -0
- package/dist/worker/console/static/index.html +1 -1
- package/package.json +1 -1
- package/dist/worker/console/static/assets/index-DePjoS_G.js +0 -253
package/CHANGELOG.md
CHANGED
|
@@ -2,20 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
### 改进
|
|
6
|
+
|
|
7
|
+
- 发布工作流改为发布已通过完整门禁并经 SHA-256 校验的 npm tarball,避免 `npm publish` 再次触发全量测试、类型检查与构建。
|
|
8
|
+
|
|
9
|
+
## [0.24.2] - 2026-07-28
|
|
10
|
+
|
|
11
|
+
### 重点更新
|
|
12
|
+
|
|
13
|
+
- 夜间自动发布固定为 patch 通道,不再因功能提交自动跳转次版本号
|
|
14
|
+
- 新增人工次版本发布工作流,支持显式触发 v0.x.0 版本线升级
|
|
15
|
+
- 夜间发布支持幂等恢复,重跑时自动探测并跳过已完成步骤,冲突时安全失败
|
|
16
|
+
- 控制台聊天工作台布局收紧,新增聚焦模式与落地页设计
|
|
17
|
+
|
|
18
|
+
### 新增
|
|
19
|
+
|
|
20
|
+
- 新增 manual-minor-release 工作流,仅在显式触发时强制 bump minor 版本
|
|
21
|
+
- 控制台新增 ChatLanding 子组件,提供无会话/空会话模式下的落地页与建议网格
|
|
22
|
+
- 聊天压缩失败分类器新增对 token 预算超限、已压缩、模型缺失、活跃对话及不支持运行时等场景的精确 HTTP 状态码映射
|
|
6
23
|
|
|
7
24
|
### 改进
|
|
8
25
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
26
|
+
- 发布工作流将最终门禁拆分为独立可观测步骤,并去重以提升执行效率
|
|
27
|
+
- 夜间自动发布固定为 --bump=patch,确保版本递增稳定在 0.x.y + 0.0.1
|
|
28
|
+
- 文档版本引用现支持 floating/current/minimum/range/historical 五类语义声明,合法旧文档不再误阻塞发布
|
|
29
|
+
- 控制台聊天界面收紧工作台密度,新增 is-chat-focus 类锁定视口,仅消息区域滚动且输入框固定底部
|
|
30
|
+
- 聊天压缩接口现通过分类器返回类型化错误码,替代原有的通用失败提示
|
|
12
31
|
|
|
13
32
|
### 修复
|
|
14
33
|
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
34
|
+
- 修复发布流程接受 GitHub Release 目标时无法正确处理符号引用的问题
|
|
35
|
+
- 修复 GitHub 状态探测缺少认证导致发布恢复判断不准确的问题
|
|
36
|
+
- 修复夜间发布恢复时未针对当前版本标签进行探测的问题
|
|
37
|
+
- 修复夜间发布与手动次版本发布通道混淆的问题,现拆分为独立的 patch 与 minor 通道
|
|
38
|
+
- 修复文档版本治理将合法的旧版本引用误判为漂移并阻塞发布的问题
|
|
19
39
|
|
|
20
40
|
## [0.24.1] - 2026-07-27
|
|
21
41
|
|
|
@@ -239,10 +239,8 @@ export async function generateTaskDagUseCase(input) {
|
|
|
239
239
|
reasons: ["dag run-task validate did not report governanceProfile"],
|
|
240
240
|
});
|
|
241
241
|
const hasExplicitSpecializedTaskKind = candidateResult.templateSelection.source === "taskKind";
|
|
242
|
-
const
|
|
243
|
-
|
|
244
|
-
profileRouting.selectedTemplate !== "supervised-implementation";
|
|
245
|
-
if (hasExplicitSpecializedTaskKind || hasSafeAutomaticTaskSourceRoute) {
|
|
242
|
+
const hasAutomaticTaskSourceRoute = candidateResult.templateSelection.source === "task-source";
|
|
243
|
+
if (hasExplicitSpecializedTaskKind || hasAutomaticTaskSourceRoute) {
|
|
246
244
|
profileRouting.selectedTemplate = candidateResult.template;
|
|
247
245
|
profileRouting.source = hasExplicitSpecializedTaskKind
|
|
248
246
|
? "taskKind"
|
|
@@ -256,10 +254,9 @@ export async function generateTaskDagUseCase(input) {
|
|
|
256
254
|
profileRouting.selectedByProfile = parsed.profile;
|
|
257
255
|
}
|
|
258
256
|
}
|
|
259
|
-
// Persist
|
|
260
|
-
//
|
|
261
|
-
|
|
262
|
-
if (hasSafeAutomaticTaskSourceRoute && candidateResult.template === "frontend-implementation") {
|
|
257
|
+
// Persist the automatic business workflow route while preserving the
|
|
258
|
+
// governance profile as a separate routing dimension.
|
|
259
|
+
if (hasAutomaticTaskSourceRoute && candidateResult.template === "frontend-implementation") {
|
|
263
260
|
const taskConfig = await loadTaskConfig(repoRoot, parsed.taskId);
|
|
264
261
|
if (!taskConfig.taskKind || taskConfig.taskKind === "standard") {
|
|
265
262
|
await writeTaskConfig(repoRoot, parsed.taskId, {
|
package/dist/commands/init.js
CHANGED
|
@@ -2053,7 +2053,7 @@ function buildTargetFeatureWorkflow(input) {
|
|
|
2053
2053
|
"- An implicit frontend demand selects the frontend DAG only when project or frontend-path evidence is paired with product-delivery semantics; framework evidence alone is insufficient. Backend, mixed, negated, documentation/test maintenance, and unknown demands keep the template selected by the normal governance profile.",
|
|
2054
2054
|
"- `frontend-mock-assess-pi` reads Mock/API/schema evidence and selects `native|browser-intercept|request-adapter|not-needed|blocked` before frontend planning; its deterministic gate rejects blocked or malformed output, while the existing frontend implementer remains the only writer.",
|
|
2055
2055
|
"- Mock-backed verification never proves real API integration. When the backend was not exercised, closeout must retain the gap and name `<task-id>-real-api-integration-verify`; that follow-up is explicitly created/run after backend readiness, never automatic.",
|
|
2056
|
-
"- Automatic frontend classification
|
|
2056
|
+
"- Automatic frontend classification selects the frontend implementation workflow and persists taskKind; explicit profiles, workflowPolicy, and supervised quality gates record governance strength without switching the business workflow back to a generic DAG.",
|
|
2057
2057
|
"- A backend implementation does not select the backend test DAG. `backend-test` remains an explicit test-engineering workflow.",
|
|
2058
2058
|
"- Explicit specialized `taskKind` values remain compatible and take precedence over task-source classification.",
|
|
2059
2059
|
"",
|
|
@@ -402,13 +402,6 @@ export function resolveTaskDagTemplateSelection(input) {
|
|
|
402
402
|
reasons: [],
|
|
403
403
|
};
|
|
404
404
|
}
|
|
405
|
-
if (requestedTemplate !== "standard-dag") {
|
|
406
|
-
return {
|
|
407
|
-
template: requestedTemplate,
|
|
408
|
-
source: "requested-template",
|
|
409
|
-
reasons: [],
|
|
410
|
-
};
|
|
411
|
-
}
|
|
412
405
|
const classification = classifyTaskDemand(input);
|
|
413
406
|
if (classification.kind === "frontend") {
|
|
414
407
|
const frontendSignals = classification.signals
|
|
@@ -423,6 +416,14 @@ export function resolveTaskDagTemplateSelection(input) {
|
|
|
423
416
|
classification,
|
|
424
417
|
};
|
|
425
418
|
}
|
|
419
|
+
if (requestedTemplate !== "standard-dag") {
|
|
420
|
+
return {
|
|
421
|
+
template: requestedTemplate,
|
|
422
|
+
source: "requested-template",
|
|
423
|
+
reasons: [],
|
|
424
|
+
classification,
|
|
425
|
+
};
|
|
426
|
+
}
|
|
426
427
|
return {
|
|
427
428
|
template: requestedTemplate,
|
|
428
429
|
source: "requested-template",
|