limbo-ai 1.9.1 → 1.9.2
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/cli.js +10 -12
- package/package.json +1 -1
package/cli.js
CHANGED
|
@@ -256,6 +256,7 @@ const TEXT = {
|
|
|
256
256
|
anthropicSubscriptionIntro: 'Generate a Claude setup-token on any machine with `claude setup-token`, then paste it into the next step.',
|
|
257
257
|
authFlowStart: 'Starting authentication...',
|
|
258
258
|
authFlowDone: 'Authentication complete.',
|
|
259
|
+
modelConnected: (model) => `Model connected: ${model}`,
|
|
259
260
|
authFlowFailed: 'Authentication did not complete successfully.',
|
|
260
261
|
authStatusFailed: 'Provider auth is still missing or invalid. Try running with --reconfigure.',
|
|
261
262
|
configFlowStart: 'Applying configuration...',
|
|
@@ -348,6 +349,7 @@ const TEXT = {
|
|
|
348
349
|
anthropicSubscriptionIntro: 'Genera un Claude setup-token en cualquier maquina con `claude setup-token` y pegalo en el siguiente paso.',
|
|
349
350
|
authFlowStart: 'Iniciando autenticacion...',
|
|
350
351
|
authFlowDone: 'Autenticacion completada.',
|
|
352
|
+
modelConnected: (model) => `Modelo conectado: ${model}`,
|
|
351
353
|
authFlowFailed: 'La autenticacion no termino correctamente.',
|
|
352
354
|
authStatusFailed: 'La autenticacion del provider sigue siendo invalida o no esta configurada. Proba con --reconfigure.',
|
|
353
355
|
configFlowStart: 'Aplicando configuracion...',
|
|
@@ -828,7 +830,8 @@ function streamFilteredAuth(dockerArgs) {
|
|
|
828
830
|
|
|
829
831
|
const handleData = (data) => {
|
|
830
832
|
buf += data.toString();
|
|
831
|
-
|
|
833
|
+
// Split on \r\n, \n, or bare \r — TUIs use carriage returns for in-place redraws
|
|
834
|
+
const lines = buf.split(/\r?\n|\r/);
|
|
832
835
|
buf = lines.pop(); // hold incomplete last line
|
|
833
836
|
for (const line of lines) emitLine(line);
|
|
834
837
|
};
|
|
@@ -836,18 +839,13 @@ function streamFilteredAuth(dockerArgs) {
|
|
|
836
839
|
const emitLine = (rawLine) => {
|
|
837
840
|
const line = stripAnsi(rawLine);
|
|
838
841
|
const urls = line.match(urlRe) || [];
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
}
|
|
842
|
+
// Whitelist-only: only emit URLs — everything else is branding or TUI chrome
|
|
843
|
+
for (const url of urls) {
|
|
844
|
+
if (!seenUrls.has(url)) {
|
|
845
|
+
seenUrls.add(url);
|
|
846
|
+
console.log(`\n ${c.cyan}${c.bold}→ ${url}${c.reset}\n`);
|
|
845
847
|
}
|
|
846
|
-
return;
|
|
847
848
|
}
|
|
848
|
-
// Suppress lines that only contain internal gateway/runtime branding
|
|
849
|
-
if (/openclaw/i.test(line)) return;
|
|
850
|
-
if (line.trim()) console.log(` ${line}`);
|
|
851
849
|
};
|
|
852
850
|
|
|
853
851
|
proc.stdout.on('data', handleData);
|
|
@@ -897,7 +895,7 @@ async function runSubscriptionAuthFlow(cfg) {
|
|
|
897
895
|
die(t(cfg.language, 'authStatusFailed'));
|
|
898
896
|
}
|
|
899
897
|
|
|
900
|
-
ok(t(cfg.language, '
|
|
898
|
+
ok(t(cfg.language, 'modelConnected', `${cfg.provider}/${cfg.modelName}`));
|
|
901
899
|
}
|
|
902
900
|
|
|
903
901
|
function printSuccess(cfg, gatewayToken) {
|