llmshim 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -9
  3. data/lib/llmshim/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f45388109bb2742c9d038e99a6bba32789f3a9f9bc39ff3d78cc0c13019c85f
4
- data.tar.gz: 723da5a41f2606cc52915c25e425f8eb34231b9cfe1a7f0ed7ee54a00760657b
3
+ metadata.gz: 231eb5903f1d0d803cab4c1d929c6430f57f20717a363f1b2ae859269a31f51a
4
+ data.tar.gz: 4a999d79e6744c1b0f8f857068e318eb77491758b7cf76c69398b5418fa9a6ac
5
5
  SHA512:
6
- metadata.gz: 3662b15aa3c188ac5ee0242781d72000adf6c7c003f0da636019eb09e8da1779248c9b31538cca67fa0e0cf280ef7ba48afa6c0445a6467a73e3cd25897d8659
7
- data.tar.gz: e6857361151dea40ac1dad35bcfedd941a719f6f5827569668891478212e6d808c95f64f5f6fa6317fb359511660ea64389c1ed1bf38b0a250b247e69cd97cce
6
+ metadata.gz: 598a6a48935b8e162ec4129d00143c26eae3188f883e56765444dbe2b4ce971479cf1c6bbfec7fe043f6d0cc18185b87852ff4acfe8cd5006a55d93426273d42
7
+ data.tar.gz: 6ee7a2239d44b23d08dd670faa1d6a9026c624ac5b0612bcc082de6dc396e28aa9775ef43bc4b6031c09c60ee66ab34057925bf9c61dbd5e898738d24fa5a869
data/README.md CHANGED
@@ -46,9 +46,9 @@ environment variables. The Ruby client never sees your keys — the proxy holds
46
46
  | ---------- | --------------------------------------- | ------------------------------------- |
47
47
  | OpenAI | `openai/gpt-5.6-sol` | `OPENAI_API_KEY` |
48
48
  | Anthropic | `anthropic/claude-sonnet-5` | `ANTHROPIC_API_KEY` |
49
- | Gemini | `gemini/gemini-3.5-flash` | `GEMINI_API_KEY` |
50
- | xAI | `xai/grok-4.5` | `XAI_API_KEY` |
51
- | OpenRouter | `openrouter/anthropic/claude-sonnet-4.5` | `OPENROUTER_API_KEY` |
49
+ | Gemini | `gemini/gemini-3.8-flash` | `GEMINI_API_KEY` |
50
+ | xAI | `xai/grok-4.6` | `XAI_API_KEY` |
51
+ | OpenRouter | `openrouter/anthropic/claude-sonnet-5` | `OPENROUTER_API_KEY` |
52
52
  | vLLM | `vllm/<served-model>` | `VLLM_BASE_URL` (+ optional `VLLM_API_KEY`) |
53
53
  | SGLang | `sglang/<served-model>` | `SGLANG_BASE_URL` (+ optional `SGLANG_API_KEY`) |
54
54
 
@@ -75,7 +75,7 @@ of message hashes:
75
75
 
76
76
  ```ruby
77
77
  resp = client.chat(
78
- model: "openai/gpt-5.5",
78
+ model: "openai/gpt-5.6-sol",
79
79
  messages: [
80
80
  { role: "system", content: "You are a pirate." },
81
81
  { role: "user", content: "Hello!" }
@@ -99,7 +99,7 @@ A shared default client (base URL from `LLMSHIM_BASE_URL`, else `http://localhos
99
99
  ```ruby
100
100
  require "llmshim"
101
101
 
102
- resp = Llmshim.chat(model: "gpt-5.5", messages: "Explain quicksort")
102
+ resp = Llmshim.chat(model: "gpt-5.6-sol", messages: "Explain quicksort")
103
103
  puts resp.content
104
104
  ```
105
105
 
@@ -127,7 +127,7 @@ Predicate helpers are available too: `event.content?`, `event.reasoning?`,
127
127
  Called without a block, `stream` returns the collected array of events:
128
128
 
129
129
  ```ruby
130
- events = client.stream(model: "gpt-5.5", messages: "Hi")
130
+ events = client.stream(model: "gpt-5.6-sol", messages: "Hi")
131
131
  text = events.select(&:content?).map(&:text).join
132
132
  ```
133
133
 
@@ -145,9 +145,9 @@ resp = client.chat(
145
145
  ],
146
146
  tool_choice: "auto",
147
147
  # Provider-specific controls, namespaced under x-<provider> (see below):
148
- provider_config: { "x-anthropic" => { thinking: { type: "enabled", budget_tokens: 4000 } } },
148
+ provider_config: { "x-anthropic" => { thinking: { type: "adaptive" }, output_config: { effort: "high" } } },
149
149
  # Try these models if the primary fails with a retryable error:
150
- fallback: ["openai/gpt-5.6-sol", "gemini/gemini-3.5-flash"]
150
+ fallback: ["openai/gpt-5.6-sol", "gemini/gemini-3.8-flash"]
151
151
  )
152
152
 
153
153
  resp.message.tool_calls.each do |tc|
@@ -177,7 +177,7 @@ level is ignored. Use the namespace matching the target provider:
177
177
 
178
178
  ```ruby
179
179
  # Anthropic extended thinking:
180
- provider_config: { "x-anthropic" => { thinking: { type: "enabled", budget_tokens: 4000 } } }
180
+ provider_config: { "x-anthropic" => { thinking: { type: "adaptive" }, output_config: { effort: "high" } } }
181
181
 
182
182
  # OpenRouter provider routing (also accepts `models`, `transforms`):
183
183
  provider_config: { "x-openrouter" => { provider: { sort: "throughput" } } }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Llmshim
4
- VERSION = "0.3.6"
4
+ VERSION = "0.3.7"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llmshim
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sanjay Nadhavajhala
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-12 00:00:00.000000000 Z
11
+ date: 2026-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest