@minhspark/codex-mcp-bridge 1.13.8 → 1.13.9
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/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and [SemVer](ht
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.13.9] - 2026-09-07
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Restore reply correlation for queued messages from Claude Code 2.1.229 and 2.1.237, where `source_uuid` is unrelated to the peer message ID. Version 1.13.8 incorrectly rejected that valid legacy format. Use the matching peer `origin.msg_id` as the authoritative identifier while retaining duplicate-root, non-peer, command-boundary, and malformed-record guards. Regression coverage reproduces both legacy builds and rejects correlation through the unrelated source UUID.
|
|
12
|
+
|
|
7
13
|
## [1.13.8] - 2026-09-07
|
|
8
14
|
|
|
9
15
|
### Fixed
|
package/package.json
CHANGED
|
@@ -20,7 +20,7 @@ import { exitForVersionRequest } from "../src/cli-version.mjs";
|
|
|
20
20
|
|
|
21
21
|
exitForVersionRequest(import.meta.url);
|
|
22
22
|
|
|
23
|
-
const VERSION = "1.13.
|
|
23
|
+
const VERSION = "1.13.9";
|
|
24
24
|
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
|
25
25
|
const entry = path.join(root, "src", "native-relay-companion.mjs");
|
|
26
26
|
const serverName = process.env.CODEX_NATIVE_RELAY_NAME ?? "codex-native-relay";
|
package/src/claude-bridge.mjs
CHANGED
package/src/index.mjs
CHANGED
|
@@ -23,7 +23,7 @@ import { exitForVersionRequest } from "./cli-version.mjs";
|
|
|
23
23
|
|
|
24
24
|
exitForVersionRequest(import.meta.url);
|
|
25
25
|
|
|
26
|
-
const VERSION = "1.13.
|
|
26
|
+
const VERSION = "1.13.9";
|
|
27
27
|
const log = (msg) => process.stderr.write(`[native-relay] ${msg}\n`);
|
|
28
28
|
|
|
29
29
|
function errorResponse(code, message) {
|
package/src/peer-protocol.mjs
CHANGED
|
@@ -289,8 +289,9 @@ export function readTranscript(sessionId, cwd, limit = 10) {
|
|
|
289
289
|
* recipient starts a new turn with a user entry whose uuid is the message id
|
|
290
290
|
* (origin.msg_id names it as well). A busy recipient absorbs the message into
|
|
291
291
|
* the running turn instead: the entry is a queued_command attachment under a
|
|
292
|
-
* fresh uuid
|
|
293
|
-
*
|
|
292
|
+
* fresh uuid, and the reply is that turn's closing text. The peer origin's
|
|
293
|
+
* msg_id identifies the message; source_uuid is unrelated on 2.1.229-2.1.237
|
|
294
|
+
* and equals the message id on the measured 2.1.260-2.1.263 builds.
|
|
294
295
|
*/
|
|
295
296
|
function injectedMessageRoot(entry, msgId) {
|
|
296
297
|
if (typeof entry.uuid !== "string" || !entry.uuid.trim()) return null;
|
|
@@ -300,8 +301,7 @@ function injectedMessageRoot(entry, msgId) {
|
|
|
300
301
|
if (entry.uuid === msgId || matchesOrigin(entry.origin)) return "idle";
|
|
301
302
|
}
|
|
302
303
|
const attachment = entry.type === "attachment" ? entry.attachment : null;
|
|
303
|
-
if (attachment?.type === "queued_command" && matchesOrigin(attachment.origin)
|
|
304
|
-
&& (attachment.source_uuid === undefined || attachment.source_uuid === msgId)) return "absorbed";
|
|
304
|
+
if (attachment?.type === "queued_command" && matchesOrigin(attachment.origin)) return "absorbed";
|
|
305
305
|
return null;
|
|
306
306
|
}
|
|
307
307
|
|