theclawbay 0.6.3 → 0.6.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.
@@ -5,7 +5,7 @@ export declare const MANAGED_END = "# theclawbay-managed:end";
5
5
  export declare const HISTORY_PROVIDER_NEUTRALIZE_SOURCES: Set<string>;
6
6
  export declare const HISTORY_PROVIDER_DB_MIGRATE_SOURCES: string[];
7
7
  export declare const CODEX_MODEL_CONTEXT_WINDOW = 272000;
8
- export declare const CODEX_MODEL_AUTO_COMPACT_TOKEN_LIMIT = 220000;
8
+ export declare const CODEX_MODEL_AUTO_COMPACT_TOKEN_LIMIT = 240000;
9
9
  export type CodexFeatureFlagSnapshot = {
10
10
  hadFeaturesTable: boolean;
11
11
  appsHadKey: boolean;
@@ -32,10 +32,10 @@ exports.HISTORY_PROVIDER_DB_MIGRATE_SOURCES = ["openai", providers_1.DEFAULT_PRO
32
32
  // In API-key + custom base_url mode there is no server-provided window, so unless
33
33
  // we write these, `model_context_window()` is None and compaction never fires —
34
34
  // the conversation grows unbounded until it hits the relay's request-size cap.
35
- // The auto-compact limit (~80% of window) keeps even image-heavy sessions well
36
- // under the cap while matching Codex's default behavior for gpt-5.x.
35
+ // Keep the compact trigger below the long-context pricing threshold so Codex
36
+ // compacts before customers are likely to enter the higher-priced tier.
37
37
  exports.CODEX_MODEL_CONTEXT_WINDOW = 272000;
38
- exports.CODEX_MODEL_AUTO_COMPACT_TOKEN_LIMIT = 220000;
38
+ exports.CODEX_MODEL_AUTO_COMPACT_TOKEN_LIMIT = 240000;
39
39
  function removeProviderTable(source, providerId) {
40
40
  const header = `[model_providers.${providerId}]`;
41
41
  const lines = source.split(/\r?\n/);
@@ -24,6 +24,11 @@ const SUPPORTED_MODELS = (0, supported_models_1.getSupportedModels)();
24
24
  const SUPPORTED_MODEL_CONFIG = new Map(SUPPORTED_MODELS.map((model) => [model.id, model]));
25
25
  const TEMPLATE_MODEL_IDS = TARGET_MODEL_IDS;
26
26
  const TARGET_MODEL_LABEL_TEXT = "the current The Claw Bay model catalog";
27
+ const AUTO_COMPACT_TOKEN_LIMIT_BY_MODEL_ID = new Map([
28
+ ["gpt-5.6", 240000],
29
+ ["gpt-5.6-sol", 240000],
30
+ ["gpt-5.6-terra", 240000],
31
+ ]);
27
32
  const DEFAULT_REASONING_LEVELS = [
28
33
  { effort: "low", description: "Fast responses with lighter reasoning" },
29
34
  { effort: "medium", description: "Balances speed and reasoning depth for everyday tasks" },
@@ -225,6 +230,14 @@ function normalizeSeedModel(template, modelId) {
225
230
  if (typeof seed.effective_context_window_percent !== "number") {
226
231
  seed.effective_context_window_percent = 95;
227
232
  }
233
+ const autoCompactTokenLimit = AUTO_COMPACT_TOKEN_LIMIT_BY_MODEL_ID.get(modelId);
234
+ if (autoCompactTokenLimit !== undefined) {
235
+ const existingLimit = seed.auto_compact_token_limit;
236
+ seed.auto_compact_token_limit =
237
+ typeof existingLimit === "number" && Number.isFinite(existingLimit)
238
+ ? Math.min(existingLimit, autoCompactTokenLimit)
239
+ : autoCompactTokenLimit;
240
+ }
228
241
  if (!Array.isArray(seed.input_modalities) || seed.input_modalities.length === 0) {
229
242
  seed.input_modalities = ["text", "image"];
230
243
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "theclawbay",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "description": "CLI for connecting Codex, Hermes Agent, Gemini-compatible apps, Continue, Cline, GSD, OpenClaw, OpenCode, Kilo, Roo Code, Aider, experimental Trae, and experimental Zo to The Claw Bay.",
5
5
  "license": "MIT",
6
6
  "repository": {