{"_id":"codex-relay","_rev":"39-fd724e60796ba7dc741ac802541516a7","name":"codex-relay","dist-tags":{"latest":"1.6.0"},"versions":{"1.0.0":{"name":"codex-relay","version":"1.0.0","_id":"codex-relay@1.0.0","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"homepage":"https://github.com/gronxb/hot-codex#readme","bugs":{"url":"https://github.com/gronxb/hot-codex/issues"},"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"72a30ac321dbee0fa2c48d018b13cf2e06548d44","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.0.0.tgz","fileCount":5,"integrity":"sha512-rHqCzXTEqNG39YDm3JuinNC9nDYw8pFNcNPrML3X+TL89gEfRwU3+j18LOSkI+nohUXGVZp5BHvq9uzfQ3DeTA==","signatures":[{"sig":"MEQCIDBwVmtlSzdfNsmeBJELIIbER7mhbMr9gpFdZhPC4b9UAiBnpFVG74PDECjewn8blCqw/labl8BC0abIpvTUiBUQrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142110},"type":"module","_from":"file:codex-relay-1.0.0.tgz","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"_resolved":"/private/var/folders/pq/5k2drn6n2c15522mfqv5cd4h0000gn/T/602577611e4ec3067cf686ba5b1a7e01/codex-relay-1.0.0.tgz","_integrity":"sha512-rHqCzXTEqNG39YDm3JuinNC9nDYw8pFNcNPrML3X+TL89gEfRwU3+j18LOSkI+nohUXGVZp5BHvq9uzfQ3DeTA==","repository":{"url":"git+https://github.com/gronxb/hot-codex.git","type":"git","directory":"apps/server"},"_npmVersion":"11.11.0","description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.125.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2","@codex-relay/api-schema":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.0.0_1777396742788_0.27091877909576256","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"codex-relay","version":"1.0.1","_id":"codex-relay@1.0.1","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"homepage":"https://github.com/gronxb/codex-relay#readme","bugs":{"url":"https://github.com/gronxb/codex-relay/issues"},"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"f949d162cd75b2e6899eb86b17dbccc36a59e76a","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.0.1.tgz","fileCount":5,"integrity":"sha512-TEsVcxZMX4+6U3z5h+avICe6y2nNYXdu4srw7JzhDhn8v8h2fXD/235ZNqWo+qC1LqDAGeKP5ku5VeCDYaz5hw==","signatures":[{"sig":"MEQCIBpJuf9khORIenJXCaxFss6/YLaq415LeAXwuLLPVzT3AiB2VQiWuhRFT2q8xUh2qU7Z8AiTDnXLNpVI10DFVwm9Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143294},"type":"module","_from":"file:codex-relay-1.0.1.tgz","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"_resolved":"/private/var/folders/pq/5k2drn6n2c15522mfqv5cd4h0000gn/T/e304f32a4dc8f4a7bd52aab7870321da/codex-relay-1.0.1.tgz","_integrity":"sha512-TEsVcxZMX4+6U3z5h+avICe6y2nNYXdu4srw7JzhDhn8v8h2fXD/235ZNqWo+qC1LqDAGeKP5ku5VeCDYaz5hw==","repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"apps/server"},"_npmVersion":"11.11.0","description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.125.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2","@codex-relay/api-schema":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.0.1_1777397682171_0.6996142468436319","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.0":{"name":"codex-relay","version":"1.0.1-beta.0","_id":"codex-relay@1.0.1-beta.0","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"homepage":"https://github.com/gronxb/codex-relay#readme","bugs":{"url":"https://github.com/gronxb/codex-relay/issues"},"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"40a9f8445b2d2f6ecafaeaaf0f072c1c428847ac","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.0.1-beta.0.tgz","fileCount":5,"integrity":"sha512-CFBZXhhVTDPqLG+bGJA3XiaHcqToHdZIFT55BHu4hEINOtoquGyLI/IPL4wSmB22CAu3V08DV5s1AzwDR3kX0g==","signatures":[{"sig":"MEUCIAbyXVitCBuFE7VtNdrofplvBOx+ooYg7Nzncl5yHiKXAiEAx2dpI/0EBhMPIaFv/hm3Yle5gKL5BGgFlj/Dx+IpBj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150784},"type":"module","_from":"file:codex-relay-1.0.1-beta.0.tgz","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"_resolved":"/private/var/folders/pq/5k2drn6n2c15522mfqv5cd4h0000gn/T/5282af165181f3c1d174352939110f7f/codex-relay-1.0.1-beta.0.tgz","_integrity":"sha512-CFBZXhhVTDPqLG+bGJA3XiaHcqToHdZIFT55BHu4hEINOtoquGyLI/IPL4wSmB22CAu3V08DV5s1AzwDR3kX0g==","repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"apps/server"},"_npmVersion":"11.11.0","description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.125.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2","@codex-relay/api-schema":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.0.1-beta.0_1777401354905_0.289801445573451","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.1":{"name":"codex-relay","version":"1.0.1-beta.1","_id":"codex-relay@1.0.1-beta.1","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"homepage":"https://github.com/gronxb/codex-relay#readme","bugs":{"url":"https://github.com/gronxb/codex-relay/issues"},"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"4afca3fb107107123e3f270fee9fb429fd0c1f44","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.0.1-beta.1.tgz","fileCount":5,"integrity":"sha512-Ck8lgbbYLrUn0ljFejjjb2F/YYSY9a9V2JrCwkSjzSnlVCNbl8sg8bGwHt1sYbjwZYmlHtQn2hs9+UgAv3jC+A==","signatures":[{"sig":"MEUCIFZNSKHqyVUjy15xKsWjsYPnONCYoyjT9+wSuBqifU7oAiEA5ZvFlUBXImPzgxEG2wB+qhD+IbsaFyy8oTw6lhNfwoc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151282},"type":"module","_from":"file:codex-relay-1.0.1-beta.1.tgz","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"_resolved":"/private/var/folders/pq/5k2drn6n2c15522mfqv5cd4h0000gn/T/96ef8035bd63f643438c29e4ab69fc75/codex-relay-1.0.1-beta.1.tgz","_integrity":"sha512-Ck8lgbbYLrUn0ljFejjjb2F/YYSY9a9V2JrCwkSjzSnlVCNbl8sg8bGwHt1sYbjwZYmlHtQn2hs9+UgAv3jC+A==","repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"apps/server"},"_npmVersion":"11.11.0","description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.125.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2","@codex-relay/api-schema":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.0.1-beta.1_1777403659595_0.7540686652467994","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"codex-relay","version":"1.0.2","_id":"codex-relay@1.0.2","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"7ad1f635895d601baced5b180a6e2c099c63404e","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.0.2.tgz","fileCount":13,"integrity":"sha512-GaGUUphC7nb4PHa3N2RxoUCKEIqi/Eckgrgy+Jp/B8bR/HgG9psjtb8r4vbpv3l13q+ZMS16wfbq7t8DbtC9/Q==","signatures":[{"sig":"MEYCIQCLWnm/s2yNZDiVWY1+qUPL+CEXLULv2xE32YS0WHkP5wIhAOaTqw0vHVECwiZxjnJApIlJE8o6Lo4sqQUrsLMR/B5s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":337601},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.125.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.0.2_1777826226305_0.41284027293014325","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"codex-relay","version":"1.0.3","_id":"codex-relay@1.0.3","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"c2f06ca2a53e43ab339be03c26bb9cebafeacffa","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.0.3.tgz","fileCount":13,"integrity":"sha512-sLqmDl48HSoeAP8wJO6ZPtghwimjzb0RWyyZ+BsI/SpUzba9onr0uw+30zc/y1zZm2jkD5gA8lD+QGKUkSVQKg==","signatures":[{"sig":"MEUCIBIYgTCLhsOjgEsqAM1OIKMNQpa3lP0o0rI7tG6hHhuxAiEAn8kuXhoF6LYAwWzYHTuPFZTs4sxBKFbeghlM7o1RYJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":341128},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.125.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.0.3_1778263719982_0.1994470723368733","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"codex-relay","version":"1.0.4","_id":"codex-relay@1.0.4","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"e94a5f98fcf01ca7382069a79ea51e8ec782ccbe","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.0.4.tgz","fileCount":13,"integrity":"sha512-yto6202i1RERsvi5SzV2ZnOFtB2ClRO0req6mCXSgxWXSjV28e3XKvco6FeJJAXze09eRYmpQ+R3MgSObPEcxQ==","signatures":[{"sig":"MEYCIQDEg87MPeJGP1hp9c8xyoMg7lAJ/nQipEv9bvCyKlvijgIhAJ8VPfYp2+HUyr/RmNZTSPrx4V2q53YpQpEac80HuPHz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":372526},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.125.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.0.4_1778396887515_0.273575030600401","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"codex-relay","version":"1.0.5","_id":"codex-relay@1.0.5","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"4ef9a4a853781b2795605045e00098cfaec383e5","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.0.5.tgz","fileCount":13,"integrity":"sha512-yXtZ5XnQ80kGYIY06TPVFuJN0CNNbZYNBIxYRmJlUHQv6MK2AyoDMPRsLhJhIEmlB2py3aiGSaub/O6Uj7yY0Q==","signatures":[{"sig":"MEYCIQDsTkSfmXO6fjrUpXJEoYA+Vv0YdLIEP0T12CsrTwjM2gIhAIhO9ee5SFXG0WPuQuCGX3rJuzF8DEmmgWxgnad10JPZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386135},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.130.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.0.5_1778508516889_0.6764709788852117","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"codex-relay","version":"1.0.6","license":"Apache-2.0","_id":"codex-relay@1.0.6","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"d8629b02b0f1273ab3c265031ef350f068378551","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.0.6.tgz","fileCount":14,"integrity":"sha512-Hx+ZFiOJC3LXAToKr0sPdj8vGC5WRgKoQl5E0lCnxkQ6lxFKM+t1GxgYWHhHsYqt+74BytH4qqScu3NwVlQNFQ==","signatures":[{"sig":"MEYCIQC5bLbN0itKrzaUliEZeFct+SOldv2FACINLJle/nNlcQIhAIs3qWHJ3ncTMuXVqTd6AdMoLOE+h2PybagHciIJ4wRQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":407576},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/codex-relay/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.130.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.0.6_1778816569153_0.8567838949075588","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"codex-relay","version":"1.0.7","license":"Apache-2.0","_id":"codex-relay@1.0.7","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"3a5bca483df0937c4767bb53dfdec07e003fbba6","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.0.7.tgz","fileCount":14,"integrity":"sha512-cdX69CX7IxdnrggR/4RhRfRDp/AXvC5XNBhmVeDg9nKX73HflJmw0+AUG/GtUW5a/A8gqboW4JDZ5RUeqPAR9Q==","signatures":[{"sig":"MEQCIH2do8H6SuHCuXWUBKv3b9Zl2NhHraw62pLMVRqg1RuFAiAWawnzVjZaQN5K5mr/sjFzVs0ovtaYWE591F8YNenHIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410756},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.130.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.0.7_1778926229155_0.60004545981858","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"codex-relay","version":"1.1.0","license":"Apache-2.0","_id":"codex-relay@1.1.0","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"90b9512048781bb56f851f815563b041d0551e9f","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.1.0.tgz","fileCount":14,"integrity":"sha512-r8tvB14WIgU6ngZCKWspOOvhHne82LU9kDim+eJN73qjcdEV2M6HTX9OPRwp+Hg/hImhYpP4gkcXD82TOkNoqw==","signatures":[{"sig":"MEQCIAyPDDk3C++UgnwInWRc6IDOjgVkIZCpwvnjiOVkV+pkAiAS3eJJb3Dybrd66P6qz3ThITRCwWGFaXNq7v5uBeJt7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410756},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.130.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.1.0_1778929372045_0.377304586589585","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"codex-relay","version":"1.1.1","license":"Apache-2.0","_id":"codex-relay@1.1.1","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"6bf9c1e2f906099a99e29641273b35b10cb1b816","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.1.1.tgz","fileCount":14,"integrity":"sha512-ympzMiYuhdINIeEFr5qO7NEYP9ID3b1S4Jk6TCz91bSQ1VuJ5Z37m7MTuSTom9RZyRJMLj93d1cfutYeilhrqA==","signatures":[{"sig":"MEUCIH6vPHoYQFgXyXkSGU53xwR3OqaKM+csoZYZzP0SGCkvAiEA5+XxqdnE8PJ92Y4Zm18y8eF5OAfpoKScyhOKTYebnDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":413233},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"^0.130.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.1.1_1780014388051_0.7302300102000396","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"codex-relay","version":"1.2.0","license":"Apache-2.0","_id":"codex-relay@1.2.0","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"64e13700626e98d8d0c093d07c956f529446b496","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.2.0.tgz","fileCount":14,"integrity":"sha512-jtYjb70vXjp6I4EwgJgz3498/KMUc1v1TSCRH2gkALIHCeoXdGf9gwW8vLSDU6QcHkTaYgFBCBHHyBE2LxTzVg==","signatures":[{"sig":"MEYCIQCHefJMuzkgQNgo563dY7NIRYJoaOeHjfGVL0J+Pa53twIhAOrrIK2xkdlkLvthjOUMR7krmMS5cY6Vhr2oCSQNBGOJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":427384},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.137.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.2.0_1780755037142_0.23545064067139831","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"codex-relay","version":"1.2.1","license":"Apache-2.0","_id":"codex-relay@1.2.1","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"717ca52e9ff99c224308f87540bed07d3343f806","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.2.1.tgz","fileCount":14,"integrity":"sha512-SBiJ0nrCNsC6DCrBZLUzJuMt7MUu6MWGviIw6FSSMC08qujHxB/xdQxtpaQSwI05Hw8FKaoF2zOp2dPVcArDjg==","signatures":[{"sig":"MEUCIQCw9Ry8NlFJWgXIuEVBYUyReOwojU/4AVJJSjfMqiexXgIgGWLjWfNJSUfaSYlHYceNsH8CPLvxxW+LDrjh32DUTBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428158},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.137.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.2.1_1780845672393_0.7625171337071359","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"codex-relay","version":"1.2.2","license":"Apache-2.0","_id":"codex-relay@1.2.2","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"8609aed1df3cfb0c3b45f862dd40353cfd3cb44b","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.2.2.tgz","fileCount":14,"integrity":"sha512-m7eWweyktjjylPQf1/HeFCPI7/X7BrsjrH5HofJkhJ4oJmiDrJlXbl8cyVy6lZ+IHq9p7Z387k1a6RlzwSFxUA==","signatures":[{"sig":"MEQCIAnW60B40edbZ6NzEFvpKzfXtWSE8Yna0bIebAaTSoFLAiBqAdiG5AVCAXBurgJ/hZvVkjOA60Tc84KAsEpDq0Pcqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428158},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.141.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.2.2_1781936258352_0.23580611730301593","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"codex-relay","version":"1.2.3","license":"Apache-2.0","_id":"codex-relay@1.2.3","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"be5566ade558bbe846c4c94c0a8db6bbbe535a75","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.2.3.tgz","fileCount":14,"integrity":"sha512-RXR2siyx0EV/gA4IATuswSy7Afa/3q7G9MZ4NnE3EdiDZLzXcAsXl/dWYLu0qpxsHaHoKRLIPyJxHR7E5tKt+w==","signatures":[{"sig":"MEUCIQC0LeJ3aOv2TMu5FksPF/ASmc6N5nma79vsUPiUYQh6eAIgXBYatK5yR2A+87jmN0+N9oEYA7XXOdBU0/shbeZVIe4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434403},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.141.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.2.3_1782188899935_0.6786930947479302","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"codex-relay","version":"1.2.4","license":"Apache-2.0","_id":"codex-relay@1.2.4","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"b3057fd61f9247145bfc8e653e135e729499873d","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.2.4.tgz","fileCount":14,"integrity":"sha512-TNDj5g+xCq/halBnGy3XeQ/JYeqL3Dr/j95Wt+QqQi3GPpN6K8c9FgjRNOxfHm5mNEHlu/OUL3az4Q3s97mN+w==","signatures":[{"sig":"MEQCIHuo5Ef+ENXMlLvRW7meonnoD+ivNTTtCv4OJ/4S0rGaAiBX2GG2t30XgveNXoHOPt1GBlGsP6DyNUh+DUd5zmYPUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":436424},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.141.0","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.2.4_1782473224107_0.5992311285038519","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"codex-relay","version":"1.3.0","license":"Apache-2.0","_id":"codex-relay@1.3.0","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"e50fa7f55b67cc0ddb7747ef6044c994d9485a2b","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.3.0.tgz","fileCount":14,"integrity":"sha512-OHlQk8HMZTIbpvOUjIK2DV5m07gZR+jY0aehpEeZAMfb1ABPp5i3ldsPiQpGOQjkfnDPxo+WlIkCKI5nc1Urvg==","signatures":[{"sig":"MEUCIQDx1ykcImYxU1S1nbZYfG6N9zNdgPYIpKFQ8cu7lEeAKQIgI42vazWAco46KhUQeCxLtPQeb0a69xqinmAwy1qVYyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442574},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.144.1","@tursodatabase/database":"^0.5.3","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.3.0_1783690825571_0.7555515031160431","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"codex-relay","version":"1.3.1","license":"Apache-2.0","_id":"codex-relay@1.3.1","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"1b7db973837b8e24fd0b358b340d92d0f5e4d8fc","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.3.1.tgz","fileCount":14,"integrity":"sha512-S3V0WLCuTbwwHEfSVDrS69DQTioJ7l4s4bAYrGxBCQVeMJS7pIXSmdTnpEtVvZWaitW6SH5Qv1AkZzqoHsFIRg==","signatures":[{"sig":"MEUCIELxja4zuiygHklV+n1C0u0k3l+iQzT0dGJBbeMM3g6OAiEA1ujuQs9zguG9JibO/DQSyAARD2NwF0nMEGj9COdusjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":444712},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.144.1","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.3.1_1783707685601_0.8794133741405625","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"codex-relay","version":"1.3.2","license":"Apache-2.0","_id":"codex-relay@1.3.2","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"14d41a8495157fc9b06875a101e3611edccd7675","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.3.2.tgz","fileCount":14,"integrity":"sha512-gEgzZcUyyA6YSMuOl3CWcHDzD1qP6abjJx6WkVc6wDrOMkUEHYv+pxDUTPygbHAdAbIxTr+w024BvZ8DQ0nATA==","signatures":[{"sig":"MEUCIQDYED1STAX2PXVBE4sW8KSwVqe3mt2l3PlaL0V5jwUPagIgWJPb+ClDYGTguBUNPDClAxP8EEYzChQO8y/uX7FRbbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451417},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"gronxb","email":"gron1gh1@gmail.com"},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.144.5","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.3.2_1784259959815_0.7538027717506199","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"codex-relay","version":"1.4.0","license":"Apache-2.0","_id":"codex-relay@1.4.0","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"9256535380190f0aadfe38b48e6db96406ceb935","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.0.tgz","fileCount":14,"integrity":"sha512-XH/TupmhImZDUs/vEB31kxR6Ul/tha3+8TgSg1SyyX08Rxr95vb0TpKKYdaV6d0VJ6J+L4QDHmAqeR81XBYMuQ==","signatures":[{"sig":"MEQCIC2jF8ncbbofXkooV6efROzZBxxTCcWyse+5lMraiK9hAiBKM+4zO2DrdWIGZQyDkTkSeUHBEcbQFbrEWFnHYozJMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":475636},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.144.5","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.0_1784396904323_0.8467275850775744","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"codex-relay","version":"1.4.1","license":"Apache-2.0","_id":"codex-relay@1.4.1","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"a93865118a526b3097f6f28d80958f6b8c6c1d7c","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.1.tgz","fileCount":14,"integrity":"sha512-9e9dnWFqYY6PUkmTkpM/eTUD/o9VfgyaAKk43fg2B61qXxT2Xl1sZss9Z6exqJy6Fjkz6+SKH2B3bb+VNQ2K8w==","signatures":[{"sig":"MEUCIH/ox2CgQOAEXHecjvPHoUVs5h/cYklpQ9PMB0NxecbuAiEA5ArVGcP6+Y7koUuIjhTzVeb54YCk6SrORbGggH4AluM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":477103},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.144.5","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.1_1784723915705_0.2212016416314011","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"codex-relay","version":"1.4.2","license":"Apache-2.0","_id":"codex-relay@1.4.2","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"99a1a3348da63c145361e7082d7fdcb82d5cc778","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.2.tgz","fileCount":14,"integrity":"sha512-0HPo9hyO5cL0UQzT3RecfS6ZpOc7XqI9sKK2zi+k/KlhK4k7njVUZ7qcYWhGpYYktm0L0TloV+VbvEy6jNsXPw==","signatures":[{"sig":"MEUCIQDD+4niS2tttN6vZ2bfQ31IGvxKUlNZ2JJHSWAIVhpkWQIgMaXjfgq/SOnb8URViKR9GYlRV4QZvaLEWE7HMDS9iWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":477103},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.144.5","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.2_1784770944451_0.6952015155944193","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"codex-relay","version":"1.4.3","license":"Apache-2.0","_id":"codex-relay@1.4.3","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"09e57396149612d95694080b93ccaec690d9c4cd","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.3.tgz","fileCount":14,"integrity":"sha512-g4GVNQkkL+Uiv3zq24/NvrNWR7Vda9xqxEE/Z2/mE3qwBgAey2sOyj4fEmoOkxZY+5W97N7+7rb7eC4hF1m0Bg==","signatures":[{"sig":"MEUCIQD0ZvzxhJWIB9T0NSBYOSvAssMkRCO1uxLpsNX/KTrKZAIgOhH23QDWVHQ1ZQ0OU7oSxGMB/hxYMeoWJyF/XXlSkV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":482973},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.145.0","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.3_1785046998216_0.5899816579961148","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"codex-relay","version":"1.4.4","license":"Apache-2.0","_id":"codex-relay@1.4.4","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"f961dee9aaafacd25a0e0d2567758f30083f428a","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.4.tgz","fileCount":14,"integrity":"sha512-GB4eZwbnGpX8SeWiZWm7FJgrFGGTLkvG/NPEcWlDdU85sDZqdOTb8xsOyWhLF/bWmFoNTVYp6oofhQ1GHQfWEQ==","signatures":[{"sig":"MEUCIBkGhOVBvfhpNlGORm3xjKPLVYfRIzLp+O+QTaddeh+LAiEA5MbIDm+HlOf/tEjOhEqPJYkvWCS8cDtPcpxmmJbuKRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":483944},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.145.0","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.4_1785113990824_0.3592114584634749","host":"s3://npm-registry-packages-npm-production"}},"1.4.5":{"name":"codex-relay","version":"1.4.5","license":"Apache-2.0","_id":"codex-relay@1.4.5","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"f963c2eb982af0e1e7d222c92e46b26a07385e37","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.5.tgz","fileCount":14,"integrity":"sha512-ki+CdWe8Egf4zElL/a2YHOdDTO1Z+f4wF1cQ18Ib8E9aFYyIfhKoSJhE7bE/MmQSLyJIn2Jr4GKp205bSsH8cQ==","signatures":[{"sig":"MEUCIQCnNd0WBRnWwzAYbHDa9rEA5BmAtEyhjMbvEjOUMmDjlwIgE3Am7mgxA1ugadKWwHUBQ4pWpPhp2CTJWmLxHW9/vak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495860},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.145.0","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.5_1785322812660_0.4822873131093539","host":"s3://npm-registry-packages-npm-production"}},"1.4.6":{"name":"codex-relay","version":"1.4.6","license":"Apache-2.0","_id":"codex-relay@1.4.6","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"809c480bfed34435e88624a6ac5065cc0aab2651","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.6.tgz","fileCount":14,"integrity":"sha512-yXK7REdwCPHYjj3X2fi1auh4BIBrW00eI9qDy4L4+Di+GBP16zEtSLWZyV1/E8FeuI9WTMR7IaAAm1O/qXgS2Q==","signatures":[{"sig":"MEYCIQC9gwt1zqOjMZChtj+shcFua/wXxWi5YoTq2KCktmZgRwIhAJtlFNYNAobjZ9MLbEZh23SmfNQwK2xpavWbIFss2H8z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495634},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.145.0","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.6_1785839960010_0.16372286187074714","host":"s3://npm-registry-packages-npm-production"}},"1.4.7":{"name":"codex-relay","version":"1.4.7","license":"Apache-2.0","_id":"codex-relay@1.4.7","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"9d89db735ff699f34a8cdbed236ce04dbcce0c85","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.7.tgz","fileCount":14,"integrity":"sha512-YVAGAF57RYu1RAvzMGQ+0fvgXJFyx8c0J/e3J/1s0ulUPrBfkMb0eMf0mvfnEX4E8jckLn2HVnH8g90MMAnjFg==","signatures":[{"sig":"MEUCIAlGFDvF9O/05rEhrJx7oSX3SRHwxHoQGY18z2aZHzHBAiEAlwLU3vR40H0YPe7I0YHlcvYGynMkKQpmMLQFo7cOass=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495634},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.145.0","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.7_1786189579712_0.671521797256253","host":"s3://npm-registry-packages-npm-production"}},"1.4.8":{"name":"codex-relay","version":"1.4.8","license":"Apache-2.0","_id":"codex-relay@1.4.8","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"5a2af8b576142b82572090456e6a02a75ad935f3","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.8.tgz","fileCount":14,"integrity":"sha512-+iCW3k3PcFGOAgz8EEKgJCI8vA081yClcmCFiyHy0QZ38d/SzQF30nubPU5qfQiCcukPfJNLcUMdl7mIOM9jCA==","signatures":[{"sig":"MEUCIQDxcjNdN6GKZdFyfEqjWR/FE0FK1txei5i7YNtNmVsorgIgLX8LKFnQcNlRc80ighMkx1exToIpZqU0pjS9oqCsBFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":496768},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.145.0","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.8_1786813737442_0.9705196817340862","host":"s3://npm-registry-packages-npm-production"}},"1.4.9":{"name":"codex-relay","version":"1.4.9","license":"Apache-2.0","_id":"codex-relay@1.4.9","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"bf2115c33fee07a4783180914aed236ae60a73d7","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.9.tgz","fileCount":14,"integrity":"sha512-dpYpBL4P3z8DDemmqtBDAdolJcjHjS8f2jYeQJl8zrAwjddZPxyPOlXnTy48AOolNTVYkWVl5LjJ2HgAi0Hg2Q==","signatures":[{"sig":"MEUCIACnlxOsb/s9HCOJ62KhQYX3TJX55z0+AzGT2bjLjI5oAiEA4Y65mf584bxspJUf9Jh3KnwMam0a/V2DlWfskPxbzSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":496768},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.149.1","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.9_1787706224959_0.5402965776145101","host":"s3://npm-registry-packages-npm-production"}},"1.4.10":{"name":"codex-relay","version":"1.4.10","license":"Apache-2.0","_id":"codex-relay@1.4.10","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"2d4224bfdfca3c325b3934332999f1a3d2a4773e","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.10.tgz","fileCount":14,"integrity":"sha512-oY0RobG0e94aFlvzMLujmhZOk+LbyA9pbZprvm36AhE93ceN1nXn38VJ2BC/UA6nfcb/X2CF+fDv5HQ/TCWC2A==","signatures":[{"sig":"MEUCIQDL2i94eheA7rZlgIbz4mhek4CESup2dRq//tOt/DGnEAIgVQAGGnx9mhCHd8ILexHurHdcrK0qmtlgz9VwCc21ONw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514973},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@openai/codex":"0.149.1","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.149.1","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.10_1787720950576_0.7355616046762246","host":"s3://npm-registry-packages-npm-production"}},"1.4.11":{"name":"codex-relay","version":"1.4.11","license":"Apache-2.0","_id":"codex-relay@1.4.11","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"7ecfb0aeed6583632b0838a2d84e805302927c61","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.11.tgz","fileCount":14,"integrity":"sha512-NwL+4Xk4ecF+a9cXxKJqpxzrc6zOfiowHP6sq4+dvxZEHJ7Dm9mNS6baqBgylmZQdHt9jLX7BTjz+0RrZFrncA==","signatures":[{"sig":"MEUCIHNhpF00iXcWEeqoQnPlf9UslDClY7+WSbK5EPi/O+yvAiEAjpLdjDEq0UDSHVJIeW4Gvy7i5JoUoHLkIybSGHUnSjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":515030},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@openai/codex":"0.149.1","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.149.1","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.11_1787723947873_0.8448389625800703","host":"s3://npm-registry-packages-npm-production"}},"1.4.12":{"name":"codex-relay","version":"1.4.12","license":"Apache-2.0","_id":"codex-relay@1.4.12","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"8a452ed3eead8aba8dcdc299fdb3629fe22c9a99","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.12.tgz","fileCount":14,"integrity":"sha512-6xWngEL1NYpHJTllyQYtrennwjLPNV4T/rlNO1FQ7lHTyGGPiW/bm21oz1y7FP18o/fOhsXLvIB+car79lZgKQ==","signatures":[{"sig":"MEUCIQCIHeW0ZPT26m7yUYHii9k+3G7bDsNrGGuBf1HuCyIvVgIgQWm/0SZaaOqvKpofa0EoLxvc+VmBuiNBTeAH3nkIhP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":515966},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@openai/codex":"0.149.1","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.149.1","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.12_1787725792510_0.7674741816928117","host":"s3://npm-registry-packages-npm-production"}},"1.4.13":{"name":"codex-relay","version":"1.4.13","license":"Apache-2.0","_id":"codex-relay@1.4.13","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"777f673dac7cbdf25a2d601887fdd3f75eca022f","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.13.tgz","fileCount":14,"integrity":"sha512-wC5nsGPUZsB6fD89LhcHkLqoGTrQ/pHhPxEFUDcRup/T2kt+DJikUMdAaj69QAeMRE+XHJPoQzBuPWxGi3wXpQ==","signatures":[{"sig":"MEUCIQCXvWChtCa9n0jvwjpDyeDfxzut4MS301CXOzttXp4SwwIgWEa7nwVsNmaBr/dYalKr/SegSQ++OoK5t7KipgyrA+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":516190},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@openai/codex":"0.149.1","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.149.1","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.13_1788149076900_0.45537019865465855","host":"s3://npm-registry-packages-npm-production"}},"1.4.14":{"name":"codex-relay","version":"1.4.14","license":"Apache-2.0","_id":"codex-relay@1.4.14","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"8979bb612871527781f6a27e9b3de3951c07645e","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.4.14.tgz","fileCount":14,"integrity":"sha512-b0JMIxfBUAKClxNWp3IVY5cqDC40AuzeiYRe9bATQMJD1HMFPM8iZNhRllFGnBTjLjam3X3J8MUOm+wRTIQvjg==","signatures":[{"sig":"MEUCIGfr8hvCDpGQT1kGAc2mrLGkSMwfJzti3m8UYOH/4GbdAiEAsLcaKvMpnQ8xmmhLfNoFc79tYqLS3ZJPsQY8FJeeUOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.4.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":517297},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@openai/codex":"0.149.1","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.149.1","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.4.14_1788231152586_0.9688906267791777","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"codex-relay","version":"1.5.0","license":"Apache-2.0","_id":"codex-relay@1.5.0","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"e8fdbaa1f767792a810db21f21cf9f5a43e4fe26","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.5.0.tgz","fileCount":14,"integrity":"sha512-22ekBCgr+UrVJYesjlXWtCwMJXfmUmeABz9+R9lnuQShD/DvDmp/rujRskDDyDqQBRf8pK77rHnel3Wx03Jlzw==","signatures":[{"sig":"MEUCIQDxSj9SJhPRTD601f+0+JNgD6jECV6jiq+FTleklZRwEgIgbUm9XVT9pMx373RaFXtilakvRpX/bYWrMQ3CW4Dji9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":517296},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@openai/codex":"0.153.4","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.153.4","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.5.0_1788609272060_0.6282483617013341","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"codex-relay","version":"1.5.1","license":"Apache-2.0","_id":"codex-relay@1.5.1","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"a527f42d740f2b240d1fb44ddc8eb7446ca8f6bb","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.5.1.tgz","fileCount":14,"integrity":"sha512-+iSTRxIbjw51KTs2XvapsG57INuM3dFX3mq4rbevVXC7OooEefnCaYvc3GR4jeoky380Kk/sq5coFtYHOqKHVA==","signatures":[{"sig":"MEQCIH9E7vOnZG/cOPzfsGG4cFPpGV/pP+UGSr40s1LsNDs0AiA9tLysH5w2UkVNkmOTICD4sRYOF9WNHKuCWtKi+q1ujw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":518028},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@openai/codex":"0.153.4","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.153.4","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.5.1_1788700069441_0.32010016958166077","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"codex-relay","version":"1.5.2","license":"Apache-2.0","_id":"codex-relay@1.5.2","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"5ea706a72903719e1c9d592d1288668daad55d07","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.5.2.tgz","fileCount":14,"integrity":"sha512-nXlms4JIt1ltXxWcg7ZkQOzJ2LJOG1WzwTBs75PKdcoBUwIM36AdNyCCMRsqnCKcVZ5D+yY8ul41IqPDvwfZQg==","signatures":[{"sig":"MEUCIQDZHbRZg5yQXNNm3T+s9FoLBMiFxQNhBm8RCIEBQg0uhQIgeNlnnq2nCAjkq8v5Agfi3BzSJ3R6WbmAnKgftQ1u03c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522060},"type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@openai/codex":"0.153.4","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.153.4","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/codex-relay_1.5.2_1788788403065_0.025603826889105896","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"_id":"codex-relay@1.6.0","bin":{"codex-relay":"dist/cli.js"},"dist":{"shasum":"adf474f9c9636f2b8fa11a37a0bcceec47ff3596","tarball":"https://registry.npmjs.org/codex-relay/-/codex-relay-1.6.0.tgz","fileCount":14,"integrity":"sha512-vh4Sw1qH403Eh4qBAfSjJyZir634Gk9+FwP0W4D/WWLwhYk1NGOfWKhGI8HHmiLZ6vXyduYYb9eSiPg6apvLpQ==","signatures":[{"sig":"MEUCIAxecA+sZv+6sl0UdzKR+tU7dhKAdt//KG5fdk+xmp/WAiEAzfQtqXGvBLGvOAKVad7mVvwDiOGH+jSszKPm0Sz59Rg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCmB8Ty7r+HXEPRUDgtrSdlU6xu8FiyHDJpktaK1oieRgIgWKPZGHoSj5iCl14c1bVojAnMv6ReaVcFNOUmhZsI8nk="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codex-relay@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":526764},"name":"codex-relay","type":"module","engines":{"node":">=22.14.0"},"exports":{".":"./dist/cli.js","./api-schema":{"types":"./src/api-schema.ts","import":"./dist/api-schema.js","default":"./dist/api-schema.js","react-native":"./api-schema.ts"},"./package.json":"./package.json"},"license":"Apache-2.0","scripts":{"dev":"NODE_ENV=development tsx watch src/cli.ts","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit"},"version":"1.6.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc0c08f5-0041-44d7-a339-44faad60be69"}},"repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","directories":{},"maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"dependencies":{"ws":"8.21.0","zod":"^4.1.12","hono":"^4.10.7","es-git":"^0.6.0","libsql":"0.5.29","base64-js":"1.5.1","commander":"^14.0.3","picocolors":"^1.1.1","@noble/curves":"2.2.0","@noble/hashes":"2.2.0","@openai/codex":"0.156.1","@libsql/client":"0.17.4","@noble/ciphers":"2.2.0","qrcode-terminal":"^0.12.0","@lydell/node-pty":"1.2.0-beta.12","@hono/node-server":"^1.19.6","@openai/codex-sdk":"0.156.1","@modelcontextprotocol/sdk":"^1.24.0","@commander-js/extra-typings":"^14.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsdown":"0.21.10","vitest":"^4.0.15","typescript":"~5.9.2","@types/node":"^24.10.1","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codex-relay_1.6.0_1790142734172_0.847412726755876"}}},"time":{"created":"2026-04-28T17:19:02.654Z","modified":"2026-09-23T05:52:14.553Z","1.0.0":"2026-04-28T17:19:02.946Z","1.0.1":"2026-04-28T17:34:42.330Z","1.0.1-beta.0":"2026-04-28T18:35:55.039Z","1.0.1-beta.1":"2026-04-28T19:14:19.895Z","1.0.2":"2026-05-03T16:37:06.441Z","1.0.3":"2026-05-08T18:08:40.159Z","1.0.4":"2026-05-10T07:08:07.687Z","1.0.5":"2026-05-11T14:08:37.092Z","1.0.6":"2026-05-15T03:42:49.328Z","1.0.7":"2026-05-16T10:10:29.304Z","1.1.0":"2026-05-16T11:02:52.252Z","1.1.1":"2026-05-29T00:26:28.197Z","1.2.0":"2026-06-06T14:10:37.289Z","1.2.1":"2026-06-07T15:21:12.602Z","1.2.2":"2026-06-20T06:17:38.497Z","1.2.3":"2026-06-23T04:28:20.095Z","1.2.4":"2026-06-26T11:27:04.261Z","1.3.0":"2026-07-10T13:40:25.780Z","1.3.1":"2026-07-10T18:21:25.782Z","1.3.2":"2026-07-17T03:45:59.971Z","1.4.0":"2026-07-18T17:48:24.457Z","1.4.1":"2026-07-22T12:38:35.841Z","1.4.2":"2026-07-23T01:42:24.590Z","1.4.3":"2026-07-26T06:23:18.376Z","1.4.4":"2026-07-27T00:59:50.986Z","1.4.5":"2026-07-29T11:00:12.823Z","1.4.6":"2026-08-04T10:39:20.168Z","1.4.7":"2026-08-08T11:46:19.872Z","1.4.8":"2026-08-15T17:08:57.602Z","1.4.9":"2026-08-26T01:03:45.108Z","1.4.10":"2026-08-26T05:09:10.738Z","1.4.11":"2026-08-26T05:59:08.044Z","1.4.12":"2026-08-26T06:29:52.650Z","1.4.13":"2026-08-31T04:04:37.045Z","1.4.14":"2026-09-01T02:52:32.723Z","1.5.0":"2026-09-05T11:54:32.204Z","1.5.1":"2026-09-06T13:07:49.595Z","1.5.2":"2026-09-07T13:40:03.245Z","1.6.0":"2026-09-23T05:52:14.266Z"},"license":"Apache-2.0","repository":{"url":"git+https://github.com/gronxb/codex-relay.git","type":"git","directory":"packages/codex-relay"},"description":"Local Codex Relay CLI bridge for the Codex Relay mobile app.","maintainers":[{"name":"gronxb","email":"gron1gh1@gmail.com"}],"readme":"# Codex Relay CLI\n\nCodex Relay runs a local bridge server for the Codex Relay mobile app. Keep Codex on your computer, then use your phone to pair with that local session, send prompts, watch streamed output, and respond to approval requests.\n\nCodex Relay is an independent project. It is not affiliated with, endorsed by, or sponsored by OpenAI or the OpenAI Codex team.\n\n## Requirements\n\n- Node.js 22.14 or newer\n- Codex CLI installed and signed in on the computer running the relay\n- The Codex Relay mobile app on the same network, Tailscale network, or another route that can reach your computer\n\n## Start the Relay\n\nRun the server from the workspace you want Codex to use:\n\n```sh\nnpx codex-relay@latest\n```\n\nThe CLI prints a QR code, a mobile URL, and a `codex-relay://pair...` pairing payload. Scan the QR code from the mobile app. If the relay detects multiple possible network addresses, the QR includes them and the app automatically uses the first address it can reach. If scanning is not available, paste the full pairing payload into the app.\n\nWhen the app shows an approval code, the interactive relay terminal shows the\nsame code and asks `Approve? [y/N]`. Check that the codes match, then type `y`\nand press Enter in that terminal. Other input leaves the request unapproved.\nNo second terminal is needed.\n\nFor background relays or non-interactive output, use the approval command:\n\n```sh\nnpx codex-relay@latest approve XXXX-XXXX\n```\n\nAfter approval, the phone can list Codex threads, start new work, stream messages, and handle approval prompts from the local Codex runtime.\n\nThe thread list shows the 20 most recently active, non-archived root sessions across\nworkspaces. This does not delete or archive older sessions. Set\n`CODEX_RELAY_THREAD_LIST_LIMIT=100` before starting the relay to show more history.\nThe relay reads Codex's session index so refreshing the list does not repeatedly\nparse large legacy rollout files. An empty index triggers a bounded history lookup;\nlegacy files copied into a partially populated index may need to be discovered by\nCodex before they appear in the relay.\n\n## Shared Terminal and Mobile Sessions\n\nOn macOS, Codex Relay prefers Codex's shared Unix socket so terminal and mobile clients can follow the same live sessions. If the shared app-server cannot start or initialize, the relay prints a warning and continues with a private app-server.\n\nLinux, WSL, and native Windows keep using a private app-server by default. A terminal TUI that was started separately can resume the same saved thread, but it does not receive the relay process's live events.\n\nRequire the shared app-server on any platform:\n\n```sh\nnpx codex-relay@latest --shared-app-server\n```\n\nThis explicit mode does not fall back to a private app-server when shared startup fails.\n\nWhen a shared app-server is already running, the relay attaches to it instead of starting another one. If the relay's own socket connection resets, it reconnects without deliberately stopping the shared app-server.\n\nThen connect a new terminal TUI to the shared app-server. On macOS, Linux, or WSL:\n\n```sh\ncodex resume --remote unix://\n```\n\nOn native Windows, use the loopback WebSocket endpoint:\n\n```powershell\ncodex resume --remote ws://127.0.0.1:8788\n```\n\nPass a thread ID after the remote endpoint to open a specific thread. The relay prints the attach command at startup. Mobile and the connected terminal can then observe the same live sessions through one socket-backed app-server. An already-running standalone TUI cannot be converted in place; exit it and reconnect with `--remote`.\n\nShared mode uses Codex's experimental app-server transport. A directly connected terminal TUI has its own WebSocket connection, which the relay cannot observe or reconnect. If that terminal reports a socket reset while the thread continues on mobile, reconnect it with the matching remote endpoint above and append the thread ID if needed.\n\nShared mode requires a recent Codex CLI with app-server and `resume --remote` support. It uses a Unix socket on macOS, Linux, and WSL, or a loopback-only WebSocket on Windows. If explicit shared mode is unavailable, update Codex or omit `--shared-app-server`. On macOS, set `CODEX_RELAY_APP_SERVER_MODE=stdio` to force private mode instead of using the shared-first default.\n\n## Background Mode\n\nTo keep the relay running after the command returns:\n\n```sh\nnpx codex-relay@latest --bg\n```\n\nBackground mode writes runtime files under `.codex-relay/` in the current directory:\n\n- `.codex-relay/server.log`\n- `.codex-relay/server.pid`\n- `.codex-relay/server-state.json`\n- `.codex-relay/auth.db`\n\nPrint the current pairing QR again:\n\n```sh\nnpx codex-relay@latest qr\n```\n\nStop a background server:\n\n```sh\nnpx codex-relay@latest stop\n```\n\n## Commands\n\n```sh\nnpx codex-relay@latest\n```\n\nStart the relay in the foreground.\n\n```sh\nnpx codex-relay@latest --bg\n```\n\nStart the relay in the background.\n\n```sh\nnpx codex-relay@latest stop\n```\n\nStop the background relay. Repeating this command is safe when no background server is running.\n\n```sh\nnpx codex-relay@latest --shared-app-server\n```\n\nRequire the relay to start through Codex's shared app-server socket.\n\n```sh\nnpx codex-relay@latest qr\n```\n\nPrint the latest pairing QR for an already running relay.\n\n```sh\nnpx codex-relay@latest approve XXXX-XXXX\n```\n\nApprove a pending mobile pairing request.\n\n```sh\nnpx codex-relay@latest --dangerously-auto-approve\n```\n\nStart the relay and automatically approve mobile pairing requests. Use this only for controlled review or demo environments.\n\n## Configuration\n\nThe relay listens on `0.0.0.0:8787` by default. Configure it with environment variables:\n\n| Variable                               | Purpose                                                                                                                                                         |\n| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `PORT`                                 | Server port. Defaults to `8787`.                                                                                                                                |\n| `HOST`                                 | Listen host. Defaults to `0.0.0.0`.                                                                                                                             |\n| `CODEX_RELAY_WORKSPACE_PATH`           | Workspace path Codex should use. Defaults to the directory where you run `npx codex-relay@latest`.                                                              |\n| `CODEX_RELAY_AUTH_DB_PATH`             | Pairing and session database path. Defaults to `.codex-relay/auth.db`.                                                                                          |\n| `CODEX_RELAY_APPROVAL_SECRET`          | Secret used by the local approve command. Usually generated automatically.                                                                                      |\n| `CODEX_RELAY_DANGEROUSLY_AUTO_APPROVE` | Set to `1` to auto-approve mobile pairing requests. Prefer the CLI flag for local use.                                                                          |\n| `CODEX_RELAY_APP_SERVER_MODE`          | Set to `socket` to require shared mode or `stdio` to require private mode. Unset prefers shared mode with startup fallback on macOS and private mode elsewhere. |\n| `CODEX_HOME`                           | Codex home directory, used when reading Codex session metadata.                                                                                                 |\n| `CODEX_BIN`                            | Codex CLI executable path.                                                                                                                                      |\n\nExamples:\n\n```sh\nPORT=8788 npx codex-relay@latest\n```\n\n```sh\nCODEX_RELAY_WORKSPACE_PATH=/path/to/project npx codex-relay@latest\n```\n\n## Network Notes\n\nThe phone must be able to reach one of the URLs printed by the relay.\n\n- On the same Wi-Fi network, the relay usually prints a local network address.\n- On Tailscale, the relay prefers your Tailscale address when it can detect one.\n- If several Wi-Fi, VPN, or virtual network addresses are available, the QR includes all detected candidates and the app tries them automatically.\n\n## Troubleshooting\n\nIf `npx codex-relay@latest qr` cannot find a server, start one first:\n\n```sh\nnpx codex-relay@latest\n```\n\nIf the relay says another process is using the local pairing database, use the existing server:\n\n```sh\nnpx codex-relay@latest qr\n```\n\nOr stop the background process shown by the CLI:\n\n```sh\nnpx codex-relay@latest stop\n```\n\nIf the mobile app cannot connect, confirm that the phone can reach the printed `Mobile:` URL and that the chosen port is not blocked by a firewall.\n\nConnection checklist:\n\n- Are the phone and computer on the same Wi-Fi or LAN?\n- If keeping the same network is difficult, are both devices connected through Tailscale or another reachable private network?\n- Can the phone open the exact `Mobile:` URL printed by the relay?\n- Does the computer firewall allow inbound traffic on the relay port, usually `8787`?\n","readmeFilename":""}