rlm-cli 0.2.14 → 0.2.15

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.
@@ -84,6 +84,7 @@ const W = Math.min(process.stdout.columns || 80, 100);
84
84
  // ── Session state ───────────────────────────────────────────────────────────
85
85
  let currentModelId = DEFAULT_MODEL;
86
86
  let currentModel;
87
+ let currentProviderName = "";
87
88
  let contextText = "";
88
89
  let contextSource = "";
89
90
  let queryCount = 0;
@@ -106,8 +107,8 @@ function resolveModel(modelId) {
106
107
  const PROVIDER_KEYS = {
107
108
  anthropic: "ANTHROPIC_API_KEY",
108
109
  openai: "OPENAI_API_KEY",
109
- google: "GOOGLE_API_KEY",
110
- "google-gemini-cli": "GOOGLE_API_KEY",
110
+ google: "GEMINI_API_KEY",
111
+ "google-gemini-cli": "GEMINI_API_KEY",
111
112
  "google-vertex": "GOOGLE_VERTEX_API_KEY",
112
113
  groq: "GROQ_API_KEY",
113
114
  xai: "XAI_API_KEY",
@@ -120,7 +121,7 @@ const PROVIDER_KEYS = {
120
121
  const SETUP_PROVIDERS = [
121
122
  { name: "Anthropic", label: "Claude", env: "ANTHROPIC_API_KEY", piProvider: "anthropic" },
122
123
  { name: "OpenAI", label: "GPT", env: "OPENAI_API_KEY", piProvider: "openai" },
123
- { name: "Google", label: "Gemini", env: "GOOGLE_API_KEY", piProvider: "google" },
124
+ { name: "Google", label: "Gemini", env: "GEMINI_API_KEY", piProvider: "google" },
124
125
  { name: "Groq", label: "Groq", env: "GROQ_API_KEY", piProvider: "groq" },
125
126
  { name: "xAI", label: "Grok", env: "XAI_API_KEY", piProvider: "xai" },
126
127
  { name: "Mistral", label: "Mistral", env: "MISTRAL_API_KEY", piProvider: "mistral" },
@@ -273,7 +274,7 @@ ${c.dim} Recursive Language Models — arXiv:2512.24601${c.reset}
273
274
  }
274
275
  // ── Status line ─────────────────────────────────────────────────────────────
275
276
  function printStatusLine() {
276
- const provider = detectProvider();
277
+ const provider = currentProviderName || detectProvider();
277
278
  const modelShort = currentModelId.length > 35
278
279
  ? currentModelId.slice(0, 32) + "..."
279
280
  : currentModelId;
@@ -585,7 +586,11 @@ async function runQuery(query) {
585
586
  const effectiveContext = contextText || query;
586
587
  const isDirectMode = !contextText;
587
588
  if (!currentModel) {
588
- currentModel = resolveModel(currentModelId);
589
+ const resolved = resolveModelWithProvider(currentModelId);
590
+ if (resolved) {
591
+ currentModel = resolved.model;
592
+ currentProviderName = resolved.provider;
593
+ }
589
594
  }
590
595
  if (!currentModel) {
591
596
  console.log(`\n ${c.red}Model "${currentModelId}" not found.${c.reset}`);
@@ -874,7 +879,11 @@ async function interactive() {
874
879
  setupRl.close();
875
880
  }
876
881
  // Resolve model
877
- currentModel = resolveModel(currentModelId);
882
+ const initialResolved = resolveModelWithProvider(currentModelId);
883
+ if (initialResolved) {
884
+ currentModel = initialResolved.model;
885
+ currentProviderName = initialResolved.provider;
886
+ }
878
887
  if (!currentModel) {
879
888
  console.log(`\n ${c.red}Model "${currentModelId}" not found.${c.reset}`);
880
889
  console.log(` Check ${c.bold}RLM_MODEL${c.reset} in your .env file.\n`);
@@ -1004,6 +1013,7 @@ async function interactive() {
1004
1013
  }
1005
1014
  currentModelId = pick;
1006
1015
  currentModel = resolved.model;
1016
+ currentProviderName = resolved.provider;
1007
1017
  console.log(` ${c.green}✓${c.reset} Switched to ${c.bold}${currentModelId}${c.reset}`);
1008
1018
  console.log();
1009
1019
  printStatusLine();
@@ -1064,7 +1074,9 @@ async function interactive() {
1064
1074
  const defaultModel = getDefaultModelForProvider(chosen.piProvider);
1065
1075
  if (defaultModel) {
1066
1076
  currentModelId = defaultModel;
1067
- currentModel = resolveModel(currentModelId);
1077
+ const provResolved = resolveModelWithProvider(currentModelId);
1078
+ currentModel = provResolved?.model;
1079
+ currentProviderName = chosen.piProvider;
1068
1080
  console.log(` ${c.green}✓${c.reset} Switched to ${c.bold}${chosen.name}${c.reset}`);
1069
1081
  console.log(` ${c.green}✓${c.reset} Default model: ${c.bold}${currentModelId}${c.reset}`);
1070
1082
  console.log();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rlm-cli",
3
- "version": "0.2.14",
3
+ "version": "0.2.15",
4
4
  "description": "Standalone CLI for Recursive Language Models (RLMs) — implements Algorithm 1 from arXiv:2512.24601",
5
5
  "type": "module",
6
6
  "bin": {