ugly-app 0.1.417 → 0.1.418
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/cli/authCommands.d.ts.map +1 -1
- package/dist/cli/authCommands.js +14 -2
- package/dist/cli/authCommands.js.map +1 -1
- package/dist/cli/scaffold.d.ts.map +1 -1
- package/dist/cli/scaffold.js +7 -0
- package/dist/cli/scaffold.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/package.json +1 -1
- package/src/cli/authCommands.ts +14 -2
- package/src/cli/scaffold.ts +7 -0
- package/src/cli/version.ts +1 -1
- package/templates/package.json +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authCommands.d.ts","sourceRoot":"","sources":["../../src/cli/authCommands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authCommands.d.ts","sourceRoot":"","sources":["../../src/cli/authCommands.ts"],"names":[],"mappings":"AAKA,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAqC5C;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAwD5C"}
|
package/dist/cli/authCommands.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { nanoid } from 'nanoid';
|
|
2
2
|
import { getUglyBotUrl } from '../shared/uglyBotUrl.js';
|
|
3
3
|
import { initDataProxy, pgQuery, stopDataProxy, ensureTable } from '../server/DataProxyClient.js';
|
|
4
|
+
import { migrateTokensFromUglyApp, readAuthToken } from './authStore.js';
|
|
4
5
|
export async function createAccount(email, name) {
|
|
5
6
|
const proxyUrl = process.env['DATA_PROXY_URL'] ?? 'ws://localhost:4200';
|
|
6
7
|
const proxyToken = process.env['DATA_PROXY_TOKEN'] ?? '';
|
|
@@ -33,13 +34,24 @@ export async function createAccount(email, name) {
|
|
|
33
34
|
export async function createBot(slug, name) {
|
|
34
35
|
const fs = await import('fs');
|
|
35
36
|
let projectToken = '';
|
|
36
|
-
|
|
37
|
+
let projectId = '';
|
|
38
|
+
// Migrate any legacy .uglyapp tokens into ~/.ugly-bot/ first.
|
|
39
|
+
migrateTokensFromUglyApp(process.cwd());
|
|
40
|
+
// Read projectId (and any leftover inline token) from .uglyapp.
|
|
37
41
|
try {
|
|
38
42
|
const config = JSON.parse(fs.readFileSync('.uglyapp', 'utf-8'));
|
|
43
|
+
if (typeof config.projectId === 'string')
|
|
44
|
+
projectId = config.projectId;
|
|
39
45
|
if (typeof config.uglyBotToken === 'string')
|
|
40
46
|
projectToken = config.uglyBotToken;
|
|
41
47
|
}
|
|
42
48
|
catch { /* no .uglyapp */ }
|
|
49
|
+
// Primary source: ~/.ugly-bot/ auth store (where `npx ugly-app login` writes tokens).
|
|
50
|
+
if (!projectToken && projectId) {
|
|
51
|
+
const stored = readAuthToken(projectId);
|
|
52
|
+
if (stored)
|
|
53
|
+
projectToken = stored;
|
|
54
|
+
}
|
|
43
55
|
// Fall back to .env for backwards compatibility
|
|
44
56
|
if (!projectToken) {
|
|
45
57
|
try {
|
|
@@ -51,7 +63,7 @@ export async function createBot(slug, name) {
|
|
|
51
63
|
catch { /* no .env either */ }
|
|
52
64
|
}
|
|
53
65
|
if (!projectToken) {
|
|
54
|
-
throw new Error('
|
|
66
|
+
throw new Error('No project auth token found. Run "npx ugly-app login" in this project to authenticate.');
|
|
55
67
|
}
|
|
56
68
|
const serverUrl = getUglyBotUrl();
|
|
57
69
|
const res = await fetch(`${serverUrl}/request`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authCommands.js","sourceRoot":"","sources":["../../src/cli/authCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"authCommands.js","sourceRoot":"","sources":["../../src/cli/authCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/cli/scaffold.ts"],"names":[],"mappings":"AAcA,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/cli/scaffold.ts"],"names":[],"mappings":"AAcA,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ExE"}
|
package/dist/cli/scaffold.js
CHANGED
|
@@ -42,6 +42,13 @@ export async function scaffoldProject(projectName) {
|
|
|
42
42
|
console.log('[ugly-app] Generated server/migrations/001_bootstrap.ts');
|
|
43
43
|
console.log('[ugly-app] Installing dependencies...');
|
|
44
44
|
execSync('pnpm install', { cwd: destDir, stdio: 'inherit' });
|
|
45
|
+
console.log('[ugly-app] Installing Playwright Chromium browser...');
|
|
46
|
+
try {
|
|
47
|
+
execSync('npx playwright install chromium', { cwd: destDir, stdio: 'inherit' });
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
console.warn('[ugly-app] Playwright browser install failed (non-fatal):', err);
|
|
51
|
+
}
|
|
45
52
|
const localPort = DEFAULT_LOCAL_PORT;
|
|
46
53
|
// Only alphanumeric — safe for R2 buckets, Postgres usernames, Docker tags
|
|
47
54
|
const generateId = customAlphabet('abcdefghijklmnopqrstuvwxyz0123456789', 10);
|
package/dist/cli/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/cli/scaffold.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/cli/scaffold.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.418";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
package/package.json
CHANGED
package/src/cli/authCommands.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { nanoid } from 'nanoid';
|
|
2
2
|
import { getUglyBotUrl } from '../shared/uglyBotUrl.js';
|
|
3
3
|
import { initDataProxy, pgQuery, stopDataProxy, ensureTable } from '../server/DataProxyClient.js';
|
|
4
|
+
import { migrateTokensFromUglyApp, readAuthToken } from './authStore.js';
|
|
4
5
|
|
|
5
6
|
export async function createAccount(
|
|
6
7
|
email: string,
|
|
@@ -50,13 +51,24 @@ export async function createBot(
|
|
|
50
51
|
): Promise<{ userId: string; token: string }> {
|
|
51
52
|
const fs = await import('fs');
|
|
52
53
|
let projectToken = '';
|
|
54
|
+
let projectId = '';
|
|
53
55
|
|
|
54
|
-
//
|
|
56
|
+
// Migrate any legacy .uglyapp tokens into ~/.ugly-bot/ first.
|
|
57
|
+
migrateTokensFromUglyApp(process.cwd());
|
|
58
|
+
|
|
59
|
+
// Read projectId (and any leftover inline token) from .uglyapp.
|
|
55
60
|
try {
|
|
56
61
|
const config = JSON.parse(fs.readFileSync('.uglyapp', 'utf-8')) as Record<string, unknown>;
|
|
62
|
+
if (typeof config.projectId === 'string') projectId = config.projectId;
|
|
57
63
|
if (typeof config.uglyBotToken === 'string') projectToken = config.uglyBotToken;
|
|
58
64
|
} catch { /* no .uglyapp */ }
|
|
59
65
|
|
|
66
|
+
// Primary source: ~/.ugly-bot/ auth store (where `npx ugly-app login` writes tokens).
|
|
67
|
+
if (!projectToken && projectId) {
|
|
68
|
+
const stored = readAuthToken(projectId);
|
|
69
|
+
if (stored) projectToken = stored;
|
|
70
|
+
}
|
|
71
|
+
|
|
60
72
|
// Fall back to .env for backwards compatibility
|
|
61
73
|
if (!projectToken) {
|
|
62
74
|
try {
|
|
@@ -68,7 +80,7 @@ export async function createBot(
|
|
|
68
80
|
|
|
69
81
|
if (!projectToken) {
|
|
70
82
|
throw new Error(
|
|
71
|
-
'
|
|
83
|
+
'No project auth token found. Run "npx ugly-app login" in this project to authenticate.',
|
|
72
84
|
);
|
|
73
85
|
}
|
|
74
86
|
|
package/src/cli/scaffold.ts
CHANGED
|
@@ -56,6 +56,13 @@ export async function scaffoldProject(projectName: string): Promise<void> {
|
|
|
56
56
|
console.log('[ugly-app] Installing dependencies...');
|
|
57
57
|
execSync('pnpm install', { cwd: destDir, stdio: 'inherit' });
|
|
58
58
|
|
|
59
|
+
console.log('[ugly-app] Installing Playwright Chromium browser...');
|
|
60
|
+
try {
|
|
61
|
+
execSync('npx playwright install chromium', { cwd: destDir, stdio: 'inherit' });
|
|
62
|
+
} catch (err) {
|
|
63
|
+
console.warn('[ugly-app] Playwright browser install failed (non-fatal):', err);
|
|
64
|
+
}
|
|
65
|
+
|
|
59
66
|
const localPort = DEFAULT_LOCAL_PORT;
|
|
60
67
|
// Only alphanumeric — safe for R2 buckets, Postgres usernames, Docker tags
|
|
61
68
|
const generateId = customAlphabet('abcdefghijklmnopqrstuvwxyz0123456789', 10);
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.418";
|