ugly-app 0.1.474 → 0.1.478

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":"schemaGen.d.ts","sourceRoot":"","sources":["../../src/cli/schemaGen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAsBhD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAsGzF;AAaD,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,QAAQ,EAAE,GACnB,MAAM,CAiCR;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,EAAE,EACvB,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAaR;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAgElD"}
1
+ {"version":3,"file":"schemaGen.d.ts","sourceRoot":"","sources":["../../src/cli/schemaGen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAuBhD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAsGzF;AAaD,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,QAAQ,EAAE,GACnB,MAAM,CAiCR;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,EAAE,EACvB,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAaR;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAqElD"}
@@ -2,7 +2,8 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { ensureInfra } from './ensureInfra.js';
4
4
  import { disposeImportTs, importTs } from './uglyappConfig.js';
5
- import { checkSchemas } from '../server/SchemaCheck.js';
5
+ import { checkSchemas, ensureSchemaSnapshotsTable } from '../server/SchemaCheck.js';
6
+ import { initDataProxy, stopDataProxy } from '../server/DataProxyClient.js';
6
7
  import { serializeSchema } from '../shared/SchemaSerializer.js';
7
8
  function toJsonbPath(field) {
8
9
  return `{${field.split('.').join(',')}}`;
@@ -164,6 +165,9 @@ export function writeMigrationFile(collection, changes, migrationsDir, codeOverr
164
165
  }
165
166
  export async function runSchemaGen() {
166
167
  await ensureInfra();
168
+ const proxyUrl = process.env['DATA_PROXY_URL'] ?? 'ws://localhost:4200';
169
+ const proxyToken = process.env['DATA_PROXY_TOKEN'] ?? '';
170
+ await initDataProxy(proxyUrl, proxyToken);
167
171
  const collectionsPath = path.resolve(process.cwd(), 'shared/collections.ts');
168
172
  try {
169
173
  let appDefs = {};
@@ -176,6 +180,7 @@ export async function runSchemaGen() {
176
180
  }
177
181
  const { BUILTIN_DEFS } = await import('../shared/DB.js');
178
182
  const allDefs = { ...BUILTIN_DEFS, ...appDefs };
183
+ await ensureSchemaSnapshotsTable();
179
184
  const result = await checkSchemas(allDefs);
180
185
  const migrationsDir = path.join(process.cwd(), 'server', 'migrations');
181
186
  let generated = 0;
@@ -212,6 +217,7 @@ export async function runSchemaGen() {
212
217
  }
213
218
  }
214
219
  finally {
220
+ stopDataProxy();
215
221
  await disposeImportTs();
216
222
  }
217
223
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schemaGen.js","sourceRoot":"","sources":["../../src/cli/schemaGen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaGen.js","sourceRoot":"","sources":["../../src/cli/schemaGen.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.474";
1
+ export declare const CLI_VERSION = "0.1.478";
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.474";
2
+ export const CLI_VERSION = "0.1.478";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaCheck.d.ts","sourceRoot":"","sources":["../../src/server/SchemaCheck.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAY,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE7F,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,IAAI,GAAG,gBAAgB,GAAG,cAAc,GAAG,oBAAoB,CAAC;IACxE,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,iBAAiB,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,GAAG,UAAU,GAAG,OAAO,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACpD;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAQhE;AAsBD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CA2C5B;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAwBzE;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0Df"}
1
+ {"version":3,"file":"SchemaCheck.d.ts","sourceRoot":"","sources":["../../src/server/SchemaCheck.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAY,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE7F,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,IAAI,GAAG,gBAAgB,GAAG,cAAc,GAAG,oBAAoB,CAAC;IACxE,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,iBAAiB,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,GAAG,UAAU,GAAG,OAAO,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACpD;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAQhE;AA0BD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CA8C5B;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAwBzE;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0Df"}
@@ -1,6 +1,6 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import { pgQuery, ensureTable } from './DataProxyClient.js';
3
+ import { pgQuery, ensureTable, tableExists } from './DataProxyClient.js';
4
4
  const Postgres = { query: pgQuery };
5
5
  import { serializeSchema } from '../shared/SchemaSerializer.js';
6
6
  import { diffSchemas, hasBreakingChanges } from '../shared/SchemaDiff.js';
@@ -22,6 +22,10 @@ async function loadSnapshots() {
22
22
  return snapshots;
23
23
  }
24
24
  async function upsertSnapshot(name, descriptor) {
25
+ // Invariant: a stored snapshot must imply the table exists. ensureTable is
26
+ // idempotent (CREATE TABLE IF NOT EXISTS + CREATE INDEX IF NOT EXISTS) on
27
+ // the data-proxy side, so this is safe to call on every snapshot write.
28
+ await ensureTable(name);
25
29
  await Postgres.query(`INSERT INTO _schema_snapshots (collection, schema_json, updated_at)
26
30
  VALUES ($1, $2, NOW())
27
31
  ON CONFLICT (collection) DO UPDATE SET schema_json = EXCLUDED.schema_json, updated_at = NOW()`, [name, JSON.stringify(descriptor)]);
@@ -44,7 +48,10 @@ export async function checkSchemas(defs) {
44
48
  continue;
45
49
  const currentDescriptor = serializeSchema(def.schema, def.indexes);
46
50
  const storedDescriptor = snapshots[name];
47
- if (!storedDescriptor) {
51
+ // Treat "snapshot exists but table doesn't" as no snapshot — covers orphan
52
+ // snapshots from manual DB edits, restored backups, etc. upsertSnapshot
53
+ // recreates the table as part of its invariant.
54
+ if (!storedDescriptor || !(await tableExists(name))) {
48
55
  await upsertSnapshot(name, currentDescriptor);
49
56
  collections[name] = { action: 'store-baseline', changes: [], currentDescriptor };
50
57
  hasBaseline = true;
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaCheck.js","sourceRoot":"","sources":["../../src/server/SchemaCheck.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaCheck.js","sourceRoot":"","sources":["../../src/server/SchemaCheck.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.474",
3
+ "version": "0.1.478",
4
4
  "type": "module",
5
5
  "main": "./dist/server/index.js",
6
6
  "exports": {
@@ -4,7 +4,8 @@ import type { SchemaChange } from '../shared/SchemaDiff.js';
4
4
  import type { IndexDef } from '../shared/DB.js';
5
5
  import { ensureInfra } from './ensureInfra.js';
6
6
  import { disposeImportTs, importTs } from './uglyappConfig.js';
7
- import { checkSchemas } from '../server/SchemaCheck.js';
7
+ import { checkSchemas, ensureSchemaSnapshotsTable } from '../server/SchemaCheck.js';
8
+ import { initDataProxy, stopDataProxy } from '../server/DataProxyClient.js';
8
9
  import { serializeSchema } from '../shared/SchemaSerializer.js';
9
10
  import type { z } from 'zod';
10
11
 
@@ -198,6 +199,9 @@ export function writeMigrationFile(
198
199
 
199
200
  export async function runSchemaGen(): Promise<void> {
200
201
  await ensureInfra();
202
+ const proxyUrl = process.env['DATA_PROXY_URL'] ?? 'ws://localhost:4200';
203
+ const proxyToken = process.env['DATA_PROXY_TOKEN'] ?? '';
204
+ await initDataProxy(proxyUrl, proxyToken);
201
205
 
202
206
  const collectionsPath = path.resolve(process.cwd(), 'shared/collections.ts');
203
207
 
@@ -213,6 +217,7 @@ export async function runSchemaGen(): Promise<void> {
213
217
  const { BUILTIN_DEFS } = await import('../shared/DB.js');
214
218
  const allDefs = { ...BUILTIN_DEFS, ...appDefs } as Record<string, { schema?: z.ZodObject<z.ZodRawShape>; indexes?: IndexDef[] }>;
215
219
 
220
+ await ensureSchemaSnapshotsTable();
216
221
  const result = await checkSchemas(allDefs as never);
217
222
 
218
223
  const migrationsDir = path.join(process.cwd(), 'server', 'migrations');
@@ -258,6 +263,7 @@ export async function runSchemaGen(): Promise<void> {
258
263
  console.log('Fix all REPLACE_ME values, then run: npm run db:migrate');
259
264
  }
260
265
  } finally {
266
+ stopDataProxy();
261
267
  await disposeImportTs();
262
268
  }
263
269
  }
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.474";
2
+ export const CLI_VERSION = "0.1.478";
@@ -1,7 +1,7 @@
1
1
  import type { z } from 'zod';
2
2
  import fs from 'fs';
3
3
  import path from 'path';
4
- import { pgQuery, ensureTable } from './DataProxyClient.js';
4
+ import { pgQuery, ensureTable, tableExists } from './DataProxyClient.js';
5
5
  const Postgres = { query: pgQuery };
6
6
  import type { CollectionDefRegistry, IndexDef } from '../shared/DB.js';
7
7
  import { serializeSchema, type SchemaDescriptor } from '../shared/SchemaSerializer.js';
@@ -40,6 +40,10 @@ async function loadSnapshots(): Promise<Record<string, SchemaDescriptor>> {
40
40
  }
41
41
 
42
42
  async function upsertSnapshot(name: string, descriptor: SchemaDescriptor): Promise<void> {
43
+ // Invariant: a stored snapshot must imply the table exists. ensureTable is
44
+ // idempotent (CREATE TABLE IF NOT EXISTS + CREATE INDEX IF NOT EXISTS) on
45
+ // the data-proxy side, so this is safe to call on every snapshot write.
46
+ await ensureTable(name);
43
47
  await Postgres.query(
44
48
  `INSERT INTO _schema_snapshots (collection, schema_json, updated_at)
45
49
  VALUES ($1, $2, NOW())
@@ -79,7 +83,10 @@ export async function checkSchemas(
79
83
  );
80
84
  const storedDescriptor = snapshots[name];
81
85
 
82
- if (!storedDescriptor) {
86
+ // Treat "snapshot exists but table doesn't" as no snapshot — covers orphan
87
+ // snapshots from manual DB edits, restored backups, etc. upsertSnapshot
88
+ // recreates the table as part of its invariant.
89
+ if (!storedDescriptor || !(await tableExists(name))) {
83
90
  await upsertSnapshot(name, currentDescriptor);
84
91
  collections[name] = { action: 'store-baseline', changes: [], currentDescriptor };
85
92
  hasBaseline = true;
File without changes
@@ -0,0 +1,165 @@
1
+ # Architecture
2
+
3
+ Generated by ugly-studio. 47 files analyzed. Each section lists structural facts — exports, inheritance, member names, stub detection. Re-grep this file for "implementers:" / "extends:" / "stub" / a specific symbol name to navigate.
4
+
5
+ ## client/allPages.ts
6
+
7
+ - consts: allPages
8
+
9
+ ## client/pages/AITestPage.tsx
10
+
11
+ - interfaces: LogEntry
12
+ - functions: AITestPage
13
+ - LogEntry.members: ts, msg, kind
14
+
15
+ ## client/pages/AudioTestPage.tsx
16
+
17
+ - interfaces: LogEntry
18
+ - functions: AudioTestPage
19
+ - LogEntry.members: ts, msg, kind
20
+
21
+ ## client/pages/AuthDemoPage.tsx
22
+
23
+ - functions: AuthDemoPage
24
+
25
+ ## client/pages/ChatDemoPage.tsx
26
+
27
+ - functions: ChatDemoPage
28
+
29
+ ## client/pages/ChatTestPage.tsx
30
+
31
+ - interfaces: ChatMessage; LogEntry
32
+ - functions: ChatTestPage
33
+ - ChatMessage.members: id, role, text, created
34
+ - LogEntry.members: ts, msg, kind
35
+
36
+ ## client/pages/CollabTestPage.tsx
37
+
38
+ - interfaces: LogEntry; Peer
39
+ - functions: CollabTestPage
40
+ - LogEntry.members: ts, msg, kind
41
+ - Peer.members: userId, cursor
42
+
43
+ ## client/pages/EmailTestPage.tsx
44
+
45
+ - interfaces: SentEntry; LogEntry
46
+ - functions: EmailTestPage
47
+ - SentEntry.members: userId, subject, id, sentAt
48
+ - LogEntry.members: ts, msg, kind
49
+
50
+ ## client/pages/ErrorTestPage.tsx
51
+
52
+ - interfaces: LogEntry
53
+ - functions: ErrorTestPage
54
+ - LogEntry.members: ts, msg, kind
55
+
56
+ ## client/pages/HomePage.tsx
57
+
58
+ - functions: HomePage
59
+
60
+ ## client/pages/KagiTestPage.tsx
61
+
62
+ - interfaces: LogEntry; SearchItem; SearchResult
63
+ - functions: KagiTestPage
64
+ - LogEntry.members: ts, msg, kind
65
+ - SearchItem.members: url, title, snippet, published, thumbnail
66
+ - SearchResult.members: items, related
67
+
68
+ ## client/pages/PushTestPage.tsx
69
+
70
+ - interfaces: LogEntry
71
+ - functions: PushTestPage
72
+ - LogEntry.members: ts, msg, kind
73
+
74
+ ## client/pages/SafeAreaTestPage.tsx
75
+
76
+ - functions: SafeAreaTestPage
77
+
78
+ ## client/pages/ScrollTestPage.tsx
79
+
80
+ - functions: ScrollTestPage
81
+
82
+ ## client/pages/SearchPage.tsx
83
+
84
+ - functions: SearchPage
85
+
86
+ ## client/pages/StringsTestPage.tsx
87
+
88
+ - functions: StringsTestPage
89
+
90
+ ## client/pages/TestIndexPage.tsx
91
+
92
+ - functions: TestIndexPage
93
+
94
+ ## client/pages/ThreeTestPage.tsx
95
+
96
+ - interfaces: LogEntry
97
+ - functions: ThreeTestPage
98
+ - LogEntry.members: ts, msg, kind
99
+
100
+ ## client/pages/TodoDemoPage.tsx
101
+
102
+ - functions: TodoDemoPage
103
+
104
+ ## client/pages/UIComponentsPage.tsx
105
+
106
+ - functions: UIComponentsPage
107
+
108
+ ## client/pages/UploadTestPage.tsx
109
+
110
+ - interfaces: UploadEntry; LogEntry
111
+ - functions: UploadTestPage
112
+ - UploadEntry.members: name, size, type, url
113
+ - LogEntry.members: ts, msg, kind
114
+
115
+ ## client/pages/UserPage.tsx
116
+
117
+ - functions: UserPage
118
+
119
+ ## client/pages/VideoRoomTestPage.tsx
120
+
121
+ - interfaces: LogEntry
122
+ - functions: VideoRoomTestPage
123
+ - LogEntry.members: ts, msg, kind
124
+
125
+ ## client/pages/WorkerTestPage.tsx
126
+
127
+ - interfaces: LogEntry
128
+ - functions: WorkerTestPage
129
+ - LogEntry.members: ts, msg, kind
130
+
131
+ ## client/push.ts
132
+
133
+ - functions: initPush, requestPushPermission
134
+
135
+ ## shared/api.ts
136
+
137
+ - interfaces: AppRegistry
138
+ - consts: requests, messages
139
+ - AppRegistry.members: requests, messages
140
+
141
+ ## shared/collections.ts
142
+
143
+ - consts: TodoSchema, ConversationSchema, MessageSchema, CollabDocSchema, collections
144
+ - types: Todo, Conversation, Message, CollabDoc, AppCollections
145
+
146
+ ## shared/cron.ts
147
+
148
+ - consts: cronTasks
149
+
150
+ ## shared/experiments.ts
151
+
152
+ - consts: experiments
153
+ - types: AppEventName
154
+
155
+ ## shared/pages.ts
156
+
157
+ - consts: pages
158
+ - types: AppPages
159
+
160
+ ## shared/strings.ts
161
+
162
+ - interfaces: AppStringTable
163
+ - consts: stringsDef
164
+ - types: AppLang
165
+ - AppStringTable.members: appName, welcome, welcomeBack, getStarted, login, logout, testPages
@@ -3,4 +3,13 @@ dist/
3
3
  .DS_Store
4
4
  local/
5
5
  logs/
6
- coverage/
6
+ coverage/
7
+
8
+ # ugly-studio state (do not commit)
9
+ .ugly-studio/codebase-index.db*
10
+ .ugly-studio/session-index.db*
11
+ .ugly-studio/layout.json
12
+ .ugly-studio/sandbox-state.json
13
+ .ugly-studio/tmp/
14
+ .ugly-studio/users/
15
+ .ugly-studio/home/
@@ -8,6 +8,8 @@
8
8
  "publish:assets": "ugly-app publish:assets",
9
9
  "purge:assets": "ugly-app purge:assets",
10
10
  "db:migrate": "ugly-app db:migrate",
11
+ "db:schema-gen": "ugly-app db:schema-gen",
12
+ "db:schema-status": "ugly-app db:schema-status",
11
13
  "deploy": "ugly-app deploy",
12
14
  "prod": "ugly-app prod",
13
15
  "versions": "ugly-app versions",