ugly-app 0.1.250 → 0.1.252

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.
@@ -1 +1 @@
1
- {"version":3,"file":"devTunnel.d.ts","sourceRoot":"","sources":["../../src/cli/devTunnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUvD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiCD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CA0DvF;AAkZD,kEAAkE;AAClE,wBAAgB,aAAa,IAAI,IAAI,CA6BpC"}
1
+ {"version":3,"file":"devTunnel.d.ts","sourceRoot":"","sources":["../../src/cli/devTunnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUvD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiCD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CA0DvF;AAqZD,kEAAkE;AAClE,wBAAgB,aAAa,IAAI,IAAI,CA6BpC"}
@@ -150,14 +150,11 @@ function connectWs(opts) {
150
150
  // Ignore malformed frames
151
151
  }
152
152
  });
153
- ws.on('close', (code) => {
153
+ ws.on('close', (code, reason) => {
154
154
  if (!state || state.stopped)
155
155
  return;
156
156
  state.connected = false;
157
157
  state.ws = null;
158
- if (code === 4001) {
159
- console.error('[ugly-app] Auth expired — run `npx ugly-app login` then restart');
160
- }
161
158
  // RST all active streams
162
159
  for (const [id, socket] of state.streams) {
163
160
  socket.destroy();
@@ -171,7 +168,16 @@ function connectWs(opts) {
171
168
  if (!resolved) {
172
169
  resolved = true;
173
170
  cleanupServers();
174
- reject(new Error('[ugly-app] Cannot reach ugly.bot — check your connection'));
171
+ const reasonStr = reason?.toString() || '';
172
+ if (code === 4001) {
173
+ reject(new Error(`[ugly-app] Authentication failed (4001). Run: npx ugly-app login${process.env['UGLY_BOT_LOCAL'] === '1' ? ' --local' : ''}`));
174
+ }
175
+ else if (code === 4500) {
176
+ reject(new Error(`[ugly-app] Failed to provision resources (4500): ${reasonStr}`));
177
+ }
178
+ else {
179
+ reject(new Error(`[ugly-app] Cannot reach ugly.bot (close code ${code}): ${reasonStr}`));
180
+ }
175
181
  return;
176
182
  }
177
183
  console.warn('[ugly-app] Tunnel disconnected, reconnecting...');
@@ -1 +1 @@
1
- {"version":3,"file":"devTunnel.js","sourceRoot":"","sources":["../../src/cli/devTunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devTunnel.js","sourceRoot":"","sources":["../../src/cli/devTunnel.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensureInfra.d.ts","sourceRoot":"","sources":["../../src/cli/ensureInfra.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA+BjD"}
1
+ {"version":3,"file":"ensureInfra.d.ts","sourceRoot":"","sources":["../../src/cli/ensureInfra.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA+DjD"}
@@ -1,5 +1,8 @@
1
1
  import { getUglyBotUrl } from '../shared/uglyBotUrl.js';
2
2
  import { readUglyAppConfig } from './uglyappConfig.js';
3
+ function isLocal() {
4
+ return process.env['UGLY_BOT_LOCAL'] === '1';
5
+ }
3
6
  /**
4
7
  * Ensure infrastructure env vars (POSTGRES_URL, NATS_URL, etc.) are set.
5
8
  *
@@ -17,8 +20,10 @@ export async function ensureInfra() {
17
20
  process.env['NATS_PREFIX'] = config.projectId;
18
21
  if (!process.env['STORAGE_KEY_PREFIX'])
19
22
  process.env['STORAGE_KEY_PREFIX'] = config.projectId;
20
- if (config.uglyBotToken && !process.env['UGLY_BOT_TOKEN']) {
21
- process.env['UGLY_BOT_TOKEN'] = config.uglyBotToken;
23
+ // Use the right project token for the current mode
24
+ const projectToken = isLocal() ? config.localToken : config.uglyBotToken;
25
+ if (projectToken && !process.env['UGLY_BOT_TOKEN']) {
26
+ process.env['UGLY_BOT_TOKEN'] = projectToken;
22
27
  }
23
28
  }
24
29
  // If POSTGRES_URL is already set (e.g. by a parent process or E2E test), skip
@@ -27,14 +32,46 @@ export async function ensureInfra() {
27
32
  if (!config) {
28
33
  throw new Error('[ugly-app] No .uglyapp config found. Run: npx ugly-app init');
29
34
  }
30
- // Ensure we have valid auth — auto-trigger login if needed
35
+ // Ensure we have valid user auth — auto-trigger login if needed
31
36
  const { ensureUglyBotAuth } = await import('./uglyBotLogin.js');
32
37
  const auth = await ensureUglyBotAuth(getUglyBotUrl());
38
+ // Ensure we have a valid project token for this mode
39
+ const projectToken = isLocal() ? config.localToken : config.uglyBotToken;
40
+ if (!projectToken) {
41
+ console.log(`[ugly-app] No project token for ${isLocal() ? 'local' : 'cloud'} — registering...`);
42
+ const path = await import('path');
43
+ const { runUglyBotSetup } = await import('./uglyBotSetup.js');
44
+ await runUglyBotSetup(config.projectId, path.join(process.cwd(), '.uglyapp'));
45
+ const updated = readUglyAppConfig(process.cwd());
46
+ const newToken = isLocal() ? updated?.localToken : updated?.uglyBotToken;
47
+ if (newToken) {
48
+ process.env['UGLY_BOT_TOKEN'] = newToken;
49
+ }
50
+ }
33
51
  const { startDevTunnel } = await import('./devTunnel.js');
34
- const ports = await startDevTunnel({ projectId: config.projectId, token: auth.token, vitePort: config.localPort });
35
- process.env['POSTGRES_URL'] = `postgresql://app:app@localhost:${ports.postgres}/${config.projectId}`;
36
- process.env['NATS_URL'] = `nats://localhost:${ports.nats}`;
37
- process.env['MINIO_ENDPOINT'] = `http://localhost:${ports.s3}`;
38
- process.env['QDRANT_URL'] = `http://localhost:${ports.qdrantHttp}`;
52
+ try {
53
+ const ports = await startDevTunnel({ projectId: config.projectId, token: auth.token, vitePort: config.localPort });
54
+ process.env['POSTGRES_URL'] = `postgresql://app:app@localhost:${ports.postgres}/${config.projectId}`;
55
+ process.env['NATS_URL'] = `nats://localhost:${ports.nats}`;
56
+ process.env['MINIO_ENDPOINT'] = `http://localhost:${ports.s3}`;
57
+ process.env['QDRANT_URL'] = `http://localhost:${ports.qdrantHttp}`;
58
+ }
59
+ catch (err) {
60
+ const msg = err.message;
61
+ if (msg.includes('4001')) {
62
+ // Auth failed — force re-login and retry
63
+ console.log('[ugly-app] Auth expired, re-authenticating...');
64
+ const { runUglyBotLogin } = await import('./uglyBotLogin.js');
65
+ const freshAuth = await runUglyBotLogin(getUglyBotUrl());
66
+ const ports = await startDevTunnel({ projectId: config.projectId, token: freshAuth.token, vitePort: config.localPort });
67
+ process.env['POSTGRES_URL'] = `postgresql://app:app@localhost:${ports.postgres}/${config.projectId}`;
68
+ process.env['NATS_URL'] = `nats://localhost:${ports.nats}`;
69
+ process.env['MINIO_ENDPOINT'] = `http://localhost:${ports.s3}`;
70
+ process.env['QDRANT_URL'] = `http://localhost:${ports.qdrantHttp}`;
71
+ }
72
+ else {
73
+ throw err;
74
+ }
75
+ }
39
76
  }
40
77
  //# sourceMappingURL=ensureInfra.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensureInfra.js","sourceRoot":"","sources":["../../src/cli/ensureInfra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEhD,uCAAuC;IACvC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;QAC7F,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QACtD,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAAE,OAAO;IAExC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,2DAA2D;IAC3D,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;IAEtD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAEnH,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,kCAAkC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,oBAAoB,KAAK,CAAC,EAAE,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,oBAAoB,KAAK,CAAC,UAAU,EAAE,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"ensureInfra.js","sourceRoot":"","sources":["../../src/cli/ensureInfra.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * Authenticates with ugly.bot, creates (or retrieves) a long-lived project
3
- * token, and writes uglyBotToken to the .uglyapp config file.
3
+ * token, and writes it to the .uglyapp config file.
4
+ *
5
+ * Writes to `uglyBotToken` for cloud or `localToken` for local ugly.bot.
4
6
  */
5
7
  export declare function runUglyBotSetup(projectId: string, configFilePath: string): Promise<void>;
6
8
  //# sourceMappingURL=uglyBotSetup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uglyBotSetup.d.ts","sourceRoot":"","sources":["../../src/cli/uglyBotSetup.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAsCf"}
1
+ {"version":3,"file":"uglyBotSetup.d.ts","sourceRoot":"","sources":["../../src/cli/uglyBotSetup.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA4Cf"}
@@ -1,11 +1,15 @@
1
1
  import fs from 'fs';
2
+ import { getUglyBotUrl } from '../shared/uglyBotUrl.js';
2
3
  import { ensureUglyBotAuth } from './uglyBotLogin.js';
3
4
  /**
4
5
  * Authenticates with ugly.bot, creates (or retrieves) a long-lived project
5
- * token, and writes uglyBotToken to the .uglyapp config file.
6
+ * token, and writes it to the .uglyapp config file.
7
+ *
8
+ * Writes to `uglyBotToken` for cloud or `localToken` for local ugly.bot.
6
9
  */
7
10
  export async function runUglyBotSetup(projectId, configFilePath) {
8
- const auth = await ensureUglyBotAuth();
11
+ const auth = await ensureUglyBotAuth(getUglyBotUrl());
12
+ const isLocal = auth.serverUrl.includes('localhost');
9
13
  console.log(`[UglyBot] Creating project token for projectId="${projectId}"...`);
10
14
  const res = await fetch(`${auth.serverUrl}/app/project-token`, {
11
15
  method: 'POST',
@@ -21,15 +25,20 @@ export async function runUglyBotSetup(projectId, configFilePath) {
21
25
  }
22
26
  const data = (await res.json());
23
27
  const projectToken = data.token;
24
- // Write token to .uglyapp config
28
+ // Write token to .uglyapp config — separate field for cloud vs local
25
29
  let config = {};
26
30
  try {
27
31
  config = JSON.parse(fs.readFileSync(configFilePath, 'utf-8'));
28
32
  }
29
33
  catch { /* start fresh */ }
30
- config.uglyBotToken = projectToken;
34
+ if (isLocal) {
35
+ config.localToken = projectToken;
36
+ }
37
+ else {
38
+ config.uglyBotToken = projectToken;
39
+ }
31
40
  fs.writeFileSync(configFilePath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
32
41
  console.log(`[UglyBot] Project token written to ${configFilePath}.\n` +
33
- ` AI calls will route through ugly.bot.`);
42
+ ` AI calls will route through ugly.bot${isLocal ? ' (local)' : ''}.`);
34
43
  }
35
44
  //# sourceMappingURL=uglyBotSetup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uglyBotSetup.js","sourceRoot":"","sources":["../../src/cli/uglyBotSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,cAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAEvC,OAAO,CAAC,GAAG,CACT,mDAAmD,SAAS,MAAM,CACnE,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,oBAAoB,EAAE;QAC7D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,eAAe,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;YACvC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,6CAA6C,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAClE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAsB,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IAEhC,iCAAiC;IACjC,IAAI,MAAM,GAA4B,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAA4B,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC7B,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAElF,OAAO,CAAC,GAAG,CACT,sCAAsC,cAAc,KAAK;QACvD,yCAAyC,CAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"uglyBotSetup.js","sourceRoot":"","sources":["../../src/cli/uglyBotSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,cAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CACT,mDAAmD,SAAS,MAAM,CACnE,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,oBAAoB,EAAE;QAC7D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,eAAe,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;YACvC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,6CAA6C,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAClE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAsB,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IAEhC,qEAAqE;IACrE,IAAI,MAAM,GAA4B,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAA4B,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAE7B,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAElF,OAAO,CAAC,GAAG,CACT,sCAAsC,cAAc,KAAK;QACvD,yCAAyC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CACxE,CAAC;AACJ,CAAC"}
@@ -2,7 +2,10 @@ export interface UglyAppConfig {
2
2
  projectId: string;
3
3
  localPort: number;
4
4
  domain?: string;
5
+ /** Token for ugly.bot cloud */
5
6
  uglyBotToken?: string;
7
+ /** Token for local ugly.bot (localhost:3000) */
8
+ localToken?: string;
6
9
  }
7
10
  export declare const KNOWN_CONFLICTING_PORTS: Map<number, string>;
8
11
  export declare function validateLocalPort(localPort: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"uglyappConfig.d.ts","sourceRoot":"","sources":["../../src/cli/uglyappConfig.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,eAAO,MAAM,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAItD,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA6BzD;AAGD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAoDnE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAS3E;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQhF;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAQjF;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwCjE"}
1
+ {"version":3,"file":"uglyappConfig.d.ts","sourceRoot":"","sources":["../../src/cli/uglyappConfig.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,eAAO,MAAM,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAItD,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA6BzD;AAGD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAsDnE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAU3E;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQhF;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAQjF;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwCjE"}
@@ -69,11 +69,13 @@ export function readUglyAppConfig(cwd) {
69
69
  validateLocalPort(localPort);
70
70
  const domain = typeof config.domain === 'string' ? config.domain : undefined;
71
71
  const uglyBotToken = typeof config.uglyBotToken === 'string' ? config.uglyBotToken : undefined;
72
+ const localToken = typeof config.localToken === 'string' ? config.localToken : undefined;
72
73
  return {
73
74
  projectId: config.projectId,
74
75
  localPort,
75
76
  ...(domain !== undefined && { domain }),
76
77
  ...(uglyBotToken !== undefined && { uglyBotToken }),
78
+ ...(localToken !== undefined && { localToken }),
77
79
  };
78
80
  }
79
81
  export function writeUglyAppConfig(cwd, config) {
@@ -86,6 +88,8 @@ export function writeUglyAppConfig(cwd, config) {
86
88
  data.domain = config.domain;
87
89
  if (config.uglyBotToken !== undefined)
88
90
  data.uglyBotToken = config.uglyBotToken;
91
+ if (config.localToken !== undefined)
92
+ data.localToken = config.localToken;
89
93
  fs.writeFileSync(configPath, JSON.stringify(data, null, 2) + '\n', 'utf-8');
90
94
  }
91
95
  /** Read a single field from .uglyapp without full validation (for partial updates). */
@@ -1 +1 @@
1
- {"version":3,"file":"uglyappConfig.js","sourceRoot":"","sources":["../../src/cli/uglyappConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uglyappConfig.js","sourceRoot":"","sources":["../../src/cli/uglyappConfig.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.250";
1
+ export declare const CLI_VERSION = "0.1.252";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.250";
2
+ export const CLI_VERSION = "0.1.252";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.250",
3
+ "version": "0.1.252",
4
4
  "type": "module",
5
5
  "main": "./dist/server/index.js",
6
6
  "exports": {
@@ -208,15 +208,11 @@ function connectWs(opts: StartDevTunnelOpts): Promise<void> {
208
208
  }
209
209
  });
210
210
 
211
- ws.on('close', (code) => {
211
+ ws.on('close', (code: number, reason: Buffer) => {
212
212
  if (!state || state.stopped) return;
213
213
  state.connected = false;
214
214
  state.ws = null;
215
215
 
216
- if (code === 4001) {
217
- console.error('[ugly-app] Auth expired — run `npx ugly-app login` then restart');
218
- }
219
-
220
216
  // RST all active streams
221
217
  for (const [id, socket] of state.streams) {
222
218
  socket.destroy();
@@ -232,7 +228,14 @@ function connectWs(opts: StartDevTunnelOpts): Promise<void> {
232
228
  if (!resolved) {
233
229
  resolved = true;
234
230
  cleanupServers();
235
- reject(new Error('[ugly-app] Cannot reach ugly.bot — check your connection'));
231
+ const reasonStr = reason?.toString() || '';
232
+ if (code === 4001) {
233
+ reject(new Error(`[ugly-app] Authentication failed (4001). Run: npx ugly-app login${process.env['UGLY_BOT_LOCAL'] === '1' ? ' --local' : ''}`));
234
+ } else if (code === 4500) {
235
+ reject(new Error(`[ugly-app] Failed to provision resources (4500): ${reasonStr}`));
236
+ } else {
237
+ reject(new Error(`[ugly-app] Cannot reach ugly.bot (close code ${code}): ${reasonStr}`));
238
+ }
236
239
  return;
237
240
  }
238
241
 
@@ -1,6 +1,10 @@
1
1
  import { getUglyBotUrl } from '../shared/uglyBotUrl.js';
2
2
  import { readUglyAppConfig } from './uglyappConfig.js';
3
3
 
4
+ function isLocal(): boolean {
5
+ return process.env['UGLY_BOT_LOCAL'] === '1';
6
+ }
7
+
4
8
  /**
5
9
  * Ensure infrastructure env vars (POSTGRES_URL, NATS_URL, etc.) are set.
6
10
  *
@@ -16,8 +20,10 @@ export async function ensureInfra(): Promise<void> {
16
20
  if (!process.env['PORT']) process.env['PORT'] = String(config.localPort);
17
21
  if (!process.env['NATS_PREFIX']) process.env['NATS_PREFIX'] = config.projectId;
18
22
  if (!process.env['STORAGE_KEY_PREFIX']) process.env['STORAGE_KEY_PREFIX'] = config.projectId;
19
- if (config.uglyBotToken && !process.env['UGLY_BOT_TOKEN']) {
20
- process.env['UGLY_BOT_TOKEN'] = config.uglyBotToken;
23
+ // Use the right project token for the current mode
24
+ const projectToken = isLocal() ? config.localToken : config.uglyBotToken;
25
+ if (projectToken && !process.env['UGLY_BOT_TOKEN']) {
26
+ process.env['UGLY_BOT_TOKEN'] = projectToken;
21
27
  }
22
28
  }
23
29
 
@@ -28,15 +34,45 @@ export async function ensureInfra(): Promise<void> {
28
34
  throw new Error('[ugly-app] No .uglyapp config found. Run: npx ugly-app init');
29
35
  }
30
36
 
31
- // Ensure we have valid auth — auto-trigger login if needed
37
+ // Ensure we have valid user auth — auto-trigger login if needed
32
38
  const { ensureUglyBotAuth } = await import('./uglyBotLogin.js');
33
39
  const auth = await ensureUglyBotAuth(getUglyBotUrl());
34
40
 
35
- const { startDevTunnel } = await import('./devTunnel.js');
36
- const ports = await startDevTunnel({ projectId: config.projectId, token: auth.token, vitePort: config.localPort });
41
+ // Ensure we have a valid project token for this mode
42
+ const projectToken = isLocal() ? config.localToken : config.uglyBotToken;
43
+ if (!projectToken) {
44
+ console.log(`[ugly-app] No project token for ${isLocal() ? 'local' : 'cloud'} — registering...`);
45
+ const path = await import('path');
46
+ const { runUglyBotSetup } = await import('./uglyBotSetup.js');
47
+ await runUglyBotSetup(config.projectId, path.join(process.cwd(), '.uglyapp'));
48
+ const updated = readUglyAppConfig(process.cwd());
49
+ const newToken = isLocal() ? updated?.localToken : updated?.uglyBotToken;
50
+ if (newToken) {
51
+ process.env['UGLY_BOT_TOKEN'] = newToken;
52
+ }
53
+ }
37
54
 
38
- process.env['POSTGRES_URL'] = `postgresql://app:app@localhost:${ports.postgres}/${config.projectId}`;
39
- process.env['NATS_URL'] = `nats://localhost:${ports.nats}`;
40
- process.env['MINIO_ENDPOINT'] = `http://localhost:${ports.s3}`;
41
- process.env['QDRANT_URL'] = `http://localhost:${ports.qdrantHttp}`;
55
+ const { startDevTunnel } = await import('./devTunnel.js');
56
+ try {
57
+ const ports = await startDevTunnel({ projectId: config.projectId, token: auth.token, vitePort: config.localPort });
58
+ process.env['POSTGRES_URL'] = `postgresql://app:app@localhost:${ports.postgres}/${config.projectId}`;
59
+ process.env['NATS_URL'] = `nats://localhost:${ports.nats}`;
60
+ process.env['MINIO_ENDPOINT'] = `http://localhost:${ports.s3}`;
61
+ process.env['QDRANT_URL'] = `http://localhost:${ports.qdrantHttp}`;
62
+ } catch (err) {
63
+ const msg = (err as Error).message;
64
+ if (msg.includes('4001')) {
65
+ // Auth failed — force re-login and retry
66
+ console.log('[ugly-app] Auth expired, re-authenticating...');
67
+ const { runUglyBotLogin } = await import('./uglyBotLogin.js');
68
+ const freshAuth = await runUglyBotLogin(getUglyBotUrl());
69
+ const ports = await startDevTunnel({ projectId: config.projectId, token: freshAuth.token, vitePort: config.localPort });
70
+ process.env['POSTGRES_URL'] = `postgresql://app:app@localhost:${ports.postgres}/${config.projectId}`;
71
+ process.env['NATS_URL'] = `nats://localhost:${ports.nats}`;
72
+ process.env['MINIO_ENDPOINT'] = `http://localhost:${ports.s3}`;
73
+ process.env['QDRANT_URL'] = `http://localhost:${ports.qdrantHttp}`;
74
+ } else {
75
+ throw err;
76
+ }
77
+ }
42
78
  }
@@ -1,15 +1,19 @@
1
1
  import fs from 'fs';
2
+ import { getUglyBotUrl } from '../shared/uglyBotUrl.js';
2
3
  import { ensureUglyBotAuth } from './uglyBotLogin.js';
3
4
 
4
5
  /**
5
6
  * Authenticates with ugly.bot, creates (or retrieves) a long-lived project
6
- * token, and writes uglyBotToken to the .uglyapp config file.
7
+ * token, and writes it to the .uglyapp config file.
8
+ *
9
+ * Writes to `uglyBotToken` for cloud or `localToken` for local ugly.bot.
7
10
  */
8
11
  export async function runUglyBotSetup(
9
12
  projectId: string,
10
13
  configFilePath: string,
11
14
  ): Promise<void> {
12
- const auth = await ensureUglyBotAuth();
15
+ const auth = await ensureUglyBotAuth(getUglyBotUrl());
16
+ const isLocal = auth.serverUrl.includes('localhost');
13
17
 
14
18
  console.log(
15
19
  `[UglyBot] Creating project token for projectId="${projectId}"...`,
@@ -34,16 +38,21 @@ export async function runUglyBotSetup(
34
38
  const data = (await res.json()) as { token: string };
35
39
  const projectToken = data.token;
36
40
 
37
- // Write token to .uglyapp config
41
+ // Write token to .uglyapp config — separate field for cloud vs local
38
42
  let config: Record<string, unknown> = {};
39
43
  try {
40
44
  config = JSON.parse(fs.readFileSync(configFilePath, 'utf-8')) as Record<string, unknown>;
41
45
  } catch { /* start fresh */ }
42
- config.uglyBotToken = projectToken;
46
+
47
+ if (isLocal) {
48
+ config.localToken = projectToken;
49
+ } else {
50
+ config.uglyBotToken = projectToken;
51
+ }
43
52
  fs.writeFileSync(configFilePath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
44
53
 
45
54
  console.log(
46
55
  `[UglyBot] Project token written to ${configFilePath}.\n` +
47
- ` AI calls will route through ugly.bot.`,
56
+ ` AI calls will route through ugly.bot${isLocal ? ' (local)' : ''}.`,
48
57
  );
49
58
  }
@@ -6,7 +6,10 @@ export interface UglyAppConfig {
6
6
  projectId: string;
7
7
  localPort: number;
8
8
  domain?: string;
9
+ /** Token for ugly.bot cloud */
9
10
  uglyBotToken?: string;
11
+ /** Token for local ugly.bot (localhost:3000) */
12
+ localToken?: string;
10
13
  }
11
14
 
12
15
  // Ports that conflict with well-known services or OS reservations
@@ -98,12 +101,14 @@ export function readUglyAppConfig(cwd: string): UglyAppConfig | null {
98
101
 
99
102
  const domain = typeof config.domain === 'string' ? config.domain : undefined;
100
103
  const uglyBotToken = typeof config.uglyBotToken === 'string' ? config.uglyBotToken : undefined;
104
+ const localToken = typeof config.localToken === 'string' ? config.localToken : undefined;
101
105
 
102
106
  return {
103
107
  projectId: config.projectId,
104
108
  localPort,
105
109
  ...(domain !== undefined && { domain }),
106
110
  ...(uglyBotToken !== undefined && { uglyBotToken }),
111
+ ...(localToken !== undefined && { localToken }),
107
112
  };
108
113
  }
109
114
 
@@ -115,6 +120,7 @@ export function writeUglyAppConfig(cwd: string, config: UglyAppConfig): void {
115
120
  };
116
121
  if (config.domain !== undefined) data.domain = config.domain;
117
122
  if (config.uglyBotToken !== undefined) data.uglyBotToken = config.uglyBotToken;
123
+ if (config.localToken !== undefined) data.localToken = config.localToken;
118
124
  fs.writeFileSync(configPath, JSON.stringify(data, null, 2) + '\n', 'utf-8');
119
125
  }
120
126
 
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.250";
2
+ export const CLI_VERSION = "0.1.252";