@datachonk/cli 0.1.0 → 0.2.0
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/auth.d.ts +3 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +289 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +266 -49
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/projects.d.ts +3 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +414 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/status.d.ts +5 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +174 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/sync.d.ts +4 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +300 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,eAAO,MAAM,WAAW,SAC8B,CAAC"}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import ora from "ora";
|
|
4
|
+
import inquirer from "inquirer";
|
|
5
|
+
import open from "open";
|
|
6
|
+
import http from "http";
|
|
7
|
+
import { URL } from "url";
|
|
8
|
+
import { loadConfig, saveConfig, getApiUrl } from "../utils/config.js";
|
|
9
|
+
export const authCommand = new Command("auth")
|
|
10
|
+
.description("Manage authentication with DataChonk");
|
|
11
|
+
// Login command
|
|
12
|
+
authCommand
|
|
13
|
+
.command("login")
|
|
14
|
+
.description("Authenticate with DataChonk")
|
|
15
|
+
.option("--api-key <key>", "Use an API key directly instead of browser auth")
|
|
16
|
+
.action(async (options) => {
|
|
17
|
+
if (options.apiKey) {
|
|
18
|
+
// Direct API key authentication
|
|
19
|
+
const spinner = ora("Validating API key...").start();
|
|
20
|
+
try {
|
|
21
|
+
const apiUrl = getApiUrl();
|
|
22
|
+
const response = await fetch(`${apiUrl}/api/cli/auth/validate`, {
|
|
23
|
+
method: "POST",
|
|
24
|
+
headers: {
|
|
25
|
+
"Content-Type": "application/json",
|
|
26
|
+
"Authorization": `Bearer ${options.apiKey}`,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
if (!response.ok) {
|
|
30
|
+
spinner.fail("Invalid API key");
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
const data = await response.json();
|
|
34
|
+
// Save API key to config
|
|
35
|
+
const config = loadConfig();
|
|
36
|
+
config.ai.apiKey = options.apiKey;
|
|
37
|
+
config.ai.enabled = true;
|
|
38
|
+
saveConfig(config);
|
|
39
|
+
spinner.succeed("Logged in successfully!");
|
|
40
|
+
console.log(chalk.gray(`\n Logged in as: ${data.user.email}`));
|
|
41
|
+
console.log(chalk.gray(` Subscription: ${data.user.subscription_tier || "free"}`));
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
spinner.fail("Authentication failed");
|
|
45
|
+
console.error(chalk.red(error instanceof Error ? error.message : "Unknown error"));
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// Browser-based authentication
|
|
51
|
+
console.log(chalk.cyan.bold("\n DataChonk Login\n"));
|
|
52
|
+
const apiUrl = getApiUrl();
|
|
53
|
+
const callbackPort = 9876;
|
|
54
|
+
const callbackUrl = `http://localhost:${callbackPort}/callback`;
|
|
55
|
+
// Create a one-time auth session
|
|
56
|
+
const spinner = ora("Preparing authentication...").start();
|
|
57
|
+
try {
|
|
58
|
+
const sessionResponse = await fetch(`${apiUrl}/api/cli/auth/session`, {
|
|
59
|
+
method: "POST",
|
|
60
|
+
headers: { "Content-Type": "application/json" },
|
|
61
|
+
body: JSON.stringify({ callbackUrl }),
|
|
62
|
+
});
|
|
63
|
+
if (!sessionResponse.ok) {
|
|
64
|
+
throw new Error("Failed to create auth session");
|
|
65
|
+
}
|
|
66
|
+
const { sessionId, authUrl } = await sessionResponse.json();
|
|
67
|
+
spinner.stop();
|
|
68
|
+
console.log(chalk.gray("Opening browser for authentication...\n"));
|
|
69
|
+
// Start local callback server
|
|
70
|
+
const apiKey = await new Promise((resolve, reject) => {
|
|
71
|
+
const server = http.createServer((req, res) => {
|
|
72
|
+
const url = new URL(req.url || "", `http://localhost:${callbackPort}`);
|
|
73
|
+
if (url.pathname === "/callback") {
|
|
74
|
+
const token = url.searchParams.get("token");
|
|
75
|
+
const error = url.searchParams.get("error");
|
|
76
|
+
if (error) {
|
|
77
|
+
res.writeHead(200, { "Content-Type": "text/html" });
|
|
78
|
+
res.end(`
|
|
79
|
+
<html>
|
|
80
|
+
<body style="font-family: system-ui; text-align: center; padding: 50px;">
|
|
81
|
+
<h1 style="color: #ef4444;">Authentication Failed</h1>
|
|
82
|
+
<p>${error}</p>
|
|
83
|
+
<p>You can close this window.</p>
|
|
84
|
+
</body>
|
|
85
|
+
</html>
|
|
86
|
+
`);
|
|
87
|
+
server.close();
|
|
88
|
+
reject(new Error(error));
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (token) {
|
|
92
|
+
res.writeHead(200, { "Content-Type": "text/html" });
|
|
93
|
+
res.end(`
|
|
94
|
+
<html>
|
|
95
|
+
<body style="font-family: system-ui; text-align: center; padding: 50px; background: #0a0a0a; color: white;">
|
|
96
|
+
<h1 style="color: #E8A54B;">Authentication Successful!</h1>
|
|
97
|
+
<p>You can close this window and return to the CLI.</p>
|
|
98
|
+
</body>
|
|
99
|
+
</html>
|
|
100
|
+
`);
|
|
101
|
+
server.close();
|
|
102
|
+
resolve(token);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
server.listen(callbackPort, () => {
|
|
107
|
+
// Open browser to auth URL
|
|
108
|
+
open(authUrl).catch(() => {
|
|
109
|
+
console.log(chalk.yellow(`\nCouldn't open browser. Please visit:\n${authUrl}\n`));
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
// Timeout after 5 minutes
|
|
113
|
+
setTimeout(() => {
|
|
114
|
+
server.close();
|
|
115
|
+
reject(new Error("Authentication timed out"));
|
|
116
|
+
}, 5 * 60 * 1000);
|
|
117
|
+
});
|
|
118
|
+
// Save API key
|
|
119
|
+
const config = loadConfig();
|
|
120
|
+
config.ai.apiKey = apiKey;
|
|
121
|
+
config.ai.enabled = true;
|
|
122
|
+
saveConfig(config);
|
|
123
|
+
// Fetch user info
|
|
124
|
+
const userResponse = await fetch(`${apiUrl}/api/cli/auth/me`, {
|
|
125
|
+
headers: { "Authorization": `Bearer ${apiKey}` },
|
|
126
|
+
});
|
|
127
|
+
if (userResponse.ok) {
|
|
128
|
+
const userData = await userResponse.json();
|
|
129
|
+
console.log(chalk.green("\nLogged in successfully!"));
|
|
130
|
+
console.log(chalk.gray(` Email: ${userData.user.email}`));
|
|
131
|
+
console.log(chalk.gray(` Plan: ${userData.user.subscription_tier || "free"}`));
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
console.log(chalk.green("\nLogged in successfully!"));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
spinner.fail("Authentication failed");
|
|
139
|
+
console.error(chalk.red(error instanceof Error ? error.message : "Unknown error"));
|
|
140
|
+
process.exit(1);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
// Logout command
|
|
144
|
+
authCommand
|
|
145
|
+
.command("logout")
|
|
146
|
+
.description("Log out of DataChonk")
|
|
147
|
+
.action(async () => {
|
|
148
|
+
const config = loadConfig();
|
|
149
|
+
if (!config.ai.apiKey) {
|
|
150
|
+
console.log(chalk.yellow("You are not logged in."));
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
const { confirm } = await inquirer.prompt([
|
|
154
|
+
{
|
|
155
|
+
type: "confirm",
|
|
156
|
+
name: "confirm",
|
|
157
|
+
message: "Are you sure you want to log out?",
|
|
158
|
+
default: true,
|
|
159
|
+
},
|
|
160
|
+
]);
|
|
161
|
+
if (!confirm)
|
|
162
|
+
return;
|
|
163
|
+
// Revoke API key on server
|
|
164
|
+
const apiUrl = getApiUrl();
|
|
165
|
+
try {
|
|
166
|
+
await fetch(`${apiUrl}/api/cli/auth/revoke`, {
|
|
167
|
+
method: "POST",
|
|
168
|
+
headers: {
|
|
169
|
+
"Authorization": `Bearer ${config.ai.apiKey}`,
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
// Ignore server errors during logout
|
|
175
|
+
}
|
|
176
|
+
// Clear local config
|
|
177
|
+
config.ai.apiKey = null;
|
|
178
|
+
config.ai.enabled = false;
|
|
179
|
+
saveConfig(config);
|
|
180
|
+
console.log(chalk.green("Logged out successfully."));
|
|
181
|
+
});
|
|
182
|
+
// Who am I command
|
|
183
|
+
authCommand
|
|
184
|
+
.command("whoami")
|
|
185
|
+
.description("Show current authenticated user")
|
|
186
|
+
.action(async () => {
|
|
187
|
+
const config = loadConfig();
|
|
188
|
+
if (!config.ai.apiKey) {
|
|
189
|
+
console.log(chalk.yellow("Not logged in. Run: datachonk auth login"));
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const spinner = ora("Fetching user info...").start();
|
|
193
|
+
try {
|
|
194
|
+
const apiUrl = getApiUrl();
|
|
195
|
+
const response = await fetch(`${apiUrl}/api/cli/auth/me`, {
|
|
196
|
+
headers: { "Authorization": `Bearer ${config.ai.apiKey}` },
|
|
197
|
+
});
|
|
198
|
+
if (!response.ok) {
|
|
199
|
+
spinner.fail("Session expired or invalid");
|
|
200
|
+
console.log(chalk.yellow("Run: datachonk auth login"));
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
const data = await response.json();
|
|
204
|
+
spinner.stop();
|
|
205
|
+
console.log(chalk.bold("\n DataChonk Account\n"));
|
|
206
|
+
console.log(chalk.gray(" ─".repeat(20)));
|
|
207
|
+
console.log(` ${chalk.gray("Email:")} ${data.user.email}`);
|
|
208
|
+
console.log(` ${chalk.gray("Name:")} ${data.user.name || "Not set"}`);
|
|
209
|
+
console.log(` ${chalk.gray("Plan:")} ${chalk.cyan(data.user.subscription_tier || "free")}`);
|
|
210
|
+
if (data.usage) {
|
|
211
|
+
console.log(chalk.gray("\n Usage This Month:"));
|
|
212
|
+
console.log(` ${chalk.gray("Projects:")} ${data.usage.projects}`);
|
|
213
|
+
console.log(` ${chalk.gray("AI Requests:")} ${data.usage.aiRequests}`);
|
|
214
|
+
}
|
|
215
|
+
console.log();
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
spinner.fail("Failed to fetch user info");
|
|
219
|
+
console.error(chalk.red(error instanceof Error ? error.message : "Unknown error"));
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
// Token/API Key management
|
|
223
|
+
authCommand
|
|
224
|
+
.command("token")
|
|
225
|
+
.description("Manage API tokens")
|
|
226
|
+
.argument("<action>", "Action: show | create | revoke")
|
|
227
|
+
.action(async (action) => {
|
|
228
|
+
const config = loadConfig();
|
|
229
|
+
switch (action) {
|
|
230
|
+
case "show": {
|
|
231
|
+
if (!config.ai.apiKey) {
|
|
232
|
+
console.log(chalk.yellow("No API key configured."));
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
// Only show partial key for security
|
|
236
|
+
const key = config.ai.apiKey;
|
|
237
|
+
const masked = key.substring(0, 8) + "..." + key.substring(key.length - 4);
|
|
238
|
+
console.log(chalk.gray(`API Key: ${masked}`));
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
case "create": {
|
|
242
|
+
if (!config.ai.apiKey) {
|
|
243
|
+
console.log(chalk.yellow("Login first: datachonk auth login"));
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
const { name } = await inquirer.prompt([
|
|
247
|
+
{
|
|
248
|
+
type: "input",
|
|
249
|
+
name: "name",
|
|
250
|
+
message: "Token name (for your reference):",
|
|
251
|
+
default: `cli-${new Date().toISOString().split("T")[0]}`,
|
|
252
|
+
},
|
|
253
|
+
]);
|
|
254
|
+
const spinner = ora("Creating API token...").start();
|
|
255
|
+
try {
|
|
256
|
+
const apiUrl = getApiUrl();
|
|
257
|
+
const response = await fetch(`${apiUrl}/api/cli/auth/token`, {
|
|
258
|
+
method: "POST",
|
|
259
|
+
headers: {
|
|
260
|
+
"Content-Type": "application/json",
|
|
261
|
+
"Authorization": `Bearer ${config.ai.apiKey}`,
|
|
262
|
+
},
|
|
263
|
+
body: JSON.stringify({ name }),
|
|
264
|
+
});
|
|
265
|
+
if (!response.ok) {
|
|
266
|
+
throw new Error("Failed to create token");
|
|
267
|
+
}
|
|
268
|
+
const data = await response.json();
|
|
269
|
+
spinner.succeed("Token created!");
|
|
270
|
+
console.log(chalk.yellow("\nStore this token securely - it won't be shown again:\n"));
|
|
271
|
+
console.log(chalk.cyan(data.token));
|
|
272
|
+
console.log();
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
spinner.fail("Failed to create token");
|
|
276
|
+
console.error(chalk.red(error instanceof Error ? error.message : "Unknown error"));
|
|
277
|
+
}
|
|
278
|
+
break;
|
|
279
|
+
}
|
|
280
|
+
case "revoke": {
|
|
281
|
+
console.log(chalk.yellow("To revoke tokens, visit: https://datachonk.dev/app/settings/tokens"));
|
|
282
|
+
break;
|
|
283
|
+
}
|
|
284
|
+
default:
|
|
285
|
+
console.log(chalk.red(`Unknown action: ${action}`));
|
|
286
|
+
console.log(chalk.gray("Valid actions: show, create, revoke"));
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkJpC,eAAO,MAAM,WAAW,SAqOpB,CAAC"}
|