package service import "strings" const featureKeyCodexImageGenerationBridge = "codex_image_generation_bridge" func boolOverridePtr(v bool) *bool { return &v } func boolOverrideFromMap(values map[string]any, keys ...string) *bool { if values == nil { return nil } for _, key := range keys { if v, ok := values[key].(bool); ok { return boolOverridePtr(v) } } return nil } func platformBoolOverride(values map[string]any, key string, platform string) *bool { if values == nil { return nil } if v, ok := values[key].(bool); ok { return boolOverridePtr(v) } raw, ok := values[key].(map[string]any) if !ok { return nil } platform = strings.TrimSpace(platform) if platform == "" { return nil } if v, ok := raw[platform].(bool); ok { return boolOverridePtr(v) } return nil } // CodexImageGenerationBridgeOverride returns the channel-level override for Codex // image_generation bridge injection. Nil means follow the global/account policy. func (c *Channel) CodexImageGenerationBridgeOverride(platform string) *bool { if c == nil { return nil } return platformBoolOverride(c.FeaturesConfig, featureKeyCodexImageGenerationBridge, platform) } // CodexImageGenerationBridgeOverride returns the account-level override for Codex // image_generation bridge injection. Nil means follow the channel/global policy. func (a *Account) CodexImageGenerationBridgeOverride() *bool { if a == nil || a.Platform != PlatformOpenAI || a.Extra == nil { return nil } if override := boolOverrideFromMap(a.Extra, featureKeyCodexImageGenerationBridge, "codex_image_generation_bridge_enabled"); override != nil { return override } openaiConfig, _ := a.Extra[PlatformOpenAI].(map[string]any) return boolOverrideFromMap(openaiConfig, featureKeyCodexImageGenerationBridge, "codex_image_generation_bridge_enabled") }