@codexapi/codexclaude 2.0.21 → 2.0.23
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 +11 -11
- package/README.md +8 -8
- package/bin/codexclaude.js +32 -21
- package/codexclaude.md +40 -29
- package/package.json +2 -2
package/CUSTOMIZATIONS.md
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
## Runtime
|
|
6
6
|
|
|
7
7
|
- Customer-facing app name: `Magnetapi Client`
|
|
8
|
-
- Local launcher version: `2.0.
|
|
9
|
-
- Bundled official runtime dependency: `@openai/codex@0.144.
|
|
10
|
-
- Required install command: `npm install -g https://codexapi.pro/downloads/codexapi-codexclaude-2.0.
|
|
8
|
+
- Local launcher version: `2.0.23`
|
|
9
|
+
- Bundled official runtime dependency: `@openai/codex@0.144.3`
|
|
10
|
+
- Required install command: `npm install -g https://codexapi.pro/downloads/codexapi-codexclaude-2.0.23.tgz`
|
|
11
11
|
- Bundled runtime version is managed internally and must not be used for customer update prompts.
|
|
12
12
|
- Launcher update checks may call the CodexAPI.pro version endpoint and `@codexapi/codexclaude` npm metadata only.
|
|
13
13
|
- The launcher must never check `@openai/codex` npm metadata or OpenAI GitHub releases for update notices.
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
- Passes unknown commands directly to the bundled runtime after config is applied.
|
|
25
25
|
- Provides `codexclaude changelog` using the managed version endpoint.
|
|
26
26
|
- Does not expose separate `codexclaude status` or `codexclaude usage` commands; wallet information remains a compact pre-launch line.
|
|
27
|
-
- Version `2.0.
|
|
27
|
+
- Version `2.0.23` is forced by the backend minimum version and older clients must show an update-required message.
|
|
28
28
|
|
|
29
29
|
## Provider Config
|
|
30
30
|
|
|
@@ -41,9 +41,9 @@ The launcher writes a model provider named `codexapi`:
|
|
|
41
41
|
|
|
42
42
|
## Runtime Defaults
|
|
43
43
|
|
|
44
|
-
- Default model: `gpt-5.6
|
|
45
|
-
- Supported launcher choices: `gpt-5.6-sol-max`, `gpt-5.6-sol-ultra`, `gpt-5.6-sol`, `gpt-5.5`, `claude-opus-4-8`, `claude-sonnet-5`, and `claude-fable-5`
|
|
46
|
-
-
|
|
44
|
+
- Default model: `gpt-5.6` displayed as `GPT-5.6`
|
|
45
|
+
- Supported launcher choices: `gpt-5.6`, `gpt-5.6-sol-max`, `gpt-5.6-sol-ultra`, `gpt-5.6-sol`, `gpt-5.5`, `claude-opus-4-8`, `claude-sonnet-5`, and `claude-fable-5`
|
|
46
|
+
- Default reasoning effort displayed locally: `xhigh`; SOL Max and SOL Ultra retain their explicit premium labels.
|
|
47
47
|
- Reasoning hint sent in launcher env: model-specific
|
|
48
48
|
- Approval policy: `never`
|
|
49
49
|
- Sandbox mode: `danger-full-access`
|
|
@@ -51,8 +51,8 @@ The launcher writes a model provider named `codexapi`:
|
|
|
51
51
|
- Local model catalog: `~/.codexclaude/model_catalog.json`; this keeps the native `/model` picker limited to the supported choices and prevents fallback metadata warnings for GPT-5.6 SOL, SOL Max, SOL Ultra, Opus 4.8, Sonnet 5, and Fable 5.
|
|
52
52
|
- Service tier: omitted by default; `/fast` remains user-controlled and billed server-side when active.
|
|
53
53
|
- TUI status line: `model-with-reasoning`, `fast-mode`, `current-dir`
|
|
54
|
-
- Fable 5 stays visible to the user while the backend applies its
|
|
55
|
-
-
|
|
54
|
+
- Fable 5 stays visible to the user while the backend applies its server-managed route and billing policy.
|
|
55
|
+
- Premium model billing remains server-managed and is not rendered in the customer model picker or model descriptions.
|
|
56
56
|
|
|
57
57
|
## Wallet Display
|
|
58
58
|
|
|
@@ -61,7 +61,7 @@ Before launching the runtime, the launcher calls `/api/v1/wallet/status`, then `
|
|
|
61
61
|
Expected status line:
|
|
62
62
|
|
|
63
63
|
```text
|
|
64
|
-
Magnetapi Client v2.0.
|
|
64
|
+
Magnetapi Client v2.0.23 · gpt-5.6 xhigh · ~/project · Wallet $20.00
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
## Upgrade Checklist
|
|
@@ -72,7 +72,7 @@ When updating the bundled runtime:
|
|
|
72
72
|
2. Update `@openai/codex` in `package.json` and `package-lock.json`.
|
|
73
73
|
3. Bump the launcher package version.
|
|
74
74
|
4. Keep `APP_DISPLAY_NAME = "Magnetapi Client"`.
|
|
75
|
-
5. Keep `DEFAULT_MODEL_ID = "gpt-5.6
|
|
75
|
+
5. Keep `DEFAULT_MODEL_ID = "gpt-5.6"`.
|
|
76
76
|
6. Keep `reasoningEffortForModel()` and model-specific visible reasoning.
|
|
77
77
|
7. Keep Full Access defaults: `approval_policy = "never"` and `sandbox_mode = "danger-full-access"`.
|
|
78
78
|
8. Keep `check_for_update_on_startup = false`.
|
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# codexclaude
|
|
2
2
|
|
|
3
|
-
`codexclaude` installs the Magnetapi Client for customers who want one coding CLI that can use GPT-5.6 SOL, GPT-5.6 SOL Max, GPT-5.6 SOL Ultra, ChatGPT-5.5, Opus 4.8, Sonnet 5, or Fable 5 against the same Token Wallet.
|
|
3
|
+
`codexclaude` installs the Magnetapi Client for customers who want one coding CLI that can use GPT-5.6, GPT-5.6 SOL, GPT-5.6 SOL Max, GPT-5.6 SOL Ultra, ChatGPT-5.5, Opus 4.8, Sonnet 5, or Fable 5 against the same Token Wallet.
|
|
4
4
|
|
|
5
|
-
Version `2.0.
|
|
5
|
+
Version `2.0.23` is a required client sync release. It bundles official Codex runtime dependency `@openai/codex@0.144.3`, launches the platform-native runtime binary directly, disables upstream OpenAI update prompts, and applies account, wallet, model, Full Access, GPT-5.6/xhigh defaults, and managed model metadata before each coding session starts. Model menus no longer display wallet multiplier notices; billing remains managed by the server.
|
|
6
6
|
|
|
7
7
|
## Install Or Update
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npm install -g https://codexapi.pro/downloads/codexapi-codexclaude-2.0.
|
|
10
|
+
npm install -g https://codexapi.pro/downloads/codexapi-codexclaude-2.0.23.tgz
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
This does not delete local session history. The update replaces the `codexclaude` launcher package, refreshes the bundled runtime dependency, and rewrites the managed provider config the next time `codexclaude setup`, `codexclaude login`, or `codexclaude start` runs.
|
|
@@ -16,7 +16,7 @@ This does not delete local session history. The update replaces the `codexclaude
|
|
|
16
16
|
|
|
17
17
|
The launcher checks CodexAPI.pro's managed version endpoint and the `@codexapi/codexclaude` npm package metadata only. It must never check `@openai/codex` npm metadata or OpenAI GitHub releases for customer update prompts.
|
|
18
18
|
|
|
19
|
-
Version `2.0.
|
|
19
|
+
Version `2.0.23` is currently enforced as the minimum supported version, so older launchers show a required update message with the exact hosted tarball command above.
|
|
20
20
|
|
|
21
21
|
## First Login
|
|
22
22
|
|
|
@@ -24,7 +24,7 @@ Version `2.0.21` is currently enforced as the minimum supported version, so olde
|
|
|
24
24
|
codexclaude login
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Enter the Dashboard Username or Email Address and password. The launcher can log in to CodexAPI.pro, ChatPlus.chat, MyAPI.world, or MagnetAPI.org, then saves the correct System Token locally, writes `~/.codex/config.toml`, sets Full Access defaults, and lets the customer choose the coding model. If the customer presses Enter at the model prompt, GPT-5.6
|
|
27
|
+
Enter the Dashboard Username or Email Address and password. The launcher can log in to CodexAPI.pro, ChatPlus.chat, MyAPI.world, or MagnetAPI.org, then saves the correct System Token locally, writes `~/.codex/config.toml`, sets Full Access defaults, and lets the customer choose the coding model. If the customer presses Enter at the model prompt, GPT-5.6 with xhigh reasoning is selected by default.
|
|
28
28
|
|
|
29
29
|
## Start Coding
|
|
30
30
|
|
|
@@ -44,7 +44,7 @@ Switch model:
|
|
|
44
44
|
codexclaude model
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
Available model labels are `GPT-5.6 SOL Max`, `GPT-5.6 SOL Ultra`, `GPT-5.6 SOL`, `ChatGPT-5.5`, `Opus 4.8`, `Sonnet 5`, and `Fable 5`.
|
|
47
|
+
Available model labels are `GPT-5.6`, `GPT-5.6 SOL Max`, `GPT-5.6 SOL Ultra`, `GPT-5.6 SOL`, `ChatGPT-5.5`, `Opus 4.8`, `Sonnet 5`, and `Fable 5`. All models use a Responses-compatible endpoint and the same customer Token Wallet.
|
|
48
48
|
|
|
49
49
|
Show current launcher changes:
|
|
50
50
|
|
|
@@ -57,13 +57,13 @@ codexclaude changelog
|
|
|
57
57
|
Before launching the coding runtime, the app prints a compact status line like:
|
|
58
58
|
|
|
59
59
|
```text
|
|
60
|
-
Magnetapi Client v2.0.
|
|
60
|
+
Magnetapi Client v2.0.23 · gpt-5.6 xhigh · ~/project · Wallet $20.00
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
## Preserved Customizations
|
|
64
64
|
|
|
65
65
|
- Dashboard Username or Email Address plus password login for CodexAPI.pro, ChatPlus.chat, MyAPI.world, and MagnetAPI.org.
|
|
66
|
-
- GPT-5.6 SOL Max, GPT-5.6 SOL Ultra, GPT-5.6 SOL, ChatGPT-5.5, Opus 4.8, Sonnet 5, or Fable 5 model selection, with GPT-5.6
|
|
66
|
+
- GPT-5.6, GPT-5.6 SOL Max, GPT-5.6 SOL Ultra, GPT-5.6 SOL, ChatGPT-5.5, Opus 4.8, Sonnet 5, or Fable 5 model selection, with GPT-5.6/xhigh as the default.
|
|
67
67
|
- Service-specific Responses-compatible provider for the dashboard account that logged in.
|
|
68
68
|
- Full Access defaults: approval policy `never` and sandbox mode `danger-full-access`.
|
|
69
69
|
- Model-specific visible reasoning in the local UI while the API server keeps upstream runtime effort server-managed.
|
package/bin/codexclaude.js
CHANGED
|
@@ -10,10 +10,10 @@ 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
|
-
const CODEX_VERSION = "0.144.
|
|
13
|
+
const APP_VERSION = "2.0.23";
|
|
14
|
+
const CODEX_VERSION = "0.144.3";
|
|
15
15
|
const APP_DISPLAY_NAME = "Magnetapi Client";
|
|
16
|
-
const DEFAULT_MODEL_ID = "gpt-5.6
|
|
16
|
+
const DEFAULT_MODEL_ID = "gpt-5.6";
|
|
17
17
|
const DEFAULT_DISPLAY_REASONING_EFFORT = "xhigh";
|
|
18
18
|
const DEFAULT_SERVER_REASONING_EFFORT = "xhigh";
|
|
19
19
|
const API_ORIGIN = (process.env.CODEXCLAUDE_API_ORIGIN || "https://codexapi.pro").replace(/\/+$/, "");
|
|
@@ -74,47 +74,50 @@ const SUPPORTED_REASONING_LEVELS = [
|
|
|
74
74
|
];
|
|
75
75
|
|
|
76
76
|
const MODELS = {
|
|
77
|
+
"gpt-5.6": {
|
|
78
|
+
id: "gpt-5.6",
|
|
79
|
+
label: "GPT-5.6",
|
|
80
|
+
aliases: ["1", "gpt", "gpt-5.6", "chatgpt", "chatgpt-5.6", "gpt56"],
|
|
81
|
+
reasoningEffort: "xhigh",
|
|
82
|
+
},
|
|
77
83
|
"gpt-5.6-sol-max": {
|
|
78
84
|
id: "gpt-5.6-sol-max",
|
|
79
85
|
label: "GPT-5.6 SOL Max",
|
|
80
|
-
aliases: ["
|
|
81
|
-
premiumLabel: "2x premium billing",
|
|
86
|
+
aliases: ["2", "gpt-5.6-sol-max", "gpt-5.6-max", "gpt56-max", "sol-max", "max"],
|
|
82
87
|
reasoningEffort: "max",
|
|
83
88
|
},
|
|
84
89
|
"gpt-5.6-sol-ultra": {
|
|
85
90
|
id: "gpt-5.6-sol-ultra",
|
|
86
91
|
label: "GPT-5.6 SOL Ultra",
|
|
87
|
-
aliases: ["
|
|
88
|
-
premiumLabel: "2.5x premium billing",
|
|
92
|
+
aliases: ["3", "gpt-5.6-sol-ultra", "gpt-5.6-ultra", "gpt56-ultra", "sol-ultra", "ultra"],
|
|
89
93
|
reasoningEffort: "ultra",
|
|
90
94
|
},
|
|
91
95
|
"gpt-5.6-sol": {
|
|
92
96
|
id: "gpt-5.6-sol",
|
|
93
97
|
label: "GPT-5.6 SOL",
|
|
94
|
-
aliases: ["
|
|
95
|
-
reasoningEffort: "
|
|
98
|
+
aliases: ["4", "gpt-5.6-sol", "sol"],
|
|
99
|
+
reasoningEffort: "xhigh",
|
|
96
100
|
},
|
|
97
101
|
"gpt-5.5": {
|
|
98
102
|
id: "gpt-5.5",
|
|
99
103
|
label: "ChatGPT-5.5",
|
|
100
|
-
aliases: ["
|
|
104
|
+
aliases: ["5", "gpt-5.5", "chatgpt-5.5"],
|
|
101
105
|
},
|
|
102
106
|
"claude-opus-4-8": {
|
|
103
107
|
id: "claude-opus-4-8",
|
|
104
108
|
label: "Opus 4.8",
|
|
105
|
-
aliases: ["
|
|
109
|
+
aliases: ["6", "opus", "opus-4.8", "opus-4.7", "claude", "claude-opus-4-8", "claude-opus-4-7"],
|
|
106
110
|
},
|
|
107
111
|
"claude-sonnet-5": {
|
|
108
112
|
id: "claude-sonnet-5",
|
|
109
113
|
label: "Sonnet 5",
|
|
110
|
-
aliases: ["
|
|
114
|
+
aliases: ["7", "sonnet", "sonnet-5", "sonnet-4.6", "sonnet-4-6", "claude-sonnet-5", "claude-sonnet-4-6", "claude-sonnet-4.6"],
|
|
111
115
|
},
|
|
112
116
|
"claude-fable-5": {
|
|
113
117
|
id: "claude-fable-5",
|
|
114
118
|
label: "Fable 5",
|
|
115
|
-
aliases: ["
|
|
119
|
+
aliases: ["8", "fable", "fable-5", "fabel", "fabel-5", "claude-fable-5", "claude-fabel-5"],
|
|
116
120
|
premium: true,
|
|
117
|
-
premiumLabel: "2x premium billing",
|
|
118
121
|
},
|
|
119
122
|
};
|
|
120
123
|
|
|
@@ -171,7 +174,7 @@ ${APP_DISPLAY_NAME} ${APP_VERSION}
|
|
|
171
174
|
|
|
172
175
|
Commands:
|
|
173
176
|
codexclaude login Login with dashboard username/email and password
|
|
174
|
-
codexclaude model Select
|
|
177
|
+
codexclaude model Select GPT-5.6, SOL modes, Opus 4.8, Sonnet 5, or Fable 5
|
|
175
178
|
codexclaude changelog Show the latest CodexAPI.pro launcher changes
|
|
176
179
|
codexclaude setup Rewrite ~/.codex/config.toml with Full Access defaults
|
|
177
180
|
codexclaude start Start Magnetapi Client with --search
|
|
@@ -371,8 +374,7 @@ async function askModel(rl, current) {
|
|
|
371
374
|
const currentLabel = MODELS[current]?.label || MODELS[DEFAULT_MODEL_ID].label;
|
|
372
375
|
console.log("\nChoose your coding model:");
|
|
373
376
|
Object.values(MODELS).forEach((model, index) => {
|
|
374
|
-
|
|
375
|
-
console.log(` ${index + 1}. ${model.label}${premium}`);
|
|
377
|
+
console.log(` ${index + 1}. ${model.label}`);
|
|
376
378
|
});
|
|
377
379
|
const answer = (await rl.question(`Model [${currentLabel}]: `)).trim().toLowerCase();
|
|
378
380
|
if (!answer) {
|
|
@@ -699,11 +701,14 @@ function modelCatalogEntry(model, index) {
|
|
|
699
701
|
}
|
|
700
702
|
|
|
701
703
|
function modelCatalogDescription(modelId) {
|
|
704
|
+
if (modelId === "gpt-5.6") {
|
|
705
|
+
return "GPT-5.6 coding route with local coding tools and wallet billing.";
|
|
706
|
+
}
|
|
702
707
|
if (modelId === "gpt-5.6-sol-max") {
|
|
703
|
-
return "GPT-5.6 SOL Max premium coding route with local coding tools and
|
|
708
|
+
return "GPT-5.6 SOL Max premium coding route with local coding tools and wallet billing.";
|
|
704
709
|
}
|
|
705
710
|
if (modelId === "gpt-5.6-sol-ultra") {
|
|
706
|
-
return "GPT-5.6 SOL Ultra premium coding route with local coding tools and
|
|
711
|
+
return "GPT-5.6 SOL Ultra premium coding route with local coding tools and wallet billing.";
|
|
707
712
|
}
|
|
708
713
|
if (modelId === "gpt-5.6-sol") {
|
|
709
714
|
return "GPT-5.6 SOL native coding route with local coding tools and wallet billing.";
|
|
@@ -923,6 +928,9 @@ function formatStatusLine(config, wallet, cwd) {
|
|
|
923
928
|
}
|
|
924
929
|
|
|
925
930
|
function modelStatusName(model) {
|
|
931
|
+
if (model === "gpt-5.6") {
|
|
932
|
+
return "gpt-5.6";
|
|
933
|
+
}
|
|
926
934
|
if (model === "gpt-5.6-sol-max") {
|
|
927
935
|
return "gpt-5.6-sol max";
|
|
928
936
|
}
|
|
@@ -941,7 +949,7 @@ function modelStatusName(model) {
|
|
|
941
949
|
if (model === "claude-fable-5") {
|
|
942
950
|
return "fable-5";
|
|
943
951
|
}
|
|
944
|
-
return "gpt-5.
|
|
952
|
+
return "gpt-5.6";
|
|
945
953
|
}
|
|
946
954
|
|
|
947
955
|
function reasoningEffortForModel(model) {
|
|
@@ -968,9 +976,12 @@ function normalizeConfig(config) {
|
|
|
968
976
|
if (["gpt-5.6-sol-ultra", "gpt-5.6-ultra", "gpt56-ultra", "sol-ultra", "ultra"].includes(normalized.model)) {
|
|
969
977
|
normalized.model = "gpt-5.6-sol-ultra";
|
|
970
978
|
}
|
|
971
|
-
if (["gpt-5-6-sol", "
|
|
979
|
+
if (["gpt-5-6-sol", "sol"].includes(normalized.model)) {
|
|
972
980
|
normalized.model = "gpt-5.6-sol";
|
|
973
981
|
}
|
|
982
|
+
if (["gpt-5-6", "gpt56", "chatgpt-5.6", "chatgpt-5-6"].includes(normalized.model)) {
|
|
983
|
+
normalized.model = "gpt-5.6";
|
|
984
|
+
}
|
|
974
985
|
if (
|
|
975
986
|
[
|
|
976
987
|
"deepseek-v4-pro",
|
package/codexclaude.md
CHANGED
|
@@ -5,14 +5,14 @@ This file is the durable handoff for the `@codexapi/codexclaude` package in `/ro
|
|
|
5
5
|
## Current Release
|
|
6
6
|
|
|
7
7
|
- Package name: `@codexapi/codexclaude`
|
|
8
|
-
- Launcher version: `2.0.
|
|
8
|
+
- Launcher version: `2.0.23`
|
|
9
9
|
- Customer-facing app name: `Magnetapi Client`
|
|
10
|
-
- Bundled runtime dependency: `@openai/codex@0.144.
|
|
11
|
-
- Required install command: `npm install -g https://codexapi.pro/downloads/codexapi-codexclaude-2.0.
|
|
12
|
-
- Backend minimum version: `2.0.
|
|
13
|
-
- Default visible model: `GPT-5.6
|
|
14
|
-
- Default model slug: `gpt-5.6
|
|
15
|
-
-
|
|
10
|
+
- Bundled runtime dependency: `@openai/codex@0.144.3`
|
|
11
|
+
- Required install command: `npm install -g https://codexapi.pro/downloads/codexapi-codexclaude-2.0.23.tgz`
|
|
12
|
+
- Backend minimum version: `2.0.23`
|
|
13
|
+
- Default visible model: `GPT-5.6`
|
|
14
|
+
- Default model slug: `gpt-5.6`
|
|
15
|
+
- Default visible reasoning effort: `xhigh`; premium SOL Max and SOL Ultra retain their explicit `max` and `ultra` labels.
|
|
16
16
|
- Local permissions: Full Access, implemented as `approval_policy = "never"` and `sandbox_mode = "danger-full-access"`
|
|
17
17
|
- Local launcher state: `~/.codexclaude/config.json`
|
|
18
18
|
- Generated runtime config: `~/.codex/config.toml`
|
|
@@ -24,28 +24,29 @@ This file is the durable handoff for the `@codexapi/codexclaude` package in `/ro
|
|
|
24
24
|
The launcher must present itself as:
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
|
-
Magnetapi Client v2.0.
|
|
27
|
+
Magnetapi Client v2.0.23
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Normal pre-launch status should look like:
|
|
31
31
|
|
|
32
32
|
```text
|
|
33
|
-
Magnetapi Client v2.0.
|
|
33
|
+
Magnetapi Client v2.0.23 · gpt-5.6 xhigh · ~/project · Wallet $20.00
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
Do not show OpenAI update notices, OpenAI npm install commands, OpenAI release links, or the upstream runtime version in launcher-owned output. The package still depends on the official runtime internally, but the customer update surface is ours.
|
|
37
37
|
|
|
38
|
-
The launcher command `codexclaude model` must list these customer-visible models
|
|
38
|
+
The launcher command `codexclaude model` must list these customer-visible models:
|
|
39
39
|
|
|
40
|
-
- `gpt-5.6
|
|
41
|
-
- `gpt-5.6-sol-
|
|
40
|
+
- `gpt-5.6` displayed as `GPT-5.6`, first and selected by default
|
|
41
|
+
- `gpt-5.6-sol-max` displayed as `GPT-5.6 SOL Max`
|
|
42
|
+
- `gpt-5.6-sol-ultra` displayed as `GPT-5.6 SOL Ultra`
|
|
42
43
|
- `gpt-5.6-sol` displayed as `GPT-5.6 SOL`
|
|
43
44
|
- `gpt-5.5` displayed as `ChatGPT-5.5`
|
|
44
45
|
- `claude-opus-4-8` displayed as `Opus 4.8`
|
|
45
46
|
- `claude-sonnet-5` displayed as `Sonnet 5`
|
|
46
47
|
- `claude-fable-5` displayed as `Fable 5`
|
|
47
48
|
|
|
48
|
-
GPT-5.6
|
|
49
|
+
GPT-5.6 must be the default when a new config is created or a legacy config contains an unsupported Gemini/Deepseek value. It is displayed with `xhigh` reasoning while the API servers execute Codex-family requests through the managed GPT-5.6 Terra/xhigh signed-in target. The selected model slug must stay in `~/.codex/config.toml`; do not rewrite customer-facing model selections locally. `gpt-5.6-sol-max` and `gpt-5.6-sol-ultra` remain distinct for customer choice, usage display, and wallet billing.
|
|
49
50
|
|
|
50
51
|
## Update Policy
|
|
51
52
|
|
|
@@ -54,7 +55,7 @@ GPT-5.6 SOL must be the default when a new config is created or a legacy config
|
|
|
54
55
|
- `https://codexapi.pro/api/v1/codexclaude/version`
|
|
55
56
|
- `https://registry.npmjs.org/@codexapi%2Fcodexclaude/latest`
|
|
56
57
|
|
|
57
|
-
It must not check `@openai/codex` npm metadata, OpenAI GitHub releases, or any upstream OpenAI update endpoint. Version `2.0.
|
|
58
|
+
It must not check `@openai/codex` npm metadata, OpenAI GitHub releases, or any upstream OpenAI update endpoint. Version `2.0.23` is a forced release: the backend `minimumVersion` equals `2.0.23`, and older clients must show an update-required message with the hosted tarball command.
|
|
58
59
|
|
|
59
60
|
The launcher writes `check_for_update_on_startup = false` and removes `~/.codex/version.json` so the bundled runtime does not display stale upstream update prompts. The launcher also resolves the platform-native runtime binary directly from the optional package (`@openai/codex-linux-x64`, `@openai/codex-darwin-arm64`, and so on). Do not fall back to the upstream npm wrapper, because that wrapper can re-enable upstream managed update behavior.
|
|
60
61
|
|
|
@@ -65,7 +66,7 @@ The optional platform-native runtime packages can still contain upstream README
|
|
|
65
66
|
`bin/codexclaude.js` must rewrite `~/.codex/config.toml` before every coding session. Preserve this top-level shape:
|
|
66
67
|
|
|
67
68
|
```toml
|
|
68
|
-
model = "gpt-5.6
|
|
69
|
+
model = "gpt-5.6"
|
|
69
70
|
model_catalog_json = "<absolute path to ~/.codexclaude/model_catalog.json>"
|
|
70
71
|
preferred_auth_method = "apikey"
|
|
71
72
|
model_provider = "codexapi"
|
|
@@ -82,7 +83,7 @@ base_url = "<service Responses URL>"
|
|
|
82
83
|
experimental_bearer_token = "<customer System Token/API username>"
|
|
83
84
|
wire_api = "responses"
|
|
84
85
|
supports_websockets = false
|
|
85
|
-
http_headers = { "X-CodexAPI-Client" = "codexclaude", "X-CodexAPI-Client-Version" = "2.0.
|
|
86
|
+
http_headers = { "X-CodexAPI-Client" = "codexclaude", "X-CodexAPI-Client-Version" = "2.0.23", "X-CodexAPI-Selected-Model" = "<selected model>" }
|
|
86
87
|
|
|
87
88
|
[tui]
|
|
88
89
|
status_line = ["model-with-reasoning", "fast-mode", "current-dir"]
|
|
@@ -90,7 +91,7 @@ status_line_use_colors = true
|
|
|
90
91
|
terminal_title = ["project-name", "model-with-reasoning", "run-state"]
|
|
91
92
|
```
|
|
92
93
|
|
|
93
|
-
The generated model catalog must contain full metadata for every supported slug, including `gpt-5.6-sol-max
|
|
94
|
+
The generated model catalog must contain full metadata for every supported slug, including `gpt-5.6`, `gpt-5.6-sol-max`, and `gpt-5.6-sol-ultra`. This prevents fallback metadata warnings such as:
|
|
94
95
|
|
|
95
96
|
```text
|
|
96
97
|
Model metadata for `claude-opus-4-8` not found. Defaulting to fallback metadata; this can degrade performance and cause issues.
|
|
@@ -114,7 +115,7 @@ The saved `username` is the System Token/API username returned by the service an
|
|
|
114
115
|
|
|
115
116
|
The launcher is not the source of truth for upstream runtime routing. Admin Manage Models controls execution routing server-side. The launcher must preserve the user-selected model slug and pass it through the Responses request so billing, logs, and the dashboard can record what the user chose.
|
|
116
117
|
|
|
117
|
-
CodexAPI.pro and ChatPlus Claude-family models use the CodexAPI.pro Claude-compatible Responses endpoint. MyAPI.world and MagnetAPI.org accounts keep their own API origins. Fable 5 remains visible as `claude-fable-5` while the backend applies the premium model behavior and billing.
|
|
118
|
+
CodexAPI.pro and ChatPlus Claude-family models use the CodexAPI.pro Claude-compatible Responses endpoint. MyAPI.world and MagnetAPI.org accounts keep their own API origins. Fable 5 remains visible as `claude-fable-5` while the backend applies the premium model behavior and billing. Premium billing stays server-managed and is not added to assistant output or customer model descriptions.
|
|
118
119
|
|
|
119
120
|
## Upgrade Checklist
|
|
120
121
|
|
|
@@ -125,7 +126,7 @@ When updating the bundled runtime dependency:
|
|
|
125
126
|
3. Bump `package.json` and `package-lock.json` to a new `@codexapi/codexclaude` version.
|
|
126
127
|
4. Update `APP_VERSION` and `CODEX_VERSION` in `bin/codexclaude.js`.
|
|
127
128
|
5. Preserve `APP_DISPLAY_NAME = "Magnetapi Client"`.
|
|
128
|
-
6. Preserve `DEFAULT_MODEL_ID = "gpt-5.6
|
|
129
|
+
6. Preserve `DEFAULT_MODEL_ID = "gpt-5.6"`.
|
|
129
130
|
7. Preserve `DISPLAY_REASONING_EFFORT = "xhigh"` and `SERVER_REASONING_EFFORT = "xhigh"` unless operations explicitly changes the launcher-visible contract.
|
|
130
131
|
8. Preserve Full Access defaults and the local model catalog.
|
|
131
132
|
9. Preserve direct platform-native binary launch.
|
|
@@ -152,7 +153,7 @@ tmp_home="$(mktemp -d)"
|
|
|
152
153
|
mkdir -p "$tmp_home/.codexclaude"
|
|
153
154
|
cat > "$tmp_home/.codexclaude/config.json" <<'JSON'
|
|
154
155
|
{
|
|
155
|
-
"version": "2.0.
|
|
156
|
+
"version": "2.0.23",
|
|
156
157
|
"serviceId": "codexapi",
|
|
157
158
|
"serviceLabel": "CodexAPI.pro",
|
|
158
159
|
"apiOrigin": "https://codexapi.pro",
|
|
@@ -167,7 +168,7 @@ HOME="$tmp_home" CODEXCLAUDE_DISABLE_UPDATE_CHECK=1 CODEXCLAUDE_QUIET_STATUS=1 n
|
|
|
167
168
|
|
|
168
169
|
Verify the generated config contains:
|
|
169
170
|
|
|
170
|
-
- `model = "gpt-5.6
|
|
171
|
+
- `model = "gpt-5.6"`
|
|
171
172
|
- `model_reasoning_effort = "xhigh"`
|
|
172
173
|
- `check_for_update_on_startup = false`
|
|
173
174
|
- `approval_policy = "never"`
|
|
@@ -176,6 +177,10 @@ Verify the generated config contains:
|
|
|
176
177
|
|
|
177
178
|
Verify the generated model catalog contains only:
|
|
178
179
|
|
|
180
|
+
- `gpt-5.6`
|
|
181
|
+
- `gpt-5.6-sol-max`
|
|
182
|
+
- `gpt-5.6-sol-ultra`
|
|
183
|
+
- `gpt-5.6-sol`
|
|
179
184
|
- `gpt-5.5`
|
|
180
185
|
- `claude-opus-4-8`
|
|
181
186
|
- `claude-sonnet-5`
|
|
@@ -185,21 +190,27 @@ After packaging, copy the tarball to the public downloads directories, restart t
|
|
|
185
190
|
|
|
186
191
|
```bash
|
|
187
192
|
curl -fsS "https://codexapi.pro/api/v1/codexclaude/version?current=2.0.17"
|
|
188
|
-
curl -fsSI "https://codexapi.pro/downloads/codexapi-codexclaude-2.0.
|
|
193
|
+
curl -fsSI "https://codexapi.pro/downloads/codexapi-codexclaude-2.0.23.tgz"
|
|
189
194
|
```
|
|
190
195
|
|
|
191
|
-
The version endpoint must report `latestVersion = 2.0.
|
|
196
|
+
The version endpoint must report `latestVersion = 2.0.23`, `minimumVersion = 2.0.23`, and `updateRequired = true` for old clients.
|
|
192
197
|
|
|
193
|
-
## Version 2.0.
|
|
198
|
+
## Version 2.0.23 Changes
|
|
194
199
|
|
|
195
|
-
-
|
|
196
|
-
-
|
|
200
|
+
- Removed wallet multiplier notices from the customer model picker and model descriptions.
|
|
201
|
+
- Kept premium billing and route selection server-managed without altering assistant output.
|
|
202
|
+
- Required older clients to synchronize so the removed notices cannot persist locally.
|
|
203
|
+
|
|
204
|
+
## Version 2.0.22 Changes
|
|
205
|
+
|
|
206
|
+
- Updated bundled runtime dependency to `@openai/codex@0.144.3`.
|
|
207
|
+
- Forced all older codexclaude clients to update by setting backend minimum version to `2.0.22`.
|
|
197
208
|
- Changed launcher-owned identity to `Magnetapi Client`.
|
|
198
|
-
- Made GPT-5.6
|
|
209
|
+
- Made GPT-5.6 with xhigh reasoning the default customer-visible model.
|
|
199
210
|
- Added GPT-5.6 SOL Max and GPT-5.6 SOL Ultra as explicit premium model choices.
|
|
200
|
-
-
|
|
211
|
+
- Preserved xhigh as the standard visible reasoning while retaining premium Max and Ultra labels.
|
|
201
212
|
- Preserved Full Access defaults.
|
|
202
213
|
- Disabled bundled runtime update checks through generated config and stale update-cache removal.
|
|
203
214
|
- Removed launcher fallback to the upstream npm wrapper so OpenAI update prompts are not emitted by codexclaude.
|
|
204
215
|
- Kept update monitoring limited to CodexAPI.pro version metadata and the `@codexapi/codexclaude` npm package.
|
|
205
|
-
- Updated setup scripts to install the exact hosted `2.0.
|
|
216
|
+
- Updated setup scripts to install the exact hosted `2.0.22` tarball.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codexapi/codexclaude",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.23",
|
|
4
4
|
"description": "Magnetapi Client launcher for ChatGPT-5.5, Opus 4.8, Sonnet 5, and Fable 5.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"node": ">=20"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@openai/codex": "0.144.
|
|
20
|
+
"@openai/codex": "0.144.3"
|
|
21
21
|
},
|
|
22
22
|
"publishConfig": {
|
|
23
23
|
"access": "public"
|