From 62f9a89a59305ee854fa01d67b2778af45ff8b9f Mon Sep 17 00:00:00 2001
From: szafranski
Date: Wed, 10 Jun 2026 23:19:32 +0200
Subject: [PATCH] fix(runtime): bump managed codex-acp to 0.15.0
codex-acp 0.14.0 parses service_tier in ~/.codex/config.toml as a strict
enum {fast, flex} and crashes on "default", which current Codex
CLI/Desktop writes into the shared config. The builtin Codex agent then
fails to start (USER_AGENT_STARTUP_FAILED). codex-acp 0.15.0 accepts
the value.
Ref: iOfficeAI/AionUi#3225
Companion to: iOfficeAI/AionUi#3279
---
crates/aionui-runtime/src/acp_tool_runtime/mod.rs | 10 +++++-----
crates/aionui-runtime/src/acp_tool_runtime/types.rs | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/crates/aionui-runtime/src/acp_tool_runtime/mod.rs b/crates/aionui-runtime/src/acp_tool_runtime/mod.rs
index d0da37327..1d14f8423 100644
--- a/crates/aionui-runtime/src/acp_tool_runtime/mod.rs
+++ b/crates/aionui-runtime/src/acp_tool_runtime/mod.rs
@@ -994,7 +994,7 @@ mod tests {
};
let tool = ResolvedManagedAcpTool {
id: ManagedAcpToolId::CodexAcp,
- version: "0.14.0".into(),
+ version: "0.15.0".into(),
root: PathBuf::from("/tmp/tool"),
entrypoint: PathBuf::from("/tmp/tool/dist/index.js"),
env_path_entries: vec![PathBuf::from("/tmp/tool/bin")],
@@ -1025,7 +1025,7 @@ mod tests {
#[test]
fn classify_error_detects_bundled_acp_validation_failure() {
let error = ManagedAcpToolError::invalid(
- "bundled managed Codex ACP artifact failed validation under /app/resources/managed-resources/acp/codex-acp/0.14.0/linux-x64: managed ACP entrypoint missing",
+ "bundled managed Codex ACP artifact failed validation under /app/resources/managed-resources/acp/codex-acp/0.15.0/linux-x64: managed ACP entrypoint missing",
);
let (kind, status_code) = classify_error(&error);
@@ -1208,7 +1208,7 @@ mod tests {
let source_root = bundled_root
.join("acp")
.join("codex-acp")
- .join("0.14.0")
+ .join("0.15.0")
.join(spec.manifest_key);
std::fs::create_dir_all(&source_root).unwrap();
std::fs::write(
@@ -1218,7 +1218,7 @@ mod tests {
.unwrap();
let runtime_root = tmp.path().join("runtime");
- let tool_root = runtime_root.join("codex-acp").join("0.14.0").join(spec.manifest_key);
+ let tool_root = runtime_root.join("codex-acp").join("0.15.0").join(spec.manifest_key);
managed_resources::set_managed_resources_mode(managed_resources::ManagedResourcesMode::Bundled);
let result = activate_local_tool_source(ManagedAcpToolId::CodexAcp, spec, &tool_root, None);
@@ -1248,7 +1248,7 @@ mod tests {
bundle_root
.join("acp")
.join("codex-acp")
- .join("0.14.0")
+ .join("0.15.0")
.join("win32-x64")
);
}
diff --git a/crates/aionui-runtime/src/acp_tool_runtime/types.rs b/crates/aionui-runtime/src/acp_tool_runtime/types.rs
index 8749ad7eb..c48b8e10e 100644
--- a/crates/aionui-runtime/src/acp_tool_runtime/types.rs
+++ b/crates/aionui-runtime/src/acp_tool_runtime/types.rs
@@ -20,7 +20,7 @@ impl ManagedAcpToolId {
pub fn version(self) -> &'static str {
match self {
- Self::CodexAcp => "0.14.0",
+ Self::CodexAcp => "0.15.0",
Self::ClaudeAgentAcp => "0.39.0",
}
}