ugly-app 0.1.916 → 0.1.919
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/README.md +167 -156
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/shared/ProxyOps.d.ts +22 -2
- package/dist/shared/ProxyOps.d.ts.map +1 -1
- package/dist/shared/ProxyOps.js +20 -1
- package/dist/shared/ProxyOps.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/version.ts +1 -1
- package/src/shared/ProxyOps.ts +20 -1
package/README.md
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
# ugly-app
|
|
2
2
|
|
|
3
|
-
A full-stack TypeScript framework for shipping production web apps. Scaffold
|
|
4
|
-
`npx ugly-app init my-app` and get an opinionated
|
|
5
|
-
with type-safe RPC over WebSocket and HTTP, real-time
|
|
6
|
-
auth, AI generation, storage, workers, and a CLI for every
|
|
3
|
+
A full-stack TypeScript framework for shipping production web apps. Scaffold
|
|
4
|
+
with `npx ugly-app init my-app` and get an opinionated Node + React + Postgres
|
|
5
|
+
stack with type-safe RPC over WebSocket and HTTP, real-time doc subscriptions,
|
|
6
|
+
built-in auth, AI generation, storage, workers, cron, and a CLI for every
|
|
7
|
+
workflow.
|
|
7
8
|
|
|
8
|
-
ugly-app is designed to run against [ugly.bot](https://ugly.bot), which
|
|
9
|
-
auth, infra (
|
|
10
|
-
keys, and deployment. Your app talks to all of it
|
|
11
|
-
and its `UGLY_BOT_TOKEN`.
|
|
9
|
+
ugly-app is designed to run against [ugly.bot](https://ugly.bot), which
|
|
10
|
+
provides auth, infra (Postgres, Qdrant, NATS, S3-compatible object storage),
|
|
11
|
+
AI provider keys, push, email, and deployment. Your app talks to all of it
|
|
12
|
+
through the project's dev tunnel and its `UGLY_BOT_TOKEN`.
|
|
12
13
|
|
|
13
14
|
## What's included
|
|
14
15
|
|
|
15
|
-
- **Server** — Express + WebSocket with
|
|
16
|
+
- **Server** — Express + WebSocket with typed RPC and Zod validation.
|
|
16
17
|
- **Client** — React 19 + Vite with typed routing, lazy pages, animated transitions, and a router-owned popup layer.
|
|
17
|
-
- **Database** — `TypedDB` over
|
|
18
|
+
- **Database** — `TypedDB` over Postgres (JSONB) or Cloudflare D1, with full-text and vector search.
|
|
18
19
|
- **Auth** — HttpOnly cookies + JWT. ugly.bot OAuth by default; magic-link / Google in `mode: 'self'`.
|
|
19
20
|
- **AI** — Text, JSON, image, embeddings, web search — proxied through ugly.bot.
|
|
20
21
|
- **Realtime** — NATS pub/sub and doc change subscriptions (`trackDoc` / `trackDocs`).
|
|
21
22
|
- **Storage** — S3-compatible buckets with presigned uploads.
|
|
22
|
-
- **Workers & cron** — `setWorkers()` registers named async tasks with optional Zod
|
|
23
|
+
- **Workers & cron** — `setWorkers()` registers named async tasks with optional Zod schemas and cron schedules.
|
|
23
24
|
- **Two-adapter deploy** — Same source runs on Node (Express) or Cloudflare Workers (Hono + Durable Objects).
|
|
24
25
|
- **CLI** — `ugly-app` commands for dev, build, deploy, migrations, logs, AI, and auth.
|
|
25
26
|
|
|
@@ -31,18 +32,19 @@ cd my-app
|
|
|
31
32
|
npm run dev
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
The scaffold gives you a working app at `http://localhost:4321` with todo CRUD,
|
|
35
|
-
chat, file upload, auth demo, collab editing, and other test pages already
|
|
36
|
-
up.
|
|
35
|
+
The scaffold gives you a working app at `http://localhost:4321` with todo CRUD,
|
|
36
|
+
AI chat, file upload, auth demo, collab editing, and other test pages already
|
|
37
|
+
wired up.
|
|
37
38
|
|
|
38
39
|
---
|
|
39
40
|
|
|
40
|
-
## Server — `createApp()`
|
|
41
|
+
## Server — `createApp()`
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
Single server entry point. Returns an `App` that owns Express, the WebSocket
|
|
43
44
|
server, the typed DB, and the RPC dispatcher.
|
|
44
45
|
|
|
45
46
|
```ts
|
|
47
|
+
// server/index.ts
|
|
46
48
|
import {
|
|
47
49
|
createApp,
|
|
48
50
|
type AppConfigurator,
|
|
@@ -53,17 +55,29 @@ import type { WorkerHandlers } from 'ugly-app/shared';
|
|
|
53
55
|
import { messages, requests } from '../shared/api';
|
|
54
56
|
import { collections } from '../shared/collections';
|
|
55
57
|
import { cronTasks } from '../shared/cron';
|
|
58
|
+
import { experiments } from '../shared/experiments';
|
|
56
59
|
import { pages } from '../shared/pages';
|
|
60
|
+
import { stringsDef } from '../shared/strings';
|
|
61
|
+
import en from '../shared/lang/en';
|
|
62
|
+
import es from '../shared/lang/es';
|
|
57
63
|
|
|
58
64
|
const cronHandlers: WorkerHandlers<typeof cronTasks> = { /* … */ };
|
|
59
65
|
|
|
60
66
|
const app = createApp(
|
|
61
|
-
{ requests, messages },
|
|
67
|
+
{ requests, messages },
|
|
62
68
|
{ /* handlers */ } satisfies RequestHandlers<typeof requests>,
|
|
63
69
|
collections,
|
|
64
70
|
(configurator: AppConfigurator) => {
|
|
65
71
|
configurator.setPages({ pages });
|
|
72
|
+
configurator.setExperiments(experiments);
|
|
73
|
+
configurator.setStrings({
|
|
74
|
+
defaultLang: stringsDef.defaultLang,
|
|
75
|
+
langs: stringsDef.langs,
|
|
76
|
+
criticalKeys: stringsDef.criticalKeys,
|
|
77
|
+
getTable: (lang) => ({ en, es } as Record<string, unknown>)[lang] ?? en,
|
|
78
|
+
});
|
|
66
79
|
configurator.setWorkers(cronTasks, cronHandlers);
|
|
80
|
+
configurator.setOnEmail(async (inbound: InboundEmail) => { /* … */ });
|
|
67
81
|
},
|
|
68
82
|
);
|
|
69
83
|
|
|
@@ -86,9 +100,9 @@ function createApp<
|
|
|
86
100
|
```
|
|
87
101
|
|
|
88
102
|
Passing `pages` in the registry (`{ requests, messages, pages }`) upgrades
|
|
89
|
-
`app.pushSend()` to a per-route typed API. `pages` is optional; apps that only
|
|
90
|
-
`configurator.setPages()` still work — they just get the loose
|
|
91
|
-
typing on `pushSend`.
|
|
103
|
+
`app.pushSend()` to a per-route typed API. `pages` is optional; apps that only
|
|
104
|
+
call `configurator.setPages()` still work — they just get the loose
|
|
105
|
+
`PageRegistry` typing on `pushSend`.
|
|
92
106
|
|
|
93
107
|
### The returned `App`
|
|
94
108
|
|
|
@@ -97,16 +111,17 @@ typing on `pushSend`.
|
|
|
97
111
|
| `start(port?)` | Start the server (default 3000; templates use 4321). |
|
|
98
112
|
| `db` | The `TypedDB<Map>` (map inferred from your collections + framework built-ins). |
|
|
99
113
|
| `httpServer` | The underlying Node `http.Server`. |
|
|
100
|
-
| `wss` | The main `WebSocketServer` (path set
|
|
101
|
-
| `dispatch(name, input, userId)` | Invoke
|
|
114
|
+
| `wss` | The main `WebSocketServer` (path set via `setWsPath`, default `/rpc`). |
|
|
115
|
+
| `dispatch(name, input, userId)` | Invoke a registered RPC handler programmatically (inherited from `AppRouter`). |
|
|
102
116
|
| `registerRoutes(fn)` | Mount additional Express routes after creation. |
|
|
103
|
-
| `pushSend(
|
|
117
|
+
| `pushSend(input)` | Send a push whose click-through target is a route from this app's `pages`. `page` and `query` are type-checked when the registry carries `pages`; the framework mints a `https://ugly.bot/l/<code>` short link so the click-through is always absolute and dock-app-routable. |
|
|
104
118
|
|
|
105
|
-
Framework services start automatically inside `app.start()`: schema drift
|
|
106
|
-
NATS connection + KV buckets, data-proxy connection, event-counter
|
|
107
|
-
cleanup for log tables, console/error capture, and ugly.bot log
|
|
108
|
-
Postgres, NATS, storage, and AI clients are loaded **lazily** — a
|
|
109
|
-
`DATABASE_URL` / `NATS_URL` / `R2_BUCKET` doesn't pay their
|
|
119
|
+
Framework services start automatically inside `app.start()`: schema drift
|
|
120
|
+
check, NATS connection + KV buckets, data-proxy connection, event-counter
|
|
121
|
+
flush, TTL cleanup for log tables, console/error capture, and ugly.bot log
|
|
122
|
+
forwarding. Postgres, NATS, storage, and AI clients are loaded **lazily** — a
|
|
123
|
+
host without `DATABASE_URL` / `NATS_URL` / `R2_BUCKET` doesn't pay their
|
|
124
|
+
startup cost.
|
|
110
125
|
|
|
111
126
|
### `AppConfigurator`
|
|
112
127
|
|
|
@@ -115,43 +130,43 @@ Every method is optional; `setPages` is what mounts the SPA.
|
|
|
115
130
|
| Method | Description |
|
|
116
131
|
|--------|-------------|
|
|
117
132
|
| `setPages({ pages, renderPage?, clientDistPath? })` | Mount the SPA. Dev runs Vite in middleware mode; prod serves `clientDistPath` (default `dist/client`). Provide `renderPage(routeName, params) => Promise<string>` to SSR any `ssr: true` pages. |
|
|
118
|
-
| `setUserHelper(helper)` |
|
|
133
|
+
| `setUserHelper(helper)` | A `UserHelper<UserBase>` the framework uses to look up / create users on WebSocket auth. Falls back to a minimal shim if unset. |
|
|
119
134
|
| `setOnUserCreate(handler)` | `(userId, { email?, phone? }, db) => Promise<void>` — called on first login; create the user record. |
|
|
120
135
|
| `setAuth(provider)` | Replace the default auth provider (`verify(code)`, `authUrl(origin)`, optional `registerRoutes`). |
|
|
121
|
-
| `setOnSocketMessage(handler)` | Single raw-WebSocket handler. `(ws, userId, msg) => boolean` — return `true` to consume, `false` to fall through. Replaces any previously registered handler. |
|
|
136
|
+
| `setOnSocketMessage(handler)` | Single raw-WebSocket handler. `(ws, userId, msg) => boolean` — return `true` to consume, `false` to fall through. **Replaces** any previously registered handler. |
|
|
122
137
|
| `addSocketMessageHandler(handler)` | Append to the handler chain; first `true` wins. |
|
|
123
138
|
| `setWsPath(path)` | Override the WebSocket path (default `/rpc`). |
|
|
124
139
|
| `setOnWsAuth(handler)` | `(ws, userId, req) => void` — fires after a socket session authenticates. |
|
|
125
140
|
| `setOnAfterStart(handler)` | `(db) => Promise<void>` — called once after data-proxy + NATS are ready. |
|
|
126
|
-
| `setOnMinuteTick(fn)` / `setOnHourlyTick(fn)` | Framework-managed periodic callbacks.
|
|
141
|
+
| `setOnMinuteTick(fn)` / `setOnHourlyTick(fn)` | Framework-managed periodic callbacks. Fire only when `CLOCK_ENABLED=true`. |
|
|
127
142
|
| `setHealthHandler(fn)` | Override the default `GET /health`. |
|
|
128
143
|
| `setExperiments(experiments)` | Register `Experiment` definitions for `initSession` / `captureEvent` bucketing. |
|
|
129
144
|
| `setIsAdmin(fn)` | `(userId, db) => boolean \| Promise<boolean>` — gate for admin-only framework requests. Defaults to matching `MAINTAIN_BOT_USER_ID`. |
|
|
130
|
-
| `setZeroTestUserBalance(fn)` | `(userId) => Promise<void>` — how to zero a synthetic test user's balance so the out-of-credit path can be exercised. Only apps that own the balance ledger (i.e. ugly.bot itself) should register this
|
|
145
|
+
| `setZeroTestUserBalance(fn)` | `(userId) => Promise<void>` — how to zero a synthetic test user's balance so the out-of-credit path can be exercised. Only apps that own the balance ledger (i.e. ugly.bot itself) should register this. |
|
|
131
146
|
| `setOnEmail(handler)` | Handle inbound emails routed to `{domain}@ugly.bot` (delivered as internal HTTP). |
|
|
132
147
|
| `setCronTasks(tasks, handlers)` | **Deprecated.** Legacy cron-only registry — prefer `setWorkers()`. |
|
|
133
148
|
| `setWorkers(workers, handlers)` | Register named async tasks with optional Zod input schema and cron schedule. Powers `GET /_workers/manifest`, `POST /_workers/run`, and the cron orchestrator. Scheduled workers are mirrored into the cron registry automatically. |
|
|
134
|
-
| `setStrings(config)` | Localization config — framework injects language + critical strings into SSR HTML. |
|
|
149
|
+
| `setStrings(config)` | Localization config — the framework injects language + critical strings into SSR HTML. |
|
|
135
150
|
| `registerRoutes(fn)` | Mount custom Express routes. |
|
|
136
151
|
| `setWorkerQueue(queue)` | Register a `WorkerQueue` with `start()` / `stop()` for lifecycle management. |
|
|
137
152
|
|
|
138
153
|
### Handler signatures
|
|
139
154
|
|
|
140
|
-
Handlers are plain async functions — no context object. Access state via
|
|
141
|
-
imports (`app.db`, `storage`, `pgQuery`, `uglyBotRequest`, etc.).
|
|
155
|
+
Handlers are plain async functions — no context object. Access state via
|
|
156
|
+
captured imports (`app.db`, `storage`, `pgQuery`, `uglyBotRequest`, etc.).
|
|
142
157
|
|
|
143
158
|
```ts
|
|
144
159
|
// req() — public, userId may be null
|
|
145
|
-
getPublicData: async (userId: string | null, input) => { … }
|
|
160
|
+
getPublicData: async (userId: string | null, input) => { /* … */ }
|
|
146
161
|
|
|
147
162
|
// authReq() — authenticated, framework returns 401 if no/invalid token
|
|
148
|
-
getMe: async (userId: string, input) => { … }
|
|
163
|
+
getMe: async (userId: string, input) => { /* … */ }
|
|
149
164
|
```
|
|
150
165
|
|
|
151
166
|
### Built-in framework requests
|
|
152
167
|
|
|
153
|
-
`createApp` registers several framework handlers reachable from any client via
|
|
154
|
-
normal RPC pipeline. App-provided handlers with the same name override the
|
|
168
|
+
`createApp` registers several framework handlers reachable from any client via
|
|
169
|
+
the normal RPC pipeline. App-provided handlers with the same name override the
|
|
155
170
|
framework's defaults.
|
|
156
171
|
|
|
157
172
|
| Name | Purpose |
|
|
@@ -193,7 +208,7 @@ export const requests = defineRequests({
|
|
|
193
208
|
output: z.object({ userId: z.string(), email: z.string().optional() }),
|
|
194
209
|
}),
|
|
195
210
|
|
|
196
|
-
//
|
|
211
|
+
// Per-endpoint rate limiting — enforced before the handler runs
|
|
197
212
|
submitFeedback: authReq({
|
|
198
213
|
input: z.object({ type: z.enum(['bug', 'design', 'feature']), message: z.string() }),
|
|
199
214
|
output: z.object({ id: z.string() }),
|
|
@@ -202,9 +217,9 @@ export const requests = defineRequests({
|
|
|
202
217
|
});
|
|
203
218
|
```
|
|
204
219
|
|
|
205
|
-
Every request is reachable as **both** `socket.request(name, input)`
|
|
206
|
-
and `POST /api/:name { input }` (HTTP). `z` is re-exported from
|
|
207
|
-
convenience.
|
|
220
|
+
Every request is reachable as **both** `socket.request(name, input)`
|
|
221
|
+
(WebSocket) and `POST /api/:name { input }` (HTTP). `z` is re-exported from
|
|
222
|
+
Zod for convenience.
|
|
208
223
|
|
|
209
224
|
### Collections (`shared/collections.ts`)
|
|
210
225
|
|
|
@@ -233,33 +248,33 @@ export const collections = defineCollections({
|
|
|
233
248
|
});
|
|
234
249
|
```
|
|
235
250
|
|
|
236
|
-
|
|
237
|
-
-
|
|
238
|
-
- `cache` — `true` / `false`
|
|
251
|
+
**`CollectionMeta`:**
|
|
252
|
+
- `db` — **required.** `neon` (Postgres) or `d1` (Cloudflare D1 / SQLite). Both handles are exported from `ugly-app/shared`. Omitting it is a compile error and runtime throw. A `d1` collection may also declare `search` (SQLite FTS5) and/or `vector` (Cloudflare Vectorize).
|
|
253
|
+
- `cache` — `true` / `false` / `{ ttlMs }`. When enabled, `getDoc` / `getByIds` read from an LRU cache; writes invalidate it.
|
|
239
254
|
- `trackable` — enables real-time `trackDoc` / `trackDocs` via change-stream NATS notifications.
|
|
240
255
|
- `public` — allow unauthenticated client reads.
|
|
241
256
|
- `cascadeFrom` — parent collection: when the parent doc is deleted, docs in this collection are cascade-deleted.
|
|
242
257
|
- `trackKeys?` — fields usable as NATS routing keys for scoped `trackDocs` subscriptions.
|
|
243
|
-
- `getter?(ids)` — batch resolver for collections
|
|
258
|
+
- `getter?(ids)` — batch resolver for collections with no local table (framework pattern; e.g. `userPublic` resolves via ugly.bot).
|
|
244
259
|
- `skipReadValidation?` — opt out of per-row zod validation on reads for very hot collections. Writes are always validated. Global kill-switch: `UGLY_DB_VALIDATE_READS=0`.
|
|
245
260
|
- `search?: { fields, language? }` — full-text index over the named JSONB paths (Neon: Postgres FTS; D1: SQLite FTS5, ranked by bm25).
|
|
246
|
-
- `vector?: { dimensions, metric?, filterable? }` — ANN index.
|
|
261
|
+
- `vector?: { dimensions, metric?, filterable? }` — ANN index. Vector supplied out-of-band at write time (`setDoc(c, doc, { vec })`) — never stored in the doc JSON. Query with `getDocs(c, filter, { near })`.
|
|
247
262
|
|
|
248
263
|
All documents extend `DBObject`: `{ _id, version, created, updated }`. Use
|
|
249
|
-
`dbDefaults()` to stamp `version` / `created` / `updated` on inserts.
|
|
250
|
-
generate `_id` with `nanoid()`** — never `crypto.randomUUID()`,
|
|
251
|
-
`Math.random()` (see `CLAUDE.md`).
|
|
264
|
+
`dbDefaults()` to stamp `version` / `created` / `updated` on inserts.
|
|
265
|
+
**Always generate `_id` with `nanoid()`** — never `crypto.randomUUID()`,
|
|
266
|
+
`Date.now()`, or `Math.random()` (see `CLAUDE.md`).
|
|
252
267
|
|
|
253
|
-
After schema changes, run `npm run db:schema-gen` then `npm run db:migrate`.
|
|
254
|
-
app refuses to start when drift is detected (set `SCHEMA_CHECK_SKIP=true`
|
|
255
|
-
a last resort).
|
|
268
|
+
After schema changes, run `npm run db:schema-gen` then `npm run db:migrate`.
|
|
269
|
+
The app refuses to start when drift is detected (set `SCHEMA_CHECK_SKIP=true`
|
|
270
|
+
only as a last resort).
|
|
256
271
|
|
|
257
272
|
---
|
|
258
273
|
|
|
259
274
|
## Routing
|
|
260
275
|
|
|
261
|
-
Route definitions live in `shared/pages.ts`; the client-side router is created
|
|
262
|
-
`createRouter({ pages, allPages?, ssrPages? })`.
|
|
276
|
+
Route definitions live in `shared/pages.ts`; the client-side router is created
|
|
277
|
+
by `createRouter({ pages, allPages?, ssrPages? })`.
|
|
263
278
|
|
|
264
279
|
### `definePage` / `definePages` (`shared/pages.ts`)
|
|
265
280
|
|
|
@@ -270,24 +285,25 @@ export const pages = definePages({
|
|
|
270
285
|
'': definePage<{}>({ auth: false }), // /
|
|
271
286
|
'user/:userId': definePage<{ userId: string }>(), // /user/abc
|
|
272
287
|
'search': definePage<{ q?: string }>({ auth: false, cacheQuery: ['q'] }),
|
|
273
|
-
'blog/*slug': definePage<{ slug: string }>({ ssr: true }),
|
|
288
|
+
'blog/*slug': definePage<{ slug: string }>({ ssr: true, auth: false }),
|
|
274
289
|
});
|
|
275
290
|
export type AppPages = typeof pages;
|
|
276
291
|
```
|
|
277
292
|
|
|
278
293
|
`definePage<Params>(options?)` returns a `PageDef<Params>` — a runtime object
|
|
279
|
-
carrying `PageMeta` plus a phantom `_params` used only for TypeScript
|
|
294
|
+
carrying `PageMeta` plus a phantom `_params` used only for TypeScript
|
|
295
|
+
inference.
|
|
280
296
|
|
|
281
|
-
Options (all optional):
|
|
297
|
+
**Options** (all optional):
|
|
282
298
|
|
|
283
299
|
- `auth` (default `true`) — protected route. When `isAuthenticated()` returns false on this route, the router synchronously renders the framework's `<AuthRoot>` in place of the page (dispatches on `window.__UGLY_APP_AUTH_MODE__`: Mode A → `<LoginPopup>`, Mode B → `<MagicLinkForm>` plus optional Google button). Apps cannot override this fallback — the framework owns the login UX so no route can accidentally ship as auth-required with no way to log in.
|
|
284
300
|
- `ssr` (default `false`) — server-render the page for SEO. `{ auth: true, ssr: true }` is silently dropped to `ssr: false` with a warning: the SSR document is served from a shared edge cache and must not depend on the viewer.
|
|
285
301
|
- `cacheQuery?: string[]` — query params that participate in the SSR edge-cache key. Anything NOT listed bypasses the cache instead of poisoning it (e.g. `cacheQuery: ['q']` on a search page).
|
|
286
302
|
- `ssrCacheTimeout?: number` — edge cache lifetime in seconds. Default is effectively 1 year (`DEFAULT_SSR_CACHE_TIMEOUT`) because the `buildId` is part of the cache key. Override only for pages that drift between deploys.
|
|
287
303
|
|
|
288
|
-
Path syntax: `:param` matches a single path segment; `*param` is greedy
|
|
289
|
-
slashes). Query-string params are declared in `Params` but never
|
|
290
|
-
path template.
|
|
304
|
+
Path syntax: `:param` matches a single path segment; `*param` is greedy
|
|
305
|
+
(captures slashes). Query-string params are declared in `Params` but never
|
|
306
|
+
appear in the path template.
|
|
291
307
|
|
|
292
308
|
`definePages<T>(p)` is a pass-through identity — use it to give the registry a
|
|
293
309
|
name.
|
|
@@ -310,29 +326,24 @@ export const {
|
|
|
310
326
|
|
|
311
327
|
**Config:**
|
|
312
328
|
- `pages` (required) — the `PageRegistry` from `shared/pages.ts`.
|
|
313
|
-
- `allPages?` — the lazy route → element map (`PageMap<Pages>`). Prefer registering
|
|
329
|
+
- `allPages?` — the lazy route → element map (`PageMap<Pages>`). Prefer registering via `setAllPages()` from the browser entry when the app also server-renders — the Worker bundle has no code splitting, so a static import inlines every page (and its deps) into `worker.js`.
|
|
314
330
|
- `ssrPages?` — `Partial<{ [K]: ComponentType<Params> }>` of statically-imported components for `ssr: true` routes. Used by both the Worker's `renderToString` and the client's first hydration render so the initial paint resolves synchronously and never mismatches the server output.
|
|
315
331
|
|
|
316
332
|
**`createRouter` returns:**
|
|
317
333
|
|
|
318
334
|
- **`RouterProvider`** — props: `children`, `fallback?`, `isAuthenticated?`, `initialUrl?` (`{ pathname, search }`, required for SSR + hydration). Manages route state, browser history, and the popup layer. Runs the per-route auth check synchronously — apps cannot override the login fallback.
|
|
319
|
-
- **`RouterView`** — renders the active page with animated transitions. Props: `durationMs?`, `easing?`, `transitionComponent?` (replaces the default `ViewFlipper`), `renderPage?(state) => ReactElement` (sync alternative to `allPages` loaders, called with `RouterStateRaw`).
|
|
335
|
+
- **`RouterView`** — renders the active page with animated transitions. Props: `durationMs?`, `easing?`, `transitionComponent?` (a `React.ComponentType<RouterTransitionProps>` that replaces the default `ViewFlipper`), `renderPage?(state) => ReactElement` (sync alternative to `allPages` loaders, called with `RouterStateRaw`).
|
|
320
336
|
- **`useRouter()`** — returns the `RouterContextValue<Pages>` (typed navigation + popup API). Throws if used outside `<RouterProvider>`.
|
|
321
337
|
- **`Link`** — typed SPA link bound to this router. Renders a real `<a>` (right-click / cmd-click / SEO keep working) but intercepts a plain left-click and routes through `push` / `replace`. Props: `to`, `params` (both type-checked against `pages`), `replace?`, `children`, plus common anchor attrs (`className`, `style`, `target`, `aria-label`, `data-id`, `onClick`).
|
|
322
338
|
- **`setAllPages(map)`** — register the lazy `PageMap<Pages>` after construction (typically from the browser entry, so the Worker's import graph stays free of every lazy page).
|
|
323
339
|
|
|
324
|
-
A standalone `Link` is also exported from `ugly-app/client` for code that
|
|
325
|
-
easily reach the typed one; it accepts an optional `router` prop and
|
|
326
|
-
to `<RouterProvider>` context.
|
|
327
|
-
|
|
328
|
-
`RouterView`'s `transitionComponent?` prop replaces the default `ViewFlipper`
|
|
329
|
-
with your own component that implements `RouterTransitionProps` (exported from
|
|
330
|
-
`ugly-app/client`); `renderPage?(state)` lets you render synchronously from the
|
|
331
|
-
raw `RouterStateRaw` instead of resolving via the async `allPages` map.
|
|
340
|
+
A standalone `Link` is also exported from `ugly-app/client` for code that
|
|
341
|
+
can't easily reach the typed one; it accepts an optional `router` prop and
|
|
342
|
+
falls back to `<RouterProvider>` context.
|
|
332
343
|
|
|
333
|
-
**Never use a bare `<a href="/route">`** for internal navigation — it triggers
|
|
334
|
-
full document reload (white flash + repaint). See the "client navigation"
|
|
335
|
-
`CLAUDE.md`.
|
|
344
|
+
**Never use a bare `<a href="/route">`** for internal navigation — it triggers
|
|
345
|
+
a full document reload (white flash + repaint). See the "client navigation"
|
|
346
|
+
rule in `CLAUDE.md`.
|
|
336
347
|
|
|
337
348
|
### Page map — `lazyPage` / `lazyPageLoader`
|
|
338
349
|
|
|
@@ -352,8 +363,8 @@ export const allPages = {
|
|
|
352
363
|
- **`lazyPage(factory)`** — lazy-imports a default-exported `React.ComponentType<Params>`. The page receives route params as props.
|
|
353
364
|
- **`lazyPageLoader(factory)`** — lazy-imports an async loader `(params) => Promise<ReactElement>`. Use when a route needs data fetching before render. The loader file is the chunk boundary, so it can statically import its page component.
|
|
354
365
|
|
|
355
|
-
Both wrappers recover from stale-deploy chunk 404s ("Failed to fetch
|
|
356
|
-
imported module"): on the first failure they trigger a single
|
|
366
|
+
Both wrappers recover from stale-deploy chunk 404s ("Failed to fetch
|
|
367
|
+
dynamically imported module"): on the first failure they trigger a single
|
|
357
368
|
`window.location.reload()` (guarded by `sessionStorage` so a genuinely broken
|
|
358
369
|
chunk can't loop) to fetch the fresh `index.html` with new chunk hashes.
|
|
359
370
|
|
|
@@ -385,15 +396,15 @@ replace('search', { q: 'hello' }); // → /search?q=hello
|
|
|
385
396
|
back(); // browser history back
|
|
386
397
|
```
|
|
387
398
|
|
|
388
|
-
Route names and params are fully typed against `pages`. `push` / `replace`
|
|
389
|
-
with a `console.error` when `buildUrl()` produces a URL that doesn't
|
|
390
|
-
registered route.
|
|
399
|
+
Route names and params are fully typed against `pages`. `push` / `replace`
|
|
400
|
+
no-op with a `console.error` when `buildUrl()` produces a URL that doesn't
|
|
401
|
+
match a registered route.
|
|
391
402
|
|
|
392
403
|
### Popups — `openPopup()`
|
|
393
404
|
|
|
394
|
-
`useRouter().openPopup()` is the canonical modal / sheet / menu API. The
|
|
395
|
-
owns the popup layer, drives a spring animation, and stacks popups
|
|
396
|
-
correctly above every page.
|
|
405
|
+
`useRouter().openPopup()` is the canonical modal / sheet / menu API. The
|
|
406
|
+
router owns the popup layer, drives a spring animation, and stacks popups
|
|
407
|
+
z-index-correctly above every page.
|
|
397
408
|
|
|
398
409
|
```tsx
|
|
399
410
|
const { openPopup } = useRouter();
|
|
@@ -408,7 +419,7 @@ const handle = openPopup(<MyContent />, {
|
|
|
408
419
|
renderLayer: (props) => <CustomLayer {...props} />, // fully replace the layer renderer
|
|
409
420
|
});
|
|
410
421
|
|
|
411
|
-
handle.hide(); // dismiss programmatically
|
|
422
|
+
handle.hide(); // dismiss programmatically — same as router.closePopup(handle.id)
|
|
412
423
|
```
|
|
413
424
|
|
|
414
425
|
`openPopup` returns a `PopupHandle = { id, hide }`. Modes:
|
|
@@ -418,27 +429,27 @@ handle.hide(); // dismiss programmatically
|
|
|
418
429
|
- **`contextMenu`** — same as transient, intended for menus and pickers.
|
|
419
430
|
|
|
420
431
|
`renderLayer` receives `{ content, spring, hide }`: `spring` is a
|
|
421
|
-
`createAnimatedValue()` result driving 0 → 1; `hide` closes the popup. The
|
|
422
|
-
layer animates open with `easeOut` (250 ms) and closed with `easeIn`
|
|
423
|
-
Popups render as siblings of the router's children (managed inside
|
|
432
|
+
`createAnimatedValue()` result driving 0 → 1; `hide` closes the popup. The
|
|
433
|
+
default layer animates open with `easeOut` (250 ms) and closed with `easeIn`
|
|
434
|
+
(200 ms). Popups render as siblings of the router's children (managed inside
|
|
424
435
|
`RouterProvider`), so they stack above every page.
|
|
425
436
|
|
|
426
437
|
### Scroll containers
|
|
427
438
|
|
|
428
|
-
`html, body, #root` are `overflow: hidden` — the document itself never
|
|
429
|
-
so a page that just renders tall content is clipped. For pages that
|
|
430
|
-
scrolling (or render outside the normal authed chrome — e.g. a
|
|
431
|
-
special-cased before the auth gate), wrap the content in
|
|
432
|
-
(exported from `ugly-app/client`). For long / virtualized
|
|
433
|
-
scroll-position persistence, use the richer `ScrollView`. See the
|
|
434
|
-
scrolling" rule in `CLAUDE.md`.
|
|
439
|
+
`html, body, #root` are `overflow: hidden` — the document itself never
|
|
440
|
+
scrolls, so a page that just renders tall content is clipped. For pages that
|
|
441
|
+
own their scrolling (or render outside the normal authed chrome — e.g. a
|
|
442
|
+
public page special-cased before the auth gate), wrap the content in
|
|
443
|
+
`SimpleScrollView` (exported from `ugly-app/client`). For long / virtualized
|
|
444
|
+
lists with scroll-position persistence, use the richer `ScrollView`. See the
|
|
445
|
+
"page scrolling" rule in `CLAUDE.md`.
|
|
435
446
|
|
|
436
447
|
---
|
|
437
448
|
|
|
438
449
|
## Client — `bootstrapApp()`
|
|
439
450
|
|
|
440
|
-
The recommended entry point. Handles auth detection, socket creation,
|
|
441
|
-
account-sync with ugly.bot, and provider wiring.
|
|
451
|
+
The recommended entry point. Handles auth detection, socket creation,
|
|
452
|
+
background account-sync with ugly.bot, and provider wiring.
|
|
442
453
|
|
|
443
454
|
```tsx
|
|
444
455
|
// client/main.tsx
|
|
@@ -454,7 +465,7 @@ bootstrapApp({
|
|
|
454
465
|
});
|
|
455
466
|
```
|
|
456
467
|
|
|
457
|
-
|
|
468
|
+
**`BootstrapAppOptions`:**
|
|
458
469
|
|
|
459
470
|
| Field | Description |
|
|
460
471
|
|-------|-------------|
|
|
@@ -471,18 +482,18 @@ bootstrapApp({
|
|
|
471
482
|
| `silentSso?` | Apex-domain apps that use ugly.bot as their auth authority but don't share its cookie. When `true`, a logged-out boot attempts a top-level SSO redirect (once per tab) to adopt an existing ugly.bot session. Leave unset for `*.ugly.bot` subdomains and Mode B apps. |
|
|
472
483
|
| `testMode?` | Skip ugly.bot silent SSO and trust the auth cookie the fixture set. Only honored when `UGLY_APP_TEST_MODE=1`. |
|
|
473
484
|
|
|
474
|
-
`bootstrapApp` reads `window.__AUTH_TOKEN__` (injected by the server after
|
|
475
|
-
verification). If absent, it renders unauthenticated immediately — the
|
|
476
|
-
per-route auth guard surfaces `<AuthRoot>` only when the user opens a
|
|
477
|
-
route. If the token is present, it connects the socket, mounts
|
|
478
|
-
and renders.
|
|
485
|
+
`bootstrapApp` reads `window.__AUTH_TOKEN__` (injected by the server after
|
|
486
|
+
cookie verification). If absent, it renders unauthenticated immediately — the
|
|
487
|
+
router's per-route auth guard surfaces `<AuthRoot>` only when the user opens a
|
|
488
|
+
protected route. If the token is present, it connects the socket, mounts
|
|
489
|
+
`<AppProvider>`, and renders.
|
|
479
490
|
|
|
480
|
-
After render, a hidden iframe silently calls `${UGLY_BOT_URL}/oauth/silent`:
|
|
481
|
-
returns a fresh code, the cookie is refreshed via `POST /auth/verify`;
|
|
482
|
-
returned account differs from the current session, the page reloads
|
|
483
|
-
account (guarded once per from→to pair to prevent loops). Any
|
|
484
|
-
`?ugly_oauth_code=…` in the URL (redirect-fallback OAuth code from ugly.bot)
|
|
485
|
-
redeemed at the top of bootstrap before anything renders.
|
|
491
|
+
After render, a hidden iframe silently calls `${UGLY_BOT_URL}/oauth/silent`:
|
|
492
|
+
if it returns a fresh code, the cookie is refreshed via `POST /auth/verify`;
|
|
493
|
+
if the returned account differs from the current session, the page reloads
|
|
494
|
+
onto the live account (guarded once per from→to pair to prevent loops). Any
|
|
495
|
+
`?ugly_oauth_code=…` in the URL (redirect-fallback OAuth code from ugly.bot)
|
|
496
|
+
is redeemed at the top of bootstrap before anything renders.
|
|
486
497
|
|
|
487
498
|
If `bootstrapApp` is loaded at `/auth/magic-link/verify` (Mode B), it renders
|
|
488
499
|
`<MagicLinkCallback>` instead of the regular app shell.
|
|
@@ -508,18 +519,17 @@ const {
|
|
|
508
519
|
} = useApp();
|
|
509
520
|
```
|
|
510
521
|
|
|
511
|
-
`useApp<TAsyncOptions>()` is generic in the async-options type so apps can
|
|
512
|
-
custom option through to a custom `loadingOverlay` element
|
|
513
|
-
`
|
|
514
|
-
|
|
515
|
-
returns
|
|
516
|
-
|
|
517
|
-
prop, and finally to identity.
|
|
522
|
+
`useApp<TAsyncOptions>()` is generic in the async-options type so apps can
|
|
523
|
+
pass a custom option through to a custom `loadingOverlay` element. `AppProvider`
|
|
524
|
+
`cloneElement`s the overlay with `{ label, asyncOptions }` while `runAsync` is
|
|
525
|
+
pending. `useAppOptional()` returns `null` outside the provider; `useLocalizer()`
|
|
526
|
+
returns a localizer that prefers `<StringsProvider>` data, falls back to the
|
|
527
|
+
`AppProvider` `localizer` prop, and finally to identity.
|
|
518
528
|
|
|
519
|
-
Two popup APIs coexist: `useRouter().openPopup()` (spring-animated,
|
|
520
|
-
mode-aware — the default choice) and `useApp().showPopup()` (a
|
|
521
|
-
returning a string id, for content that must sit *outside*
|
|
522
|
-
transition). Prefer the router's.
|
|
529
|
+
Two popup APIs coexist: `useRouter().openPopup()` (spring-animated,
|
|
530
|
+
dismissible, mode-aware — the default choice) and `useApp().showPopup()` (a
|
|
531
|
+
flat overlay layer returning a string id, for content that must sit *outside*
|
|
532
|
+
the router transition). Prefer the router's.
|
|
523
533
|
|
|
524
534
|
### Direct socket access
|
|
525
535
|
|
|
@@ -543,16 +553,16 @@ from `ugly-app/client`.
|
|
|
543
553
|
|
|
544
554
|
## Auth
|
|
545
555
|
|
|
546
|
-
ugly-app uses HttpOnly cookies and server-side JWT injection — no
|
|
547
|
-
no client-side token handling.
|
|
556
|
+
ugly-app uses HttpOnly cookies and server-side JWT injection — no
|
|
557
|
+
`localStorage`, no client-side token handling.
|
|
548
558
|
|
|
549
559
|
Two modes, picked from the `auth` block in the project's `.uglyapp` config:
|
|
550
560
|
|
|
551
561
|
- **Mode A — `mode: 'uglybot'`** (default when no `auth` block is present). Auth is delegated to ugly.bot OAuth. AI / email / push proxies bill the end user's ugly.bot credits.
|
|
552
562
|
- **Mode B — `mode: 'self'`**. The app issues its own sessions via magic-link email and/or Google OAuth. AI / email / push proxies bill the developer's ugly.bot account using the project's `AI_PROXY_TOKEN`.
|
|
553
563
|
|
|
554
|
-
`window.__UGLY_APP_AUTH_MODE__` is injected into every page so client code
|
|
555
|
-
`<AuthRoot>`) can branch correctly.
|
|
564
|
+
`window.__UGLY_APP_AUTH_MODE__` is injected into every page so client code
|
|
565
|
+
(incl. `<AuthRoot>`) can branch correctly.
|
|
556
566
|
|
|
557
567
|
### Mode A — ugly.bot OAuth (default)
|
|
558
568
|
|
|
@@ -565,8 +575,8 @@ Two modes, picked from the `auth` block in the project's `.uglyapp` config:
|
|
|
565
575
|
### Mode B — self-issued sessions
|
|
566
576
|
|
|
567
577
|
When `.uglyapp` sets `auth.mode: 'self'`, `buildAuth()` wires the magic-link
|
|
568
|
-
provider as primary; if `providers.google.clientId` is configured it adds
|
|
569
|
-
as an extra provider on the same router.
|
|
578
|
+
provider as primary; if `providers.google.clientId` is configured it adds
|
|
579
|
+
Google as an extra provider on the same router.
|
|
570
580
|
|
|
571
581
|
- `<AuthRoot>` renders `<MagicLinkForm>` (plus the Google button when configured) instead of `<LoginPopup>`.
|
|
572
582
|
- Background ugly.bot silent SSO is a no-op.
|
|
@@ -576,11 +586,11 @@ as an extra provider on the same router.
|
|
|
576
586
|
|
|
577
587
|
### Token-in-URL embed
|
|
578
588
|
|
|
579
|
-
Any GET request with `?token=<JWT>` will, if the token verifies, set the
|
|
580
|
-
and 302-redirect to the same URL without the token parameter — useful
|
|
581
|
-
embedding any page in an iframe.
|
|
589
|
+
Any GET request with `?token=<JWT>` will, if the token verifies, set the
|
|
590
|
+
cookie and 302-redirect to the same URL without the token parameter — useful
|
|
591
|
+
for embedding any page in an iframe.
|
|
582
592
|
|
|
583
|
-
### Built-in routes
|
|
593
|
+
### Built-in auth routes
|
|
584
594
|
|
|
585
595
|
| Endpoint | Description |
|
|
586
596
|
|----------|-------------|
|
|
@@ -602,7 +612,7 @@ configurator.setAuth({
|
|
|
602
612
|
});
|
|
603
613
|
```
|
|
604
614
|
|
|
605
|
-
### Server-side helpers
|
|
615
|
+
### Server-side auth helpers
|
|
606
616
|
|
|
607
617
|
- `verifyToken(token)` — verifies a token against ugly.bot and returns the `userId`.
|
|
608
618
|
- `getRequestUser(req)` — synchronous decode of the per-project `UGLY_PROJECT_TOKEN` cookie set by ugly.bot's wake-on-traffic gate. Returns `{ userId } | null` without a network round-trip; safe as the primary auth check in deployed-app handlers.
|
|
@@ -638,10 +648,10 @@ await db.batch(async () => {
|
|
|
638
648
|
});
|
|
639
649
|
```
|
|
640
650
|
|
|
641
|
-
Supported update operators: `$inc`, `$addToSet`, `$pull`, `$unset`, `$set`.
|
|
642
|
-
keys are dot-notation, fully typed against the collection's schema.
|
|
643
|
-
updates go through optimistic concurrency to prevent lost updates on
|
|
644
|
-
writers.
|
|
651
|
+
Supported update operators: `$inc`, `$addToSet`, `$pull`, `$unset`, `$set`.
|
|
652
|
+
All keys are dot-notation, fully typed against the collection's schema.
|
|
653
|
+
Partial updates go through optimistic concurrency to prevent lost updates on
|
|
654
|
+
concurrent writers.
|
|
645
655
|
|
|
646
656
|
### Reading
|
|
647
657
|
|
|
@@ -725,9 +735,9 @@ Imports available from `ugly-app`:
|
|
|
725
735
|
|
|
726
736
|
## AI
|
|
727
737
|
|
|
728
|
-
AI calls are proxied through ugly.bot — your app never holds a provider key.
|
|
729
|
-
`UGLY_BOT_TOKEN` in the environment and the framework handles routing,
|
|
730
|
-
tracking, retries, and per-user billing.
|
|
738
|
+
AI calls are proxied through ugly.bot — your app never holds a provider key.
|
|
739
|
+
Pass `UGLY_BOT_TOKEN` in the environment and the framework handles routing,
|
|
740
|
+
balance tracking, retries, and per-user billing.
|
|
731
741
|
|
|
732
742
|
### Server-side text generation
|
|
733
743
|
|
|
@@ -762,8 +772,8 @@ const imageGen = createImageGen(userId);
|
|
|
762
772
|
const url = await imageGen.generate('A red panda eating noodles', { model: 'flux_schnell' });
|
|
763
773
|
```
|
|
764
774
|
|
|
765
|
-
`imageGenModels` / `imageGenModelData` enumerate available models (Together
|
|
766
|
-
FAL, Google Imagen, Wavespeed, Kie Kolors).
|
|
775
|
+
`imageGenModels` / `imageGenModelData` enumerate available models (Together
|
|
776
|
+
FLUX, FAL, Google Imagen, Wavespeed, Kie Kolors).
|
|
767
777
|
|
|
768
778
|
### Embeddings
|
|
769
779
|
|
|
@@ -811,8 +821,8 @@ const { start, stop, transcript, isListening } = useSTT(uglyBotSocket, options);
|
|
|
811
821
|
const { speak, stop: stopTTS } = useTTS(uglyBotSocket);
|
|
812
822
|
```
|
|
813
823
|
|
|
814
|
-
`uglyBotSocket` is the `UglyBotSocket` on `useApp()`; it opens a direct
|
|
815
|
-
to the platform.
|
|
824
|
+
`uglyBotSocket` is the `UglyBotSocket` on `useApp()`; it opens a direct
|
|
825
|
+
WebSocket to the platform.
|
|
816
826
|
|
|
817
827
|
---
|
|
818
828
|
|
|
@@ -836,15 +846,15 @@ const { uploadUrl, resultUrl } = await storage.presignedPut('temp', key);
|
|
|
836
846
|
await storage.delete('public', destKey);
|
|
837
847
|
```
|
|
838
848
|
|
|
839
|
-
Client-side, use `socket.uploadFile(file, key)` — it requests a presigned URL
|
|
840
|
-
the built-in `uploadUrl` framework request and streams the upload. In dev,
|
|
849
|
+
Client-side, use `socket.uploadFile(file, key)` — it requests a presigned URL
|
|
850
|
+
via the built-in `uploadUrl` framework request and streams the upload. In dev,
|
|
841
851
|
uploads go through a same-origin `/_s3` proxy to avoid CORS with local MinIO.
|
|
842
852
|
|
|
843
853
|
`STORAGE_KEY_PREFIX` (env) prefixes all keys — useful for per-environment
|
|
844
854
|
isolation.
|
|
845
855
|
|
|
846
|
-
On Cloudflare Workers, storage uses the R2 binding directly; presigned PUTs
|
|
847
|
-
not exposed (browser uploads must go through a Worker endpoint).
|
|
856
|
+
On Cloudflare Workers, storage uses the R2 binding directly; presigned PUTs
|
|
857
|
+
are not exposed (browser uploads must go through a Worker endpoint).
|
|
848
858
|
|
|
849
859
|
---
|
|
850
860
|
|
|
@@ -878,9 +888,9 @@ configurator.setWorkers(cronTasks, cronHandlers);
|
|
|
878
888
|
|
|
879
889
|
Each worker can have `inputSchema`, `outputSchema`, `schedule`, `timeout`,
|
|
880
890
|
`description`. Workers without a schedule are still invocable via
|
|
881
|
-
`POST /_workers/run` (auth: localhost in dev,
|
|
882
|
-
in prod). Scheduled workers also appear
|
|
883
|
-
orchestrator.
|
|
891
|
+
`POST /_workers/run` (auth: localhost in dev,
|
|
892
|
+
`Authorization: Bearer $CRON_SECRET` in prod). Scheduled workers also appear
|
|
893
|
+
in `/_cron/manifest` for the deploy orchestrator.
|
|
884
894
|
|
|
885
895
|
On the Workers adapter, scheduled workers dispatch through Cloudflare Cron
|
|
886
896
|
Triggers and durable queueing goes through Cloudflare Queues. On the Node
|
|
@@ -927,12 +937,12 @@ configurator.setExperiments(experiments);
|
|
|
927
937
|
```
|
|
928
938
|
|
|
929
939
|
Bucketing is deterministic: `hash(experimentId + userId)` (or `sessionId` for
|
|
930
|
-
unauthenticated users). The framework's `initSession` / `captureEvent`
|
|
931
|
-
automatically tag events with the user's branch assignments.
|
|
940
|
+
unauthenticated users). The framework's `initSession` / `captureEvent`
|
|
941
|
+
requests automatically tag events with the user's branch assignments.
|
|
932
942
|
|
|
933
943
|
---
|
|
934
944
|
|
|
935
|
-
## Built-in endpoints
|
|
945
|
+
## Built-in HTTP endpoints
|
|
936
946
|
|
|
937
947
|
| Endpoint | Description |
|
|
938
948
|
|----------|-------------|
|
|
@@ -960,6 +970,7 @@ automatically tag events with the user's branch assignments.
|
|
|
960
970
|
| `ugly-app/shared` | Cross-tier: `defineRequests`, `defineCollections`, `definePage`, `defineWorkers`, Zod, experiments, time constants. |
|
|
961
971
|
| `ugly-app/client` | React: `bootstrapApp`, `createRouter`, `lazyPage`, `AppProvider`, components, animations, audio, AI helpers. |
|
|
962
972
|
| `ugly-app/server/adapter/workers` | Cloudflare Workers entry (Hono router + Durable Objects + Neon HTTP driver + R2). |
|
|
973
|
+
| `ugly-app/server/ssr` | SSR renderer used by the Workers adapter. |
|
|
963
974
|
| `ugly-app/conversation/{shared,server,client,engine}` | AI chat sessions with persisted history. |
|
|
964
975
|
| `ugly-app/collab/{server,client}` | Yjs-based collaborative editing. |
|
|
965
976
|
| `ugly-app/markdown/{shared,client}` | Markdown rendering + editor. |
|
|
@@ -1055,13 +1066,13 @@ Schema changes must be deliberate:
|
|
|
1055
1066
|
3. Replace every `REPLACE_ME` with the correct migration logic.
|
|
1056
1067
|
4. Run `npm run db:migrate`.
|
|
1057
1068
|
|
|
1058
|
-
The framework refuses to start when drift is detected (set
|
|
1059
|
-
only as a temporary escape hatch).
|
|
1069
|
+
The framework refuses to start when drift is detected (set
|
|
1070
|
+
`SCHEMA_CHECK_SKIP=true` only as a temporary escape hatch).
|
|
1060
1071
|
|
|
1061
1072
|
---
|
|
1062
1073
|
|
|
1063
1074
|
## Tech stack
|
|
1064
1075
|
|
|
1065
|
-
Node.js · TypeScript · Express · React 19 · Vite · PostgreSQL (JSONB) ·
|
|
1066
|
-
NATS · S3-compatible storage · Zod · JWT (jose) · Cloudflare Workers +
|
|
1067
|
-
Objects (Adapter B) · ugly.bot platform
|
|
1076
|
+
Node.js · TypeScript · Express · React 19 · Vite · PostgreSQL (JSONB) ·
|
|
1077
|
+
Qdrant · NATS · S3-compatible storage · Zod · JWT (jose) · Cloudflare Workers +
|
|
1078
|
+
Durable Objects (Adapter B) · ugly.bot platform
|
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.919";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
|
@@ -323,8 +323,18 @@ export declare const tripoUploadImageOutputSchema: z.ZodObject<{
|
|
|
323
323
|
export declare const tripoSegmentInputSchema: z.ZodObject<{
|
|
324
324
|
chargeUserIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
325
325
|
taskId: z.ZodOptional<z.ZodString>;
|
|
326
|
-
modelTaskId: z.ZodString
|
|
326
|
+
modelTaskId: z.ZodOptional<z.ZodString>;
|
|
327
|
+
url: z.ZodOptional<z.ZodString>;
|
|
328
|
+
fileToken: z.ZodOptional<z.ZodString>;
|
|
329
|
+
fileType: z.ZodOptional<z.ZodString>;
|
|
327
330
|
modelVersion: z.ZodOptional<z.ZodString>;
|
|
331
|
+
granularity: z.ZodOptional<z.ZodEnum<{
|
|
332
|
+
simple: "simple";
|
|
333
|
+
balanced: "balanced";
|
|
334
|
+
detailed: "detailed";
|
|
335
|
+
}>>;
|
|
336
|
+
splitByConnectivity: z.ZodOptional<z.ZodBoolean>;
|
|
337
|
+
refImage: z.ZodOptional<z.ZodString>;
|
|
328
338
|
}, z.core.$strip>;
|
|
329
339
|
export declare const tripoCompleteInputSchema: z.ZodObject<{
|
|
330
340
|
chargeUserIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -1274,8 +1284,18 @@ export declare const proxyOps: {
|
|
|
1274
1284
|
readonly input: z.ZodObject<{
|
|
1275
1285
|
chargeUserIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1276
1286
|
taskId: z.ZodOptional<z.ZodString>;
|
|
1277
|
-
modelTaskId: z.ZodString
|
|
1287
|
+
modelTaskId: z.ZodOptional<z.ZodString>;
|
|
1288
|
+
url: z.ZodOptional<z.ZodString>;
|
|
1289
|
+
fileToken: z.ZodOptional<z.ZodString>;
|
|
1290
|
+
fileType: z.ZodOptional<z.ZodString>;
|
|
1278
1291
|
modelVersion: z.ZodOptional<z.ZodString>;
|
|
1292
|
+
granularity: z.ZodOptional<z.ZodEnum<{
|
|
1293
|
+
simple: "simple";
|
|
1294
|
+
balanced: "balanced";
|
|
1295
|
+
detailed: "detailed";
|
|
1296
|
+
}>>;
|
|
1297
|
+
splitByConnectivity: z.ZodOptional<z.ZodBoolean>;
|
|
1298
|
+
refImage: z.ZodOptional<z.ZodString>;
|
|
1279
1299
|
}, z.core.$strip>;
|
|
1280
1300
|
readonly output: z.ZodObject<{
|
|
1281
1301
|
taskId: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyOps.d.ts","sourceRoot":"","sources":["../../src/shared/ProxyOps.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,eAAO,MAAM,qBAAqB;;;;iBAQ9B,CAAC;AACL,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;iBAQjC,CAAC;AACL,eAAO,MAAM,qBAAqB;;iBAEhC,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AACH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;iBAUpC,CAAC;AAGH,eAAO,MAAM,2BAA2B;;;;;;;;iBAQtC,CAAC;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;iBAsBvC,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;iBAWxC,CAAC;AAGH,eAAO,MAAM,8BAA8B;;iBAEzC,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;iBAO5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAG9C,eAAO,MAAM,oBAAoB;;;;;;;;iBAW/B,CAAC;AAcH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAOhC,CAAC;AAMH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;iBAQ/B,CAAC;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;iBAe1B,CAAC;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;iBAEhC,CAAC;AAKH,eAAO,MAAM,qBAAqB;;;;;;iBAOT,CAAC;AAC1B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAAkB,CAAC;AAKtD,eAAO,MAAM,sBAAsB;;;iBAEV,CAAC;AAC1B,eAAO,MAAM,uBAAuB;;iBAAqC,CAAC;AAG1E,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC;AACH,eAAO,MAAM,yBAAyB;;iBAAqC,CAAC;AAG5E,eAAO,MAAM,kBAAkB;;;;;;;;;iBAS3B,CAAC;AACL,eAAO,MAAM,mBAAmB;;iBAAmC,CAAC;AAepE,eAAO,MAAM,uBAAuB;;iBAAkC,CAAC;AACvE,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAC;AACH,eAAO,MAAM,yBAAyB;;;;;;;iBAYlC,CAAC;AACL,eAAO,MAAM,wBAAwB;;;;;iBAMnC,CAAC;AACH,eAAO,MAAM,uBAAuB;;;;;;iBAOlC,CAAC;AACH,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AACH,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAC;AACH,oFAAoF;AACpF,eAAO,MAAM,aAAa,mGAShB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;iBAa9B,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;;iBAOnC,CAAC;AACH;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B;;;;iBAKtC,CAAC;AACH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AACH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"ProxyOps.d.ts","sourceRoot":"","sources":["../../src/shared/ProxyOps.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/ProxyOps.js
CHANGED
|
@@ -342,8 +342,27 @@ export const tripoUploadImageOutputSchema = z.object({
|
|
|
342
342
|
export const tripoSegmentInputSchema = z.object({
|
|
343
343
|
/** Resume token from a previous `pending` response. */
|
|
344
344
|
taskId: z.string().optional(),
|
|
345
|
-
|
|
345
|
+
/** A prior Tripo task to segment. Alternative to `url` / `fileToken`. */
|
|
346
|
+
modelTaskId: z.string().min(1).optional(),
|
|
347
|
+
/**
|
|
348
|
+
* Segment a mesh WE produced, by public URL or by an uploaded token.
|
|
349
|
+
*
|
|
350
|
+
* This is what takes fal's FBX-only part endpoint off the critical path for face work: a head cut
|
|
351
|
+
* off a rig by skin weight can be segmented directly, with no binary-FBX writer.
|
|
352
|
+
*/
|
|
353
|
+
url: z.string().optional(),
|
|
354
|
+
fileToken: z.string().optional(),
|
|
355
|
+
fileType: z.string().optional(),
|
|
356
|
+
/**
|
|
357
|
+
* Segmentation model. Defaults to `v2.0-20260430` — SEMANTIC segmentation with labels.
|
|
358
|
+
* `v1.0-20250506` is geometry-only and returns unnamed `tripo_part_N` chunks that span the whole
|
|
359
|
+
* body; measured, it finds no head and no eye, so it is never what you want for a face.
|
|
360
|
+
*/
|
|
346
361
|
modelVersion: z.string().optional(),
|
|
362
|
+
granularity: z.enum(['simple', 'balanced', 'detailed']).optional(),
|
|
363
|
+
splitByConnectivity: z.boolean().optional(),
|
|
364
|
+
/** v2 only — a mask image (file_token or public URL) guiding the semantic split. */
|
|
365
|
+
refImage: z.string().optional(),
|
|
347
366
|
...chargeOverride,
|
|
348
367
|
});
|
|
349
368
|
export const tripoCompleteInputSchema = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyOps.js","sourceRoot":"","sources":["../../src/shared/ProxyOps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProxyOps.js","sourceRoot":"","sources":["../../src/shared/ProxyOps.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugly-app",
|
|
3
3
|
"packageManager": "pnpm@10.34.5",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.919",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
|
|
7
7
|
"files": [
|
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.919";
|
package/src/shared/ProxyOps.ts
CHANGED
|
@@ -363,8 +363,27 @@ export const tripoUploadImageOutputSchema = z.object({
|
|
|
363
363
|
export const tripoSegmentInputSchema = z.object({
|
|
364
364
|
/** Resume token from a previous `pending` response. */
|
|
365
365
|
taskId: z.string().optional(),
|
|
366
|
-
|
|
366
|
+
/** A prior Tripo task to segment. Alternative to `url` / `fileToken`. */
|
|
367
|
+
modelTaskId: z.string().min(1).optional(),
|
|
368
|
+
/**
|
|
369
|
+
* Segment a mesh WE produced, by public URL or by an uploaded token.
|
|
370
|
+
*
|
|
371
|
+
* This is what takes fal's FBX-only part endpoint off the critical path for face work: a head cut
|
|
372
|
+
* off a rig by skin weight can be segmented directly, with no binary-FBX writer.
|
|
373
|
+
*/
|
|
374
|
+
url: z.string().optional(),
|
|
375
|
+
fileToken: z.string().optional(),
|
|
376
|
+
fileType: z.string().optional(),
|
|
377
|
+
/**
|
|
378
|
+
* Segmentation model. Defaults to `v2.0-20260430` — SEMANTIC segmentation with labels.
|
|
379
|
+
* `v1.0-20250506` is geometry-only and returns unnamed `tripo_part_N` chunks that span the whole
|
|
380
|
+
* body; measured, it finds no head and no eye, so it is never what you want for a face.
|
|
381
|
+
*/
|
|
367
382
|
modelVersion: z.string().optional(),
|
|
383
|
+
granularity: z.enum(['simple', 'balanced', 'detailed']).optional(),
|
|
384
|
+
splitByConnectivity: z.boolean().optional(),
|
|
385
|
+
/** v2 only — a mask image (file_token or public URL) guiding the semantic split. */
|
|
386
|
+
refImage: z.string().optional(),
|
|
368
387
|
...chargeOverride,
|
|
369
388
|
});
|
|
370
389
|
export const tripoCompleteInputSchema = z.object({
|