atxp 1.2.2 → 1.2.3
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/help.d.ts.map +1 -1
- package/dist/help.js +5 -1
- package/dist/help.js.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/login.d.ts +2 -0
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +164 -39
- package/dist/login.js.map +1 -1
- package/package.json +4 -2
package/dist/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,IAAI,IAAI,CAqE/B"}
|
package/dist/help.js
CHANGED
|
@@ -24,6 +24,8 @@ export function showHelp() {
|
|
|
24
24
|
console.log(' ' + chalk.cyan('help') + ' ' + 'Show this help message');
|
|
25
25
|
console.log();
|
|
26
26
|
console.log(chalk.bold('Login Options:'));
|
|
27
|
+
console.log(' ' + chalk.yellow('--token, -t') + ' ' + 'Provide token directly (headless mode)');
|
|
28
|
+
console.log(' ' + chalk.yellow('--qr') + ' ' + 'Use QR code login (for terminals without browser)');
|
|
27
29
|
console.log(' ' + chalk.yellow('--force') + ' ' + 'Update connection string even if already set');
|
|
28
30
|
console.log();
|
|
29
31
|
console.log(chalk.bold('Dev Demo Options:'));
|
|
@@ -38,7 +40,9 @@ export function showHelp() {
|
|
|
38
40
|
console.log(' ' + chalk.yellow('--no-git') + ' ' + 'Skip git initialization');
|
|
39
41
|
console.log();
|
|
40
42
|
console.log(chalk.bold('Examples:'));
|
|
41
|
-
console.log(' npx atxp login # Log in to ATXP');
|
|
43
|
+
console.log(' npx atxp login # Log in to ATXP (browser)');
|
|
44
|
+
console.log(' npx atxp login --qr # Log in with QR code');
|
|
45
|
+
console.log(' npx atxp login --token $TOKEN # Log in with token (headless)');
|
|
42
46
|
console.log(' npx atxp search "latest AI news" # Search the web');
|
|
43
47
|
console.log(' npx atxp image "sunset over mountains" # Generate an image');
|
|
44
48
|
console.log(' npx atxp music "relaxing piano" # Generate music');
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -46,6 +46,8 @@ function parseArgs() {
|
|
|
46
46
|
const verbose = process.argv.includes('--verbose') || process.argv.includes('-v');
|
|
47
47
|
const refresh = process.argv.includes('--refresh');
|
|
48
48
|
const force = process.argv.includes('--force');
|
|
49
|
+
const token = getArgValue('--token', '-t');
|
|
50
|
+
const qr = process.argv.includes('--qr');
|
|
49
51
|
// Parse create options
|
|
50
52
|
const framework = getArgValue('--framework', '-f');
|
|
51
53
|
// Parse git options
|
|
@@ -78,7 +80,7 @@ function parseArgs() {
|
|
|
78
80
|
subCommand,
|
|
79
81
|
demoOptions: { port, dir, verbose, refresh },
|
|
80
82
|
createOptions: { framework, appName, git },
|
|
81
|
-
loginOptions: { force },
|
|
83
|
+
loginOptions: { force, token, qr },
|
|
82
84
|
toolArgs,
|
|
83
85
|
};
|
|
84
86
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/login.d.ts
CHANGED
package/dist/login.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAQA,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAKD,wBAAsB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CrE"}
|
package/dist/login.js
CHANGED
|
@@ -4,12 +4,13 @@ import path from 'path';
|
|
|
4
4
|
import os from 'os';
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import open from 'open';
|
|
7
|
+
import qrcode from 'qrcode-terminal';
|
|
7
8
|
const CONFIG_DIR = path.join(os.homedir(), '.atxp');
|
|
8
9
|
const CONFIG_FILE = path.join(CONFIG_DIR, 'config');
|
|
9
10
|
export async function login(options = {}) {
|
|
10
11
|
// Check if already logged in
|
|
11
12
|
const existingConnection = process.env.ATXP_CONNECTION;
|
|
12
|
-
if (existingConnection && !options.force) {
|
|
13
|
+
if (existingConnection && !options.force && !options.token) {
|
|
13
14
|
console.log(chalk.yellow('Already logged in (ATXP_CONNECTION is set).'));
|
|
14
15
|
console.log('Run with --force to update your connection string.');
|
|
15
16
|
return;
|
|
@@ -17,7 +18,20 @@ export async function login(options = {}) {
|
|
|
17
18
|
console.log(chalk.bold('ATXP Login'));
|
|
18
19
|
console.log();
|
|
19
20
|
try {
|
|
20
|
-
|
|
21
|
+
let connectionString;
|
|
22
|
+
// If token provided directly, use it (headless mode)
|
|
23
|
+
if (options.token) {
|
|
24
|
+
connectionString = options.token;
|
|
25
|
+
console.log('Using provided token for headless authentication...');
|
|
26
|
+
}
|
|
27
|
+
else if (options.qr) {
|
|
28
|
+
// QR code mode explicitly requested
|
|
29
|
+
connectionString = await loginWithQRCode();
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
// Try browser first, fall back to QR code on failure
|
|
33
|
+
connectionString = await loginWithBrowserOrQR();
|
|
34
|
+
}
|
|
21
35
|
saveConnectionString(connectionString);
|
|
22
36
|
console.log();
|
|
23
37
|
console.log(chalk.green('Login successful!'));
|
|
@@ -33,47 +47,35 @@ export async function login(options = {}) {
|
|
|
33
47
|
process.exit(1);
|
|
34
48
|
}
|
|
35
49
|
}
|
|
36
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Check if we're likely in a headless environment where browser won't work
|
|
52
|
+
*/
|
|
53
|
+
function isHeadlessEnvironment() {
|
|
54
|
+
// Common indicators of headless/non-GUI environments
|
|
55
|
+
const isSSH = !!process.env.SSH_TTY || !!process.env.SSH_CONNECTION;
|
|
56
|
+
const noDisplay = process.platform !== 'win32' && process.platform !== 'darwin' && !process.env.DISPLAY;
|
|
57
|
+
const isDocker = fs.existsSync('/.dockerenv');
|
|
58
|
+
const isCI = !!process.env.CI || !!process.env.GITHUB_ACTIONS || !!process.env.GITLAB_CI;
|
|
59
|
+
return isSSH || noDisplay || isDocker || isCI;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Try browser login first, fall back to QR code if it fails
|
|
63
|
+
*/
|
|
64
|
+
async function loginWithBrowserOrQR() {
|
|
65
|
+
// If we detect a headless environment, go straight to QR
|
|
66
|
+
if (isHeadlessEnvironment()) {
|
|
67
|
+
console.log(chalk.yellow('Headless environment detected, using QR code login...'));
|
|
68
|
+
console.log();
|
|
69
|
+
return loginWithQRCode();
|
|
70
|
+
}
|
|
71
|
+
// Try browser-based login
|
|
37
72
|
return new Promise((resolve, reject) => {
|
|
38
73
|
const server = http.createServer((req, res) => {
|
|
39
74
|
const url = new URL(req.url, `http://localhost`);
|
|
40
75
|
const connectionString = url.searchParams.get('connection_string');
|
|
41
76
|
if (connectionString) {
|
|
42
77
|
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
43
|
-
res.end(
|
|
44
|
-
<!DOCTYPE html>
|
|
45
|
-
<html>
|
|
46
|
-
<head>
|
|
47
|
-
<title>ATXP Login</title>
|
|
48
|
-
<style>
|
|
49
|
-
body {
|
|
50
|
-
font-family: system-ui, -apple-system, sans-serif;
|
|
51
|
-
display: flex;
|
|
52
|
-
justify-content: center;
|
|
53
|
-
align-items: center;
|
|
54
|
-
min-height: 100vh;
|
|
55
|
-
margin: 0;
|
|
56
|
-
background: #f5f5f5;
|
|
57
|
-
}
|
|
58
|
-
.container {
|
|
59
|
-
text-align: center;
|
|
60
|
-
padding: 40px;
|
|
61
|
-
background: white;
|
|
62
|
-
border-radius: 8px;
|
|
63
|
-
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
|
64
|
-
}
|
|
65
|
-
h1 { color: #10b981; margin-bottom: 16px; }
|
|
66
|
-
p { color: #666; }
|
|
67
|
-
</style>
|
|
68
|
-
</head>
|
|
69
|
-
<body>
|
|
70
|
-
<div class="container">
|
|
71
|
-
<h1>Login Successful</h1>
|
|
72
|
-
<p>You can close this tab and return to your terminal.</p>
|
|
73
|
-
</div>
|
|
74
|
-
</body>
|
|
75
|
-
</html>
|
|
76
|
-
`);
|
|
78
|
+
res.end(getSuccessHTML());
|
|
77
79
|
server.close();
|
|
78
80
|
resolve(decodeURIComponent(connectionString));
|
|
79
81
|
}
|
|
@@ -86,7 +88,7 @@ async function loginWithBrowser() {
|
|
|
86
88
|
reject(new Error(`Failed to start local server: ${err.message}`));
|
|
87
89
|
});
|
|
88
90
|
// Listen on random available port
|
|
89
|
-
server.listen(0, '127.0.0.1', () => {
|
|
91
|
+
server.listen(0, '127.0.0.1', async () => {
|
|
90
92
|
const address = server.address();
|
|
91
93
|
const port = typeof address === 'object' ? address?.port : null;
|
|
92
94
|
if (!port) {
|
|
@@ -98,8 +100,95 @@ async function loginWithBrowser() {
|
|
|
98
100
|
console.log('Opening browser to complete login...');
|
|
99
101
|
console.log(chalk.gray(`(${loginUrl})`));
|
|
100
102
|
console.log();
|
|
103
|
+
try {
|
|
104
|
+
// Try to open browser
|
|
105
|
+
const browserProcess = await open(loginUrl);
|
|
106
|
+
// Check if the browser process exited with an error
|
|
107
|
+
browserProcess.on('error', async () => {
|
|
108
|
+
console.log();
|
|
109
|
+
console.log(chalk.yellow('Browser failed to open. Switching to QR code...'));
|
|
110
|
+
console.log();
|
|
111
|
+
server.close();
|
|
112
|
+
try {
|
|
113
|
+
const result = await loginWithQRCode();
|
|
114
|
+
resolve(result);
|
|
115
|
+
}
|
|
116
|
+
catch (qrError) {
|
|
117
|
+
reject(qrError);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
console.log('Waiting for authentication...');
|
|
121
|
+
console.log(chalk.gray('(If browser did not open, press Ctrl+C and run: npx atxp login --qr)'));
|
|
122
|
+
}
|
|
123
|
+
catch (openError) {
|
|
124
|
+
// Browser open failed, fall back to QR
|
|
125
|
+
console.log();
|
|
126
|
+
console.log(chalk.yellow('Could not open browser. Switching to QR code...'));
|
|
127
|
+
console.log();
|
|
128
|
+
server.close();
|
|
129
|
+
try {
|
|
130
|
+
const result = await loginWithQRCode();
|
|
131
|
+
resolve(result);
|
|
132
|
+
}
|
|
133
|
+
catch (qrError) {
|
|
134
|
+
reject(qrError);
|
|
135
|
+
}
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
// Timeout after 5 minutes
|
|
139
|
+
const timeout = setTimeout(() => {
|
|
140
|
+
server.close();
|
|
141
|
+
reject(new Error('Login timed out. Please try again.'));
|
|
142
|
+
}, 5 * 60 * 1000);
|
|
143
|
+
server.on('close', () => {
|
|
144
|
+
clearTimeout(timeout);
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* QR code based login - shows QR in terminal for mobile scanning
|
|
151
|
+
*/
|
|
152
|
+
async function loginWithQRCode() {
|
|
153
|
+
return new Promise((resolve, reject) => {
|
|
154
|
+
const server = http.createServer((req, res) => {
|
|
155
|
+
const url = new URL(req.url, `http://localhost`);
|
|
156
|
+
const connectionString = url.searchParams.get('connection_string');
|
|
157
|
+
if (connectionString) {
|
|
158
|
+
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
159
|
+
res.end(getSuccessHTML());
|
|
160
|
+
server.close();
|
|
161
|
+
resolve(decodeURIComponent(connectionString));
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
res.writeHead(400, { 'Content-Type': 'text/plain' });
|
|
165
|
+
res.end('Missing connection_string parameter');
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
server.on('error', (err) => {
|
|
169
|
+
reject(new Error(`Failed to start local server: ${err.message}`));
|
|
170
|
+
});
|
|
171
|
+
// Listen on random available port
|
|
172
|
+
server.listen(0, '127.0.0.1', () => {
|
|
173
|
+
const address = server.address();
|
|
174
|
+
const port = typeof address === 'object' ? address?.port : null;
|
|
175
|
+
if (!port) {
|
|
176
|
+
reject(new Error('Failed to start local server'));
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const redirectUri = `http://localhost:${port}/callback`;
|
|
180
|
+
const loginUrl = `https://accounts.atxp.ai?cli_redirect=${encodeURIComponent(redirectUri)}`;
|
|
181
|
+
console.log(chalk.bold('Scan this QR code with your phone to login:'));
|
|
182
|
+
console.log();
|
|
183
|
+
// Generate and display QR code
|
|
184
|
+
qrcode.generate(loginUrl, { small: true }, (qr) => {
|
|
185
|
+
console.log(qr);
|
|
186
|
+
});
|
|
187
|
+
console.log();
|
|
188
|
+
console.log(chalk.gray('Or open this URL manually:'));
|
|
189
|
+
console.log(chalk.cyan(loginUrl));
|
|
190
|
+
console.log();
|
|
101
191
|
console.log('Waiting for authentication...');
|
|
102
|
-
open(loginUrl);
|
|
103
192
|
// Timeout after 5 minutes
|
|
104
193
|
const timeout = setTimeout(() => {
|
|
105
194
|
server.close();
|
|
@@ -111,6 +200,42 @@ async function loginWithBrowser() {
|
|
|
111
200
|
});
|
|
112
201
|
});
|
|
113
202
|
}
|
|
203
|
+
function getSuccessHTML() {
|
|
204
|
+
return `
|
|
205
|
+
<!DOCTYPE html>
|
|
206
|
+
<html>
|
|
207
|
+
<head>
|
|
208
|
+
<title>ATXP Login</title>
|
|
209
|
+
<style>
|
|
210
|
+
body {
|
|
211
|
+
font-family: system-ui, -apple-system, sans-serif;
|
|
212
|
+
display: flex;
|
|
213
|
+
justify-content: center;
|
|
214
|
+
align-items: center;
|
|
215
|
+
min-height: 100vh;
|
|
216
|
+
margin: 0;
|
|
217
|
+
background: #f5f5f5;
|
|
218
|
+
}
|
|
219
|
+
.container {
|
|
220
|
+
text-align: center;
|
|
221
|
+
padding: 40px;
|
|
222
|
+
background: white;
|
|
223
|
+
border-radius: 8px;
|
|
224
|
+
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
|
225
|
+
}
|
|
226
|
+
h1 { color: #10b981; margin-bottom: 16px; }
|
|
227
|
+
p { color: #666; }
|
|
228
|
+
</style>
|
|
229
|
+
</head>
|
|
230
|
+
<body>
|
|
231
|
+
<div class="container">
|
|
232
|
+
<h1>Login Successful</h1>
|
|
233
|
+
<p>You can close this tab and return to your terminal.</p>
|
|
234
|
+
</div>
|
|
235
|
+
</body>
|
|
236
|
+
</html>
|
|
237
|
+
`;
|
|
238
|
+
}
|
|
114
239
|
function saveConnectionString(connectionString) {
|
|
115
240
|
if (!fs.existsSync(CONFIG_DIR)) {
|
|
116
241
|
fs.mkdirSync(CONFIG_DIR, { recursive: true });
|
package/dist/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "atxp",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "ATXP CLI - Command line tool for creating ATXP projects and running demos",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -39,12 +39,14 @@
|
|
|
39
39
|
"fs-extra": "^11.2.0",
|
|
40
40
|
"inquirer": "^9.2.12",
|
|
41
41
|
"open": "^9.1.0",
|
|
42
|
-
"ora": "^7.0.1"
|
|
42
|
+
"ora": "^7.0.1",
|
|
43
|
+
"qrcode-terminal": "^0.12.0"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
46
|
"@types/fs-extra": "^11.0.4",
|
|
46
47
|
"@types/inquirer": "^9.0.7",
|
|
47
48
|
"@types/node": "^22.13.0",
|
|
49
|
+
"@types/qrcode-terminal": "^0.12.2",
|
|
48
50
|
"tsx": "^4.19.2",
|
|
49
51
|
"typescript": "^5.7.3",
|
|
50
52
|
"vitest": "^1.0.0"
|