Commit Graph

429 Commits

Author SHA1 Message Date
Codex 2fa23bd71d fix(web): restore v02 workbench layout 2026-06-03 15:49:52 +08:00
Lyon 10906ec726 fix(issue751): add web-types.d.ts + tsconfig + tsc-check baseline (#754)
为 issue #751 的 TypeScript 收紧建基线:
- 新增 web/hwlab-cloud-web/tsconfig.json(strict family 全部开启、noImplicitAny
  默认关、allowImportingTsExtensions 打开、types=[bun-types, node])
- 新增 web/hwlab-cloud-web/web-types.d.ts(ElMap + WorkbenchState + 跨文件
  function/lifecycle/constant 的 ambient declarations;用 WorkbenchUnknown
  接口避开 any 字面量,同时保留索引签名允许任意属性访问)
- 新增 web/hwlab-cloud-web/scripts/tsc-check.ts:web:check 的并行 type gate,
  显式 untyped 注解(项目源码 + web-types.d.ts)直接 exit 2;residual type
  错误按 issue #751 follow-up 处理
- web/hwlab-cloud-web/package.json:加 typescript@5.6.3 / @types/node@22.7.5
  / bun-types@1.1.33;check / check:tsc / check:tsc-strict 入口
- byId/query 加显式 : HTMLElement 返回类型(不再返回 HTMLElement | null)
- app-conversation.ts 中 captureConversationScrollPosition 加 : void 注解

web:check(54 tests / 0 fail)+ web:build(12 dist files)通过;tsc-check
报告 0 explicit untyped,residual type 错误(property access / strict null
等)作为 issue #751 后续轮次跟踪,不阻塞 build。

Refs: pikasTech/HWLAB#751

Co-authored-by: Codex <codex@noreply.local>
2026-06-03 15:21:03 +08:00
Lyon 9d71bf5f6b fix(web): HWLAB #748 initCommandBar orphan el.commandNewSession listener (#752)
PR #746 (#744) removed the duplicate `command-new-session` button from index.html and the `el.commandNewSession` field from the `el` literal, but left `el.commandNewSession.addEventListener("click", ...)` inside `initCommandBar()`. The resulting undefined reference crashed every Cloud Workbench init with

  app.js:5414 Uncaught TypeError: Cannot read properties of undefined (reading 'addEventListener')
      at initCommandBar (app.js:5414:24)
      at app.js:3538:1

The new session entry point is `#session-create` in the session sidebar (added in #740/#743), so this listener is no longer needed. Removal is the minimal fix; all other command-bar bindings (`commandInput`, `commandForm`, `commandClear`) are untouched.

Verified locally:
  - web:check (54 tests pass, all static contracts pass)
  - web:build (12 dist files fresh)
  - dist/app.js: 0 references to commandNewSession

Refs: pikasTech/HWLAB#748

Co-authored-by: Codex <codex@local>
2026-06-03 14:45:26 +08:00
Codex d39e322bf0 fix(web/cli): do not truncate the terminal final-response body in trace rows
- HWLAB v0.2 Final Response was being truncated to 5000 characters in
  traceAssistantSummaryRow and then again to 1200 characters in the CLI
  compactTraceRenderRow, even when the response was the assistant’s
  terminal (last) message. The same Final Response is what
  /v1/agent/chat/result returns as reply.content, so the trace view
  should show the full text and stay consistent with the CLI
  assistantText path.
- Mark each rendered row with a terminal flag (true only for the
  terminal Final Response) and lift the body cap to
  Number.POSITIVE_INFINITY for terminal rows. The CLI Web-render path
  now passes the full body through when row.terminal is true and keeps
  the 1200 char preview for non-terminal streaming rows.
- Add unit tests in web/hwlab-cloud-web/app-trace.test.ts and
  tools/hwlab-cli/client.test.ts to lock the behavior in for the
  terminal/no-truncate path and the streaming/2200 cap path.

Refs: pikasTech/HWLAB#722
2026-06-03 13:26:19 +08:00
Lyon 2168ad2ad7 fix(web): HWLAB #744 WebUI v0.2 改进 (#746)
- 问题1: 修复重复 session - 按 threadId 去重 conversation
- 问题2: session sidebar 默认宽度改为150% (330px),移除上限
- 问题3: 删除重复的命令栏「新建 Session」按钮
- 问题4: session 报错(status=failed/error/canceled/timeout)后允许继续重试
- 问题5: session tabs 上方显示当前模型通道
- 问题6: 所有时间统一使用北京时间(UTC+8),移除「北京时间」字样
- 问题7: 注销按钮移入 activity-rail 设置标签

Closes #744

Co-authored-by: Codex <codex@local>
2026-06-03 13:13:23 +08:00
Codex 6dbc72deac fix(issue740): HWLAB v0.2 WEBUI session management improvements
1. 在 panel-title-row 增加"复制 session id"按钮,把当前会话
   conversation id 复制到剪贴板,便于在 HWLAB CLI 复现;
2. 侧边栏标签改为显示最近更新时间(相对时间),排序仍然按
   lastTimestampMs 倒序,新会话靠前;
3. messageCount 与 firstUserMessagePreview 由 backend 持久化,
   不再被 slice(-50) 窗口掩盖,CLI/Web 看到的条数一致;
4. 把 left-sidebar-resize 移到 session-sidebar 右侧,
   activity-rail 固定 92px,拖拽控制 session-sidebar 宽度;
5. 侧边栏标签默认显示用户摘要(首条 user message 截断),
   长文本用省略号收尾。

新增 `hwlab-cli client session inspect <conversationId>` 子命令
与 `GET /v1/agent/conversations/{id}` 端点对齐,便于在 CLI 复现
WEB 看到的 session 详情(包含 messageCount / trace / thread)。

Backend 改动:access-control.ts 的 normalizeConversationSnapshot
和 mergeAgentSessionOwnerEvidence 现在按 max 累加 messageCount,
并保留 firstUserMessagePreview;mergeTerminalConversationMessages
返回 { messages, messageCount, firstUserMessagePreview }。
2026-06-03 11:41:02 +08:00
Codex 94b9df822c feat: 手动化 Code Agent session 管理 2026-06-03 10:40:50 +08:00
Codex da25cb4c02 feat: align session sidebar and cli management 2026-06-03 09:47:52 +08:00
Codex 5b1c9eb5dd feat: add session tabs to cloud web 2026-06-03 08:37:07 +08:00
Codex 90c5dad065 feat: show prompt assembly in skills panel 2026-06-03 08:03:04 +08:00
Codex e2d4989468 fix: expose AgentRun skill assembly in v02 web 2026-06-03 07:02:09 +08:00
Codex 0d4f5ef098 fix: preserve code agent sessions after turn failures 2026-06-03 00:28:40 +08:00
Codex 570c9963ec fix: collapse duplicate trace assistant rows 2026-06-02 22:46:05 +08:00
Codex 29e9e23fb3 fix: use native codex stdio continuation 2026-06-02 16:22:27 +08:00
Codex 66282ba80f fix: unlock cloud web composer steer 2026-06-02 12:25:16 +08:00
Codex fcfc7e84e5 fix: preserve AgentRun command tool calls in trace 2026-06-02 12:15:21 +08:00
Codex 47c4ce2d97 fix: 明确 AgentRun tool-call 错误归因 2026-06-02 12:08:38 +08:00
Codex 3c6edb73a1 fix: 统一 AgentRun threadId 上下文连续性 2026-06-02 10:19:34 +08:00
Codex f52eadfbe7 feat: route minimax m3 through agentrun 2026-06-02 08:50:27 +08:00
Codex 399af47ee8 fix: assemble device pod runtime endpoint 2026-06-02 07:44:24 +08:00
Lyon f0ddb634d8 fix: consume AgentRun assistant authority (#673)
Co-authored-by: Codex <codex@local>
2026-06-02 07:19:52 +08:00
Codex 6112d1759e fix: suppress agentrun lifecycle trace noise 2026-06-02 03:31:47 +08:00
Codex da96f02333 fix: preserve AgentRun reuse mapping and trace rendering 2026-06-02 03:16:50 +08:00
Codex ca4f14b421 fix: collapse AgentRun reuse trace noise 2026-06-02 02:00:29 +08:00
Codex 7dfd79daa1 fix: collapse completed AgentRun trace noise 2026-06-02 01:35:31 +08:00
Codex 936884bdc1 fix: reduce AgentRun trace noise for HWLAB CLI 2026-06-02 00:48:38 +08:00
Lyon 5dc263e10a fix: align AgentRun trace rendering (#665)
Co-authored-by: Codex <codex@local>
2026-06-01 23:58:06 +08:00
Lyon 24060853e7 fix: reuse AgentRun runner for HWLAB turns (#662)
Co-authored-by: Codex <codex@local>
2026-06-01 23:18:40 +08:00
Codex b7285b30b1 feat(workbench): share account workspace across web and cli 2026-06-01 21:31:26 +08:00
Codex b103a880ca fix: add trace auto-follow bottom pinning 2026-05-31 21:34:14 +08:00
Codex 115bd3a8ce chore: add web cicd performance probe comment 2026-05-31 19:03:20 +08:00
Codex c1bf4f0a59 fix: 收紧 v0.2 Device Pod 右栏首屏布局 2026-05-31 16:53:56 +08:00
Codex 6af815bda1 fix: 修复 v0.2 Device Pod 右栏与助手消息 2026-05-31 16:24:44 +08:00
Codex 945c2ba3d0 fix: persist user code agent sessions 2026-05-31 16:00:05 +08:00
Codex c462122ad7 fix: refine v02 workbench layout 2026-05-31 13:58:51 +08:00
Codex 70ebd1689c feat: add uploaded skills management 2026-05-31 11:45:10 +08:00
Codex d269dd52bf fix: enforce v02 cloud web validation 2026-05-31 11:39:18 +08:00
Codex 7cafb70d9a fix: absorb v02 web trace layout updates 2026-05-31 10:58:23 +08:00
Codex aee03fab68 fix: delegate cloud web auth to cloud api 2026-05-30 10:23:59 +08:00
Codex b99c663614 feat: enforce v02 runtime authority 2026-05-29 08:10:19 +08:00
Codex ba9daf7e03 fix: resolve bun command from ci path 2026-05-29 03:34:56 +08:00
Codex 03c09f5c94 refactor: migrate v0.2 runtime services to TypeScript 2026-05-29 02:09:35 +08:00
Codex e2c206aab4 Merge remote-tracking branch 'origin/v0.2' into codex/v02-cloud-api-ts-migration
# Conflicts:
#	package.json
#	scripts/src/artifact-runtime-readiness-guard.mjs
#	scripts/src/m3-io-control-e2e.mjs
#	web/hwlab-cloud-web/scripts/check.ts
2026-05-29 00:59:52 +08:00
Codex a0869c5afa refactor: migrate v02 cloud api to TypeScript 2026-05-29 00:33:22 +08:00
Codex b7f7299056 feat: migrate v0.2 cloud web to TypeScript 2026-05-28 21:33:33 +08:00
Codex 81d7242a69 fix: compact device pod sidebar 2026-05-28 09:16:13 +08:00
Codex 02c9fea329 fix: keep cloud web rollout scoped 2026-05-28 08:32:58 +08:00
Codex 1c44ce671b fix: stabilize cloud web restored status 2026-05-28 08:06:24 +08:00
Codex 297206b695 feat: add fake device pod sidebar service 2026-05-28 01:39:03 +08:00
Codex 35b1445b76 fix: preserve inner trace scroll 2026-05-27 14:50:19 +08:00