176_channel_monitor_grok_provider.sql 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. -- Migration: 176_channel_monitor_grok_provider
  2. -- Allow Grok as a channel-monitor provider. Grok checks use the existing
  3. -- OpenAI-compatible chat completions protocol with model grok-4.5 by default.
  4. DO $$
  5. DECLARE
  6. monitor_constraint_def TEXT;
  7. template_constraint_def TEXT;
  8. BEGIN
  9. SELECT pg_get_constraintdef(c.oid)
  10. INTO monitor_constraint_def
  11. FROM pg_constraint c
  12. JOIN pg_class t ON t.oid = c.conrelid
  13. WHERE t.relname = 'channel_monitors'
  14. AND c.conname = 'channel_monitors_provider_check';
  15. IF monitor_constraint_def IS NULL OR position('grok' IN monitor_constraint_def) = 0 THEN
  16. ALTER TABLE channel_monitors
  17. DROP CONSTRAINT IF EXISTS channel_monitors_provider_check;
  18. ALTER TABLE channel_monitors
  19. ADD CONSTRAINT channel_monitors_provider_check
  20. CHECK (provider IN ('openai', 'anthropic', 'gemini', 'grok'));
  21. END IF;
  22. SELECT pg_get_constraintdef(c.oid)
  23. INTO template_constraint_def
  24. FROM pg_constraint c
  25. JOIN pg_class t ON t.oid = c.conrelid
  26. WHERE t.relname = 'channel_monitor_request_templates'
  27. AND c.conname = 'channel_monitor_request_templates_provider_check';
  28. IF template_constraint_def IS NULL OR position('grok' IN template_constraint_def) = 0 THEN
  29. ALTER TABLE channel_monitor_request_templates
  30. DROP CONSTRAINT IF EXISTS channel_monitor_request_templates_provider_check;
  31. ALTER TABLE channel_monitor_request_templates
  32. ADD CONSTRAINT channel_monitor_request_templates_provider_check
  33. CHECK (provider IN ('openai', 'anthropic', 'gemini', 'grok'));
  34. END IF;
  35. END $$;