Skip to content

Commit eef2abc

Browse files
authored
Prevent leaking parent provider config by discarding inherited options for different services (#312)
1 parent 169d69a commit eef2abc

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

lib/active_agent/base.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,10 @@ def self.generate_with(provider_reference, **agent_options)
106106
global_options = provider_config_load(provider_reference)
107107
inherited_options = (self.prompt_options || {}).except(:instructions) # Don't inherit instructions from parent
108108

109-
# Different Service, different APIs
109+
# Different Service, different APIs — discard all inherited options
110+
# to prevent parent provider config (host, api_key, etc.) leaking through
110111
if global_options[:service] != inherited_options[:service]
111-
inherited_options.extract!(:service, :api_version)
112+
inherited_options = {}
112113
end
113114

114115
self.prompt_options = global_options.merge(inherited_options).merge(agent_options)

0 commit comments

Comments
 (0)