0159f009fad74a637d66ce9350ea2c0cd2a8e444
Why: when rdm.role.list is rejected (e.g. the operator lost the RDM domain-admin ledger to an acceptance bootstrap), the roles table spun on '加载中…' forever and the banner dumped the raw 400 receipt JSON. Evidence: vitest test/rdmroles-reject.test.ts (SELF, run below); manual repro on 8788 dev 2026-10-13 before the ledger fix. Impact: placeholder row comes from rolesListPlaceholder (failure row when a fetch rejected), domain-admin denials map via describeRoleListError to a readable message naming the rdm.perm.transfer channel; other errors pass through. No style tokens touched (design-guard clean). Refs: Dev task feature/rdm-admin-lockout-recovery (R3)
Implement the three-column workbench frontend: resizable/collapsible nav with overshorthand collapse
Agent-System-Frontend
对话系统前端:React 19 + Vite + TypeScript 三栏工作台(项目会话 / 流式对话 / 计划与工件面板),含 HITL 卡片、sub-agent 追踪弹窗与 schema 驱动渲染;渲染协议由 agent-system-core 定义。
契约与架构见 Agent-System-Documents 设计方案与架构文档;开发规范见 development-guidelines(Dev 仓 development/guidelines)。本仓为 Agent-System 多仓组合的组成部分。
Description
对话系统前端:三栏工作台(项目会话 / 流式对话 / 计划与工件面板),含 HITL 卡片、sub-agent 追踪弹窗与 schema 驱动的设置/插件 UI 渲染;渲染协议由 Agent-System-Core 定义。
3.5 MiB
Languages
TypeScript
92.8%
CSS
6.8%
Shell
0.3%