gitextract_86u4topi/ ├── .github/ │ └── workflows/ │ └── main.yml ├── .gitignore ├── .rspec ├── .rubocop.yml ├── .ruby-version ├── CHANGELOG.md ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── Gemfile ├── Guardfile ├── LICENSE.txt ├── README.llm ├── README.md ├── Rakefile ├── bin/ │ ├── console │ └── setup ├── lib/ │ ├── raix/ │ │ ├── chat_completion.rb │ │ ├── completion_context.rb │ │ ├── configuration.rb │ │ ├── function_dispatch.rb │ │ ├── function_tool_adapter.rb │ │ ├── mcp/ │ │ │ ├── sse_client.rb │ │ │ ├── stdio_client.rb │ │ │ └── tool.rb │ │ ├── mcp.rb │ │ ├── message_adapters/ │ │ │ └── base.rb │ │ ├── predicate.rb │ │ ├── prompt_declarations.rb │ │ ├── response_format.rb │ │ ├── transcript_adapter.rb │ │ └── version.rb │ └── raix.rb ├── raix.gemspec ├── sig/ │ └── raix.rbs └── spec/ ├── files/ │ └── getting_real.md ├── raix/ │ ├── before_completion_spec.rb │ ├── chat_completion_spec.rb │ ├── completion_context_spec.rb │ ├── configuration_spec.rb │ ├── function_dispatch_spec.rb │ ├── mcp/ │ │ ├── sse_spec.rb │ │ └── stdio_client_spec.rb │ ├── mcp_spec.rb │ ├── message_adapters/ │ │ └── base_spec.rb │ ├── nil_content_spec.rb │ ├── predicate_spec.rb │ ├── prompt_caching_spec.rb │ ├── prompt_declarations_spec.rb │ └── response_format_spec.rb ├── spec_helper.rb ├── support/ │ └── mcp_server.rb └── vcr/ ├── GettingRealAnthropic/ │ └── does_a_completion_with_prompt_caching.yml ├── MeaningOfLife/ │ ├── accepts_a_messages_parameter_to_override_the_transcript.yml │ ├── does_a_completion_with_OpenAI.yml │ ├── does_a_completion_with_OpenRouter.yml │ └── with_predicted_outputs/ │ └── does_a_completion_with_OpenAI.yml ├── Raix_FunctionDispatch/ │ ├── can_call_a_function_and_automatically_loop_to_provide_text_response.yml │ ├── does_not_allow_non_exposed_methods_to_be_called.yml │ ├── respects_max_tool_calls_parameter.yml │ ├── supports_filtering_tools_with_the_tools_parameter.yml │ └── supports_multiple_tool_calls_in_a_single_response.yml └── Raix_Predicate/ ├── maybe.yml ├── no.yml └── yes.yml