feat: 新增全局错误透传规则功能
支持管理员配置上游错误如何返回给客户端: - 新增 ErrorPassthroughRule 数据模型和 Ent Schema - 实现规则的 CRUD API(/admin/error-passthrough-rules) - 支持按错误码、关键词匹配,支持 any/all 匹配模式 - 支持按平台过滤(anthropic/openai/gemini/antigravity) - 支持透传或自定义响应状态码和错误消息 - 实现两级缓存(Redis + 本地内存)和多实例同步 - 集成到 gateway_handler 的错误处理流程 - 新增前端管理界面组件 - 新增单元测试覆盖核心匹配逻辑 优化: - 移除 refreshLocalCache 中的冗余排序(数据库已排序) - 后端 Validate() 增加匹配条件非空校验
This commit is contained in:
24
backend/migrations/048_add_error_passthrough_rules.sql
Normal file
24
backend/migrations/048_add_error_passthrough_rules.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
-- Error Passthrough Rules table
|
||||
-- Allows administrators to configure how upstream errors are passed through to clients
|
||||
|
||||
CREATE TABLE IF NOT EXISTS error_passthrough_rules (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
enabled BOOLEAN NOT NULL DEFAULT true,
|
||||
priority INTEGER NOT NULL DEFAULT 0,
|
||||
error_codes JSONB DEFAULT '[]',
|
||||
keywords JSONB DEFAULT '[]',
|
||||
match_mode VARCHAR(10) NOT NULL DEFAULT 'any',
|
||||
platforms JSONB DEFAULT '[]',
|
||||
passthrough_code BOOLEAN NOT NULL DEFAULT true,
|
||||
response_code INTEGER,
|
||||
passthrough_body BOOLEAN NOT NULL DEFAULT true,
|
||||
custom_message TEXT,
|
||||
description TEXT,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Indexes for efficient queries
|
||||
CREATE INDEX IF NOT EXISTS idx_error_passthrough_rules_enabled ON error_passthrough_rules (enabled);
|
||||
CREATE INDEX IF NOT EXISTS idx_error_passthrough_rules_priority ON error_passthrough_rules (priority);
|
||||
Reference in New Issue
Block a user