{"_id":"@advanced-addons/codex-bridge","_rev":"9-7b8cf2e9cdbfeaa1e594a289f47638bb","name":"@advanced-addons/codex-bridge","dist-tags":{"latest":"0.8.20"},"versions":{"0.8.0":{"name":"@advanced-addons/codex-bridge","version":"0.8.0","license":"GPL-2.0-or-later","_id":"@advanced-addons/codex-bridge@0.8.0","maintainers":[{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"}],"bin":{"advanced-addons-codex":"dist/cli.js"},"dist":{"shasum":"a565711da21b5c3d63fd04f11f202e7302ee18eb","tarball":"https://registry.npmjs.org/@advanced-addons/codex-bridge/-/codex-bridge-0.8.0.tgz","fileCount":26,"integrity":"sha512-p16XV8G61rluPzJmEbmIhfHVsBr8pDZV/ZEGJ5t+Mf3LvmzJ+zdBw2n8V0cHLBTQmO/8ho7bOUSoeWJkIRdc+Q==","signatures":[{"sig":"MEUCICi3IDhy2Y1UBtT8KAePghwPLSN+2k9pe2rqHBUTenusAiEApCUkGNV6zaBEOnBG2t8OTqbzCtNo3t5PUNL/uJI8TM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":746721},"type":"module","engines":{"node":">=20"},"gitHead":"85ce7c99db0673d578ba285a03f7f84b089c8a6b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","check:plugin":"node scripts/check-plugin.mjs","check:generated":"node scripts/check-generated.mjs"},"_npmUser":{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"},"_npmVersion":"10.9.0","description":"Loopback bridge between Advanced Addons Pro and the Codex app-server.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"ws":"8.21.0","@openai/codex":"0.144.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^7.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-bridge_0.8.0_1784711887455_0.7047370237214527","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@advanced-addons/codex-bridge","version":"0.8.1","license":"GPL-2.0-or-later","_id":"@advanced-addons/codex-bridge@0.8.1","maintainers":[{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"}],"bin":{"advanced-addons-codex":"dist/cli.js"},"dist":{"shasum":"473d58d7503daf8551d28078878cf9fa69ff89a1","tarball":"https://registry.npmjs.org/@advanced-addons/codex-bridge/-/codex-bridge-0.8.1.tgz","fileCount":22,"integrity":"sha512-aiNg6Y+vBVJRpxhWuR6LrMy0Bi5vdVO3qnyN/xqyUGcH6eKdE2KCDnZ5aHzip6IkLae6nNYS2tZQVQsqnyPy4Q==","signatures":[{"sig":"MEYCIQDtY3ze8I+fOOhQ7k9YXGh4F04jPizw6nZvWEbvrGMlpwIhALljL9thmrMSA3kU5dKC60fshKejkuztS/adBs1LOKYY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":742623},"type":"module","engines":{"node":">=20"},"gitHead":"e5dd5412e78084c1fe35901a665d39b0f8ab13ba","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","check:generated":"node scripts/check-generated.mjs"},"_npmUser":{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"},"_npmVersion":"10.9.0","description":"Local Codex bridge for Advanced Addons Pro Gutenberg and Elementor editors.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"ws":"8.21.0","@openai/codex":"0.144.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^7.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-bridge_0.8.1_1784884219069_0.2638589817733521","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@advanced-addons/codex-bridge","version":"0.8.2","license":"GPL-2.0-or-later","_id":"@advanced-addons/codex-bridge@0.8.2","maintainers":[{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"}],"bin":{"advanced-addons-codex":"dist/cli.js"},"dist":{"shasum":"5bc67957c4a49e59be815e0ea12683eaa3a210dd","tarball":"https://registry.npmjs.org/@advanced-addons/codex-bridge/-/codex-bridge-0.8.2.tgz","fileCount":22,"integrity":"sha512-fEfDpCsK9EcBKPEB7T/uduF14sl04ZvzwmwcL4ZWj1IcvOQiRrtAl3HKZl6dWIKdO8lhd9L9BW/uSjGkJnhSXw==","signatures":[{"sig":"MEYCIQDjYs4eZw69kYB5qp1O+GbXGW96Kuxbac1rdRxOCjBOYwIhAOYoJ85wLaT0r/kL1D4LuvshghjBSbSsetEHsYsc9KNd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":742623},"type":"module","engines":{"node":">=20"},"gitHead":"e5dd5412e78084c1fe35901a665d39b0f8ab13ba","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","check:generated":"node scripts/check-generated.mjs"},"_npmUser":{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"},"_npmVersion":"10.9.0","description":"Local Codex bridge for Advanced Addons Pro Gutenberg and Elementor editors.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"ws":"8.21.0","@openai/codex":"0.144.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^7.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-bridge_0.8.2_1784884534955_0.8550248170218517","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@advanced-addons/codex-bridge","version":"0.8.5","license":"GPL-2.0-or-later","_id":"@advanced-addons/codex-bridge@0.8.5","maintainers":[{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"}],"bin":{"advanced-addons-codex":"dist/cli.js"},"dist":{"shasum":"41f535a33b2d45d23f2423a346c83408fe73752b","tarball":"https://registry.npmjs.org/@advanced-addons/codex-bridge/-/codex-bridge-0.8.5.tgz","fileCount":22,"integrity":"sha512-q0Ejy9tDtm3nIzaPOBSeljJWFOZTc5BzrUbtusnJJdQ0qllL5nETtAU0PXn1TsEXB05xmsDJThG2Ei765k8Xrw==","signatures":[{"sig":"MEUCIQCfB/1AWwEVFX0Z9kRkv+ZQ4jXty73B3eCY+MVmpwR3OAIgA1MMnmcsVIsOsRKNirZ/cMfsiGTgiNeItrxxQPzYtE4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782812},"type":"module","engines":{"node":">=20"},"gitHead":"6510557228b71021d235e851ae4ee1ac7f62bf85","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run validate:package && npm run build","typecheck":"tsc -p tsconfig.json --noEmit","check:versions":"node scripts/check-versions.mjs","check:generated":"node scripts/check-generated.mjs","validate:package":"npm run typecheck && npm run test && npm run check:generated && npm run check:versions"},"_npmUser":{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"},"_npmVersion":"10.9.0","description":"Local Codex bridge for Advanced Addons Pro Gutenberg and Elementor editors.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"ws":"8.21.0","@openai/codex":"0.146.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^7.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-bridge_0.8.5_1785646086371_0.6639277377664703","host":"s3://npm-registry-packages-npm-production"}},"0.8.10":{"name":"@advanced-addons/codex-bridge","version":"0.8.10","license":"GPL-2.0-or-later","_id":"@advanced-addons/codex-bridge@0.8.10","maintainers":[{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"}],"bin":{"advanced-addons-codex":"dist/cli.js"},"dist":{"shasum":"52386970468164910dcef845d35793f3b7c7b187","tarball":"https://registry.npmjs.org/@advanced-addons/codex-bridge/-/codex-bridge-0.8.10.tgz","fileCount":22,"integrity":"sha512-MM07ps+oHD8Zovrpsy580h8vI5a1rsRFXLqejWlF4yliBaXDhb00K0qHAaSP1L1JLvwx31VBHlkx/KxpSjpc0A==","signatures":[{"sig":"MEQCIHNhUtDAlR4c3ECspZL+caY/eiZacYQwdV0GiHoOTmlvAiB8ckCXcdCwKrMOpyiKICrDTD0nTQ6Oyw5j+e6QjW9oog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":803606},"type":"module","engines":{"node":">=20"},"gitHead":"fab134308be785337e062021c34e485d033c82fb","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run validate:package && npm run build","typecheck":"tsc -p tsconfig.json --noEmit","check:versions":"node scripts/check-versions.mjs","check:generated":"node scripts/check-generated.mjs","validate:package":"npm run typecheck && npm run test && npm run check:generated && npm run check:versions"},"_npmUser":{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"},"_npmVersion":"11.17.0","description":"Local Codex bridge for Advanced Addons Pro Gutenberg and Elementor editors.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"ws":"8.21.0","@openai/codex":"0.146.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^7.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-bridge_0.8.10_1785919740826_0.9749681184558294","host":"s3://npm-registry-packages-npm-production"}},"0.8.11":{"name":"@advanced-addons/codex-bridge","version":"0.8.11","license":"GPL-2.0-or-later","_id":"@advanced-addons/codex-bridge@0.8.11","maintainers":[{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"}],"bin":{"advanced-addons-codex":"dist/cli.js"},"dist":{"shasum":"3924e859d8182488e52ce673a0bf8012f1740035","tarball":"https://registry.npmjs.org/@advanced-addons/codex-bridge/-/codex-bridge-0.8.11.tgz","fileCount":22,"integrity":"sha512-9rsmrMEJrMc2jK+lWC4vFkPJpAVz8cHhwVIhIne6OeGmFy/to+0xZfzMlK56lmTfGfXyJmhWHOXLfPx3Q2P/KA==","signatures":[{"sig":"MEQCIEGMEhovZMRp3hXyvZBzuzB/99+9tTe4EQLb89dq7SQoAiAamP6y4Y42lM3FPfN5Dmxt6WoSvZkVfvidF10B7ty6/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":803341},"type":"module","engines":{"node":">=20"},"gitHead":"12f38b60c37db6788109a001b84216bc46726749","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run validate:package && npm run build","typecheck":"tsc -p tsconfig.json --noEmit","check:versions":"node scripts/check-versions.mjs","check:generated":"node scripts/check-generated.mjs","validate:package":"npm run typecheck && npm run test && npm run check:generated && npm run check:versions"},"_npmUser":{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"},"_npmVersion":"11.17.0","description":"Local Codex bridge for Advanced Addons Pro Gutenberg and Elementor editors.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"ws":"8.21.0","selfsigned":"^5.5.0","@openai/codex":"0.146.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^7.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-bridge_0.8.11_1786411515577_0.08272145221652072","host":"s3://npm-registry-packages-npm-production"}},"0.8.13":{"name":"@advanced-addons/codex-bridge","version":"0.8.13","license":"GPL-2.0-or-later","_id":"@advanced-addons/codex-bridge@0.8.13","maintainers":[{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"}],"bin":{"advanced-addons-codex":"dist/cli.js"},"dist":{"shasum":"9d24fe7dd9f132a5635d6503967a8cf6964653cc","tarball":"https://registry.npmjs.org/@advanced-addons/codex-bridge/-/codex-bridge-0.8.13.tgz","fileCount":22,"integrity":"sha512-iULbOogdeevncs1z9u3DrEPdvkLsEjLwQk+xMVKx/tC7Ev7r/6BO9TrqqksXdO1ZCZubWoxuRJfT9Fh8oY0MVQ==","signatures":[{"sig":"MEYCIQC+hvrCXi8e6/ddlNtpO7IXWLtT+zC/1J/1PbkzdeZ97gIhAMSYAc6T9n7WC0EBGEFH0H+W3uYyaBwGz3ZCiADy6U8k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809678},"type":"module","engines":{"node":">=20"},"gitHead":"50927c81fff2571b603f7f542f901563a9ffba5a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run validate:package && npm run build","typecheck":"tsc -p tsconfig.json --noEmit","check:versions":"node scripts/check-versions.mjs","check:generated":"node scripts/check-generated.mjs","validate:package":"npm run typecheck && npm run test && npm run check:generated && npm run check:versions"},"_npmUser":{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"},"_npmVersion":"11.17.0","description":"Local Codex bridge for Advanced Addons Pro Gutenberg and Elementor editors.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"ws":"8.21.0","selfsigned":"^5.5.0","@openai/codex":"0.146.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^7.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-bridge_0.8.13_1786525613104_0.7770317075503828","host":"s3://npm-registry-packages-npm-production"}},"0.8.19":{"name":"@advanced-addons/codex-bridge","version":"0.8.19","license":"GPL-2.0-or-later","_id":"@advanced-addons/codex-bridge@0.8.19","maintainers":[{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"}],"bin":{"advanced-addons-codex":"dist/cli.js"},"dist":{"shasum":"b99e91a34a8d01b7d50cd34f87da5bcd2d693f99","tarball":"https://registry.npmjs.org/@advanced-addons/codex-bridge/-/codex-bridge-0.8.19.tgz","fileCount":22,"integrity":"sha512-WqiNY81t76INsvmtCx3WmpQJURcVhfkoMk2NrlrKlD8ylJ88Gtl/qsyvXqPHhfaSF7Tijs5zfronhejWUQREJw==","signatures":[{"sig":"MEYCIQCfJvUGe+N37cQ1wWTRJFu4zKk96QzogIuSq5/1afKXYAIhAOIMwTWXR3vBcJsZs0zgFXqawGRPsOiPkvt7sAPzDLqI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":892543},"type":"module","engines":{"node":">=20"},"gitHead":"dcd7a93bedbdd91da70f2ffc36f67d60e2066d42","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run validate:package && npm run build","typecheck":"tsc -p tsconfig.json --noEmit","check:versions":"node scripts/check-versions.mjs","check:generated":"node scripts/check-generated.mjs","validate:package":"npm run typecheck && npm run test && npm run check:generated && npm run check:versions"},"_npmUser":{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"},"_npmVersion":"11.17.0","description":"Local Codex bridge for Advanced Addons Pro Gutenberg and Elementor editors.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"ws":"8.21.0","selfsigned":"^5.5.0","@openai/codex":"0.146.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^7.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-bridge_0.8.19_1788141104647_0.18267064345632344","host":"s3://npm-registry-packages-npm-production"}},"0.8.20":{"name":"@advanced-addons/codex-bridge","version":"0.8.20","description":"Local Codex bridge for Advanced Addons Pro Gutenberg and Elementor editors.","type":"module","license":"GPL-2.0-or-later","bin":{"advanced-addons-codex":"dist/cli.js"},"engines":{"node":">=20"},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test":"vitest run","check:generated":"node scripts/check-generated.mjs","check:versions":"node scripts/check-versions.mjs","validate:package":"npm run typecheck && npm run test && npm run check:generated && npm run check:versions","prepack":"npm run validate:package && npm run build"},"dependencies":{"@openai/codex":"0.146.0","selfsigned":"^5.5.0","ws":"8.21.0"},"devDependencies":{"@types/node":"^24.0.0","@types/ws":"^8.18.1","typescript":"^7.0.0","vitest":"^3.2.4"},"publishConfig":{"access":"public"},"gitHead":"e1a879996fef95e553198196a7b6926d5aff9ac7","_id":"@advanced-addons/codex-bridge@0.8.20","_nodeVersion":"26.5.1","_npmVersion":"11.17.0","dist":{"integrity":"sha512-D5CWHk9ZJ5TiZur8PhlQTRiUveySHKlSrWDB5XrZCRzSts/wdvJmrJN9wZtK1hSu85hKfrFy5ZeBSAKOBYvTVg==","shasum":"770c6cee3ab70ff6e48b251027dc6df6f791df4e","tarball":"https://registry.npmjs.org/@advanced-addons/codex-bridge/-/codex-bridge-0.8.20.tgz","fileCount":22,"unpackedSize":900083,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGkGAS9qpn6jIDqEoKJHm4kyGvzmcpXaidn1x20MvlwuAiEAzfxtS0oLOW8j2AKQ4+WUCKfoDRLNT9xYFWSO9Ef5v/I="}]},"_npmUser":{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"},"directories":{},"maintainers":[{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codex-bridge_0.8.20_1788857677771_0.9424085520430432"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-22T09:18:07.294Z","modified":"2026-09-08T08:54:38.132Z","0.8.0":"2026-07-22T09:18:07.686Z","0.8.1":"2026-07-24T09:10:19.203Z","0.8.2":"2026-07-24T09:15:35.096Z","0.8.5":"2026-08-02T04:48:06.524Z","0.8.10":"2026-08-05T08:49:01.008Z","0.8.11":"2026-08-11T01:25:15.757Z","0.8.13":"2026-08-12T09:06:53.270Z","0.8.19":"2026-08-31T01:51:44.796Z","0.8.20":"2026-09-08T08:54:37.913Z"},"license":"GPL-2.0-or-later","description":"Local Codex bridge for Advanced Addons Pro Gutenberg and Elementor editors.","maintainers":[{"name":"syarifuddin.studio","email":"syarifuddin.studio@gmail.com"}],"readme":"# Advanced Addons Codex Bridge\n\nLocal companion for Advanced Addons Pro. It runs the pinned Codex app-server over JSONL stdio and exposes an origin-bound, loopback-only WSS endpoint to the Gutenberg and Elementor editors.\n\nThis package is distributed as a normal npm CLI package.\n\n## Requirements\n\n- Node.js 20 or newer (no system OpenSSL install required).\n- Advanced Addons Pro with the Codex Agent editor integration enabled.\n- A local browser session that can access the WordPress editor.\n\n## Install\n\n```sh\nnpm install -g @advanced-addons/codex-bridge\n```\n\nYou can also run the package without a global install:\n\n```sh\nnpx -y @advanced-addons/codex-bridge start\n```\n\n## Start the Bridge\n\n```sh\nadvanced-addons-codex start\n```\n\nOn its first run, `start` creates and trusts a per-install localhost certificate so the WordPress editor can connect securely to the loopback bridge. Later starts reuse it. The separate `install` command remains available to repair the certificate trust entry if needed.\n\n`start` prints a single-use pairing code that expires after ten minutes.\n\nOpen a Gutenberg or Elementor editor, select **Codex Agent (Beta)** in the Advanced Addons chat header, enter the pairing code in the inline pairing card, then choose **Sign in with ChatGPT**.\n\nBy default, the bridge uses an isolated Codex home. ChatGPT credentials stay in the bridge's own runtime directory, and the user's normal Codex configuration, MCP servers, and skills are not loaded.\n\n## Shared Codex Mode\n\nTo reuse the normal Codex login, MCP configuration, and enabled skills, start the bridge explicitly in shared mode:\n\n```sh\nadvanced-addons-codex start --share-codex-home\n```\n\nIf the bridge is already running, stop it before changing modes.\n\nShared mode loads enabled skills through the Codex app-server and can inherit external MCP servers from the normal Codex configuration. Tools annotated read-only can run automatically, while unannotated and write-capable tools ask every time and offer only **Deny** or **Allow once**. Configure MCP servers and complete OAuth in the Codex app or CLI before starting the bridge.\n\nSame-origin HTTP MCP servers for the active WordPress site are disabled inside Gutenberg and Elementor bridge sessions so they cannot bypass the post- and session-bound editor tools. Shell commands, filesystem writes, web search, hooks, apps, and multi-agent tools remain disabled. Because external MCP servers execute outside the bridge filesystem sandbox, use shared mode only when you trust the configured servers.\n\n## Status and Stop\n\nCheck the bridge:\n\n```sh\nadvanced-addons-codex status\n```\n\nCheck the installed bridge version:\n\n```sh\nadvanced-addons-codex --version\n```\n\nStop the bridge:\n\n```sh\nadvanced-addons-codex stop\n```\n\nRuntime state is stored under `~/.advanced-addons/codex-bridge` by default. Set `ADVANCED_ADDONS_CODEX_HOME` to use a different location.\n\nVisual-reproduction references and browser capture variants are kept locally for auditing under `~/.advanced-addons/codex-bridge/captures`. Locate them with `advanced-addons-codex captures`, or print only the newest run with `advanced-addons-codex captures --latest`. The archive is private, retains at most 20 runs and 250 MB, and is never forwarded to Codex; only the chosen capture is model-visible.\n\n## Updating\n\nInstall the latest published version:\n\n```sh\nnpm install -g @advanced-addons/codex-bridge@latest\n```\n\nThen restart the bridge:\n\n```sh\nadvanced-addons-codex stop\nadvanced-addons-codex start\n```\n\nBridge protocol `1.15` adds runtime-aware Codex discovery metadata and model-catalog refresh support. Protocol `1.14` adds automatic full-page versus visible-viewport selection, locks the chosen scope, uses reference-shaped multi-scale calibrated comparison with bounded alignment, reports target geometry, and saves bounded local debug evidence. Scores are intentionally not comparable with protocol 1.13. Protocol `1.13` added ranked spatial hotspots, aspect and dimension evidence, and pass-to-pass trends. Generated-image activity remains reduced to compact IDs, status, dimensions/MIME when available, and upload availability; image bytes and local paths stay out of visible events, approval arguments, and restored editor history. The bridge transfers only registered generated or attached images, validates their bytes, and keeps encoded payloads in hidden execution arguments. Capture normalizes Tailwind CSS Color 4 values such as `oklab()` and `oklch()` for the screenshot renderer, then returns one directly forwardable chosen image plus compact comparison evidence through the app-server image channel. Only conversations created by Advanced Addons for the current site, WordPress user, editor, and post are exposed. Conversations created with an older editor toolset remain available in history; continuing one starts a fresh compatible conversation.\n\nBridge `0.8.20` prefers a supported Codex CLI discovered through `ADVANCED_ADDONS_CODEX_BIN` or `PATH`, reports the active runtime version/source, and refreshes the WordPress model catalog after reconnecting and every five minutes. Bridge `0.8.19` introduced calibrated automatic-scope visual verification and local capture auditing. Bridge `0.8.18` added ranked 4×4 spatial mismatch hotspots, pass-to-pass score and regional trends, aspect/dimension diagnostics, and five eligible passes. Bridge `0.8.16` replaced native goal mode with session-bound, bridge-controlled visual refinement. It forwards authoritative score evidence to Codex, locks acceptance state, requires a successful mutation before each eligible capture, and stops after the configured pass cap or two stalled continuations. Protocol major remains exact; the bundled Codex version is the minimum supported fallback rather than an exact runtime requirement.\n\nCompatibility uses the plugin's minimum bridge version, exact protocol major, and minimum supported Codex version. Set `ADVANCED_ADDONS_CODEX_BIN` when the preferred CLI is not discoverable on `PATH`; the bridge falls back to its bundled runtime when no supported installed CLI is available. Keep the default isolated Codex home, or pass `--share-codex-home` explicitly when the bridge should reuse the CLI's existing login and configuration. Raise the WordPress `bridgeVersion` floor only when a plugin release requires newer bridge behavior. Bridge package versions may advance independently as long as they stay at or above that floor.\n\nThe bridge requires Node.js 20 or newer and follows the official [Codex app-server protocol](https://learn.chatgpt.com/docs/app-server).\n","readmeFilename":"README.md"}