agentshim 0.18.0__tar.gz → 0.18.2__tar.gz

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 (114) hide show
  1. {agentshim-0.18.0 → agentshim-0.18.2}/CHANGELOG.md +18 -0
  2. {agentshim-0.18.0 → agentshim-0.18.2}/PKG-INFO +1 -1
  3. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/__init__.py +1 -1
  4. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/models.py +29 -3
  5. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/provider.py +1 -0
  6. {agentshim-0.18.0 → agentshim-0.18.2}/pyproject.toml +1 -1
  7. {agentshim-0.18.0 → agentshim-0.18.2}/.gitignore +0 -0
  8. {agentshim-0.18.0 → agentshim-0.18.2}/LICENSE +0 -0
  9. {agentshim-0.18.0 → agentshim-0.18.2}/README.md +0 -0
  10. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/agent.py +0 -0
  11. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/__init__.py +0 -0
  12. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/_files.py +0 -0
  13. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/auth.py +0 -0
  14. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/checkpoints.py +0 -0
  15. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/clock.py +0 -0
  16. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/conversation.py +0 -0
  17. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/env.py +0 -0
  18. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/errors.py +0 -0
  19. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/events.py +0 -0
  20. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/home.py +0 -0
  21. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/ids.py +0 -0
  22. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/mcp.py +0 -0
  23. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/permissions.py +0 -0
  24. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/pricing.py +0 -0
  25. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/profile.py +0 -0
  26. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/provider.py +0 -0
  27. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/schema.py +0 -0
  28. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/session_policy.py +0 -0
  29. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/skills.py +0 -0
  30. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/status.py +0 -0
  31. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/stream.py +0 -0
  32. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/turn.py +0 -0
  33. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/core/usage.py +0 -0
  34. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/execution/__init__.py +0 -0
  35. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/execution/confinement.py +0 -0
  36. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/execution/docker.py +0 -0
  37. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/execution/executor.py +0 -0
  38. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/execution/host.py +0 -0
  39. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/execution/process.py +0 -0
  40. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/execution/transform.py +0 -0
  41. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/oneshot.py +0 -0
  42. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/probe.py +0 -0
  43. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/__init__.py +0 -0
  44. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/__init__.py +0 -0
  45. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/events.py +0 -0
  46. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/failures.py +0 -0
  47. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/hooks/__init__.py +0 -0
  48. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/hooks/confine_reads.py +0 -0
  49. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/parser.py +0 -0
  50. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/probe.py +0 -0
  51. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/provider.py +0 -0
  52. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/rate_limits.py +0 -0
  53. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/sandbox.py +0 -0
  54. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/scripted.py +0 -0
  55. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/stream_argv.py +0 -0
  56. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/stream_transport.py +0 -0
  57. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/claude/user_hooks.py +0 -0
  58. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/__init__.py +0 -0
  59. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/_toml.py +0 -0
  60. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/__init__.py +0 -0
  61. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/_wire.py +0 -0
  62. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/approvals.py +0 -0
  63. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/channel.py +0 -0
  64. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/errors.py +0 -0
  65. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/items.py +0 -0
  66. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/mcp.py +0 -0
  67. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/permissions.py +0 -0
  68. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/profile.py +0 -0
  69. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/protocol.py +0 -0
  70. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/rate_limits.py +0 -0
  71. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/transport.py +0 -0
  72. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/app_server/usage.py +0 -0
  73. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/events.py +0 -0
  74. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/failures.py +0 -0
  75. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/mcp_scope.py +0 -0
  76. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/parser.py +0 -0
  77. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/probe.py +0 -0
  78. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/rules.py +0 -0
  79. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/sandbox.py +0 -0
  80. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/scripted.py +0 -0
  81. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/codex/skills.py +0 -0
  82. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/copilot/__init__.py +0 -0
  83. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/copilot/events.py +0 -0
  84. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/copilot/parser.py +0 -0
  85. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/copilot/probe.py +0 -0
  86. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/copilot/provider.py +0 -0
  87. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/copilot/scripted.py +0 -0
  88. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/gemini/__init__.py +0 -0
  89. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/gemini/events.py +0 -0
  90. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/gemini/parser.py +0 -0
  91. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/gemini/probe.py +0 -0
  92. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/gemini/provider.py +0 -0
  93. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/gemini/scripted.py +0 -0
  94. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/opencode/__init__.py +0 -0
  95. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/opencode/events.py +0 -0
  96. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/opencode/parser.py +0 -0
  97. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/opencode/probe.py +0 -0
  98. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/opencode/provider.py +0 -0
  99. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/providers/opencode/scripted.py +0 -0
  100. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/py.typed +0 -0
  101. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/runtime.py +0 -0
  102. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/session.py +0 -0
  103. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/testing/__init__.py +0 -0
  104. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/testing/claude_stream.py +0 -0
  105. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/testing/clock.py +0 -0
  106. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/testing/codex_app_server.py +0 -0
  107. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/testing/confinement.py +0 -0
  108. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/testing/contracts.py +0 -0
  109. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/testing/conversation.py +0 -0
  110. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/testing/probe.py +0 -0
  111. {agentshim-0.18.0 → agentshim-0.18.2}/agentshim/testing/process.py +0 -0
  112. {agentshim-0.18.0 → agentshim-0.18.2}/tests/fixtures/claude_stream/README.md +0 -0
  113. {agentshim-0.18.0 → agentshim-0.18.2}/tests/fixtures/codex/README.md +0 -0
  114. {agentshim-0.18.0 → agentshim-0.18.2}/tests/fixtures/codex_app_server/README.md +0 -0
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.18.2 (2026-10-16)
4
+
5
+ ### Added
6
+
7
+ - Codex's `ProviderProfile.models` lists `gpt-6.1-sol`, which codex-cli 0.160.0's own
8
+ model list (`codex debug models`) offers beside `gpt-6-astra`, `gpt-6-sol` and
9
+ `gpt-6-luna`. Its context window was already in the table. The default (the first
10
+ entry, `gpt-5.6-sol`) is unchanged.
11
+
12
+ ## 0.18.1 (2026-10-16)
13
+
14
+ ### Fixed
15
+
16
+ - `context_window` knows Google's models named `google/` or `google-vertex/`:
17
+ `gemini-3-pro-preview` is 1,048,576 tokens (opencode's default model).
18
+ Before, it returned `None` for every model opencode lists. A new test holds that every
19
+ model in any provider's `ProviderProfile.models` has a known window.
20
+
3
21
  ## 0.18.0 (2026-10-16)
4
22
 
5
23
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agentshim
3
- Version: 0.18.0
3
+ Version: 0.18.2
4
4
  Summary: Provider-agnostic coding-agent CLI shims
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -176,7 +176,7 @@ from .providers.opencode import OpencodeProvider
176
176
  from .runtime import Agent
177
177
  from .session import Session, Turn, TurnTicket, map_mcp_servers
178
178
 
179
- __version__ = "0.18.0"
179
+ __version__ = "0.18.2"
180
180
 
181
181
  __all__ = [
182
182
  "Agent",
@@ -32,7 +32,18 @@ if TYPE_CHECKING:
32
32
 
33
33
  _DATE_SUFFIX = re.compile(r"-\d{8}$")
34
34
 
35
+ #: Vendor whose models each provider name, or ``vendor/`` prefix, runs: every
36
+ #: one pricing knows, plus the prefixes opencode names Google's models with
37
+ #: (``google/``, ``google-vertex/``). Google is not priced, so pricing's map
38
+ #: lacks them.
39
+ MODEL_VENDORS: dict[str, str] = {
40
+ **PROVIDER_VENDORS,
41
+ "google": "google",
42
+ "google-vertex": "google",
43
+ }
44
+
35
45
  OPENAI_MODELS_URL = "https://developers.openai.com/api/docs/models"
46
+ GOOGLE_MODELS_URL = "https://ai.google.dev/gemini-api/docs/models"
36
47
  ANTHROPIC_CONTEXT_WINDOWS_URL = (
37
48
  "https://platform.claude.com/docs/en/build-with-claude/context-windows"
38
49
  )
@@ -165,10 +176,10 @@ def model_spec(
165
176
  name = model.strip().lower()
166
177
  if "[" in name:
167
178
  return None
168
- vendor = PROVIDER_VENDORS.get(provider.strip().lower())
179
+ vendor = MODEL_VENDORS.get(provider.strip().lower())
169
180
  if "/" in name:
170
181
  prefix, _, rest = name.partition("/")
171
- vendor = PROVIDER_VENDORS.get(prefix)
182
+ vendor = MODEL_VENDORS.get(prefix)
172
183
  name = rest
173
184
  if vendor is None or not name:
174
185
  return None
@@ -212,13 +223,26 @@ def _anthropic(model: str, context_window: int) -> ModelSpec:
212
223
  )
213
224
 
214
225
 
226
+ def _google(model: str, context_window: int) -> ModelSpec:
227
+ # Each model's page under GOOGLE_MODELS_URL ("Input token limit"), which
228
+ # is the window Google publishes for the model.
229
+ return ModelSpec(
230
+ vendor="google",
231
+ model=model,
232
+ context_window=context_window,
233
+ source=f"{GOOGLE_MODELS_URL}/{model}",
234
+ checked=_CHECKED,
235
+ )
236
+
237
+
215
238
  _ONE_MILLION = 1_000_000
239
+ _GOOGLE_1M = 1_048_576
216
240
  _OPENAI_1_05M = 1_050_000
217
241
 
218
242
  #: The table agentshim ships. Update it as described in ``docs/models.md``.
219
243
  #: A model whose window could not be read from its vendor's page is left out.
220
244
  DEFAULT_MODELS = ModelTable(
221
- version="2026-10-16",
245
+ version="2026-10-16.1",
222
246
  last_updated=_CHECKED,
223
247
  entries=(
224
248
  # OpenAI (Codex): each model page reads "1,050,000 context window".
@@ -243,5 +267,7 @@ DEFAULT_MODELS = ModelTable(
243
267
  _anthropic("claude-sonnet-4-6", _ONE_MILLION),
244
268
  _anthropic("claude-haiku-5-5", _ONE_MILLION),
245
269
  _anthropic("claude-haiku-4-5", 200_000),
270
+ # Google (opencode): the page reads "Input token limit 1,048,576".
271
+ _google("gemini-3-pro-preview", _GOOGLE_1M),
246
272
  ),
247
273
  )
@@ -83,6 +83,7 @@ PROFILE = ProviderProfile(
83
83
  "gpt-6-astra",
84
84
  "gpt-6-sol",
85
85
  "gpt-6-luna",
86
+ "gpt-6.1-sol",
86
87
  ),
87
88
  display_name="Codex",
88
89
  binary="codex",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agentshim"
3
- version = "0.18.0"
3
+ version = "0.18.2"
4
4
  description = "Provider-agnostic coding-agent CLI shims"
5
5
  readme = "README.md"
6
6
  license = "MIT"
File without changes
File without changes
File without changes