合并 agent-mvp 到 master #1

Merged
jiang merged 282 commits from agent-mvp into master 2026-08-18 17:56:46 +08:00
Owner

合并说明

将内部前端 agent-mvp@41bf7d7 合并到 master。客户交付版为独立仓库,不在本 PR 范围内。

已完成主线祖先整合、六处冲突处理,升级 fast-xml-parsernanoid,并同步 Server 8853877 的 OpenAPI 合同、manifest 哈希和生成类型。合同门禁现在同时验证 Agent 与 Server 镜像。

最终门禁

  • API 合同校验通过。
  • ESLint 通过。
  • Jest:60/60 suites,273/273 tests。
  • Next.js production build 通过。
  • Docker runner 镜像构建通过。

已接受风险与后续事项

  • npm audit --omit=dev 剩余 9 个 high,均来自同一条 image-size → texture-compressor → loaders.gl/deck.gl 链。当前无可用安全版本,强制修复会跨主版本降级 Deck.gl;该链不在当前 Web 运行路径及 standalone 镜像内,暂接受至 2026-09-18 并跟踪上游。
  • ContourLayer、TripsLayer、文本 collision、地图对比/销毁重建的人工交互 smoke 延后到打 tag 发布前执行。
  • 运行时配置、部署变量和 ci-templates@main 固定策略在发布前确认。

本次仅合并代码主线,不打 tag、不发布、不部署。

## 合并说明 将内部前端 `agent-mvp@41bf7d7` 合并到 `master`。客户交付版为独立仓库,不在本 PR 范围内。 已完成主线祖先整合、六处冲突处理,升级 `fast-xml-parser` 与 `nanoid`,并同步 Server `8853877` 的 OpenAPI 合同、manifest 哈希和生成类型。合同门禁现在同时验证 Agent 与 Server 镜像。 ## 最终门禁 - API 合同校验通过。 - ESLint 通过。 - Jest:60/60 suites,273/273 tests。 - Next.js production build 通过。 - Docker runner 镜像构建通过。 ## 已接受风险与后续事项 - `npm audit --omit=dev` 剩余 9 个 high,均来自同一条 `image-size → texture-compressor → loaders.gl/deck.gl` 链。当前无可用安全版本,强制修复会跨主版本降级 Deck.gl;该链不在当前 Web 运行路径及 standalone 镜像内,暂接受至 2026-09-18 并跟踪上游。 - ContourLayer、TripsLayer、文本 collision、地图对比/销毁重建的人工交互 smoke 延后到打 tag 发布前执行。 - 运行时配置、部署变量和 `ci-templates@main` 固定策略在发布前确认。 本次仅合并代码主线,不打 tag、不发布、不部署。
jiang added 279 commits 2026-08-18 16:38:53 +08:00
and centralized backend requests via api/apiFetch (including data provider updates) to inject X-Project-ID.
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
区分 secrets
Build Push and Deploy / deploy-fallback-log (push) Has been cancelled
Build Push and Deploy / docker-image (push) Has been cancelled
74b4a4157c
Co-authored-by: Copilot <copilot@github.com>
更新 Checkout 步骤,添加 GitHub 服务器 URL 配置,使用 Gitea 服务器
Build Push and Deploy / docker-image (push) Failing after 2m54s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
1debaed7ea
Co-authored-by: Copilot <copilot@github.com>
ci: run gitea workflow on node runner
Build Push and Deploy / docker-image (push) Failing after 8m55s
Build Push and Deploy / deploy-fallback-log (push) Failing after 0s
0f110ce0c6
ci: pin action versions for gitea runner
Build Push and Deploy / docker-image (push) Failing after 49s
Build Push and Deploy / deploy-fallback-log (push) Failing after 1s
4f195b0e06
ci: fix checkout server url for gitea
Build Push and Deploy / docker-image (push) Failing after 3m49s
Build Push and Deploy / deploy-fallback-log (push) Failing after 1s
bfd41b58e3
ci: add git bootstrap for runner
Build Push and Deploy / docker-image (push) Failing after 7s
Build Push and Deploy / deploy-fallback-log (push) Failing after 0s
b963562a5f
ci: use sh shell for gitea runner compatibility
Build Push and Deploy / docker-image (push) Failing after 1m3s
Build Push and Deploy / deploy-fallback-log (push) Failing after 2s
e81305d046
ci: bootstrap docker cli in runner
Build Push and Deploy / deploy-fallback-log (push) Has been cancelled
Build Push and Deploy / docker-image (push) Has been cancelled
05868c6af6
调整工作流环境,移除 Git 和 Docker 安装步骤
Build Push and Deploy / docker-image (push) Failing after 15s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
baa5d41bec
Co-authored-by: Copilot <copilot@github.com>
chore(workflow): use host docker instead of buildx
Build Push and Deploy / docker-image (push) Failing after 10s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
1ed09c9594
chore: normalize registry host for docker image refs
Build Push and Deploy / docker-image (push) Failing after 1m9s
Build Push and Deploy / deploy-fallback-log (push) Successful in 2s
c2785f0746
ci: harden gitea package workflow
Build Push and Deploy / docker-image (push) Failing after 2s
Build Push and Deploy / deploy-fallback-log (push) Successful in 2s
3afe885cc0
Make checkout idempotent for reused runner workspaces and add a safe test-tag path that validates builds without pushing images or calling the deploy webhook.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ci: pin gitea runner image
Build Push and Deploy / docker-image (push) Has been cancelled
Build Push and Deploy / deploy-fallback-log (push) Has been cancelled
c4269f40e3
Use the full ubuntu runner label so Gitea Actions resolves gitea/runner-images:ubuntu-22.04 instead of falling back to ubuntu:latest during test runs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ci: use ubuntu-22.04 runner label
Build Push and Deploy / docker-image (push) Failing after 2s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
23bd2f47c3
Switch runs-on to the short ubuntu-22.04 label so Gitea matches the online runner mapping to gitea/runner-images:ubuntu-22.04.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ci: lowercase image repository
Build Push and Deploy / docker-image (push) Failing after 1m59s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
9206c480b2
Normalize github.repository to lowercase before composing Docker image tags so Gitea registry references stay valid on the runner.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ci: skip deploy steps for test tags
Build Push and Deploy / docker-image (push) Failing after 50s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
5ca9a55a7b
Use workflow-level conditions for registry login and deploy webhook steps so *-test tags only validate the build path on Gitea Actions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ci: harden test tag guards
Build Push and Deploy / docker-image (push) Failing after 51s
Build Push and Deploy / deploy-fallback-log (push) Successful in 0s
46a4d7157d
Use direct shell checks on github.ref_name inside workflow steps so test tags skip registry login, image push, and deploy webhook regardless of Gitea expression behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ci: enable full cd path
Build Push and Deploy / docker-image (push) Failing after 1m36s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
260c493fc8
Remove test-tag bypass logic so release tags exercise registry login, image push, and deploy webhook end to end on Gitea Actions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ci: retry registry pushes
Build Push and Deploy / docker-image (push) Failing after 3s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
a1442fc062
Retry Docker image pushes to the Gitea registry so transient EOF failures during blob upload do not fail the whole CD run on the first attempt.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ci: improve deploy webhook diagnostics
Build Push and Deploy / docker-image (push) Failing after 3m13s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
ba66abb4ee
ci: add webhook fallback and response diagnostics
Build Push and Deploy / docker-image (push) Successful in 6s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
d4050a841b
增加对最新标签的支持
Build Push and Deploy / docker-image (push) Successful in 1m4s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
5cfb7cc38f
Co-authored-by: Copilot <copilot@github.com>
增加获取用户 ID 的功能,Agent chat 请求头新增传递 userId
Build Push and Deploy / docker-image (push) Successful in 1m12s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
536cd6a5d1
增加模型选择功能,支持不同 Agent 模型
Build Push and Deploy / docker-image (push) Successful in 1m3s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
8058b7b859
增加会话标题支持,优化聊天头部展示
Build Push and Deploy / docker-image (push) Successful in 1m1s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
570d2c7de1
优化渲染节点功能,使用 ref 文件渲染大量节点
Build Push and Deploy / docker-image (push) Successful in 7s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
e4424b87d1
修复 Agent 对话框覆盖地图区域的问题
Build Push and Deploy / docker-image (push) Successful in 11s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
3800d73e85
增加会话标题重命名功能,优化历史面板交互
Build Push and Deploy / docker-image (push) Successful in 2m0s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
9106b8d4a9
优化历史会话排序逻辑,按首条消息时间排序
Build Push and Deploy / docker-image (push) Failing after 41s
Build Push and Deploy / deploy-fallback-log (push) Successful in 0s
2fbfba118f
优化代码格式,提升可读性
Build Push and Deploy / docker-image (push) Successful in 1m16s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
91a57123a4
新增指令
Build Push and Deploy / docker-image (push) Successful in 1m52s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
adf8ea5ca8
调整聊天框宽度限制,调整 header 按钮位置
Build Push and Deploy / docker-image (push) Successful in 1m38s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
98635e5247
无对话的新对话不进入历史会话
Build Push and Deploy / docker-image (push) Failing after 41s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
424555aae2
修复bug
Build Push and Deploy / docker-image (push) Failing after 41s
Build Push and Deploy / deploy-fallback-log (push) Successful in 0s
477350a2a1
Fix missing chat session summary import
Build Push and Deploy / docker-image (push) Successful in 1m29s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
e4d45300b1
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Refine chat session storage and title handling
Build Push and Deploy / docker-image (push) Successful in 8s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
4bf99e8069
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
实现会话记录项目隔离
Build Push and Deploy / docker-image (push) Successful in 1m13s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
54fbf15be8
修复会话记录可能存储两次的bug;更改会话行为,默认进入新对话
Build Push and Deploy / docker-image (push) Successful in 1m1s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
6b447eb398
调整时间轴样式
Build Push and Deploy / docker-image (push) Successful in 2m0s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
a4f0ffcd32
新增应用样式 agent 工具
Build Push and Deploy / docker-image (push) Successful in 1m30s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
9761ade8d8
新增 TurnList 组件,优化消息渲染逻辑
Build Push and Deploy / docker-image (push) Successful in 1m19s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
20ca410e0a
fix(chat): 更新工具进度名称
Build Push and Deploy / docker-image (push) Successful in 1m17s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
57369772c7
fix(chat): 修复 abort 后 progress 仍显示工作中的问题
Build Push and Deploy / docker-image (push) Successful in 7s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
5fc1812d53
feat: add permission request UI
Build Push and Deploy / docker-image (push) Successful in 1m2s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
e32823e4b5
fix(chat): 优化权限请求折叠状态
Build Push and Deploy / docker-image (push) Successful in 2m28s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
d31565d52c
fix(chat): 重新生成前撤销旧消息
Build Push and Deploy / docker-image (push) Successful in 1m47s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
40cc355fff
refactor: simplify chat fork flow
Build Push and Deploy / docker-image (push) Successful in 1m29s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
2691f42581
fix(chat): remove regenerate action
Build Push and Deploy / docker-image (push) Successful in 1m7s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
e5f13c3d46
fix(chat): normalize loaded messages
Build Push and Deploy / docker-image (push) Successful in 1m34s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
166b45e529
fix(chat): mark aborted permissions
Build Push and Deploy / docker-image (push) Successful in 1m1s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
7da0ed0e39
fix(chat): hide raw permission metadata
Build Push and Deploy / docker-image (push) Failing after 42s
Build Push and Deploy / deploy-fallback-log (push) Successful in 0s
968d798a2a
fix(chat): hide actions while streaming
Build Push and Deploy / deploy-fallback-log (push) Has been cancelled
Build Push and Deploy / docker-image (push) Has been cancelled
ed9828befe
fix(chat): 移除旧代码设计
Build Push and Deploy / docker-image (push) Successful in 3m42s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
22afdbf2e8
删除 copilot 自述文件
Build Push and Deploy / docker-image (push) Successful in 13s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
d80a071987
fix(chat): normalize chart tool data
Build Push and Deploy / docker-image (push) Failing after 42s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
0501afaced
fix(chat): narrow chart point types
Build Push and Deploy / docker-image (push) Successful in 7s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
213a01ff7d
fix(chat): render chart artifacts
Build Push and Deploy / docker-image (push) Successful in 1m1s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
eee165c812
fix(chat): show only chart artifacts
Build Push and Deploy / docker-image (push) Successful in 1m50s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
ab9e2a0420
fix(chat): add history loading skeletons
Build Push and Deploy / docker-image (push) Successful in 1m2s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
9c0a7a2864
feat(chat): load model options from backend
Build Push and Deploy / docker-image (push) Successful in 1m6s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
7d2ae87e39
fix(chat): avoid final stream remount
Build Push and Deploy / docker-image (push) Successful in 1m1s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
a6ea97142a
refactor(chat): remove typing indicator
Build Push and Deploy / docker-image (push) Successful in 1m2s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
877b79ada8
feat(chat): add Edge TTS playback
Build Push and Deploy / docker-image (push) Failing after 1m17s
Build Push and Deploy / deploy-fallback-log (push) Successful in 0s
cf6386d209
fix(build): pin npm in Docker deps
Build Push and Deploy / docker-image (push) Failing after 1m15s
Build Push and Deploy / deploy-fallback-log (push) Successful in 0s
758100b345
fix(build): skip npm audit in Docker
Build Push and Deploy / docker-image (push) Failing after 1m16s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
76e62a2d3d
fix(build): use Debian Node image
Build Push and Deploy / docker-image (push) Failing after 31s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
67c1a88afe
fix(build): pin Node Docker tag
Build Push and Deploy / docker-image (push) Failing after 1m22s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
a4e7ab263a
fix(build): use npm mirror in Docker
Build Push and Deploy / docker-image (push) Failing after 1m21s
Build Push and Deploy / deploy-fallback-log (push) Successful in 0s
9c2a6a386a
fix(ci): pass npm mirror to Docker build
Build Push and Deploy / docker-image (push) Failing after 1m22s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
e2e296dc06
chore(ci): print npm install debug logs
Build Push and Deploy / docker-image (push) Failing after 1m21s
Build Push and Deploy / deploy-fallback-log (push) Successful in 0s
b13fbe7dca
fix(ci): use host network for Docker build
Build Push and Deploy / docker-image (push) Successful in 2m3s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
600a8703ed
fix(map): prevent controllable state loops
Build Push and Deploy / docker-image (push) Successful in 55s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
14c76231d5
perf(map): reuse resources across routes
Build Push and Deploy / docker-image (push) Successful in 54s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
f5e7312e3b
Preserve standard network layers between map pages while disposing route-owned overlays and controls to prevent memory growth.
fix(scada): show backend detail on cleaning errors
Build Push and Deploy / docker-image (push) Successful in 1m3s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
0d559f6130
fix(layout): prevent map page overflow
Build Push and Deploy / docker-image (push) Successful in 7s
Build Push and Deploy / deploy-fallback-log (push) Has been skipped
5332f8f0c5
Replace the obsolete location result with a printable analysis report, bind valve analysis to the selected scheme, and cache report diameter lookups. Scheme identity is tracked with valve results so reports cannot reuse results from another scheme that shares the same pipe.
Render the OpenLayers basemap at the final A3 map-box resolution with pixelRatio 1, carry provider attribution into the drawing, and keep the linework/basemap export path covered by regression tests.
fix(sensor-placement): refine drawing export and editor density
Build Push and Deploy / docker-image (push) Failing after 23s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
65ed1fd212
fix(frontend): update production dependency security patches
Build Push and Deploy / docker-image (push) Successful in 2m7s
Build Push and Deploy / deploy-fallback-log (push) Skipped
0e638046ed
Keep the virtual-window measurement wrapper as a flex column so AgentTurn alignSelf rules remain active. Add regression coverage for the alignment context.
Runtime model checks previously mapped every authenticated endpoint failure to models_unavailable. Treat request failures as service outages and retry failed checks after five seconds; empty model configurations remain distinct.
ci: replace webhook deployment with v2 workflow
Generic Container CI/CD / test-build-publish (push) Successful in 4m7s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 4m7s
1ac7372585
fix(analysis): 统一方案名与接口错误提示
Generic Container CI/CD / test-build-publish (push) Successful in 1m2s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 1m2s
45def5bba3
fix(map): 修正属性查询数据源与模拟属性
Generic Container CI/CD / test-build-publish (push) Successful in 1m4s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 1m4s
5053ddcd1f
fix(flushing): 对齐选择项空状态
Generic Container CI/CD / test-build-publish (push) Successful in 1m1s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 1m1s
f34d81c933
fix(flushing): 收紧空阀门区域高度
Generic Container CI/CD / test-build-publish (push) Successful in 1m1s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 1m1s
6d505ca461
jiang added 2 commits 2026-08-18 17:00:45 +08:00
jiang marked the pull request as ready for review 2026-08-18 17:53:42 +08:00
jiang added 1 commit 2026-08-18 17:56:12 +08:00
jiang merged commit dca2817320 into master 2026-08-18 17:56:46 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OrgTJWater/TJWaterFrontend_Refine#1