@minhspark/codex-mcp-bridge 1.20.0 → 1.20.1

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-mcp-bridge",
3
- "version": "1.20.0",
3
+ "version": "1.20.1",
4
4
  "description": "Connect ChatGPT to your own Codex Desktop projects and conversations.",
5
5
  "author": {
6
6
  "name": "Bui Dang Minh"
@@ -17,7 +17,12 @@
17
17
  "composerIcon": "./assets/plugin-icon.svg",
18
18
  "logo": "./assets/plugin-icon.svg",
19
19
  "category": "Developer Tools",
20
- "capabilities": ["List Codex projects", "Read Codex conversations", "Start Codex tasks", "Continue Codex tasks"],
20
+ "capabilities": [
21
+ "List Codex projects",
22
+ "Read Codex conversations",
23
+ "Start Codex tasks",
24
+ "Continue Codex tasks"
25
+ ],
21
26
  "websiteURL": "https://codex-mcp-bridge.buidangminh23.chatgpt.site",
22
27
  "supportURL": "https://github.com/buidangminh23/codex-mcp-bridge/issues",
23
28
  "privacyPolicyURL": "https://github.com/buidangminh23/codex-mcp-bridge#hosted-data",
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.20.1] - 2026-10-03
8
+
9
+ ### Fixed
10
+
11
+ - Start the Sites connector through symbolic installation paths, including the Windows NVM directory junction. Resolve the entry point before comparing it with the module path, so the installed command polls its paired Site instead of silently exiting.
12
+
7
13
  ## [1.20.0] - 2026-10-03
8
14
 
9
15
  ### Added
package/README.md CHANGED
@@ -52,7 +52,7 @@ codex-sites-connector --pair --site https://codex-mcp-bridge.buidangminh23.chatg
52
52
 
53
53
  Open the pairing URL printed in the terminal, sign in with the ChatGPT account that will use the plugin, and choose **Connect this computer**. The Site owner can install its provisioned plugin from **Plugins → Personal → Created by you**. To restart an already paired connector, run `codex-sites-connector` (`codex-sites-connector.cmd` on Windows). To replace the paired computer, use **Disconnect existing computer** on a fresh pairing page first.
54
54
 
55
- The public MCP endpoint is `https://codex-mcp-bridge.buidangminh23.chatgpt.site/mcp`; it uses Sign in with ChatGPT. A plugin compatibility ZIP is attached to the [1.20.0 release](https://github.com/buidangminh23/codex-mcp-bridge/releases/tag/v1.20.0) for manual import in clients that support plugin packages. ChatGPT personal accounts cannot share their Sites-provisioned plugin directly by invitation or share link. A public directory listing requires verified developer identity and OpenAI review; this release does not claim directory approval. See [OpenAI's Sites plugin access rules](https://help.openai.com/en/articles/20001547-hosting-a-plugin-with-chatgpt-sites).
55
+ The public MCP endpoint is `https://codex-mcp-bridge.buidangminh23.chatgpt.site/mcp`; it uses Sign in with ChatGPT. A plugin compatibility ZIP is attached to the [1.20.1 release](https://github.com/buidangminh23/codex-mcp-bridge/releases/tag/v1.20.1) for manual import in clients that support plugin packages. ChatGPT personal accounts cannot share their Sites-provisioned plugin directly by invitation or share link. A public directory listing requires verified developer identity and OpenAI review; this release does not claim directory approval. See [OpenAI's Sites plugin access rules](https://help.openai.com/en/articles/20001547-hosting-a-plugin-with-chatgpt-sites).
56
56
 
57
57
  Use a semicolon between multiple Windows roots or a colon on macOS. The relay's executor must belong to an allowed project. Credentials and operation receipts stay in the current OS user's private `~/.codex/sites-bridge` directory. The connector uses outbound HTTPS; no public port or tunnel is required.
58
58
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minhspark/codex-mcp-bridge",
3
- "version": "1.20.0",
3
+ "version": "1.20.1",
4
4
  "description": "Two-way MCP bridge between Claude and Codex: prompts into a live Codex thread, messages into a running Claude Code session.",
5
5
  "keywords": [
6
6
  "mcp",
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.20.0",
4
+ "version": "1.20.1",
5
5
  "description": "Connect ChatGPT to your own Codex Desktop projects and conversations.",
6
6
  "author": {
7
7
  "name": "Bui Dang Minh",
@@ -11,7 +11,11 @@
11
11
  "homepage": "https://github.com/buidangminh23/codex-mcp-bridge",
12
12
  "repository": "https://github.com/buidangminh23/codex-mcp-bridge",
13
13
  "license": "MIT",
14
- "keywords": ["codex", "mcp", "developer-tools"],
14
+ "keywords": [
15
+ "codex",
16
+ "mcp",
17
+ "developer-tools"
18
+ ],
15
19
  "extensions": {
16
20
  "com.openai": {
17
21
  "interface": {
@@ -22,7 +26,10 @@
22
26
  "composerIcon": "./assets/plugin-icon.svg",
23
27
  "logo": "./assets/plugin-icon.svg",
24
28
  "category": "Developer Tools",
25
- "capabilities": ["Read", "Write"],
29
+ "capabilities": [
30
+ "Read",
31
+ "Write"
32
+ ],
26
33
  "websiteURL": "https://codex-mcp-bridge.buidangminh23.chatgpt.site",
27
34
  "supportURL": "https://github.com/buidangminh23/codex-mcp-bridge/issues",
28
35
  "privacyPolicyURL": "https://github.com/buidangminh23/codex-mcp-bridge#hosted-data",
@@ -23,7 +23,7 @@ import { enableCodexFullAccess, fullAccessEnabled } from "../src/codex-full-acce
23
23
 
24
24
  exitForVersionRequest(import.meta.url);
25
25
 
26
- const VERSION = "1.20.0";
26
+ const VERSION = "1.20.1";
27
27
  const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
28
28
  const entry = path.join(root, "src", "mcp-supervisor.mjs");
29
29
  const entryArgs = ["native-relay-companion.mjs"];
@@ -28,7 +28,7 @@ import { AGENT_PROMPT_GUIDANCE, PROMPT_FIELD_HINT } from "./prompt-guidance.mjs"
28
28
 
29
29
  exitForVersionRequest(import.meta.url);
30
30
 
31
- const VERSION = "1.20.0";
31
+ const VERSION = "1.20.1";
32
32
  void import("./telemetry.mjs").then(({ startUsageReporting }) => startUsageReporting({ version: VERSION })).catch(() => {});
33
33
  const FORWARD_MIN_INTERVAL_MS = 5000;
34
34
  const FORWARD_MAX_PER_SESSION = 50;
package/src/index.mjs CHANGED
@@ -35,7 +35,7 @@ import { AGENT_PROMPT_GUIDANCE, PROMPT_FIELD_HINT } from "./prompt-guidance.mjs"
35
35
 
36
36
  exitForVersionRequest(import.meta.url);
37
37
 
38
- const VERSION = "1.20.0";
38
+ const VERSION = "1.20.1";
39
39
  void import("./telemetry.mjs").then(({ startUsageReporting }) => startUsageReporting({ version: VERSION })).catch(() => {});
40
40
  const log = (msg) => process.stderr.write(`[codex-mcp-bridge] ${msg}\n`);
41
41
 
@@ -34,7 +34,7 @@ import { createHardenedRootPolicy } from "./hardened-root-policy.mjs";
34
34
 
35
35
  exitForVersionRequest(import.meta.url);
36
36
 
37
- const VERSION = "1.20.0";
37
+ const VERSION = "1.20.1";
38
38
  const log = (msg) => process.stderr.write(`[native-relay] ${msg}\n`);
39
39
 
40
40
  function errorResponse(code, message, sent) {
@@ -382,7 +382,7 @@ export async function runSitesConnector({ configFile, once = false, signal, ...d
382
382
  return new SitesConnector({ config, backend, journal, log: (state) => process.stderr.write(`[sites-connector] ${JSON.stringify(state)}\n`), ...dependencies }).run({ once, signal });
383
383
  }
384
384
 
385
- if (process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
385
+ if (process.argv[1] && await fs.realpath(process.argv[1]).catch(() => null) === fileURLToPath(import.meta.url)) {
386
386
  const args = process.argv.slice(2);
387
387
  const flags = new Map();
388
388
  let invalid = false;