agentshim 0.15.2__tar.gz → 0.15.3__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 (112) hide show
  1. {agentshim-0.15.2 → agentshim-0.15.3}/CHANGELOG.md +11 -0
  2. {agentshim-0.15.2 → agentshim-0.15.3}/PKG-INFO +1 -1
  3. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/__init__.py +1 -1
  4. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/profile.py +9 -1
  5. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/provider.py +1 -0
  6. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/provider.py +1 -0
  7. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/copilot/provider.py +3 -0
  8. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/gemini/provider.py +1 -0
  9. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/opencode/provider.py +1 -0
  10. {agentshim-0.15.2 → agentshim-0.15.3}/pyproject.toml +1 -1
  11. {agentshim-0.15.2 → agentshim-0.15.3}/.gitignore +0 -0
  12. {agentshim-0.15.2 → agentshim-0.15.3}/LICENSE +0 -0
  13. {agentshim-0.15.2 → agentshim-0.15.3}/README.md +0 -0
  14. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/agent.py +0 -0
  15. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/__init__.py +0 -0
  16. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/_files.py +0 -0
  17. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/checkpoints.py +0 -0
  18. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/clock.py +0 -0
  19. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/conversation.py +0 -0
  20. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/env.py +0 -0
  21. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/errors.py +0 -0
  22. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/events.py +0 -0
  23. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/home.py +0 -0
  24. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/ids.py +0 -0
  25. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/mcp.py +0 -0
  26. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/permissions.py +0 -0
  27. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/pricing.py +0 -0
  28. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/provider.py +0 -0
  29. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/schema.py +0 -0
  30. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/session_policy.py +0 -0
  31. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/skills.py +0 -0
  32. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/status.py +0 -0
  33. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/stream.py +0 -0
  34. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/turn.py +0 -0
  35. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/core/usage.py +0 -0
  36. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/execution/__init__.py +0 -0
  37. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/execution/confinement.py +0 -0
  38. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/execution/docker.py +0 -0
  39. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/execution/executor.py +0 -0
  40. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/execution/host.py +0 -0
  41. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/execution/process.py +0 -0
  42. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/execution/transform.py +0 -0
  43. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/oneshot.py +0 -0
  44. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/probe.py +0 -0
  45. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/__init__.py +0 -0
  46. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/__init__.py +0 -0
  47. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/events.py +0 -0
  48. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/failures.py +0 -0
  49. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/hooks/__init__.py +0 -0
  50. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/hooks/confine_reads.py +0 -0
  51. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/parser.py +0 -0
  52. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/probe.py +0 -0
  53. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/rate_limits.py +0 -0
  54. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/sandbox.py +0 -0
  55. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/scripted.py +0 -0
  56. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/stream_argv.py +0 -0
  57. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/stream_transport.py +0 -0
  58. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/claude/user_hooks.py +0 -0
  59. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/__init__.py +0 -0
  60. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/_toml.py +0 -0
  61. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/__init__.py +0 -0
  62. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/_wire.py +0 -0
  63. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/approvals.py +0 -0
  64. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/channel.py +0 -0
  65. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/errors.py +0 -0
  66. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/items.py +0 -0
  67. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/mcp.py +0 -0
  68. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/permissions.py +0 -0
  69. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/profile.py +0 -0
  70. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/protocol.py +0 -0
  71. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/rate_limits.py +0 -0
  72. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/transport.py +0 -0
  73. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/app_server/usage.py +0 -0
  74. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/events.py +0 -0
  75. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/failures.py +0 -0
  76. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/mcp_scope.py +0 -0
  77. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/parser.py +0 -0
  78. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/probe.py +0 -0
  79. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/rules.py +0 -0
  80. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/sandbox.py +0 -0
  81. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/scripted.py +0 -0
  82. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/codex/skills.py +0 -0
  83. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/copilot/__init__.py +0 -0
  84. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/copilot/events.py +0 -0
  85. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/copilot/parser.py +0 -0
  86. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/copilot/probe.py +0 -0
  87. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/copilot/scripted.py +0 -0
  88. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/gemini/__init__.py +0 -0
  89. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/gemini/events.py +0 -0
  90. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/gemini/parser.py +0 -0
  91. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/gemini/probe.py +0 -0
  92. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/gemini/scripted.py +0 -0
  93. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/opencode/__init__.py +0 -0
  94. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/opencode/events.py +0 -0
  95. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/opencode/parser.py +0 -0
  96. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/opencode/probe.py +0 -0
  97. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/providers/opencode/scripted.py +0 -0
  98. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/py.typed +0 -0
  99. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/runtime.py +0 -0
  100. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/session.py +0 -0
  101. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/testing/__init__.py +0 -0
  102. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/testing/claude_stream.py +0 -0
  103. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/testing/clock.py +0 -0
  104. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/testing/codex_app_server.py +0 -0
  105. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/testing/confinement.py +0 -0
  106. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/testing/contracts.py +0 -0
  107. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/testing/conversation.py +0 -0
  108. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/testing/probe.py +0 -0
  109. {agentshim-0.15.2 → agentshim-0.15.3}/agentshim/testing/process.py +0 -0
  110. {agentshim-0.15.2 → agentshim-0.15.3}/tests/fixtures/claude_stream/README.md +0 -0
  111. {agentshim-0.15.2 → agentshim-0.15.3}/tests/fixtures/codex/README.md +0 -0
  112. {agentshim-0.15.2 → agentshim-0.15.3}/tests/fixtures/codex_app_server/README.md +0 -0
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.15.3 (2026-10-09)
4
+
5
+ ### Added
6
+
7
+ - `ProviderProfile.credential_files` (default empty): the subset of `auth_files`
8
+ that holds refreshable login credentials, as opposed to settings. A caller that
9
+ lends a login to another process shares these files writable so a token
10
+ refresh there reaches the original login. Claude `.claude/.credentials.json`,
11
+ Codex `.codex/auth.json`, Gemini `.gemini/oauth_creds.json`, opencode
12
+ `.local/share/opencode/auth.json`, Copilot `.copilot/config.json`.
13
+
3
14
  ## 0.15.2 (2026-10-09)
4
15
 
5
16
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agentshim
3
- Version: 0.15.2
3
+ Version: 0.15.3
4
4
  Summary: Provider-agnostic coding-agent CLI shims
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -156,7 +156,7 @@ from .providers.opencode import OpencodeProvider
156
156
  from .runtime import Agent
157
157
  from .session import Session, Turn, TurnTicket, map_mcp_servers
158
158
 
159
- __version__ = "0.15.2"
159
+ __version__ = "0.15.3"
160
160
 
161
161
  __all__ = [
162
162
  "Agent",
@@ -152,7 +152,9 @@ class ProviderProfile:
152
152
  ``state_root_env`` is the documented variable that relocates
153
153
  ``state_dirs[0]``, or ``None`` when the CLI names none. ``auth_files`` are
154
154
  the home-relative paths, each inside a ``state_dirs`` entry, whose
155
- contents are the minimal set to copy so the CLI is logged in elsewhere.
155
+ contents are the minimal set to copy so the CLI is logged in elsewhere;
156
+ ``credential_files`` (0.15.3+, default empty) is the subset of them that
157
+ holds refreshable login credentials rather than settings.
156
158
  ``mcp_config_file`` is the workspace-relative path a ``CONFIG_FILE``
157
159
  provider writes its MCP config to for a turn, and ``None`` for
158
160
  ``CLI_FLAGS``/``NONE`` providers.
@@ -174,6 +176,12 @@ class ProviderProfile:
174
176
  container_env: Mapping[str, str] = field(default_factory=_no_container_env)
175
177
  state_root_env: str | None = None
176
178
  auth_files: tuple[str, ...] = ()
179
+ #: The subset of ``auth_files`` that holds login credentials (OAuth tokens
180
+ #: the CLI itself refreshes and rewrites), as opposed to settings. A caller
181
+ #: that lends a login to another process shares exactly these files
182
+ #: writable so a token refresh there is not lost, and keeps the rest of
183
+ #: ``auth_files`` read-only. Every entry is also in ``auth_files``.
184
+ credential_files: tuple[str, ...] = ()
177
185
  mcp_config_file: str | None = None
178
186
  #: Whether the stream lists the skills offered (``SkillsDiscovered``).
179
187
  skill_discovery: SkillSignal = SkillSignal.NONE
@@ -102,6 +102,7 @@ PROFILE = ProviderProfile(
102
102
  ".claude/settings.local.json",
103
103
  ".claude.json",
104
104
  ),
105
+ credential_files=(".claude/.credentials.json",),
105
106
  mcp_config_file=MCP_CONFIG_FILENAME,
106
107
  )
107
108
 
@@ -101,6 +101,7 @@ PROFILE = ProviderProfile(
101
101
  # policy and preferences, so consumers that copy or mount auth state must
102
102
  # not needlessly expose it to an agent process.
103
103
  auth_files=(".codex/auth.json",),
104
+ credential_files=(".codex/auth.json",),
104
105
  # CLI_FLAGS: Codex takes MCP servers as --config overrides, never a file.
105
106
  mcp_config_file=None,
106
107
  # A long Codex thread slows down and costs more per turn, so a session
@@ -58,6 +58,9 @@ PROFILE = ProviderProfile(
58
58
  # install held only ``versions.json``, which is not credential-bearing,
59
59
  # so it is left out.
60
60
  auth_files=(".copilot/config.json", ".copilot/settings.json"),
61
+ # config.json carries the logged-in users and, without a keychain, the
62
+ # tokens; the CLI rewrites it in place on login and refresh.
63
+ credential_files=(".copilot/config.json",),
61
64
  # CLI_FLAGS: Copilot takes MCP servers as one --additional-mcp-config
62
65
  # flag, never a file.
63
66
  mcp_config_file=None,
@@ -80,6 +80,7 @@ PROFILE = ProviderProfile(
80
80
  ".gemini/settings.json",
81
81
  ".gemini/.env",
82
82
  ),
83
+ credential_files=(".gemini/oauth_creds.json",),
83
84
  mcp_config_file=MCP_CONFIG_FILENAME,
84
85
  )
85
86
 
@@ -81,6 +81,7 @@ PROFILE = ProviderProfile(
81
81
  ".config/opencode/config.jsonc",
82
82
  ".config/opencode/.env",
83
83
  ),
84
+ credential_files=(".local/share/opencode/auth.json",),
84
85
  mcp_config_file=MCP_CONFIG_FILENAME,
85
86
  )
86
87
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agentshim"
3
- version = "0.15.2"
3
+ version = "0.15.3"
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