rlm-cli 0.2.8 → 0.2.9

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.
@@ -67,7 +67,7 @@ class Spinner {
67
67
  }
68
68
  }
69
69
  // ── Constants ───────────────────────────────────────────────────────────────
70
- const DEFAULT_MODEL = process.env.RLM_MODEL || "claude-sonnet-4-5-20250929";
70
+ const DEFAULT_MODEL = process.env.RLM_MODEL || "claude-sonnet-4-6";
71
71
  const TRAJ_DIR = path.resolve(process.cwd(), "trajectories");
72
72
  const W = Math.min(process.stdout.columns || 80, 100);
73
73
  // ── Session state ───────────────────────────────────────────────────────────
@@ -152,9 +152,26 @@ function resolveModelWithProvider(modelId) {
152
152
  }
153
153
  return undefined;
154
154
  }
155
- /** Returns the first model ID from a given pi-ai provider. */
155
+ /** Sensible default model per provider. */
156
+ const PROVIDER_DEFAULT_MODELS = {
157
+ anthropic: "claude-sonnet-4-6",
158
+ openai: "gpt-4o",
159
+ google: "gemini-2.5-flash",
160
+ groq: "llama-3.3-70b-versatile",
161
+ xai: "grok-4",
162
+ mistral: "mistral-large-latest",
163
+ openrouter: "claude-sonnet-4-6",
164
+ };
165
+ /** Returns the recommended default model for a provider. */
156
166
  function getDefaultModelForProvider(provider) {
157
- const models = getModels(provider);
167
+ const preferred = PROVIDER_DEFAULT_MODELS[provider];
168
+ if (preferred) {
169
+ const model = resolveModel(preferred);
170
+ if (model)
171
+ return preferred;
172
+ }
173
+ // Fallback: first non-excluded model
174
+ const models = getModelsForProvider(provider);
158
175
  return models.length > 0 ? models[0].id : undefined;
159
176
  }
160
177
  /** Wrap rl.question with ESC-to-cancel. Returns user input or null on ESC/empty. */
@@ -466,11 +483,8 @@ function displaySubQueryResult(info) {
466
483
  // ── Available models list ────────────────────────────────────────────────────
467
484
  /** Filter out deprecated, retired, and non-chat models (Feb 2026). */
468
485
  const EXCLUDED_MODEL_PATTERNS = [
469
- // ── Anthropic retired ──
470
- /^claude-3-haiku/, // retired Feb 19, 2026
471
- /^claude-3-sonnet/, // long retired
472
- /^claude-3-opus/, // long retired
473
- /^claude-3-5-sonnet/, // retired Jan 5, 2026
486
+ // ── Anthropic retired / old gen ──
487
+ /^claude-3-/, // all claude 3.x retired (haiku, sonnet, opus, 3-5-*, 3-7-*)
474
488
  // ── OpenAI legacy / specialized ──
475
489
  /^gpt-4$/, // superseded by gpt-4.1
476
490
  /^gpt-4-turbo/, // superseded by gpt-4.1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rlm-cli",
3
- "version": "0.2.8",
3
+ "version": "0.2.9",
4
4
  "description": "Standalone CLI for Recursive Language Models (RLMs) — implements Algorithm 1 from arXiv:2512.24601",
5
5
  "type": "module",
6
6
  "bin": {