clawmoney 0.15.65 → 0.15.67
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.
|
@@ -34,23 +34,23 @@ const RECOMMENDED_MODELS = {
|
|
|
34
34
|
// Claude Code /model menu: Default(Sonnet 4.6) / Sonnet(1M) / Opus(1M) / Haiku
|
|
35
35
|
// → 3 unique model IDs (Sonnet 1M = same model + context-1m beta)
|
|
36
36
|
claude: ["claude-sonnet-4-6", "claude-opus-4-6", "claude-haiku-4-5"],
|
|
37
|
-
// Codex CLI /model menu (
|
|
38
|
-
// gpt-5.
|
|
39
|
-
// gpt-5.4
|
|
40
|
-
// gpt-5.
|
|
41
|
-
// gpt-5.
|
|
42
|
-
// gpt-5.
|
|
43
|
-
//
|
|
44
|
-
// gpt-5.
|
|
45
|
-
//
|
|
46
|
-
//
|
|
37
|
+
// Codex CLI /model menu for ChatGPT sign-in (post 2026-04-14 cleanup):
|
|
38
|
+
// gpt-5.4 — latest frontier agentic coding (current default)
|
|
39
|
+
// gpt-5.4-mini — smaller frontier agentic coding
|
|
40
|
+
// gpt-5.3-codex — industry-leading Codex-optimized model
|
|
41
|
+
// gpt-5.2 — previous general-purpose model
|
|
42
|
+
// gpt-5.3-codex-spark — Pro-only preview, excluded from auto-register
|
|
43
|
+
// OpenAI removed gpt-5.2-codex / gpt-5.1-codex-max / gpt-5.1-codex-mini /
|
|
44
|
+
// gpt-5.1-codex / gpt-5.1 / gpt-5 from the ChatGPT-sign-in picker on
|
|
45
|
+
// 2026-04-07 and fully dropped them on 2026-04-14. Requests for those
|
|
46
|
+
// models now fail upstream with "The '<model>' model is not supported
|
|
47
|
+
// when using Codex with a ChatGPT account", so they're no longer
|
|
48
|
+
// auto-registered.
|
|
47
49
|
codex: [
|
|
48
|
-
"gpt-5.3-codex",
|
|
49
50
|
"gpt-5.4",
|
|
50
|
-
"gpt-5.
|
|
51
|
-
"gpt-5.
|
|
51
|
+
"gpt-5.4-mini",
|
|
52
|
+
"gpt-5.3-codex",
|
|
52
53
|
"gpt-5.2",
|
|
53
|
-
"gpt-5.1-codex-mini",
|
|
54
54
|
],
|
|
55
55
|
// Gemini CLI exposes a long list; mainstream picks are the production-
|
|
56
56
|
// stable 2.5 line (pro + flash) and the latest 3.x preview (pro + flash).
|
package/dist/relay/pricing.js
CHANGED
|
@@ -24,28 +24,23 @@ export const API_PRICES = {
|
|
|
24
24
|
"claude-sonnet-4-6": { input: 3, output: 15 },
|
|
25
25
|
"claude-sonnet-4-5": { input: 3, output: 15 },
|
|
26
26
|
"claude-haiku-4-5": { input: 1, output: 5 },
|
|
27
|
-
// ── OpenAI (ChatGPT Plus / Codex
|
|
28
|
-
// Verified against LiteLLM.
|
|
29
|
-
//
|
|
27
|
+
// ── OpenAI (ChatGPT Plus / Pro via Codex CLI) ──
|
|
28
|
+
// Verified against LiteLLM. Per OpenAI's 2026-04-14 Codex changelog,
|
|
29
|
+
// ChatGPT-sign-in users can only pick gpt-5.4 / gpt-5.4-mini /
|
|
30
|
+
// gpt-5.3-codex / gpt-5.2, plus gpt-5.3-codex-spark on Pro. The old
|
|
31
|
+
// 5 / 5.1 / 5.2-codex families were fully removed that day. Anything
|
|
32
|
+
// below this comment that's deprecated was removed from the CLI-side
|
|
33
|
+
// pricing table so `modelsForCli("codex")` no longer offers them.
|
|
30
34
|
"gpt-5.4": { input: 2.50, output: 15 },
|
|
31
35
|
"gpt-5.4-mini": { input: 0.75, output: 4.50 },
|
|
32
|
-
"gpt-5.4-nano": { input: 0.20, output: 1.25 },
|
|
33
|
-
// gpt-5.4-pro is not in LiteLLM as of April 2026. Keeping the manually
|
|
34
|
-
// verified values from OpenAI's enterprise pricing page.
|
|
35
|
-
"gpt-5.4-pro": { input: 30, output: 180 },
|
|
36
36
|
"gpt-5.3-codex": { input: 1.75, output: 14 },
|
|
37
37
|
// gpt-5.3-codex-spark is not in LiteLLM — sub2api falls back to
|
|
38
38
|
// gpt-5.1-codex pricing (see pricing_service.go SparkBilling handling).
|
|
39
39
|
"gpt-5.3-codex-spark": { input: 1.25, output: 10 },
|
|
40
40
|
"gpt-5.2": { input: 1.75, output: 14 },
|
|
41
|
-
"gpt-5.2-codex": { input: 1.75, output: 14 },
|
|
42
|
-
"gpt-5.1": { input: 1.25, output: 10 },
|
|
43
|
-
"gpt-5.1-codex": { input: 1.25, output: 10 },
|
|
44
|
-
"gpt-5.1-codex-mini": { input: 0.25, output: 2 },
|
|
45
|
-
"gpt-5.1-codex-max": { input: 1.25, output: 10 },
|
|
46
|
-
"gpt-5": { input: 1.25, output: 10 },
|
|
47
41
|
// Reasoning models (o-series). Previously had incorrect values — LiteLLM
|
|
48
42
|
// confirms o3 is $2/$8 (not $5/$20) and o4-mini is $1.1/$4.4 (not $4/$16).
|
|
43
|
+
// These are API-only (not Codex CLI), kept for OpenAI SDK callers.
|
|
49
44
|
"o3": { input: 2, output: 8 },
|
|
50
45
|
"o4-mini": { input: 1.1, output: 4.4 },
|
|
51
46
|
// ── Google Antigravity (Ultra-bundled IDE quota pool) ──
|
|
@@ -1060,20 +1060,34 @@ function ensureClaudeCodeShell(body, fingerprint) {
|
|
|
1060
1060
|
// Position: right after the billing header slot (idx 1), or right
|
|
1061
1061
|
// after any buyer-prefixed system blocks (at head) if we're also
|
|
1062
1062
|
// inserting the billing header.
|
|
1063
|
+
//
|
|
1064
|
+
// Anthropic has a hard ordering rule within the system array: any
|
|
1065
|
+
// cache_control block with `ttl="1h"` MUST come before any block with
|
|
1066
|
+
// `ttl="5m"`. Our injected marker uses the default ephemeral TTL
|
|
1067
|
+
// (5m), so if the buyer's original system array contains a 1h block
|
|
1068
|
+
// further down, naively inserting at index 1 puts the 1h block AFTER
|
|
1069
|
+
// our 5m block and Anthropic 400s with
|
|
1070
|
+
// system.N.cache_control.ttl: a ttl='1h' cache_control block must
|
|
1071
|
+
// not come after a ttl='5m' cache_control block.
|
|
1072
|
+
// Walk from the end to find the last 1h block; if one exists, drop
|
|
1073
|
+
// the marker immediately after it so the 1h-before-5m invariant
|
|
1074
|
+
// holds. Otherwise fall back to the original "index 1 (or 0)" slot.
|
|
1063
1075
|
if (!hasCcMarker) {
|
|
1064
1076
|
const markerBlock = {
|
|
1065
1077
|
type: "text",
|
|
1066
1078
|
text: `${CLAUDE_CODE_SYSTEM_PROMPT_LEAD}\n\n${RELAY_INSTRUCTIONS}`,
|
|
1067
1079
|
cache_control: { type: "ephemeral" },
|
|
1068
1080
|
};
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1081
|
+
let insertAt = hasBillingHeaderFirst ? 1 : 0;
|
|
1082
|
+
for (let i = system.length - 1; i >= 0; i--) {
|
|
1083
|
+
const cc = system[i]
|
|
1084
|
+
?.cache_control;
|
|
1085
|
+
if (cc && typeof cc === "object" && cc.ttl === "1h") {
|
|
1086
|
+
insertAt = i + 1;
|
|
1087
|
+
break;
|
|
1088
|
+
}
|
|
1076
1089
|
}
|
|
1090
|
+
system.splice(insertAt, 0, markerBlock);
|
|
1077
1091
|
}
|
|
1078
1092
|
// ── Update or inject billing header at index 0 ──
|
|
1079
1093
|
if (hasBillingHeaderFirst) {
|