@chucky.cloud/cli 0.1.9 ā 0.1.12
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/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +159 -42
- package/dist/commands/login.js.map +1 -1
- package/dist/lib/config.js +2 -2
- package/dist/lib/config.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAgEA,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqI3E"}
|
package/dist/commands/login.js
CHANGED
|
@@ -1,53 +1,170 @@
|
|
|
1
|
-
import { password } from "@inquirer/prompts";
|
|
1
|
+
import { select, password } from "@inquirer/prompts";
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import ora from "ora";
|
|
4
|
-
import {
|
|
4
|
+
import { exec } from "node:child_process";
|
|
5
|
+
import { saveGlobalConfig, loadGlobalConfig, getPortalUrl } from "../lib/config.js";
|
|
5
6
|
import { ChuckyApi } from "../lib/api.js";
|
|
6
|
-
|
|
7
|
+
// Portal frontend URL (for browser-based auth)
|
|
8
|
+
const PORTAL_FRONTEND_URL = "https://app.chucky.cloud";
|
|
9
|
+
// Open URL in default browser
|
|
10
|
+
function openBrowser(url) {
|
|
11
|
+
const platform = process.platform;
|
|
12
|
+
let command;
|
|
13
|
+
if (platform === "darwin") {
|
|
14
|
+
command = `open "${url}"`;
|
|
15
|
+
}
|
|
16
|
+
else if (platform === "win32") {
|
|
17
|
+
command = `start "" "${url}"`;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
command = `xdg-open "${url}"`;
|
|
21
|
+
}
|
|
22
|
+
exec(command, (error) => {
|
|
23
|
+
if (error) {
|
|
24
|
+
console.log(chalk.yellow(`\nCouldn't open browser automatically.`));
|
|
25
|
+
console.log(chalk.dim(`Please open this URL manually: ${url}`));
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
// Poll for device code authorization
|
|
30
|
+
async function pollForToken(portalUrl, code, expiresInSeconds) {
|
|
31
|
+
const pollInterval = 2000; // 2 seconds
|
|
32
|
+
const maxAttempts = Math.ceil((expiresInSeconds * 1000) / pollInterval);
|
|
33
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
34
|
+
try {
|
|
35
|
+
const response = await fetch(`${portalUrl}/api/device/token?code=${encodeURIComponent(code)}`);
|
|
36
|
+
const result = await response.json();
|
|
37
|
+
if (result.status === "authorized") {
|
|
38
|
+
return { apiKey: result.apiKey, email: result.email };
|
|
39
|
+
}
|
|
40
|
+
if (result.status === "expired") {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
// Still pending, wait and retry
|
|
44
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Network error, wait and retry
|
|
48
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
7
53
|
export async function loginCommand(options) {
|
|
8
|
-
console.log(chalk.bold("\
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
message: "Enter your API key (ak_live_...):",
|
|
14
|
-
mask: "*",
|
|
15
|
-
validate: (value) => {
|
|
16
|
-
if (!value)
|
|
17
|
-
return "API key is required";
|
|
18
|
-
if (!value.startsWith("ak_live_")) {
|
|
19
|
-
return "API key should start with 'ak_live_'";
|
|
20
|
-
}
|
|
21
|
-
return true;
|
|
22
|
-
},
|
|
23
|
-
});
|
|
54
|
+
console.log(chalk.bold("\nš Chucky CLI Login\n"));
|
|
55
|
+
// Check if already logged in
|
|
56
|
+
const existingConfig = loadGlobalConfig();
|
|
57
|
+
if (existingConfig?.apiKey) {
|
|
58
|
+
console.log(chalk.dim(`Currently logged in as: ${existingConfig.email || "unknown"}`));
|
|
24
59
|
}
|
|
25
|
-
//
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
60
|
+
// Choose login method
|
|
61
|
+
const method = options.key
|
|
62
|
+
? "key"
|
|
63
|
+
: await select({
|
|
64
|
+
message: "How would you like to authenticate?",
|
|
65
|
+
choices: [
|
|
66
|
+
{
|
|
67
|
+
name: "Browser (recommended)",
|
|
68
|
+
value: "browser",
|
|
69
|
+
description: "Opens browser to sign in with your account",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: "API Key",
|
|
73
|
+
value: "key",
|
|
74
|
+
description: "Enter your API key manually",
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
});
|
|
78
|
+
const portalUrl = getPortalUrl();
|
|
79
|
+
if (method === "browser") {
|
|
80
|
+
// Device auth flow
|
|
81
|
+
const spinner = ora("Creating device code...").start();
|
|
82
|
+
try {
|
|
83
|
+
// Create device code
|
|
84
|
+
const codeResponse = await fetch(`${portalUrl}/api/device/code`, {
|
|
85
|
+
method: "POST",
|
|
86
|
+
headers: { "Content-Type": "application/json" },
|
|
87
|
+
});
|
|
88
|
+
if (!codeResponse.ok) {
|
|
89
|
+
throw new Error("Failed to create device code");
|
|
90
|
+
}
|
|
91
|
+
const { code, expiresInSeconds } = await codeResponse.json();
|
|
92
|
+
spinner.stop();
|
|
93
|
+
// Display code and open browser
|
|
94
|
+
console.log(chalk.bold("\nš Your device code:\n"));
|
|
95
|
+
console.log(chalk.cyan.bold(` ${code}\n`));
|
|
96
|
+
console.log(chalk.dim("Opening browser to complete authentication..."));
|
|
97
|
+
console.log(chalk.dim(`Code expires in ${Math.floor(expiresInSeconds / 60)} minutes.\n`));
|
|
98
|
+
const connectUrl = `${PORTAL_FRONTEND_URL}/connect?code=${encodeURIComponent(code)}`;
|
|
99
|
+
openBrowser(connectUrl);
|
|
100
|
+
console.log(chalk.dim(`If the browser doesn't open, visit:`));
|
|
101
|
+
console.log(chalk.underline(connectUrl));
|
|
102
|
+
console.log();
|
|
103
|
+
// Poll for authorization
|
|
104
|
+
const pollSpinner = ora("Waiting for authorization...").start();
|
|
105
|
+
const result = await pollForToken(portalUrl, code, expiresInSeconds);
|
|
106
|
+
if (!result) {
|
|
107
|
+
pollSpinner.fail("Authorization timed out or was denied");
|
|
108
|
+
console.log(chalk.red("\nPlease try again with: chucky login"));
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
111
|
+
// Save config
|
|
112
|
+
saveGlobalConfig({
|
|
113
|
+
apiKey: result.apiKey,
|
|
114
|
+
email: result.email,
|
|
115
|
+
portalUrl,
|
|
116
|
+
});
|
|
117
|
+
pollSpinner.succeed("Logged in successfully");
|
|
118
|
+
console.log(chalk.green(`\nā
Welcome, ${result.email}!`));
|
|
119
|
+
console.log(chalk.dim("Config saved to ~/.chucky/config.json\n"));
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
spinner.fail("Login failed");
|
|
123
|
+
console.log(chalk.red(`\nError: ${error.message}`));
|
|
33
124
|
process.exit(1);
|
|
34
125
|
}
|
|
35
|
-
// Save config
|
|
36
|
-
const existingConfig = loadGlobalConfig();
|
|
37
|
-
saveGlobalConfig({
|
|
38
|
-
apiKey,
|
|
39
|
-
email: result.email,
|
|
40
|
-
portalUrl: existingConfig?.portalUrl || DEFAULT_PORTAL_URL,
|
|
41
|
-
});
|
|
42
|
-
spinner.succeed("Logged in successfully");
|
|
43
|
-
console.log(chalk.green(`\nWelcome, ${result.email}!`));
|
|
44
|
-
console.log(chalk.dim(`Credit balance: $${result.credit_balance_usd?.toFixed(2) || "0.00"}`));
|
|
45
|
-
console.log(chalk.dim("\nConfig saved to ~/.chucky/config.json"));
|
|
46
126
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
127
|
+
else {
|
|
128
|
+
// Manual API key entry
|
|
129
|
+
let apiKey = options.key;
|
|
130
|
+
if (!apiKey) {
|
|
131
|
+
apiKey = await password({
|
|
132
|
+
message: "Enter your API key (ak_live_...):",
|
|
133
|
+
mask: "*",
|
|
134
|
+
validate: (value) => {
|
|
135
|
+
if (!value)
|
|
136
|
+
return "API key is required";
|
|
137
|
+
if (!value.startsWith("ak_live_")) {
|
|
138
|
+
return "API key should start with 'ak_live_'";
|
|
139
|
+
}
|
|
140
|
+
return true;
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
const spinner = ora("Validating API key...").start();
|
|
145
|
+
try {
|
|
146
|
+
const api = new ChuckyApi(apiKey);
|
|
147
|
+
const result = await api.validateApiKey();
|
|
148
|
+
if (!result.valid) {
|
|
149
|
+
spinner.fail("Invalid API key");
|
|
150
|
+
console.log(chalk.red(`\nError: ${result.error || "API key validation failed"}`));
|
|
151
|
+
process.exit(1);
|
|
152
|
+
}
|
|
153
|
+
saveGlobalConfig({
|
|
154
|
+
apiKey,
|
|
155
|
+
email: result.email,
|
|
156
|
+
portalUrl,
|
|
157
|
+
});
|
|
158
|
+
spinner.succeed("Logged in successfully");
|
|
159
|
+
console.log(chalk.green(`\nā
Welcome, ${result.email}!`));
|
|
160
|
+
console.log(chalk.dim(`Credit balance: $${result.credit_balance_usd?.toFixed(2) || "0.00"}`));
|
|
161
|
+
console.log(chalk.dim("Config saved to ~/.chucky/config.json\n"));
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
spinner.fail("Login failed");
|
|
165
|
+
console.log(chalk.red(`\nError: ${error.message}`));
|
|
166
|
+
process.exit(1);
|
|
167
|
+
}
|
|
51
168
|
}
|
|
52
169
|
}
|
|
53
170
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -4,8 +4,8 @@ import { join } from "node:path";
|
|
|
4
4
|
const CONFIG_DIR = join(homedir(), ".chucky");
|
|
5
5
|
const GLOBAL_CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
6
6
|
const PROJECT_CONFIG_FILE = ".chucky.json";
|
|
7
|
-
// Default portal URL
|
|
8
|
-
const DEFAULT_PORTAL_URL = "https://
|
|
7
|
+
// Default portal URL (production)
|
|
8
|
+
const DEFAULT_PORTAL_URL = "https://doting-hornet-490.convex.site";
|
|
9
9
|
/**
|
|
10
10
|
* Ensure config directory exists
|
|
11
11
|
*/
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAiBjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC3D,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAE3C,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAiBjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC3D,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAE3C,kCAAkC;AAClC,MAAM,kBAAkB,GAAG,uCAAuC,CAAC;AAEnE;;GAEG;AACH,SAAS,eAAe;IACtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,eAAe,EAAE,CAAC;IAClB,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAqB,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IAClF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAClD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,OAAO,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,mCAAmC;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,OAAO,MAAM,EAAE,SAAS,IAAI,kBAAkB,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,iBAAiB,EAAE,KAAK,IAAI,CAAC;AACtC,CAAC"}
|