fix(codex-bridge): ship zstd for the agent's Python and refuse to link without it
Codex compresses request bodies with zstd. The agent venv is Python 3.11, which has no zstd in its standard library, so every Codex request failed on a fresh install. The matching zstandard build now ships beside the bridge; the status endpoint reports ok=false when bodies cannot be read, and the IDE then leaves Codex's config alone. A running bridge from an older build is replaced, and "Sync now" makes the bridge re-read the IDE session at once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HRDGW1LiKcDUZYUdKBoWYW
This commit is contained in:
1 parent
dea67fc153
commit
b560950f82
13 files changed
+5317
-10
No files matched your search
@@ -25,6 +25,7 @@ import {
|
||||
CODEX_BRIDGE_VERSION,
|
||||
CODEX_LINK_BACKUP_SUFFIX,
|
||||
CODEX_LINK_LAUNCHER_NAME,
|
||||
CODEX_LINK_REFRESH_URL,
|
||||
CODEX_LINK_RUN_KEY,
|
||||
CODEX_LINK_RUN_VALUE,
|
||||
CODEX_LINK_STATUS_URL,
|
||||
@@ -306,7 +307,17 @@ export function createCodexLink(deps: CodexLinkDeps): CodexLink {
|
||||
bridge = NOT_RUNNING
|
||||
}
|
||||
|
||||
if (!bridge.running) {
|
||||
if (bridge.running) {
|
||||
// Already up: have it re-read the IDE session and model list now (a sign-in
|
||||
// since its last periodic refresh would otherwise show up minutes later).
|
||||
try {
|
||||
const refreshed = readProbe(await deps.request('POST', CODEX_LINK_REFRESH_URL, CODEX_BRIDGE_START_BUDGET_MS))
|
||||
|
||||
bridge = refreshed.running ? refreshed : bridge
|
||||
} catch {
|
||||
// The status it already gave stays valid.
|
||||
}
|
||||
} else {
|
||||
bridge = await startBridge(python)
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user