agent-harness 0.27.0 → 0.28.0
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.
- checksums.yaml +4 -4
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +14 -0
- data/lib/agent_harness/command_executor.rb +1 -1
- data/lib/agent_harness/execution_preparation.rb +1 -1
- data/lib/agent_harness/model_compatibility.rb +1 -2
- data/lib/agent_harness/providers/codex.rb +1 -2
- data/lib/agent_harness/providers/opencode.rb +6 -0
- data/lib/agent_harness/token_tracker.rb +1 -2
- data/lib/agent_harness/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 364b92c9ed4ab4f3b1bb7414d8272030587282ddb5a333ef6bab44ef898b8012
|
|
4
|
+
data.tar.gz: 07c7b8036efd8f1d5711429ce618ed4ed273d34651b6592ab3ff6c220fdcc657
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f7e6a6ca4e672810c62e0fd33e7cd2e597f696bec48e65e486ee0a9958ea7a512e2188331441abb80da2bcfd1114f7484710adca1d607760558c59ef64652475
|
|
7
|
+
data.tar.gz: eecbd525f8d1dac9a89679c99bbad0b206b164238a506baf68f0cc0fddc3501b884fccc73a3cec3d1639edadca4ecac02efe7fa4c49c405e8afdcf8ad4501e75
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,20 @@
|
|
|
6
6
|
* **auth:** add provider-owned PKCE code-exchange API for Claude OAuth (`AgentHarness::Authentication.exchange_code`). Takes an authorization code plus PKCE verifier (and `redirect_uri`/`client_id`), posts an `authorization_code` grant to the Claude token endpoint, and persists the resulting access/refresh tokens in the native `claudeAiOauth` shape. Adds `exchange_code_supported?` and a `code_exchange` key to `auth_capabilities` ([#266](https://github.com/viamin/agent-harness/issues/266)).
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## [0.28.0](https://github.com/viamin/agent-harness/compare/agent-harness/v0.27.1...agent-harness/v0.28.0) (2026-07-08)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* allow OpenCode tmp scratch access ([#278](https://github.com/viamin/agent-harness/issues/278)) ([886437f](https://github.com/viamin/agent-harness/commit/886437f6d8429a487d043eb2242cb3f60ab604f6))
|
|
15
|
+
|
|
16
|
+
## [0.27.1](https://github.com/viamin/agent-harness/compare/agent-harness/v0.27.0...agent-harness/v0.27.1) (2026-07-07)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Dependencies
|
|
20
|
+
|
|
21
|
+
* **deps:** bump standard from 1.54.0 to 1.55.0 in the minor-updates group across 1 directory ([#258](https://github.com/viamin/agent-harness/issues/258)) ([541c2da](https://github.com/viamin/agent-harness/commit/541c2da27dc291402d989edf7a1d81396bc1dc66))
|
|
22
|
+
|
|
9
23
|
## [0.27.0](https://github.com/viamin/agent-harness/compare/agent-harness/v0.26.0...agent-harness/v0.27.0) (2026-06-27)
|
|
10
24
|
|
|
11
25
|
|
|
@@ -27,7 +27,7 @@ module AgentHarness
|
|
|
27
27
|
PREPARATION_LOCK_ROOT = File.join(Dir.tmpdir, "agent-harness-preparation-locks")
|
|
28
28
|
|
|
29
29
|
# Result of a command execution
|
|
30
|
-
Result = Struct.new(:stdout, :stderr, :exit_code, :duration
|
|
30
|
+
Result = Struct.new(:stdout, :stderr, :exit_code, :duration) do
|
|
31
31
|
def success?
|
|
32
32
|
exit_code == 0
|
|
33
33
|
end
|
|
@@ -9,7 +9,7 @@ module AgentHarness
|
|
|
9
9
|
class ExecutionPreparation
|
|
10
10
|
# Declarative file write request that executors can materialize in their
|
|
11
11
|
# own runtime environment.
|
|
12
|
-
FileWrite = Struct.new(:path, :content, :mode
|
|
12
|
+
FileWrite = Struct.new(:path, :content, :mode) do
|
|
13
13
|
def initialize(path:, content:, mode: nil)
|
|
14
14
|
raise ArgumentError, "path must be a non-empty String" unless path.is_a?(String) && !path.empty?
|
|
15
15
|
raise ArgumentError, "content must be a String" unless content.is_a?(String)
|
|
@@ -14,8 +14,7 @@ module AgentHarness
|
|
|
14
14
|
include McpConfigFileSupport
|
|
15
15
|
|
|
16
16
|
StreamingEvent = Struct.new(
|
|
17
|
-
:type, :turn, :tokens, :error_message, :tool_name, :raw_event
|
|
18
|
-
keyword_init: true
|
|
17
|
+
:type, :turn, :tokens, :error_message, :tool_name, :raw_event
|
|
19
18
|
)
|
|
20
19
|
|
|
21
20
|
SUPPORTED_CLI_VERSION = "0.122.0"
|
|
@@ -13,6 +13,11 @@ module AgentHarness
|
|
|
13
13
|
SUPPORTED_CLI_VERSION = "1.3.2"
|
|
14
14
|
SUPPORTED_CLI_REQUIREMENT = Gem::Requirement.new(">= #{SUPPORTED_CLI_VERSION}", "< 1.4.0").freeze
|
|
15
15
|
INSTALL_COMMAND_PREFIX = ["npm", "install", "-g", "--ignore-scripts"].freeze
|
|
16
|
+
DEFAULT_PERMISSION_CONFIG = {
|
|
17
|
+
"external_directory" => {
|
|
18
|
+
"/tmp/**" => "allow"
|
|
19
|
+
}
|
|
20
|
+
}.freeze
|
|
16
21
|
SUPPORTED_CLI_VERSIONS = [SUPPORTED_CLI_VERSION].freeze
|
|
17
22
|
POSTINSTALL_COMMAND = "node $(npm root -g)/opencode-ai/postinstall.mjs"
|
|
18
23
|
VERSION_REQUIREMENT_STRINGS = SUPPORTED_CLI_REQUIREMENT.requirements
|
|
@@ -256,6 +261,7 @@ module AgentHarness
|
|
|
256
261
|
end
|
|
257
262
|
|
|
258
263
|
payload = stringify_keys(config_extras)
|
|
264
|
+
payload["permission"] ||= DEFAULT_PERMISSION_CONFIG
|
|
259
265
|
payload["model"] = runtime.model if runtime.model
|
|
260
266
|
payload["provider"] = runtime.api_provider if runtime.api_provider
|
|
261
267
|
payload["baseURL"] = runtime.base_url if runtime.base_url
|