@codexapi/codexclaude 2.0.14 → 2.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CUSTOMIZATIONS.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # CodexAPI.pro Customizations
2
2
 
3
- `codexclaude` intentionally tracks the official OpenAI Codex CLI while keeping a thin CodexAPI.pro launcher layer.
3
+ `codexclaude` intentionally tracks the managed coding runtime while keeping a thin CodexAPI.pro launcher layer.
4
4
 
5
- ## Upstream Runtime
5
+ ## Runtime
6
6
 
7
- - Official package: `@openai/codex`
8
- - Pinned runtime version: `0.142.5`
9
- - Local launcher version: `2.0.14`
7
+ - Customer-facing app name: `Magnetapi.org Coding Agent`
8
+ - Local launcher version: `2.0.15`
9
+ - Bundled coding runtime is managed internally and must not be advertised in customer-facing startup text.
10
10
 
11
11
  ## Launcher Behavior
12
12
 
@@ -14,7 +14,7 @@
14
14
  - Saves the returned API username in `~/.codexclaude/config.json`.
15
15
  - Rewrites `~/.codex/config.toml` before every launch.
16
16
  - Starts official Codex with `--search` by default.
17
- - Passes all unknown commands directly to the official Codex CLI.
17
+ - Passes all unknown commands directly to the bundled coding runtime.
18
18
  - Provides `codexclaude changelog` so users can see forced-update changes from the terminal.
19
19
  - Does not expose separate `codexclaude status` or `codexclaude usage` commands; wallet information remains a compact pre-launch line.
20
20
  - Checks npm latest at startup and blocks coding with an Update Now command when a newer launcher is available.
@@ -23,7 +23,7 @@
23
23
 
24
24
  The launcher writes a Codex model provider named `codexapi`:
25
25
 
26
- - `base_url = "https://codexapi.pro/v1"` for ChatGPT-5.5, Deepseek v4 Budget, and Google Gemini Flash 3.5, or `https://api-chicago.codexapi.pro/v1` for Opus 4.8.
26
+ - `base_url = "https://codexapi.pro/v1"` for ChatGPT-5.5, or `https://api-chicago.codexapi.pro/v1` for Claude-family models.
27
27
  - `wire_api = "responses"`
28
28
  - `supports_websockets = false`
29
29
  - `experimental_bearer_token` set to the customer API username
@@ -31,18 +31,16 @@ The launcher writes a Codex model provider named `codexapi`:
31
31
 
32
32
  ## Runtime Defaults
33
33
 
34
- - Model: selected by the user, defaulting to `gpt-5.5`; supported launcher choices are `gpt-5.5`, `claude-opus-4-8`, `claude-sonnet-5`, `claude-fable-5`, `deepseek-v4-pro`, and `gemini-3.5-flash`.
34
+ - Model: selected by the user, defaulting to `gpt-5.5`; supported launcher choices are `gpt-5.5`, `claude-opus-4-8`, `claude-sonnet-5`, and `claude-fable-5`.
35
35
  - Reasoning effort displayed in Codex: `xhigh`
36
36
  - Server-side upstream reasoning effort: `high`, enforced by CodexAPI.pro regardless of client display.
37
- - Local model catalog: `~/.codexclaude/model_catalog.json`; this keeps native Codex `/model` limited to the six supported CodexAPI.pro choices and prevents fallback metadata warnings for Opus 4.8, Sonnet 5, Fable 5, Deepseek v4 Budget, and Google Gemini Flash 3.5.
37
+ - Local model catalog: `~/.codexclaude/model_catalog.json`; this keeps native Codex `/model` limited to the four supported CodexAPI.pro choices and prevents fallback metadata warnings for Opus 4.8, Sonnet 5, and Fable 5.
38
38
  - Service tier: omitted by default; `/fast` remains a user-controlled Codex setting and is billed server-side when active.
39
39
  - Approval policy: `never`
40
40
  - Sandbox mode: `danger-full-access`
41
41
  - TUI status line: `model-with-reasoning`, `fast-mode`, `current-dir`
42
42
  - Claude-family Responses traffic uses the Claude-compatible CodexAPI.pro endpoint for CodexAPI.pro and ChatPlus accounts, while MyAPI.world accounts keep the MyAPI endpoint.
43
43
  - Fable 5 stays visible to the user while the backend applies the custom routed premium path and 2x billing multiplier.
44
- - Deepseek v4 Budget Responses traffic is routed through CodexAPI.pro's Deepseek-compatible gateway.
45
- - Google Gemini Flash 3.5 Responses traffic keeps the user-visible Gemini model id while CodexAPI.pro routes it internally through Sonnet 5 with the configured server effort.
46
44
 
47
45
  Current backend state verified on 2026-06-25: Admin Manage Models controls runtime routing server-side. This operational routing must not change the launcher-visible model ids, model catalog, or customer-facing labels.
48
46
 
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # codexclaude
2
2
 
3
- `codexclaude` is the CodexAPI.pro launcher for customers who want one coding CLI that can use ChatGPT-5.5, Opus 4.8, Sonnet 5, Fable 5, Deepseek v4 Budget, or Google Gemini Flash 3.5 against the same Token Wallet.
3
+ `codexclaude` installs the Magnetapi.org Coding Agent for customers who want one coding CLI that can use ChatGPT-5.5, Opus 4.8, Sonnet 5, or Fable 5 against the same Token Wallet.
4
4
 
5
- Version `2.0.14` launches the official OpenAI Codex CLI `0.142.5` package and applies account, wallet, model, and Full Access defaults before Codex starts.
5
+ Version `2.0.15` applies account, wallet, model, and Full Access defaults before the coding session starts.
6
6
 
7
7
  ## Install
8
8
 
@@ -48,7 +48,7 @@ Switch model:
48
48
  codexclaude model
49
49
  ```
50
50
 
51
- Available model labels are `ChatGPT-5.5`, `Opus 4.8`, `Sonnet 5`, `Fable 5`, `Deepseek v4 Budget`, and `Google Gemini Flash 3.5`. All six use a Responses-compatible endpoint and the same customer Token Wallet.
51
+ Available model labels are `ChatGPT-5.5`, `Opus 4.8`, `Sonnet 5`, and `Fable 5`. All four use a Responses-compatible endpoint and the same customer Token Wallet.
52
52
 
53
53
  Show current launcher changes:
54
54
 
@@ -67,15 +67,14 @@ gpt-5.5 xhigh · ~/codexapi · Wallet $20.00
67
67
  ## Preserved CodexAPI.pro Customizations
68
68
 
69
69
  - Dashboard username or email plus password login.
70
- - ChatGPT-5.5, Opus 4.8, Sonnet 5, Fable 5, Deepseek v4 Budget, or Google Gemini Flash 3.5 model selection.
70
+ - ChatGPT-5.5, Opus 4.8, Sonnet 5, or Fable 5 model selection.
71
71
  - CodexAPI.pro Responses-compatible provider at `https://codexapi.pro/v1`.
72
72
  - Full Access defaults: approval policy `never` and sandbox mode `danger-full-access`.
73
73
  - xhigh visible reasoning in the local Codex UI while CodexAPI.pro keeps upstream runtime effort server-managed.
74
- - A local `~/.codexclaude/model_catalog.json` file so native Codex `/model` lists only ChatGPT-5.5, Opus 4.8, Sonnet 5, Fable 5, Deepseek v4 Budget, and Google Gemini Flash 3.5.
74
+ - A local `~/.codexclaude/model_catalog.json` file so native Codex `/model` lists only ChatGPT-5.5, Opus 4.8, Sonnet 5, and Fable 5.
75
75
  - No default fast service tier. Fast mode is billed only when the user enables it inside Codex.
76
- - Official Codex `0.142.5` runtime with the current profile-compatible config enabled.
76
+ - Magnetapi.org Coding Agent `2.0.15` with the current profile-compatible config enabled.
77
77
  - Token Wallet balance lookup before launch without exposing separate `status` or `usage` launcher commands.
78
78
  - Opus 4.8 tool-call compatibility through the Chicago CodexAPI.pro Responses gateway.
79
- - Google Gemini Flash 3.5 is visible to users while CodexAPI.pro routes it server-side through the approved Sonnet 5 low-effort bridge.
80
79
  - Backend-identifying request headers so CodexAPI.pro can enforce subscription plan rules server-side.
81
80
  - npm latest-version checks before coding starts, with an explicit update command when a newer required launcher exists.
@@ -10,8 +10,9 @@ import { stdin as input, stdout as output } from "node:process";
10
10
 
11
11
  const require = createRequire(import.meta.url);
12
12
 
13
- const APP_VERSION = "2.0.14";
13
+ const APP_VERSION = "2.0.15";
14
14
  const CODEX_VERSION = "0.142.5";
15
+ const APP_DISPLAY_NAME = "Magnetapi.org Coding Agent";
15
16
  const DISPLAY_REASONING_EFFORT = "xhigh";
16
17
  const SERVER_REASONING_EFFORT = "high";
17
18
  const API_ORIGIN = (process.env.CODEXCLAUDE_API_ORIGIN || "https://codexapi.pro").replace(/\/+$/, "");
@@ -63,24 +64,13 @@ const MODELS = {
63
64
  aliases: ["4", "fable", "fable-5", "fabel", "fabel-5", "claude-fable-5", "claude-fabel-5"],
64
65
  premium: true,
65
66
  },
66
- "deepseek-v4-pro": {
67
- id: "deepseek-v4-pro",
68
- label: "Deepseek v4 Budget",
69
- aliases: ["5", "deepseek", "deepseek-v4", "deepseek-v4-pro", "budget"],
70
- budget: true,
71
- },
72
- "gemini-3.5-flash": {
73
- id: "gemini-3.5-flash",
74
- label: "Google Gemini Flash 3.5",
75
- aliases: ["6", "gemini", "flash", "gemini-flash", "gemini-3.5-flash", "gemini-flash-3.5", "google-gemini-flash-3.5"],
76
- },
77
67
  };
78
68
 
79
69
  async function main() {
80
70
  ensureExecutable();
81
71
  const [command = "start", ...args] = process.argv.slice(2);
82
72
  if (["-v", "--version", "version"].includes(command)) {
83
- console.log(`codexclaude ${APP_VERSION}`);
73
+ console.log(`${APP_DISPLAY_NAME} ${APP_VERSION}`);
84
74
  return;
85
75
  }
86
76
  if (["-h", "--help", "help"].includes(command)) {
@@ -125,18 +115,18 @@ async function main() {
125
115
 
126
116
  function printHelp() {
127
117
  console.log(`
128
- codexclaude ${APP_VERSION}
118
+ ${APP_DISPLAY_NAME} ${APP_VERSION}
129
119
 
130
120
  Commands:
131
121
  codexclaude login Login with CodexAPI.pro username/email and password
132
- codexclaude model Select ChatGPT-5.5, Opus 4.8, Sonnet 5, Fable 5, Deepseek v4 Budget, or Google Gemini Flash 3.5
122
+ codexclaude model Select ChatGPT-5.5, Opus 4.8, Sonnet 5, or Fable 5
133
123
  codexclaude changelog Show the latest CodexAPI.pro launcher changes
134
124
  codexclaude setup Rewrite ~/.codex/config.toml with Full Access defaults
135
125
  codexclaude start Start Codex with --search
136
126
  codexclaude resume Resume with codex resume --search
137
127
  codexclaude logout Remove saved codexclaude account state
138
128
 
139
- Any other command is passed through to official Codex CLI ${CODEX_VERSION} after config is applied.
129
+ Any other command is passed through to the bundled coding runtime after Magnetapi.org account and model config is applied.
140
130
  `);
141
131
  }
142
132
 
@@ -526,12 +516,6 @@ function modelCatalogDescription(modelId) {
526
516
  if (modelId === "claude-fable-5") {
527
517
  return "CodexAPI.pro Fable 5 premium coding route with local Codex tools and wallet billing.";
528
518
  }
529
- if (modelId === "deepseek-v4-pro") {
530
- return "CodexAPI.pro Deepseek v4 Budget coding route with local Codex tools and wallet billing.";
531
- }
532
- if (modelId === "gemini-3.5-flash") {
533
- return "CodexAPI.pro Google Gemini Flash 3.5 coding route with local Codex tools and wallet billing.";
534
- }
535
519
  return "CodexAPI.pro ChatGPT-5.5 coding route with local Codex tools and wallet billing.";
536
520
  }
537
521
 
@@ -572,6 +556,7 @@ async function runCodex(args) {
572
556
  if (!isTruthy(process.env.CODEXCLAUDE_QUIET_STATUS)) {
573
557
  console.log(formatStatusLine(config, wallet, process.cwd()));
574
558
  }
559
+ process.stdout.write(`\x1b]0;${APP_DISPLAY_NAME} v${APP_VERSION}\x07`);
575
560
  const launch = resolveCodexLaunch();
576
561
  const env = {
577
562
  ...process.env,
@@ -687,7 +672,7 @@ function numericWalletValue(value) {
687
672
  function formatStatusLine(config, wallet, cwd) {
688
673
  const model = modelStatusName(config.model);
689
674
  const walletText = wallet ? `Wallet ${formatUsd(wallet.balance)}` : "Wallet unavailable";
690
- return `${model} ${DISPLAY_REASONING_EFFORT} · ${formatCwd(cwd)} · ${walletText}`;
675
+ return `${APP_DISPLAY_NAME} v${APP_VERSION} · ${model} ${DISPLAY_REASONING_EFFORT} · ${formatCwd(cwd)} · ${walletText}`;
691
676
  }
692
677
 
693
678
  function modelStatusName(model) {
@@ -700,12 +685,6 @@ function modelStatusName(model) {
700
685
  if (model === "claude-fable-5") {
701
686
  return "fable-5";
702
687
  }
703
- if (model === "deepseek-v4-pro") {
704
- return "deepseek-v4 budget";
705
- }
706
- if (model === "gemini-3.5-flash") {
707
- return "gemini flash 3.5";
708
- }
709
688
  return "gpt-5.5";
710
689
  }
711
690
 
@@ -723,8 +702,19 @@ function normalizeConfig(config) {
723
702
  if (["claude-fabel-5", "fable-5", "fabel-5"].includes(normalized.model)) {
724
703
  normalized.model = "claude-fable-5";
725
704
  }
726
- if (["gemini-flash-3.5", "gemini-flash-3-5", "google-gemini-flash-3.5"].includes(normalized.model)) {
727
- normalized.model = "gemini-3.5-flash";
705
+ if (
706
+ [
707
+ "deepseek-v4-pro",
708
+ "deepseek-v4-budget",
709
+ "deepseek",
710
+ "budget",
711
+ "gemini-3.5-flash",
712
+ "gemini-flash-3.5",
713
+ "gemini-flash-3-5",
714
+ "google-gemini-flash-3.5",
715
+ ].includes(normalized.model)
716
+ ) {
717
+ normalized.model = "gpt-5.5";
728
718
  }
729
719
  if (!MODELS[normalized.model]) {
730
720
  normalized.model = "gpt-5.5";
package/codexclaude.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # codexclaude Customization Ledger
2
2
 
3
3
  This file records the CodexAPI.pro-specific behavior that must survive every
4
- upgrade of the official OpenAI Codex CLI dependency. Treat it as the handoff
4
+ upgrade of the bundled coding runtime dependency. Treat it as the handoff
5
5
  document for future maintainers. The launcher should remain a thin wrapper
6
6
  around official `@openai/codex`; do not patch the native Codex binary unless
7
7
  there is no supported configuration or API boundary that can solve the issue.
@@ -9,8 +9,9 @@ there is no supported configuration or API boundary that can solve the issue.
9
9
  ## Current Release
10
10
 
11
11
  - Launcher package: `@codexapi/codexclaude`
12
- - Launcher version: `2.0.14`
13
- - Official Codex runtime dependency: `@openai/codex@0.142.5`
12
+ - Launcher version: `2.0.15`
13
+ - Customer-facing app name: `Magnetapi.org Coding Agent`
14
+ - Bundled runtime dependency: managed internally; do not print the upstream runtime version in customer-facing startup text.
14
15
  - Public install command: `npm install -g @codexapi/codexclaude@latest`
15
16
  - Default API origin: `https://codexapi.pro`
16
17
  - Normal Responses base URL: `https://codexapi.pro/v1`
@@ -19,21 +20,19 @@ there is no supported configuration or API boundary that can solve the issue.
19
20
  - Generated Codex config: `~/.codex/config.toml`
20
21
  - Generated Codex model catalog: `~/.codexclaude/model_catalog.json`
21
22
 
22
- State verified on 2026-07-05: the launcher pins official Codex CLI `0.142.5`. Backend routing is server-controlled by Admin Manage Models and must not collapse the launcher model list or rename customer-selected model ids.
23
+ State verified on 2026-07-06: the launcher presents itself as Magnetapi.org Coding Agent `2.0.15`. Backend routing is server-controlled by Admin Manage Models and must not collapse the launcher model list or rename customer-selected model ids.
23
24
 
24
25
  ## Required User-Facing Model Behavior
25
26
 
26
- `codexclaude` supports exactly six visible model choices:
27
+ `codexclaude` supports exactly four visible model choices:
27
28
 
28
29
  - `gpt-5.5` displayed as `ChatGPT-5.5`
29
30
  - `claude-opus-4-8` displayed as `Opus 4.8`
30
31
  - `claude-sonnet-5` displayed as `Sonnet 5`
31
32
  - `claude-fable-5` displayed as `Fable 5`
32
- - `deepseek-v4-pro` displayed as `Deepseek v4 Budget`
33
- - `gemini-3.5-flash` displayed as `Google Gemini Flash 3.5`
34
33
 
35
- The launcher command `codexclaude model` must list only those six options.
36
- The native Codex `/model` picker must also list only those six options. This
34
+ The launcher command `codexclaude model` must list only those four options.
35
+ The native Codex `/model` picker must also list only those four options. This
37
36
  is enforced by writing `model_catalog_json` in `~/.codex/config.toml` and
38
37
  creating a complete Codex-compatible catalog at
39
38
  `~/.codexclaude/model_catalog.json`.
@@ -77,7 +76,7 @@ supported slugs. Each entry must include, at minimum:
77
76
  - `input_modalities`
78
77
  - `additional_speed_tiers`
79
78
 
80
- Keep `visibility = "list"` for the six supported entries. Do not include any
79
+ Keep `visibility = "list"` for the four supported entries. Do not include any
81
80
  other list-visible models in this catalog.
82
81
 
83
82
  ## Reasoning Display Versus Server Runtime
@@ -141,7 +140,7 @@ terminal_title = ["project-name", "model-with-reasoning", "run-state"]
141
140
  ```
142
141
 
143
142
  The selected model must remain the user's chosen slug. Do not force the local
144
- config model to `gpt-5.5` when Opus, Sonnet, Fable, Deepseek, or Gemini is selected. The backend can
143
+ config model to `gpt-5.5` when Opus, Sonnet, or Fable is selected. The backend can
145
144
  route any selected model through GPT-5.5 or another upstream internally, but the
146
145
  client request must preserve the user-facing selected slug for display,
147
146
  snapshotting, and billing records.
@@ -154,14 +153,6 @@ Claude-family codexclaude models use the CodexAPI.pro Claude-compatible Response
154
153
 
155
154
  `claude-fable-5` is a premium customer-visible model. The backend bills it at the configured 2x multiplier and routes it through the Admin-selected Fable 5 route while preserving `claude-fable-5` in client-visible status and usage records.
156
155
 
157
- `deepseek-v4-pro` uses the configured API origin. The backend currently routes
158
- this through the CodexAPI.pro-compatible path according to the active server
159
- policy.
160
-
161
- `gemini-3.5-flash` uses the configured API origin. The backend must keep
162
- `gemini-3.5-flash` visible to the user and usage records while routing the
163
- request internally through `claude-sonnet-5` at the configured server effort.
164
-
165
156
  The launcher must send these headers for every model:
166
157
 
167
158
  - `X-CodexAPI-Client: codexclaude`
@@ -211,8 +202,8 @@ When upgrading official `@openai/codex`:
211
202
 
212
203
  1. Update `CODEX_VERSION` in `bin/codexclaude.js`.
213
204
  2. Update `package.json` and `package-lock.json` to the same official Codex version.
214
- 3. Keep the launcher package version higher than the last published version.
215
- 4. Preserve the six-model `MODELS` map and aliases.
205
+ 3. Keep the launcher package version higher than the last published version and keep customer-facing startup text on the Magnetapi.org Coding Agent version.
206
+ 4. Preserve the four-model `MODELS` map and aliases.
216
207
  5. Preserve `DISPLAY_REASONING_EFFORT = "xhigh"` and keep `SERVER_REASONING_EFFORT` aligned with the server default.
217
208
  6. Preserve `writeModelCatalog()` and the `model_catalog_json` line in generated config.
218
209
  7. Preserve Full Access defaults: `approval_policy = "never"` and `sandbox_mode = "danger-full-access"`.
@@ -250,8 +241,8 @@ The JSON output must contain exactly:
250
241
 
251
242
  - `gpt-5.5`
252
243
  - `claude-opus-4-8`
253
- - `deepseek-v4-pro`
254
- - `gemini-3.5-flash`
244
+ - `claude-sonnet-5`
245
+ - `claude-fable-5`
255
246
 
256
247
  The Opus entry must have `default_reasoning_level = "xhigh"` and must not use
257
248
  fallback metadata.
@@ -270,6 +261,13 @@ python3 -m py_compile app/main.py app/openai_compat.py app/config.py app/postgre
270
261
  /root/codexapi/.venv/bin/pytest -q tests/test_openai_compat.py tests/test_main_helpers.py
271
262
  ```
272
263
 
264
+ ## Version 2.0.15 Changes
265
+
266
+ - Renamed the launcher-controlled startup/status surface to Magnetapi.org Coding Agent and now prints the app version instead of the upstream runtime version.
267
+ - Removed Gemini Flash and Deepseek from the launcher model picker and generated native Codex model catalog.
268
+ - Kept ChatGPT-5.5, Opus 4.8, Sonnet 5, and Fable 5 as the only visible codexclaude model choices.
269
+ - Preserved Full Access defaults, xhigh visible reasoning, wallet auth, local model catalog metadata, and CodexAPI.pro identifying headers.
270
+
273
271
  ## Version 2.0.14 Changes
274
272
 
275
273
  - Updated the official OpenAI Codex runtime dependency to `@openai/codex@0.142.5`, the latest version currently published on npm.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@codexapi/codexclaude",
3
- "version": "2.0.14",
4
- "description": "CodexAPI.pro coding CLI launcher for ChatGPT-5.5, Opus 4.8, Sonnet 5, Fable 5, Deepseek v4 Budget, and Google Gemini Flash 3.5, powered by official Codex CLI 0.142.5.",
3
+ "version": "2.0.15",
4
+ "description": "Magnetapi.org Coding Agent launcher for ChatGPT-5.5, Opus 4.8, Sonnet 5, and Fable 5.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "bin": {
@@ -26,10 +26,6 @@
26
26
  "codex",
27
27
  "claude",
28
28
  "opus",
29
- "deepseek",
30
- "gemini",
31
- "flash",
32
- "budget",
33
29
  "codexapi",
34
30
  "coding-cli"
35
31
  ],