-- V30: F100 AI 플랫폼 설정 (AiConfig — provider/모델/활성화 런타임 전환)
-- 규칙(불변): V1~V26 불변. 전부 멱등(CREATE ... IF NOT EXISTS / ON CONFLICT DO NOTHING) — 재실행 안전.
-- ★ 보안 불변: 이 테이블에는 API 키를 저장하지 않는다(ANTHROPIC_API_KEY 는 서버 env 전용).
--   provider/모델/활성화 플래그만 보관한다. 키 값·마스킹·env 사본 어떤 형태로도 저장 금지.

CREATE TABLE IF NOT EXISTS ai_config (
    tenant_id   varchar(40)  NOT NULL DEFAULT 'KINTEX',  -- ★표준: tenant_id 선두 복합 PK(테넌트별 AI 설정)
    config_key  varchar(64)  NOT NULL,             -- ai.provider | ai.claude.model | ai.ollama.model | ai.enabled
    config_val  varchar(200) NOT NULL,
    updated_by  varchar(64),
    updated_at  timestamptz  NOT NULL DEFAULT now(),
    PRIMARY KEY (tenant_id, config_key)
);

-- 기본값 시드(멱등). Claude 기본 + 소형 Ollama 폴백 모델. 키 미설정 시 라우터가 Ollama 로 자동 폴백한다.
INSERT INTO ai_config (tenant_id, config_key, config_val, updated_by) VALUES
  ('KINTEX', 'ai.provider',     'claude',            'SYSTEM'),
  ('KINTEX', 'ai.claude.model', 'claude-sonnet-4-6', 'SYSTEM'),
  ('KINTEX', 'ai.ollama.model', 'qwen3:1.7b',        'SYSTEM'),
  ('KINTEX', 'ai.enabled',      'true',              'SYSTEM')
ON CONFLICT (tenant_id, config_key) DO NOTHING;
