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.
- package/dist/interactive.js +19 -7
- package/package.json +1 -1
package/dist/interactive.js
CHANGED
|
@@ -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: "
|
|
110
|
-
"google-gemini-cli": "
|
|
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: "
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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();
|