WeiCHEN and Cursor
ccc485a670
fix(agent): scope Task 2 to SSE phases/errors without dialogue_llm leak
...
- untrack internal/coordinator/dialogue_llm.go (kept on disk untracked as local WIP for a future dialogue-LLM commit with its own tests; it depends on engine.go fields (dialogueBackend, ReplySource) not yet committed)
- slim internal/chat/session.go back to Task 2 scope relative to bfa6889 : keep EmitErrorInfo(stream.ClassifyError(...)) for intent+coordination errors and the dialogue_generating EmitPhase before ProcessIntent; drop sync.Mutex/mu, ChatResponse.ReplySource, preference/RecentDialogue injection block, and collectRecentDialogue helper (unrelated WIP for the dialogue-LLM feature)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-09 16:25:35 +08:00
WeiCHEN and Cursor
8f29d84908
feat(agent): emit dialogue phases and classified SSE errors with request id
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-09 16:16:25 +08:00
WeiCHEN and Cursor
bfa68892ac
fix(stream): avoid dial substring false-positive in ClassifyError
...
Remove "dial" from networkHints to stop "dialogue" misclassification;
extend workspace/resumable and EmitErrorInfo test coverage.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-09 16:09:39 +08:00
WeiCHEN and Cursor
f385515ad3
feat(stream): add structured ErrorInfo and error classification
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-09 16:08:04 +08:00
WeiCHEN and Cursor
a8701bc08c
fix(web): redesign auth and settings UI using system design tokens and high-fidelity styles
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:40:40 +08:00
WeiCHEN and Cursor
1c7320b1c4
docs(test): archive auth and dual settings test report
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:32:15 +08:00
WeiCHEN and Cursor
f38572c0af
feat(web): integrate auth guards, dual settings and dev switcher
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:31:06 +08:00
WeiCHEN and Cursor
28e7f3af14
feat(web): implement dedicated AdminSettingsModal for role-admin
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:26:41 +08:00
WeiCHEN and Cursor
fc95ef6fed
feat(web): implement dedicated UserSettingsModal
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:24:47 +08:00
WeiCHEN and Cursor
2c61a08bcf
feat(web): add LoginView and FirstLoginPasswordModal components
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:23:49 +08:00
WeiCHEN and Cursor
eb522e7285
feat(web): add frontend auth types and api client
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:20:33 +08:00
WeiCHEN and Cursor
d548f773bc
feat(api): add auth and admin management endpoints
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:19:04 +08:00
WeiCHEN and Cursor
f7bc32798b
feat(auth): add auth data models, config and store engine
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:17:03 +08:00
WeiCHEN and Cursor
cf9c8415b4
docs(plan): add auth and dual settings implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:15:18 +08:00
WeiCHEN and Cursor
169631c54b
docs(spec): add auth and dual settings design specification
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 23:14:23 +08:00
WeiCHEN and Cursor
372d241601
test(rbac): archive dynamic roles and doc visibility rbac test report
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:41:04 +08:00
WeiCHEN and Cursor
909448e5ea
feat(web): wire rbac permission enforcement into left rail and rights modal
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:40:22 +08:00
WeiCHEN and Cursor
e1071f74e1
feat(web): add doc visibility override modal and badges in deck drawer
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:36:55 +08:00
WeiCHEN and Cursor
fa2d0e9837
feat(web): upgrade settings modal with dynamic roles CRUD and permission matrix
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:33:41 +08:00
WeiCHEN and Cursor
d1202038d8
feat(rbac): implement permission evaluation engine and unit test suite
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:31:50 +08:00
WeiCHEN and Cursor
6287731885
feat(rbac): define rbac data contracts and extend deliverable and user types
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:30:39 +08:00
WeiCHEN and Cursor
a7eef6f63b
docs(plan): add dynamic roles and doc visibility rbac implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:29:36 +08:00
WeiCHEN and Cursor
3d75471dc2
docs(spec): add dynamic roles and doc visibility rbac design spec
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:27:17 +08:00
WeiCHEN and Cursor
2745e89ed3
test(engine): add integration tests and archive test report for project template cloning
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:42:15 +08:00
WeiCHEN and Cursor
b56ca45ad4
feat(web): wire project isolation and template cloning on project creation
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:41:05 +08:00
WeiCHEN and Cursor
061789e5d7
feat(web): add template status badges to deck drawer and tab bar
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:38:06 +08:00
WeiCHEN and Cursor
a527f4dcd4
fix(engine): 修复 DOCX 公式因 undefined 虚根在 Word 中丢失的缺陷
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:37:28 +08:00
WeiCHEN and Cursor
29efa0d348
feat(engine): add project template cloning factory and unit tests
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:36:02 +08:00
WeiCHEN and Cursor
a3daabf4d9
refactor(types): extend deliverable item with projectId and isTemplateOnly
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:35:04 +08:00
WeiCHEN and Cursor
0cf23df338
docs(plan): add project init template cloning implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:31:07 +08:00
WeiCHEN and Cursor
23cf8c3a1e
docs(spec): add project init template cloning design spec
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:28:54 +08:00
WeiCHEN and Cursor
50f95c61ed
docs(test): 补充 Canvas Tainted 缺陷排查与修复验证记录
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:25:50 +08:00
WeiCHEN and Cursor
3c6b4baa2a
test(engine): 增加 cleanSvgForCanvas 净化与防污染单元测试
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:25:33 +08:00
WeiCHEN and Cursor
345cd54fb9
fix(engine): 修复 Mermaid 导出时的 Canvas Tainted 污染与 toBlob 异常
...
- 配置 Mermaid flowchart.htmlLabels 为 false,禁用 foreignObject 嵌入式 HTML 标签
- 实现 cleanSvgForCanvas 深度净化 SVG,剥离 @import 与将 foreignObject 转为原生 SVG <text>
- 替换异步 toBlob/FileReader 为同步 toDataURL + atob,并在 img.onload 中增加安全沙箱 try/catch 兜底
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:25:30 +08:00
WeiCHEN and Cursor
c517b4a25b
docs(test): 归档 DOCX 原生公式、Mermaid 与排版优化测试报告
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:17:09 +08:00
WeiCHEN and Cursor
c4f30eb26f
test(engine): 增加 DOCX 行内 OMML 复合解析与公式转换单元测试
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:17:05 +08:00
WeiCHEN and Cursor
dd67aacf49
feat(engine): 实现 DOCX 原生 OMML 数学公式、Mermaid 高清渲染与出版级公文排版
...
- 集成 mathml2omml 与 KaTeX,实现展示级公式 (<m:oMathPara>) 与行内公式 (<m:oMath>) 的微软原生矢量公式渲染
- 实现 svgToPngData 将 Mermaid 矢量图光栅化为 2.5x 视网膜清晰度的 PNG 图片嵌入 Word
- 重构公文抬头、4列受控签署栏、出版级三线表、keepNext 防孤行与带分割线的受控页眉页脚
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:17:01 +08:00
WeiCHEN and Cursor
3d6df3feb7
fix(cli): adapt default stage by role and add scanner error checking
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 19:15:34 +08:00
WeiCHEN and Cursor
e1864905c8
docs(test): archive test report for dialogue-driven content and hierarchical intent system
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 19:05:59 +08:00
WeiCHEN and Cursor
776333e1ec
feat(web): integrate interactive cards into chat stream and wire docgov actions
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 18:58:21 +08:00
WeiCHEN and Cursor
649290bbba
fix(web): add 60s grace period undo, executing banner and ttl safeguards to interactive card
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 18:45:10 +08:00
WeiCHEN and Cursor
1c62be6e49
feat(web): build interactive card component with lifecycle and idempotency
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 18:33:36 +08:00
WeiCHEN and Cursor
6e4fe22bfb
fix(coordinator): chain expectation for card confirmation and add ttl lifecycle cleanup
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 18:22:13 +08:00
WeiCHEN and Cursor
73b50926e4
docs(test): 归档 DOCX/XLSX 导出与会话隔离持久化测试报告
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 18:09:59 +08:00
WeiCHEN and Cursor
275b4ebd63
test(workbench): 增加 DOCX/XLSX 导出与会话隔离单元测试
...
- 验证 DOCX 二进制 Buffer 生成、TextRun 解析与 Blob 输出
- 验证 XLSX 多表提取、自适应列宽与工作簿 Sheet 命名规范
- 验证 sess-001 与 sess-002 对话隔离及动态追加互不串线
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 18:09:56 +08:00
WeiCHEN and Cursor
7e8f0cd4f7
feat(ui): 顶栏综合导出下拉选择器与 App 消息隔离及存储打通
...
- SlimTabBar: 增加导出格式气泡下拉菜单,支持一键导出 Word DOCX、Excel XLSX、Markdown MD
- App: MessageStream 严格根据 activeSessionId 过滤消息流,杜绝多项目会话串线
- App: 新建项目自动注入独立引导语,全流程与 storage 自动双向同步
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 18:09:51 +08:00
WeiCHEN and Cursor
9fc45ab3e3
feat(storage): 实现多项目会话隔离与 localStorage 全局刷新持久化
...
- 预设 sess-001 (4K内窥镜) 与 sess-002 (掌上超声) 独立初始消息流
- safeGetItem/safeSetItem 包装器防御性存取 sessions, activeSessionId, messages, deliverables
- 确保页面刷新后用户发送的所有内容、回复及即时生成的私密文档零丢失
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 18:09:47 +08:00
WeiCHEN and Cursor
58623605bc
feat(engine): 实现 DOCX 与 XLSX 客户端原生渲染导出引擎
...
- 引入 docx 与 xlsx 依赖,纯前端无损编译 Block AST 交付物
- buildDocxModel: 自动生成两行四列受控签署栏、多级编号标题、Markdown富文本、医疗标准三线表、Cambria Math公式与动态页眉页脚
- buildXlsxWorkbook: 自动提取文档概览与全部数据表格,生成带自适应列宽的 Excel 工作簿并支持直接下载
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 18:09:43 +08:00
WeiCHEN and Cursor
c1c299b4ab
feat(coordinator): implement docgov gates, semantic anchoring and interactive card dispatch
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 18:07:56 +08:00
WeiCHEN and Cursor
a7ee616afc
feat(ui): 升级顶栏为极简级联面包屑架构,自适应 320px 极窄视窗
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 17:56:30 +08:00