ugly-app 0.1.518 → 0.1.521

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.
Files changed (120) hide show
  1. package/.pgdata/base/16384/pg_internal.init +0 -0
  2. package/.pgdata/global/pg_control +0 -0
  3. package/.pgdata/global/pg_internal.init +0 -0
  4. package/.pgdata/pg_wal/000000010000000000000004 +0 -0
  5. package/.pgdata/postmaster.pid +2 -2
  6. package/dist/cli/dev.d.ts.map +1 -1
  7. package/dist/cli/dev.js +0 -3
  8. package/dist/cli/dev.js.map +1 -1
  9. package/dist/cli/doctor.d.ts.map +1 -1
  10. package/dist/cli/doctor.js +31 -66
  11. package/dist/cli/doctor.js.map +1 -1
  12. package/dist/cli/index.js +8 -66
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/cli/migrate.d.ts.map +1 -1
  15. package/dist/cli/migrate.js +0 -4
  16. package/dist/cli/migrate.js.map +1 -1
  17. package/dist/cli/schemaGen.d.ts.map +1 -1
  18. package/dist/cli/schemaGen.js +0 -4
  19. package/dist/cli/schemaGen.js.map +1 -1
  20. package/dist/cli/schemaStatus.d.ts.map +1 -1
  21. package/dist/cli/schemaStatus.js +0 -4
  22. package/dist/cli/schemaStatus.js.map +1 -1
  23. package/dist/cli/serverLogQueryApi.d.ts +5 -4
  24. package/dist/cli/serverLogQueryApi.d.ts.map +1 -1
  25. package/dist/cli/serverLogQueryApi.js +55 -115
  26. package/dist/cli/serverLogQueryApi.js.map +1 -1
  27. package/dist/cli/version.d.ts +1 -1
  28. package/dist/cli/version.js +1 -1
  29. package/dist/client/auth/MagicLinkCallback.d.ts.map +1 -1
  30. package/dist/client/auth/MagicLinkCallback.js +8 -2
  31. package/dist/client/auth/MagicLinkCallback.js.map +1 -1
  32. package/dist/client/auth/MagicLinkForm.d.ts.map +1 -1
  33. package/dist/client/auth/MagicLinkForm.js +6 -1
  34. package/dist/client/auth/MagicLinkForm.js.map +1 -1
  35. package/dist/server/App.d.ts.map +1 -1
  36. package/dist/server/App.js +1 -2
  37. package/dist/server/App.js.map +1 -1
  38. package/dist/server/Email.d.ts.map +1 -1
  39. package/dist/server/Email.js +7 -1
  40. package/dist/server/Email.js.map +1 -1
  41. package/dist/server/Logging.d.ts +5 -8
  42. package/dist/server/Logging.d.ts.map +1 -1
  43. package/dist/server/Logging.js +21 -97
  44. package/dist/server/Logging.js.map +1 -1
  45. package/dist/server/adapter/workers/cf-types.d.ts +7 -0
  46. package/dist/server/adapter/workers/cf-types.d.ts.map +1 -1
  47. package/dist/server/adapter/workers/createWorkersApp.js +1 -0
  48. package/dist/server/adapter/workers/createWorkersApp.js.map +1 -1
  49. package/dist/server/auth/magicLinkProvider.d.ts.map +1 -1
  50. package/dist/server/auth/magicLinkProvider.js +55 -6
  51. package/dist/server/auth/magicLinkProvider.js.map +1 -1
  52. package/dist/server/auth/workersMagicLink.d.ts.map +1 -1
  53. package/dist/server/auth/workersMagicLink.js +117 -13
  54. package/dist/server/auth/workersMagicLink.js.map +1 -1
  55. package/dist/server/bootstrap.d.ts +5 -21
  56. package/dist/server/bootstrap.d.ts.map +1 -1
  57. package/dist/server/bootstrap.js +5 -27
  58. package/dist/server/bootstrap.js.map +1 -1
  59. package/dist/shared/DB.d.ts +0 -9
  60. package/dist/shared/DB.d.ts.map +1 -1
  61. package/dist/shared/DB.js +46 -10
  62. package/dist/shared/DB.js.map +1 -1
  63. package/dist/vite/index.d.ts +0 -1
  64. package/dist/vite/index.d.ts.map +1 -1
  65. package/dist/vite/index.js +0 -1
  66. package/dist/vite/index.js.map +1 -1
  67. package/package.json +1 -1
  68. package/src/cli/dev.ts +0 -4
  69. package/src/cli/doctor.ts +31 -63
  70. package/src/cli/index.ts +9 -81
  71. package/src/cli/migrate.ts +0 -4
  72. package/src/cli/schemaGen.ts +0 -4
  73. package/src/cli/schemaStatus.ts +0 -4
  74. package/src/cli/serverLogQueryApi.ts +53 -136
  75. package/src/cli/version.ts +1 -1
  76. package/src/client/auth/MagicLinkCallback.tsx +10 -2
  77. package/src/client/auth/MagicLinkForm.tsx +7 -1
  78. package/src/server/App.ts +1 -2
  79. package/src/server/Email.ts +7 -1
  80. package/src/server/Logging.ts +21 -97
  81. package/src/server/adapter/workers/cf-types.ts +8 -0
  82. package/src/server/adapter/workers/createWorkersApp.ts +1 -0
  83. package/src/server/auth/magicLinkProvider.ts +61 -6
  84. package/src/server/auth/workersMagicLink.ts +117 -13
  85. package/src/server/bootstrap.ts +5 -29
  86. package/src/shared/DB.ts +46 -17
  87. package/src/vite/index.ts +0 -1
  88. package/.pgdata/base/1/pg_internal.init +0 -0
  89. package/.pgdata/base/17702/pg_internal.init +0 -0
  90. package/.pgdata/base/5/pg_internal.init +0 -0
  91. package/dist/cli/devTunnel.d.ts +0 -37
  92. package/dist/cli/devTunnel.d.ts.map +0 -1
  93. package/dist/cli/devTunnel.js +0 -470
  94. package/dist/cli/devTunnel.js.map +0 -1
  95. package/dist/cli/ensureInfra.d.ts +0 -9
  96. package/dist/cli/ensureInfra.d.ts.map +0 -1
  97. package/dist/cli/ensureInfra.js +0 -86
  98. package/dist/cli/ensureInfra.js.map +0 -1
  99. package/dist/cli/sidecar.d.ts +0 -21
  100. package/dist/cli/sidecar.d.ts.map +0 -1
  101. package/dist/cli/sidecar.js +0 -294
  102. package/dist/cli/sidecar.js.map +0 -1
  103. package/dist/cli/sidecarHealth.d.ts +0 -13
  104. package/dist/cli/sidecarHealth.d.ts.map +0 -1
  105. package/dist/cli/sidecarHealth.js +0 -42
  106. package/dist/cli/sidecarHealth.js.map +0 -1
  107. package/dist/cli/sidecarProtocol.d.ts +0 -41
  108. package/dist/cli/sidecarProtocol.d.ts.map +0 -1
  109. package/dist/cli/sidecarProtocol.js +0 -61
  110. package/dist/cli/sidecarProtocol.js.map +0 -1
  111. package/dist/vite/tunnelPlugin.d.ts +0 -10
  112. package/dist/vite/tunnelPlugin.d.ts.map +0 -1
  113. package/dist/vite/tunnelPlugin.js +0 -30
  114. package/dist/vite/tunnelPlugin.js.map +0 -1
  115. package/src/cli/devTunnel.ts +0 -589
  116. package/src/cli/ensureInfra.ts +0 -90
  117. package/src/cli/sidecar.ts +0 -350
  118. package/src/cli/sidecarHealth.ts +0 -58
  119. package/src/cli/sidecarProtocol.ts +0 -68
  120. package/src/vite/tunnelPlugin.ts +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"schemaStatus.js","sourceRoot":"","sources":["../../src/cli/schemaStatus.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,WAAW,EAAE,CAAC;IACpB,MAAM,MAAM,EAAE,CAAC;IAEf,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,IAAI,OAAO,GAA4B,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA4B,CAAC;YACvE,OAAO,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAA4B,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAgB,CAAC,CAAC;QAEpD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;YAAS,CAAC;QACT,aAAa,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;QACV,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schemaStatus.js","sourceRoot":"","sources":["../../src/cli/schemaStatus.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,MAAM,EAAE,CAAC;IAEf,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,IAAI,OAAO,GAA4B,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA4B,CAAC;YACvE,OAAO,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAA4B,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAgB,CAAC,CAAC;QAEpD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;QACV,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC"}
@@ -1,12 +1,13 @@
1
- /** Returns the currently-logged-in developer's userId, used as devTunnelId for error:dev. */
2
- export declare function getCurrentDevTunnelId(): string;
3
1
  type AdminCollection = 'errorLog' | 'perfLog' | 'feedbackReport';
2
+ /**
3
+ * Query a log collection from the project's own Postgres. DATABASE_URL must
4
+ * point at the DB you want to inspect (local dev DB or a production Neon DB
5
+ * — set DATABASE_URL accordingly before running the command).
6
+ */
4
7
  export declare function queryServerLogsApi(collection: AdminCollection, options: {
5
8
  limit?: number;
6
9
  level?: string;
7
10
  json?: boolean;
8
- /** When set, filter errorLog rows by devTunnelId (string) or 'none' for deployed-only. */
9
- devTunnelId?: string | 'none';
10
11
  }): Promise<void>;
11
12
  export {};
12
13
  //# sourceMappingURL=serverLogQueryApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverLogQueryApi.d.ts","sourceRoot":"","sources":["../../src/cli/serverLogQueryApi.ts"],"names":[],"mappings":"AAoBA,6FAA6F;AAC7F,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAmHD,KAAK,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEjE,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B,GACA,OAAO,CAAC,IAAI,CAAC,CA2Df"}
1
+ {"version":3,"file":"serverLogQueryApi.d.ts","sourceRoot":"","sources":["../../src/cli/serverLogQueryApi.ts"],"names":[],"mappings":"AAGA,KAAK,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,gBAAgB,CAAC;AA6EjE;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -1,50 +1,5 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import os from 'os';
4
- import { getUglyBotUrl } from '../shared/uglyBotUrl.js';
5
- import { readUglyAppConfig } from './uglyappConfig.js';
6
- function readAuth() {
7
- const authPath = path.join(os.homedir(), '.ugly-bot', 'auth.json');
8
- if (!fs.existsSync(authPath)) {
9
- throw new Error('Not logged in. Run: ugly-app login');
10
- }
11
- return JSON.parse(fs.readFileSync(authPath, 'utf-8'));
12
- }
13
- /** Returns the currently-logged-in developer's userId, used as devTunnelId for error:dev. */
14
- export function getCurrentDevTunnelId() {
15
- return readAuth().userId;
16
- }
17
- function getAppApiUrl() {
18
- return getUglyBotUrl();
19
- }
20
- function getProjectId() {
21
- const config = readUglyAppConfig(process.cwd());
22
- return config?.projectId ?? undefined;
23
- }
24
- async function adminRequest(op, input) {
25
- const auth = readAuth();
26
- const appApiUrl = getAppApiUrl();
27
- const res = await fetch(`${appApiUrl}/request`, {
28
- method: 'POST',
29
- headers: {
30
- 'Authorization': `Bearer ${auth.token}`,
31
- 'Content-Type': 'application/json',
32
- },
33
- body: JSON.stringify({ function: op, input }),
34
- });
35
- if (!res.ok) {
36
- const body = await res.text().catch(() => '');
37
- if (res.status === 401) {
38
- throw new Error('Authentication failed — token may be expired. Run: ugly-app login');
39
- }
40
- throw new Error(`${op} failed: ${res.status} ${body}`);
41
- }
42
- // app's /request route sends the raw handler return value via res.json(result)
43
- // (see app/server/backend/Request.ts:510). Don't unwrap a `.result` field —
44
- // it doesn't exist.
45
- const data = (await res.json());
46
- return data;
47
- }
1
+ import { pgQuery } from '../server/Pg.js';
2
+ import { closePg, initPg } from '../server/NodePool.js';
48
3
  function formatTimestamp(created) {
49
4
  if (created instanceof Date) {
50
5
  return created.toISOString().replace('T', ' ').replace('Z', '');
@@ -59,44 +14,47 @@ function formatTimestamp(created) {
59
14
  }
60
15
  function formatErrorDoc(doc) {
61
16
  const ts = formatTimestamp(doc['created']);
62
- const level = String(doc['level'] ?? 'error').toUpperCase().padEnd(5);
63
- const source = doc['source'] ? `[${doc['source']}]` : '';
64
- const message = String(doc['message'] ?? '');
65
- const userId = doc['userId'] ? ` user:${doc['userId']}` : '';
66
- const stack = doc['stack']
67
- ? `\n ${String(doc['stack']).split('\n').slice(0, 3).join('\n ')}`
17
+ const data = (doc['data'] ?? {});
18
+ const level = String(data['level'] ?? 'error').toUpperCase().padEnd(5);
19
+ const source = data['source'] ? `[${data['source']}]` : '';
20
+ const message = String(data['message'] ?? '');
21
+ const userId = data['userId'] ? ` user:${data['userId']}` : '';
22
+ const stack = data['stack']
23
+ ? `\n ${String(data['stack']).split('\n').slice(0, 3).join('\n ')}`
68
24
  : '';
69
25
  return `${ts} ${level} ${source} ${message}${userId}${stack}`;
70
26
  }
71
27
  function formatPerfDoc(doc) {
72
28
  const ts = formatTimestamp(doc['created']);
73
- const op = String(doc['operation'] ?? '');
74
- const ms = doc['durationMs'] != null ? `${doc['durationMs']}ms` : '';
75
- const userId = doc['userId'] ? ` user:${doc['userId']}` : '';
29
+ const data = (doc['data'] ?? {});
30
+ const op = String(data['operation'] ?? '');
31
+ const ms = data['durationMs'] != null ? `${data['durationMs']}ms` : '';
32
+ const userId = data['userId'] ? ` user:${data['userId']}` : '';
76
33
  return `${ts} ${op} ${ms}${userId}`;
77
34
  }
78
35
  function formatFeedbackDoc(doc) {
79
36
  const ts = formatTimestamp(doc['created']);
80
- const type = String(doc['type'] ?? '').toUpperCase().padEnd(7);
81
- const message = String(doc['description'] ?? doc['message'] ?? '');
37
+ const data = (doc['data'] ?? {});
38
+ const type = String(data['type'] ?? '').toUpperCase().padEnd(7);
39
+ const message = String(data['description'] ?? data['message'] ?? '');
82
40
  const lines = [`${ts} [${type}] ${message}`];
83
- if (doc['status'])
84
- lines.push(` Status: ${doc['status']}`);
85
- if (doc['userId'])
86
- lines.push(` User: ${doc['userId']}`);
87
- if (doc['url'])
88
- lines.push(` URL: ${doc['url']}`);
89
- if (doc['screenshotUri'])
90
- lines.push(` Screenshot: ${doc['screenshotUri']}`);
91
- const ctx = doc['context'];
41
+ if (data['status'])
42
+ lines.push(` Status: ${data['status']}`);
43
+ if (data['userId'])
44
+ lines.push(` User: ${data['userId']}`);
45
+ if (data['url'])
46
+ lines.push(` URL: ${data['url']}`);
47
+ if (data['screenshotUri'])
48
+ lines.push(` Screenshot: ${data['screenshotUri']}`);
49
+ const ctx = data['context'];
92
50
  if (ctx && typeof ctx === 'object') {
93
51
  const ctxStr = JSON.stringify(ctx);
94
52
  if (ctxStr !== '{}')
95
53
  lines.push(` Context: ${ctxStr}`);
96
54
  }
97
- if (doc['resolution'])
98
- lines.push(` Resolution: ${doc['resolution']}`);
99
- const previousLogs = doc['logs'] ?? doc['previousLogs'];
55
+ if (data['resolution'])
56
+ lines.push(` Resolution: ${data['resolution']}`);
57
+ const previousLogs = data['logs'] ?? data['previousLogs'];
100
58
  if (Array.isArray(previousLogs) && previousLogs.length > 0) {
101
59
  lines.push(` Console logs (${previousLogs.length}):`);
102
60
  for (const entry of previousLogs) {
@@ -113,57 +71,39 @@ const formatters = {
113
71
  perfLog: formatPerfDoc,
114
72
  feedbackReport: formatFeedbackDoc,
115
73
  };
74
+ /**
75
+ * Query a log collection from the project's own Postgres. DATABASE_URL must
76
+ * point at the DB you want to inspect (local dev DB or a production Neon DB
77
+ * — set DATABASE_URL accordingly before running the command).
78
+ */
116
79
  export async function queryServerLogsApi(collection, options) {
117
80
  const limit = options.limit ?? 50;
118
- const projectId = getProjectId();
119
- let items;
120
- if (collection === 'errorLog') {
121
- const input = { limit };
122
- if (options.level)
123
- input['level'] = options.level;
124
- if (projectId)
125
- input['projectId'] = projectId;
126
- if (options.devTunnelId !== undefined) {
127
- input['devTunnelId'] = options.devTunnelId;
81
+ await initPg();
82
+ try {
83
+ const params = [limit];
84
+ let where = '';
85
+ if (collection === 'errorLog' && options.level) {
86
+ where = `WHERE data->'meta'->>'level' = $2`;
87
+ params.push(options.level);
128
88
  }
129
- const result = await adminRequest('errorLogGetList', input);
130
- items = result.errors;
131
- }
132
- else if (collection === 'feedbackReport') {
133
- const input = { limit };
134
- if (projectId)
135
- input['projectId'] = projectId;
136
- if (options.devTunnelId !== undefined) {
137
- input['devTunnelId'] = options.devTunnelId;
89
+ const res = await pgQuery(`SELECT _id, data, created FROM "${collection}" ${where} ORDER BY created DESC LIMIT $1`, params);
90
+ const items = res.rows.slice().reverse();
91
+ if (items.length === 0) {
92
+ console.log(`No entries found in ${collection}.`);
93
+ return;
138
94
  }
139
- const result = await adminRequest('adminFeedbackList', input);
140
- items = result.items;
141
- }
142
- else {
143
- // perfLog
144
- const input = { limit };
145
- if (projectId)
146
- input['projectId'] = projectId;
147
- if (options.devTunnelId !== undefined) {
148
- input['devTunnelId'] = options.devTunnelId;
95
+ for (const doc of items) {
96
+ if (options.json) {
97
+ console.log(JSON.stringify(doc));
98
+ }
99
+ else {
100
+ const fmt = formatters[collection] ?? formatErrorDoc;
101
+ console.log(fmt(doc));
102
+ }
149
103
  }
150
- const result = await adminRequest('perfLogGetList', input);
151
- items = result.items;
152
104
  }
153
- // Reverse so oldest first (server returns newest first)
154
- items.reverse();
155
- if (items.length === 0) {
156
- console.log(`No entries found in ${collection}.`);
157
- return;
158
- }
159
- for (const doc of items) {
160
- if (options.json) {
161
- console.log(JSON.stringify(doc));
162
- }
163
- else {
164
- const fmt = formatters[collection] ?? formatErrorDoc;
165
- console.log(fmt(doc));
166
- }
105
+ finally {
106
+ closePg();
167
107
  }
168
108
  }
169
109
  //# sourceMappingURL=serverLogQueryApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverLogQueryApi.js","sourceRoot":"","sources":["../../src/cli/serverLogQueryApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverLogQueryApi.js","sourceRoot":"","sources":["../../src/cli/serverLogQueryApi.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.518";
1
+ export declare const CLI_VERSION = "0.1.521";
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.518";
2
+ export const CLI_VERSION = "0.1.521";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MagicLinkCallback.d.ts","sourceRoot":"","sources":["../../../src/client/auth/MagicLinkCallback.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,4CAyChC"}
1
+ {"version":3,"file":"MagicLinkCallback.d.ts","sourceRoot":"","sources":["../../../src/client/auth/MagicLinkCallback.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,4CAiDhC"}
@@ -16,6 +16,7 @@ export function MagicLinkCallback() {
16
16
  const params = new URLSearchParams(window.location.search);
17
17
  const id = params.get('id');
18
18
  const sig = params.get('sig');
19
+ const returnTo = params.get('returnTo') ?? '';
19
20
  if (!id || !sig) {
20
21
  setState('error');
21
22
  return;
@@ -25,15 +26,20 @@ export function MagicLinkCallback() {
25
26
  const r = await fetch('/auth/magic-link/verify', {
26
27
  method: 'POST',
27
28
  headers: { 'Content-Type': 'application/json' },
28
- body: JSON.stringify({ id, sig }),
29
+ body: JSON.stringify({ id, sig, returnTo }),
29
30
  });
30
31
  if (!r.ok) {
31
32
  setState('error');
32
33
  return;
33
34
  }
35
+ // Server returns a same-origin-validated `returnTo` in the
36
+ // success body — trust that over the raw URL parameter so a
37
+ // tampered click-through can't post-redirect off-site.
38
+ const data = (await r.json().catch(() => ({})));
39
+ const dest = data.returnTo || returnTo || '/';
34
40
  setState('success');
35
41
  setTimeout(() => {
36
- window.location.href = '/';
42
+ window.location.href = dest;
37
43
  }, 500);
38
44
  }
39
45
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"MagicLinkCallback.js","sourceRoot":"","sources":["../../../src/client/auth/MagicLinkCallback.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,WAAW,CACZ,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAChB,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,yBAAyB,EAAE;oBAC/C,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;iBAClC,CAAC,CAAC;gBACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACV,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAClB,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;gBAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,iDAA0B,CAAC;IAC7D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,uDAAgC,CAAC;IACjE,OAAO,CACL,2EAC+C,YAAG,IAAI,EAAC,GAAG,0BAAc,IAClE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MagicLinkCallback.js","sourceRoot":"","sources":["../../../src/client/auth/MagicLinkCallback.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,WAAW,CACZ,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAChB,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,yBAAyB,EAAE;oBAC/C,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;iBAC5C,CAAC,CAAC;gBACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACV,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAClB,OAAO;gBACT,CAAC;gBACD,2DAA2D;gBAC3D,4DAA4D;gBAC5D,uDAAuD;gBACvD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAE7C,CAAC;gBACF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,GAAG,CAAC;gBAC9C,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC9B,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,iDAA0B,CAAC;IAC7D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,uDAAgC,CAAC;IACjE,OAAO,CACL,2EAC+C,YAAG,IAAI,EAAC,GAAG,0BAAc,IAClE,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MagicLinkForm.d.ts","sourceRoot":"","sources":["../../../src/client/auth/MagicLinkForm.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,aAAa,4CAuD5B"}
1
+ {"version":3,"file":"MagicLinkForm.d.ts","sourceRoot":"","sources":["../../../src/client/auth/MagicLinkForm.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,aAAa,4CA6D5B"}
@@ -14,10 +14,15 @@ export function MagicLinkForm() {
14
14
  return;
15
15
  setState('requesting');
16
16
  try {
17
+ // Capture where the user is right now so the verify step can
18
+ // resume on the same page (with query string + hash preserved).
19
+ // Server-side `validateReturnTo` strips off-origin URLs to `/`,
20
+ // so this is safe to send even when the user follows a deep link.
21
+ const returnTo = typeof window !== 'undefined' ? window.location.href : '';
17
22
  const r = await fetch('/auth/magic-link/request', {
18
23
  method: 'POST',
19
24
  headers: { 'Content-Type': 'application/json' },
20
- body: JSON.stringify({ email }),
25
+ body: JSON.stringify({ email, returnTo }),
21
26
  });
22
27
  if (!r.ok) {
23
28
  setState('error');
@@ -1 +1 @@
1
- {"version":3,"file":"MagicLinkForm.js","sourceRoot":"","sources":["../../../src/client/auth/MagicLinkForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAEjD;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,MAAM,CACP,CAAC;IAEF,KAAK,UAAU,MAAM,CAAC,CAAY;QAChC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,0BAA0B,EAAE;gBAChD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,CACL,kDACsB,sBAAI,KAAK,GAAK,+BAC9B,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,gBACE,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,aAE3D,gBACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,WAAW,EAAC,iBAAiB,EAC7B,QAAQ,QACR,QAAQ,EAAE,KAAK,KAAK,YAAY,GAChC,EACF,iBAAQ,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,KAAK,KAAK,YAAY,IAAI,CAAC,KAAK,YAC7D,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,GACnD,EACR,KAAK,KAAK,OAAO,IAAI,CACpB,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iDAAwC,CACrE,IACI,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MagicLinkForm.js","sourceRoot":"","sources":["../../../src/client/auth/MagicLinkForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAEjD;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,MAAM,CACP,CAAC;IAEF,KAAK,UAAU,MAAM,CAAC,CAAY;QAChC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,6DAA6D;YAC7D,gEAAgE;YAChE,gEAAgE;YAChE,kEAAkE;YAClE,MAAM,QAAQ,GACZ,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,0BAA0B,EAAE;gBAChD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aAC1C,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,CACL,kDACsB,sBAAI,KAAK,GAAK,+BAC9B,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,gBACE,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,aAE3D,gBACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,WAAW,EAAC,iBAAiB,EAC7B,QAAQ,QACR,QAAQ,EAAE,KAAK,KAAK,YAAY,GAChC,EACF,iBAAQ,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,KAAK,KAAK,YAAY,IAAI,CAAC,KAAK,YAC7D,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,GACnD,EACR,KAAK,KAAK,OAAO,IAAI,CACpB,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iDAAwC,CACrE,IACI,CACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"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"}
@@ -995,7 +995,6 @@ export function createApp(registry, requests, appDefs, configure, deleteHandlers
995
995
  console.log("[app] Starting Vite dev server...");
996
996
  const { createServer: createViteServer } = await import("vite");
997
997
  const hmrEnabled = process.env["UGLY_APP_HMR"] !== "false";
998
- const { tunnelPlugin } = await import("../vite/tunnelPlugin.js");
999
998
  // Park Vite's dep-optimization cache OUTSIDE the project tree.
1000
999
  // Default is `<cwd>/node_modules/.vite/` — fine for direct
1001
1000
  // `npm run dev`, lethal under ugly-studio's per-session
@@ -1121,7 +1120,7 @@ export function createApp(registry, requests, appDefs, configure, deleteHandlers
1121
1120
  target: "esnext",
1122
1121
  },
1123
1122
  },
1124
- plugins: [...userPlugins, tunnelPlugin()],
1123
+ plugins: userPlugins,
1125
1124
  appType: "custom",
1126
1125
  });
1127
1126
  expressApp.use(vite.middlewares);