Files
agentic-coding-workflow/migrations/0013_acp_agent_configs.up.sql
T
2026-06-12 11:44:19 +08:00

24 lines
1.4 KiB
SQL

-- ============ AgentKind client_type ============
-- client_type 决定 spawn 时注入哪个配置目录重定向变量(CLAUDE_CONFIG_DIR /
-- CODEX_HOME / GEMINI_CLI_HOME)以及前端渲染哪套配置表单。generic 仅注入 HOME。
ALTER TABLE acp_agent_kinds ADD COLUMN client_type TEXT NOT NULL DEFAULT 'generic';
ALTER TABLE acp_agent_kinds
ADD CONSTRAINT acp_agent_kinds_client_type_check
CHECK (client_type IN ('claude_code', 'codex', 'gemini', 'generic'));
-- ============ AgentKind 配置文件 ============
-- rel_path 相对受管 home 目录(如 .claude/settings.json、.codex/config.toml)。
-- encrypted_content 是 AES-GCM 密文(内容可能含 auth token / API key)。
-- spawn 前全量物化到 <data_dir>/agent-homes/<agent_kind_id>/。
CREATE TABLE acp_agent_kind_config_files (
id UUID PRIMARY KEY,
agent_kind_id UUID NOT NULL REFERENCES acp_agent_kinds(id) ON DELETE CASCADE,
rel_path TEXT NOT NULL,
encrypted_content BYTEA NOT NULL,
updated_by UUID NOT NULL REFERENCES users(id) ON DELETE RESTRICT,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
CONSTRAINT acp_agent_kind_config_files_unique UNIQUE (agent_kind_id, rel_path)
);
CREATE INDEX idx_acp_agent_kind_config_files_kind ON acp_agent_kind_config_files(agent_kind_id);