@bman654/clodex 2.18.3 → 2.18.5

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/dist/cli.js CHANGED
@@ -346,7 +346,7 @@ import { join } from "path";
346
346
  // package.json
347
347
  var package_default = {
348
348
  name: "@bman654/clodex",
349
- version: "2.18.3",
349
+ version: "2.18.5",
350
350
  publishConfig: {
351
351
  access: "public"
352
352
  },
@@ -433,7 +433,7 @@ var package_default = {
433
433
 
434
434
  // src/constants.ts
435
435
  var CODEX_RESPONSES_LITE_WS_URL = "wss://chatgpt.com/backend-api/codex/responses";
436
- var CODEX_RESPONSES_LITE_VERSION = "0.156.0";
436
+ var CODEX_RESPONSES_LITE_VERSION = "0.159.0";
437
437
  var CODEX_RESPONSES_WEBSOCKETS_BETA = "responses_websockets=2026-02-06";
438
438
  var TEST_TIMEOUT_MS = 1e4;
439
439
  var CONFLICTING_ENV_VARS = [
@@ -630,6 +630,7 @@ var HEURISTIC_RULES = [
630
630
  [/claude/i, 2e5],
631
631
  [/deepseek-v4|deepseek-r1|deepseek-reasoner/i, 1e6],
632
632
  [/deepseek/i, 64e3],
633
+ [/gpt-6\.1-sol/i, 105e4],
633
634
  [/gpt-6-(?:astra|sol|luna)/i, 105e4],
634
635
  [/gpt-5|gpt-4\.1|o3-|o4-/i, 1e6],
635
636
  [/gpt-4o|gpt-4-turbo|gpt-4/i, 128e3],
@@ -4916,31 +4917,6 @@ var opencode_go_models_default = [
4916
4917
  upstreamModelId: "deepseek-v4.1-flash",
4917
4918
  family: "deepseek"
4918
4919
  },
4919
- {
4920
- id: "glm-5.1",
4921
- name: "GLM-5.1",
4922
- contextWindow: 202752,
4923
- cost: {
4924
- input: 1.4,
4925
- output: 4.4,
4926
- cache_read: 0.26
4927
- },
4928
- modelFormat: "openai",
4929
- npm: "@ai-sdk/openai-compatible",
4930
- apiUrl: "https://opencode.ai/zen/go/v1",
4931
- reasoning: true,
4932
- modalities: [
4933
- "text"
4934
- ],
4935
- compatibility: {
4936
- supportsReasoningEffort: false,
4937
- supportsStore: false,
4938
- supportsDeveloperRole: false,
4939
- maxTokensField: "max_tokens"
4940
- },
4941
- upstreamModelId: "glm-5.1",
4942
- family: "glm"
4943
- },
4944
4920
  {
4945
4921
  id: "glm-5.2",
4946
4922
  name: "GLM-5.2",
@@ -5009,6 +4985,39 @@ var opencode_go_models_default = [
5009
4985
  upstreamModelId: "gpt-5.6-luna",
5010
4986
  family: "gpt"
5011
4987
  },
4988
+ {
4989
+ id: "gpt-6-luna",
4990
+ name: "GPT-6 Luna",
4991
+ contextWindow: 105e4,
4992
+ pricingBoundary: 272e3,
4993
+ pricingBoundaryNote: "Above it, OpenCode Go lists $0.20 input and $0.75 output per million tokens.",
4994
+ cost: {
4995
+ input: 0.1,
4996
+ output: 0.5,
4997
+ cache_read: 0.01,
4998
+ cache_write: 0.125
4999
+ },
5000
+ modelFormat: "openai",
5001
+ npm: "@ai-sdk/openai",
5002
+ apiUrl: "https://opencode.ai/zen/go/v1",
5003
+ reasoning: true,
5004
+ modalities: [
5005
+ "text",
5006
+ "image"
5007
+ ],
5008
+ compatibility: {
5009
+ reasoningEffortMap: {
5010
+ none: "none",
5011
+ low: "low",
5012
+ medium: "medium",
5013
+ high: "high",
5014
+ xhigh: "xhigh",
5015
+ max: "max"
5016
+ }
5017
+ },
5018
+ upstreamModelId: "gpt-6-luna",
5019
+ family: "gpt"
5020
+ },
5012
5021
  {
5013
5022
  id: "hy3",
5014
5023
  name: "Hy3",
@@ -5193,7 +5202,8 @@ var opencode_go_models_default = [
5193
5202
  cost: {
5194
5203
  input: 0.3,
5195
5204
  output: 1.2,
5196
- cache_read: 0.06
5205
+ cache_read: 0.06,
5206
+ cache_write: 0.375
5197
5207
  },
5198
5208
  modelFormat: "openai",
5199
5209
  npm: "@ai-sdk/openai-compatible",
@@ -6072,6 +6082,13 @@ var CHATGPT_CODEX_UNSUPPORTED_MODELS = /* @__PURE__ */ new Set([
6072
6082
  // confirmed: rejected by chatgpt.com/backend-api/codex
6073
6083
  ]);
6074
6084
  var OPENAI_OAUTH_MODEL_SEEDS = [
6085
+ // GPT-6.1 Sol: the 272K window and 872K ceiling are what the live Codex catalog
6086
+ // returned on 2026-09-29; a request near 872K has not been tried. The output limit
6087
+ // is the model card's. The catalog reports minimal_client_version 0.153.0, but on a
6088
+ // Plus account versions through 0.158.0 were refused and 0.159.0 worked (#298), so
6089
+ // this seed records that observed gate. A live refresh stores the catalog's value
6090
+ // instead. CODEX_RESPONSES_LITE_VERSION must stay at or above this.
6091
+ { id: "gpt-6.1-sol", name: "GPT-6.1 Sol", contextWindow: 272e3, maxContextWindow: 872e3, maxOutputTokens: 128e3, reasoning: true, useResponsesLite: true, preferWebSockets: true, minimalClientVersion: "0.159.0" },
6075
6092
  // GPT-6 family. The window, ceiling and Responses-Lite flags are what the live
6076
6093
  // Codex catalog returned (Astra on 2026-09-04, Sol and Luna on 2026-09-22) and are
6077
6094
  // deliberately NOT the published API numbers: the model cards list a 1,050,000
@@ -13025,8 +13042,8 @@ function translateRequest(body, npm, options) {
13025
13042
  }
13026
13043
  const upstreamModelId2 = options?.reasoningMetadata?.upstreamModelId ?? body.model;
13027
13044
  const supportsExplicitOpenAiCaching = !options?.openAiOAuth && supportsOpenAiPromptCacheBreakpoints(upstreamModelId2);
13045
+ const claudeSessionId = extractClaudeSessionId(body, options?.claudeSessionId);
13028
13046
  if (npm === "@ai-sdk/openai") {
13029
- const claudeSessionId = extractClaudeSessionId(body, options?.claudeSessionId);
13030
13047
  const serviceTier = options?.openAiOAuth ? oauthServiceTier() : void 0;
13031
13048
  providerOptions = deepMergeProviderOptions(providerOptions, {
13032
13049
  openai: {
@@ -13047,7 +13064,17 @@ function translateRequest(body, npm, options) {
13047
13064
  toolChoice: compactRequest ? "none" : translateToolChoice(body.tool_choice),
13048
13065
  maxOutputTokens: options?.openAiOAuth ? void 0 : body.max_tokens,
13049
13066
  temperature: body.temperature,
13050
- providerOptions
13067
+ providerOptions,
13068
+ // OpenRouter derives its own conversation key when none is sent, and routes a
13069
+ // session's requests to one provider when one is. The value needs to be stable
13070
+ // and unique, not recognizable, so the session UUID goes over hashed through
13071
+ // the same key the OpenAI route's prompt_cache_key uses; the system/tools hash
13072
+ // stays the fallback for clients that send no session identity.
13073
+ ...isOpenRouterRoute(npm, options?.reasoningMetadata) ? {
13074
+ headers: {
13075
+ "x-session-id": claudeSessionId ? claudeSessionPromptCacheKey(claudeSessionId) : openAiPromptCacheKey(baseSystem, upstreamTools)
13076
+ }
13077
+ } : {}
13051
13078
  };
13052
13079
  }
13053
13080
  function isOpenAiOAuthRoute(route) {