fix: 质量修复 — ESLint 规则 TS6 兼容 + catch 注解 + 空函数体注释化 + 后端架构对齐 + 前端红线修复

- enforce-catch-type: 增加 TSUnknownKeyword 判断,消除28个 TS6 假阳性
- no-empty-function: 统一为注释方案,移除测试/生产分支和 eslint-disable 引导
- logger.ts: 空函数体改为注释说明,删除无用 eslint-disable 指令
- 补充15处 catch 子句 : unknown 类型注解
- 清理7个测试文件失效 eslint-disable 指令
- chat/send.ts: 提取 getModelWithProvider DAO,消除直接 Drizzle 操作
- projects/update.ts: 修复死代码+条件逻辑 bug
- providers/update.ts: 补充至少一个字段校验
- 前端: inline style → CSS className, ProviderFormModal whitespace 校验
- 开发文档: 更新 Zod 使用说明(AI SDK 框架级约束)
This commit is contained in:
2026-06-01 23:11:42 +08:00
parent 0d60120219
commit ab7b7fb189
28 changed files with 124 additions and 83 deletions

View File

@@ -33,7 +33,7 @@ AI 工具必须严格遵守以下全部约束。
**前端**:优先复用已有组件/hooks/依赖库;确需新增依赖时先说明原因。
**Zod**已引入但未使用(预留),配置校验用 TypeBox + Ajv不得混用 Zod
**Zod**AI 工具层(`src/server/ai/tools/`)使用 Zod 定义 `tool()``inputSchema`,以满足 AI SDK 对 `ZodSchema` 的类型推断要求,属于框架级约束而非项目选型冲突。配置校验层使用 TypeBox + Ajv两层级各司其职,不混用
### 目录边界