refineo-cli 0.1.4 → 0.1.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.
- package/dist/cjs/api.js +2 -0
- package/dist/cjs/cli.js +26 -8
- package/dist/cjs/index.js +2 -0
- package/dist/esm/api.d.ts +4 -0
- package/dist/esm/api.d.ts.map +1 -1
- package/dist/esm/api.js +1 -0
- package/dist/esm/cli.js +26 -8
- package/dist/esm/index.js +1 -0
- package/package.json +1 -1
package/dist/cjs/api.js
CHANGED
|
@@ -23,6 +23,7 @@ __export(api_exports, {
|
|
|
23
23
|
getUsage: () => getUsage,
|
|
24
24
|
humanize: () => humanize,
|
|
25
25
|
pollForToken: () => pollForToken,
|
|
26
|
+
refreshToken: () => refreshToken,
|
|
26
27
|
startDeviceCodeFlow: () => startDeviceCodeFlow
|
|
27
28
|
});
|
|
28
29
|
module.exports = __toCommonJS(api_exports);
|
|
@@ -263,5 +264,6 @@ async function getUsage() {
|
|
|
263
264
|
getUsage,
|
|
264
265
|
humanize,
|
|
265
266
|
pollForToken,
|
|
267
|
+
refreshToken,
|
|
266
268
|
startDeviceCodeFlow
|
|
267
269
|
});
|
package/dist/cjs/cli.js
CHANGED
|
@@ -267,7 +267,7 @@ async function getUsage() {
|
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
// src/cli.ts
|
|
270
|
-
var VERSION = "0.1.
|
|
270
|
+
var VERSION = "0.1.5";
|
|
271
271
|
var colors = {
|
|
272
272
|
reset: "\x1B[0m",
|
|
273
273
|
bold: "\x1B[1m",
|
|
@@ -306,14 +306,29 @@ async function openBrowser(url) {
|
|
|
306
306
|
print(`Please open this URL in your browser: ${url}`);
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
|
-
async function loginCommand() {
|
|
309
|
+
async function loginCommand(args = []) {
|
|
310
|
+
const force = args.includes("--force");
|
|
310
311
|
const existing = loadCredentials();
|
|
311
|
-
if (existing) {
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
312
|
+
if (existing && !force) {
|
|
313
|
+
if (isTokenExpired(existing)) {
|
|
314
|
+
const refreshed = await refreshToken(existing.refreshToken);
|
|
315
|
+
if (refreshed) {
|
|
316
|
+
printSuccess(`Session refreshed for ${colors.cyan}${refreshed.user.email}${colors.reset}`);
|
|
317
|
+
print(`Tier: ${colors.bold}${refreshed.user.tier}${colors.reset}`);
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
print(`Session expired, re-authenticating...`);
|
|
321
|
+
clearCredentials();
|
|
322
|
+
} else {
|
|
323
|
+
print(`Already logged in as ${colors.cyan}${existing.user.email}${colors.reset}`);
|
|
324
|
+
print(`Tier: ${colors.bold}${existing.user.tier}${colors.reset}`);
|
|
325
|
+
print(`
|
|
315
326
|
Run ${colors.dim}refineo logout${colors.reset} to switch accounts.`);
|
|
316
|
-
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
if (force && existing) {
|
|
331
|
+
clearCredentials();
|
|
317
332
|
}
|
|
318
333
|
print(`${colors.bold}Refineo CLI Login${colors.reset}
|
|
319
334
|
`);
|
|
@@ -469,6 +484,9 @@ ${colors.bold}Commands:${colors.reset}
|
|
|
469
484
|
stats Show usage statistics
|
|
470
485
|
humanize <text> Humanize AI-generated text
|
|
471
486
|
|
|
487
|
+
${colors.bold}Login Options:${colors.reset}
|
|
488
|
+
--force Force re-authentication even if already logged in
|
|
489
|
+
|
|
472
490
|
${colors.bold}Humanize Options:${colors.reset}
|
|
473
491
|
-m, --model <model> Model: "standard" or "enhanced" (default: enhanced)
|
|
474
492
|
-f, --file <path> Read input from file
|
|
@@ -506,7 +524,7 @@ async function main() {
|
|
|
506
524
|
const command = args[0];
|
|
507
525
|
switch (command) {
|
|
508
526
|
case "login":
|
|
509
|
-
await loginCommand();
|
|
527
|
+
await loginCommand(args.slice(1));
|
|
510
528
|
break;
|
|
511
529
|
case "logout":
|
|
512
530
|
logoutCommand();
|
package/dist/cjs/index.js
CHANGED
|
@@ -28,6 +28,7 @@ __export(index_exports, {
|
|
|
28
28
|
isTokenExpired: () => isTokenExpired,
|
|
29
29
|
loadCredentials: () => loadCredentials,
|
|
30
30
|
pollForToken: () => pollForToken,
|
|
31
|
+
refreshToken: () => refreshToken,
|
|
31
32
|
saveCredentials: () => saveCredentials,
|
|
32
33
|
startDeviceCodeFlow: () => startDeviceCodeFlow
|
|
33
34
|
});
|
|
@@ -282,6 +283,7 @@ async function getUsage() {
|
|
|
282
283
|
isTokenExpired,
|
|
283
284
|
loadCredentials,
|
|
284
285
|
pollForToken,
|
|
286
|
+
refreshToken,
|
|
285
287
|
saveCredentials,
|
|
286
288
|
startDeviceCodeFlow
|
|
287
289
|
});
|
package/dist/esm/api.d.ts
CHANGED
package/dist/esm/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAGlB,cAAc,EACd,UAAU,EACX,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAGlB,cAAc,EACd,UAAU,EACX,MAAM,YAAY,CAAC;AAsFpB;;GAEG;AACH,wBAAsB,YAAY,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAwCzF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAcvE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,WAAW,CAAC,CA8DtB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,UAAU,GAAG,UAAuB,GAC1C,OAAO,CAAC,cAAc,CAAC,CAqBzB;AAED;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,CAoBpD"}
|
package/dist/esm/api.js
CHANGED
package/dist/esm/cli.js
CHANGED
|
@@ -244,7 +244,7 @@ async function getUsage() {
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
// src/cli.ts
|
|
247
|
-
var VERSION = "0.1.
|
|
247
|
+
var VERSION = "0.1.5";
|
|
248
248
|
var colors = {
|
|
249
249
|
reset: "\x1B[0m",
|
|
250
250
|
bold: "\x1B[1m",
|
|
@@ -283,14 +283,29 @@ async function openBrowser(url) {
|
|
|
283
283
|
print(`Please open this URL in your browser: ${url}`);
|
|
284
284
|
}
|
|
285
285
|
}
|
|
286
|
-
async function loginCommand() {
|
|
286
|
+
async function loginCommand(args = []) {
|
|
287
|
+
const force = args.includes("--force");
|
|
287
288
|
const existing = loadCredentials();
|
|
288
|
-
if (existing) {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
289
|
+
if (existing && !force) {
|
|
290
|
+
if (isTokenExpired(existing)) {
|
|
291
|
+
const refreshed = await refreshToken(existing.refreshToken);
|
|
292
|
+
if (refreshed) {
|
|
293
|
+
printSuccess(`Session refreshed for ${colors.cyan}${refreshed.user.email}${colors.reset}`);
|
|
294
|
+
print(`Tier: ${colors.bold}${refreshed.user.tier}${colors.reset}`);
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
print(`Session expired, re-authenticating...`);
|
|
298
|
+
clearCredentials();
|
|
299
|
+
} else {
|
|
300
|
+
print(`Already logged in as ${colors.cyan}${existing.user.email}${colors.reset}`);
|
|
301
|
+
print(`Tier: ${colors.bold}${existing.user.tier}${colors.reset}`);
|
|
302
|
+
print(`
|
|
292
303
|
Run ${colors.dim}refineo logout${colors.reset} to switch accounts.`);
|
|
293
|
-
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
if (force && existing) {
|
|
308
|
+
clearCredentials();
|
|
294
309
|
}
|
|
295
310
|
print(`${colors.bold}Refineo CLI Login${colors.reset}
|
|
296
311
|
`);
|
|
@@ -446,6 +461,9 @@ ${colors.bold}Commands:${colors.reset}
|
|
|
446
461
|
stats Show usage statistics
|
|
447
462
|
humanize <text> Humanize AI-generated text
|
|
448
463
|
|
|
464
|
+
${colors.bold}Login Options:${colors.reset}
|
|
465
|
+
--force Force re-authentication even if already logged in
|
|
466
|
+
|
|
449
467
|
${colors.bold}Humanize Options:${colors.reset}
|
|
450
468
|
-m, --model <model> Model: "standard" or "enhanced" (default: enhanced)
|
|
451
469
|
-f, --file <path> Read input from file
|
|
@@ -483,7 +501,7 @@ async function main() {
|
|
|
483
501
|
const command = args[0];
|
|
484
502
|
switch (command) {
|
|
485
503
|
case "login":
|
|
486
|
-
await loginCommand();
|
|
504
|
+
await loginCommand(args.slice(1));
|
|
487
505
|
break;
|
|
488
506
|
case "logout":
|
|
489
507
|
logoutCommand();
|
package/dist/esm/index.js
CHANGED