| 123456789101112131415161718192021222324252627282930313233343536373839 |
- -- Migration: 176_channel_monitor_grok_provider
- -- Allow Grok as a channel-monitor provider. Grok checks use the existing
- -- OpenAI-compatible chat completions protocol with model grok-4.5 by default.
- DO $$
- DECLARE
- monitor_constraint_def TEXT;
- template_constraint_def TEXT;
- BEGIN
- SELECT pg_get_constraintdef(c.oid)
- INTO monitor_constraint_def
- FROM pg_constraint c
- JOIN pg_class t ON t.oid = c.conrelid
- WHERE t.relname = 'channel_monitors'
- AND c.conname = 'channel_monitors_provider_check';
- IF monitor_constraint_def IS NULL OR position('grok' IN monitor_constraint_def) = 0 THEN
- ALTER TABLE channel_monitors
- DROP CONSTRAINT IF EXISTS channel_monitors_provider_check;
- ALTER TABLE channel_monitors
- ADD CONSTRAINT channel_monitors_provider_check
- CHECK (provider IN ('openai', 'anthropic', 'gemini', 'grok'));
- END IF;
- SELECT pg_get_constraintdef(c.oid)
- INTO template_constraint_def
- FROM pg_constraint c
- JOIN pg_class t ON t.oid = c.conrelid
- WHERE t.relname = 'channel_monitor_request_templates'
- AND c.conname = 'channel_monitor_request_templates_provider_check';
- IF template_constraint_def IS NULL OR position('grok' IN template_constraint_def) = 0 THEN
- ALTER TABLE channel_monitor_request_templates
- DROP CONSTRAINT IF EXISTS channel_monitor_request_templates_provider_check;
- ALTER TABLE channel_monitor_request_templates
- ADD CONSTRAINT channel_monitor_request_templates_provider_check
- CHECK (provider IN ('openai', 'anthropic', 'gemini', 'grok'));
- END IF;
- END $$;
|