@minhspark/codex-mcp-bridge 1.26.2 → 1.26.3
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.
- package/.codex-plugin/plugin.json +1 -1
- package/CHANGELOG.md +15 -0
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/scripts/install-native-relay.mjs +1 -1
- package/src/antigravity-bridge.mjs +1 -1
- package/src/antigravity-outbound-bridge.mjs +1 -1
- package/src/claude-bridge.mjs +1 -1
- package/src/index.mjs +1 -1
- package/src/mcp-supervisor.mjs +2 -1
- package/src/native-relay-companion.mjs +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,21 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and [SemVer](ht
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.26.3] - 2026-11-01
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- `antigravity_bridge_status` and `agent_bridge_status` now return their full status (version, caller, Desktop sidecar availability, CLI and outbound routes) as structured content. Previously the supervisor attached only its `autoReload` block as structured content, so clients that render structured content showed the reload state and hid whether the Antigravity sidecar was reachable.
|
|
12
|
+
- The supervisor no longer creates structured content for a status result that has none; it adds `autoReload` only to an existing structured object and always appends the reload summary to the text content.
|
|
13
|
+
|
|
14
|
+
### Upgrade
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
npm exec --yes --ignore-scripts --package=@minhspark/codex-mcp-bridge@latest -- codex-bridge-update
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Reconnect the `antigravity-bridge` MCP server in each open client after updating; the running supervisor keeps its old code until it restarts.
|
|
21
|
+
|
|
7
22
|
## [1.26.2] - 2026-11-01
|
|
8
23
|
|
|
9
24
|
### Upgrade
|
package/package.json
CHANGED
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "codex-mcp-bridge",
|
|
4
|
-
"version": "1.26.
|
|
4
|
+
"version": "1.26.3",
|
|
5
5
|
"description": "Connect ChatGPT to your own Codex Desktop projects and conversations.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Bui Dang Minh",
|
|
@@ -25,7 +25,7 @@ import { removeRelayFile } from "../src/native-relay-files.mjs";
|
|
|
25
25
|
|
|
26
26
|
exitForVersionRequest(import.meta.url);
|
|
27
27
|
|
|
28
|
-
const VERSION = "1.26.
|
|
28
|
+
const VERSION = "1.26.3";
|
|
29
29
|
const root = stableInstallPath(path.resolve(path.dirname(fileURLToPath(import.meta.url)), ".."));
|
|
30
30
|
const entry = path.join(root, "src", "mcp-supervisor.mjs");
|
|
31
31
|
const entryArgs = ["native-relay-companion.mjs"];
|
|
@@ -27,7 +27,7 @@ const sessions = new Map();
|
|
|
27
27
|
let startingSessions = 0;
|
|
28
28
|
const caller = process.env.ANTIGRAVITY_BRIDGE_CALLER;
|
|
29
29
|
const senderRelay = new NativeDesktopRelay({ socketPath: desktopTaskSocketPath(), accountSocketPath: accountRelaySocketPath() });
|
|
30
|
-
const result = (value) => ({ content: [{ type: "text", text: JSON.stringify(value, null, 2) }] });
|
|
30
|
+
const result = (value) => ({ content: [{ type: "text", text: JSON.stringify(value, null, 2) }], ...(value && typeof value === "object" && !Array.isArray(value) ? { structuredContent: value } : {}) });
|
|
31
31
|
const schema = { requestId: z.string().uuid(), cwd: z.string().min(1), prompt: z.string().min(1).max(65536) };
|
|
32
32
|
const reloadReason = () => startingSessions ? "Antigravity CLI sessions are still starting"
|
|
33
33
|
: deliveries.active.size ? "Antigravity deliveries are still active"
|
|
@@ -18,7 +18,7 @@ import { bridgeDiagnostic, withBridgeDiagnostic, preflightFailure } from "./reci
|
|
|
18
18
|
import { createReloadControl, exitWhenClientCloses } from "./reload-control.mjs";
|
|
19
19
|
|
|
20
20
|
const { version } = JSON.parse(fs.readFileSync(new URL("../package.json", import.meta.url), "utf8"));
|
|
21
|
-
const result = (value) => ({ content: [{ type: "text", text: JSON.stringify(value, null, 2) }] });
|
|
21
|
+
const result = (value) => ({ content: [{ type: "text", text: JSON.stringify(value, null, 2) }], ...(value && typeof value === "object" && !Array.isArray(value) ? { structuredContent: value } : {}) });
|
|
22
22
|
const targetSchema = { target: z.enum(["codex", "claude"]) };
|
|
23
23
|
const taskSchema = { ...targetSchema, conversationId: z.string().uuid(), taskId: z.string().min(1).max(256).optional() };
|
|
24
24
|
|
package/src/claude-bridge.mjs
CHANGED
|
@@ -31,7 +31,7 @@ import { BACKGROUND_WORKER_GUIDANCE, registerBackgroundTools } from "./backgroun
|
|
|
31
31
|
|
|
32
32
|
exitForVersionRequest(import.meta.url);
|
|
33
33
|
|
|
34
|
-
const VERSION = "1.26.
|
|
34
|
+
const VERSION = "1.26.3";
|
|
35
35
|
void import("./telemetry.mjs").then(({ startUsageReporting }) => startUsageReporting({ version: VERSION })).catch(() => {});
|
|
36
36
|
const FORWARD_MIN_INTERVAL_MS = 5000;
|
|
37
37
|
const FORWARD_MAX_PER_SESSION = 50;
|
package/src/index.mjs
CHANGED
|
@@ -44,7 +44,7 @@ import { BACKGROUND_WORKER_GUIDANCE, registerBackgroundTools } from "./backgroun
|
|
|
44
44
|
|
|
45
45
|
exitForVersionRequest(import.meta.url);
|
|
46
46
|
|
|
47
|
-
const VERSION = "1.26.
|
|
47
|
+
const VERSION = "1.26.3";
|
|
48
48
|
void import("./telemetry.mjs").then(({ startUsageReporting }) => startUsageReporting({ version: VERSION })).catch(() => {});
|
|
49
49
|
const log = (msg) => process.stderr.write(`[codex-mcp-bridge] ${msg}\n`);
|
|
50
50
|
|
package/src/mcp-supervisor.mjs
CHANGED
|
@@ -236,7 +236,8 @@ export async function runSupervisor(entry, options = {}) {
|
|
|
236
236
|
ready = true;
|
|
237
237
|
}
|
|
238
238
|
if (message.result && ["codex_bridge_status", "claude_bridge_status", "native_relay_status", "antigravity_bridge_status", "agent_bridge_status"].includes(pending.tool)) {
|
|
239
|
-
|
|
239
|
+
const structured = message.result.structuredContent;
|
|
240
|
+
if (structured && typeof structured === "object" && !Array.isArray(structured)) message.result.structuredContent = { ...structured, autoReload: diagnostics() };
|
|
240
241
|
message.result.content = [...(message.result.content ?? []), { type: "text", text: `automatic reload: ${diagnostics().state}\nsupervisor pid: ${process.pid}\nworker pid: ${worker.process.pid}\nreload count: ${reloads}\nrecovery count: ${recoveries}${reason ? `\nreload detail: ${reason}` : ""}` }];
|
|
241
242
|
}
|
|
242
243
|
output({ ...message, id: pending.id });
|
|
@@ -43,7 +43,7 @@ import { remoteCodexSocketPath, remoteNativeAdapter, remoteRequestResponse } fro
|
|
|
43
43
|
|
|
44
44
|
exitForVersionRequest(import.meta.url);
|
|
45
45
|
|
|
46
|
-
const VERSION = "1.26.
|
|
46
|
+
const VERSION = "1.26.3";
|
|
47
47
|
const log = (msg) => process.stderr.write(`[native-relay] ${msg}\n`);
|
|
48
48
|
|
|
49
49
|
function errorResponse(code, message, sent, details) {
|