Class: ClaudeSwarm::OpenAI::Responses

Inherits:
Object
  • Object
show all
Defined in:
lib/claude_swarm/openai/responses.rb

Constant Summary collapse

MAX_TURNS_WITH_TOOLS =

virtually infinite

100_000

Instance Method Summary collapse

Constructor Details

#initialize(openai_client:, mcp_client:, available_tools:, executor:, instance_name:, model:, temperature: nil, reasoning_effort: nil, zdr: false) ⇒ Responses

Returns a new instance of Responses.



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/claude_swarm/openai/responses.rb', line 8

def initialize(openai_client:, mcp_client:, available_tools:, executor:, instance_name:, model:, temperature: nil, reasoning_effort: nil, zdr: false)
  @openai_client = openai_client
  @mcp_client = mcp_client
  @available_tools = available_tools
  @executor = executor
  @instance_name = instance_name
  @model = model
  @temperature = temperature
  @reasoning_effort = reasoning_effort
  @zdr = zdr
  @system_prompt = nil
end

Instance Method Details

#execute(prompt, options = {}) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/claude_swarm/openai/responses.rb', line 21

def execute(prompt, options = {})
  # Store system prompt for first call
  @system_prompt = options[:system_prompt] if options[:system_prompt]

  # Start with initial prompt
  initial_input = prompt

  # Process with recursive tool handling - start with empty conversation
  process_responses_api(initial_input, [], nil)
end

#reset_sessionObject



32
33
34
# File 'lib/claude_swarm/openai/responses.rb', line 32

def reset_session
  @system_prompt = nil
end