ugly-app 0.1.601 → 0.1.604

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/CLAUDE.md CHANGED
@@ -42,6 +42,37 @@ was that `trackDoc` (singular) never sent an **initial snapshot** — it only re
42
42
  mutations — so any static doc looked dead regardless of its id. Fixed in `createWorkersApp.ts`:
43
43
  `trackDoc` now `pgGetDoc`-snapshots before subscribing, exactly like `trackDocs`.)
44
44
 
45
+ ## Critical rule: client navigation (no bare `<a href>` for routes)
46
+
47
+ This is a **single-page app**. A plain `<a href="/podcast">` triggers a full
48
+ document reload — the screen goes white and everything repaints, exactly like
49
+ loading a new page. That defeats the router's smooth transitions and reloads all
50
+ JS/CSS.
51
+
52
+ **For any internal route, navigate through the router — never a bare anchor:**
53
+
54
+ ```tsx
55
+ // shared/router.ts already exports a typed Link bound to your pages:
56
+ import { Link, useRouter } from '../router';
57
+
58
+ // Declarative — renders a real <a> (right-click / cmd-click / SEO still work)
59
+ // but intercepts a plain left-click and does an in-app transition:
60
+ <Link to="podcast" params={{}}>Listen</Link>
61
+ <Link to="article/:id" params={{ id }}>Read</Link>
62
+
63
+ // Imperative (onClick handlers, after some async work, etc.):
64
+ const router = useRouter();
65
+ router.push('article/:id', { id });
66
+ ```
67
+
68
+ - `to` / `params` are **type-checked** against the pages in `shared/pages.ts`.
69
+ - `Link` is returned from `createRouter()` (see `templates/client/router.ts`); a
70
+ standalone `Link` is also exported from `ugly-app/client` (pass `router=` or
71
+ rely on `<RouterProvider>` context).
72
+ - A bare `<a href>` is correct **only** for: external/cross-origin links,
73
+ `target="_blank"`/`download`, and same-page hash anchors (`#section`) — these
74
+ are not SPA route changes.
75
+
45
76
  ## Commands
46
77
  - `npm run build` — Build TypeScript to dist
47
78
  - `npm run dev` — Start dev server (requires ugly.bot tunnel)
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.601";
1
+ export declare const CLI_VERSION = "0.1.604";
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.601";
2
+ export const CLI_VERSION = "0.1.604";
3
3
  //# sourceMappingURL=version.js.map
@@ -49,6 +49,27 @@ export declare function createRouter<Pages extends PageRegistry>(config: {
49
49
  renderPage?: (state: RouterStateRaw) => ReactElement;
50
50
  }) => ReactElement;
51
51
  useRouter: () => RouterContextValue<Pages>;
52
+ /**
53
+ * Typed SPA link bound to this router. Renders a real `<a>` (so right-click,
54
+ * cmd/ctrl-click and SEO keep working) but intercepts a plain left-click and
55
+ * routes it through `push`/`replace` — no full-page reload. `to`/`params` are
56
+ * type-checked against the app's registered pages; no `router` prop needed.
57
+ *
58
+ * Use this instead of a bare `<a href="/route">`, which triggers a full
59
+ * document reload (white flash + repaint).
60
+ */
61
+ Link: <K extends keyof Pages & string>(props: {
62
+ to: K;
63
+ params: PageParams<Pages[K]>;
64
+ replace?: boolean;
65
+ children: ReactNode;
66
+ className?: string;
67
+ style?: CSSProperties;
68
+ target?: React.HTMLAttributeAnchorTarget;
69
+ 'aria-label'?: string;
70
+ 'data-id'?: string;
71
+ onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;
72
+ }) => ReactElement;
52
73
  };
53
74
  /**
54
75
  * Sugar for the common case: lazy-imports a React component and renders it
@@ -78,13 +99,25 @@ export declare function lazyPage<Params extends Record<string, unknown>>(factory
78
99
  export declare function lazyPageLoader<Params extends Record<string, unknown>>(factory: () => Promise<{
79
100
  default: PageEntry<Params>;
80
101
  }>): PageEntry<Params>;
102
+ /**
103
+ * Standalone SPA link. Prefer the typed `Link` returned by `createRouter()`
104
+ * (no `router` prop, `to`/`params` checked against your pages). This variant
105
+ * exists for code that imports `Link` directly from `ugly-app/client`; if you
106
+ * omit `router` it falls back to the nearest `<RouterProvider>` via context.
107
+ *
108
+ * Either way it renders a real `<a>` but intercepts a plain left-click and
109
+ * routes through the router — use it instead of a bare `<a href>`, which does
110
+ * a full-page reload (white flash + repaint).
111
+ */
81
112
  export declare function Link<Pages extends PageRegistry, K extends keyof Pages & string>(props: {
82
- router: RouterContextValue<Pages>;
113
+ /** Optional — falls back to the enclosing <RouterProvider> when omitted. */
114
+ router?: RouterContextValue<Pages>;
83
115
  to: K;
84
116
  params: PageParams<Pages[K]>;
85
117
  replace?: boolean;
86
118
  children: ReactNode;
87
119
  className?: string;
88
120
  style?: CSSProperties;
121
+ target?: React.HTMLAttributeAnchorTarget;
89
122
  }): ReactElement;
90
123
  //# sourceMappingURL=Router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/client/Router.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/client/Router.tsx"],"names":[],"mappings":"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"}
@@ -290,7 +290,37 @@ export function createRouter(config) {
290
290
  throw new Error('useRouter() must be used inside <RouterProvider>');
291
291
  return ctx;
292
292
  }
293
- return { RouterProvider, RouterView, useRouter };
293
+ // ── Link ────────────────────────────────────────────────────────────────────
294
+ // Typed, context-bound SPA link. Prefer this over a bare `<a href>` for
295
+ // internal navigation — a raw anchor does a full document reload (white flash
296
+ // + repaint); this routes through the router and transitions smoothly.
297
+ function Link(props) {
298
+ const router = useRouter();
299
+ const href = buildUrl(props.to, props.params);
300
+ function handleClick(e) {
301
+ props.onClick?.(e);
302
+ // Let the browser handle anything that isn't a plain left-click, plus
303
+ // new-tab/window intents and explicit non-self targets.
304
+ if (e.defaultPrevented ||
305
+ e.button !== 0 ||
306
+ e.metaKey ||
307
+ e.ctrlKey ||
308
+ e.shiftKey ||
309
+ e.altKey ||
310
+ (props.target && props.target !== '_self')) {
311
+ return;
312
+ }
313
+ e.preventDefault();
314
+ if (props.replace) {
315
+ router.replace(props.to, props.params);
316
+ }
317
+ else {
318
+ router.push(props.to, props.params);
319
+ }
320
+ }
321
+ return (_jsx("a", { href: href, onClick: handleClick, className: props.className, style: props.style, target: props.target, "aria-label": props['aria-label'], "data-id": props['data-id'], children: props.children }));
322
+ }
323
+ return { RouterProvider, RouterView, useRouter, Link };
294
324
  }
295
325
  // ─── lazyPage ─────────────────────────────────────────────────────────────────
296
326
  /**
@@ -329,19 +359,42 @@ export function lazyPageLoader(factory) {
329
359
  };
330
360
  }
331
361
  // ─── Link ─────────────────────────────────────────────────────────────────────
362
+ /**
363
+ * Standalone SPA link. Prefer the typed `Link` returned by `createRouter()`
364
+ * (no `router` prop, `to`/`params` checked against your pages). This variant
365
+ * exists for code that imports `Link` directly from `ugly-app/client`; if you
366
+ * omit `router` it falls back to the nearest `<RouterProvider>` via context.
367
+ *
368
+ * Either way it renders a real `<a>` but intercepts a plain left-click and
369
+ * routes through the router — use it instead of a bare `<a href>`, which does
370
+ * a full-page reload (white flash + repaint).
371
+ */
332
372
  export function Link(props) {
373
+ const ctxRouter = useContext(RouterContext);
374
+ const router = (props.router ??
375
+ ctxRouter);
376
+ if (!router) {
377
+ throw new Error('Link requires a `router` prop or an enclosing <RouterProvider>');
378
+ }
333
379
  const href = buildUrl(props.to, props.params);
334
380
  function handleClick(e) {
335
- if (e.ctrlKey || e.metaKey)
381
+ if (e.defaultPrevented ||
382
+ e.button !== 0 ||
383
+ e.metaKey ||
384
+ e.ctrlKey ||
385
+ e.shiftKey ||
386
+ e.altKey ||
387
+ (props.target && props.target !== '_self')) {
336
388
  return;
389
+ }
337
390
  e.preventDefault();
338
391
  if (props.replace) {
339
- props.router.replace(props.to, props.params);
392
+ router.replace(props.to, props.params);
340
393
  }
341
394
  else {
342
- props.router.push(props.to, props.params);
395
+ router.push(props.to, props.params);
343
396
  }
344
397
  }
345
- return (_jsx("a", { href: href, onClick: handleClick, className: props.className, style: props.style, children: props.children }));
398
+ return (_jsx("a", { href: href, onClick: handleClick, className: props.className, style: props.style, target: props.target, children: props.children }));
346
399
  }
347
400
  //# sourceMappingURL=Router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/client/Router.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,aAAa,EAEb,QAAQ,EAGR,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAa9C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,mBAAmB,EAEnB,eAAe,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAAyB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA2DtE,MAAM,aAAa,GAAG,aAAa,CACjC,IAAI,CACL,CAAC;AAYF,MAAM,aAAa,GAAG,aAAa,CAAqB,IAAI,CAAC,CAAC;AAE9D,iFAAiF;AAEjF,SAAS,cAAc,CAAC,MAA8B;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACvB,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAoB,EAAE,QAAgB;IAC/D,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC5B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,GAAG,GAAG,MAAM,KAAK,CAAC;QAC1C,KAAK,OAAO;YACV,OAAO,cAAc,GAAG,GAAG,MAAM,KAAK,CAAC;QACzC,KAAK,KAAK;YACR,OAAO,cAAc,CAAC,GAAG,GAAG,MAAM,KAAK,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,cAAc,GAAG,GAAG,MAAM,KAAK,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,OAAO,GAIR;IACC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,WAAW,CAAC;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;IACvC,MAAM,aAAa,GACjB,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;IAE7D,MAAM,aAAa,GAAkB;QACnC,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC,CAAC,KAAK;QACf,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC7C,GAAG,KAAK,CAAC,eAAe;KACzB,CAAC;IAEF,MAAM,YAAY,GAAkB;QAClC,QAAQ,EAAE,UAAU;QACpB,GAAG,KAAK,CAAC,cAAc;KACxB,CAAC;IAEF,OAAO,CACL,KAAC,QAAQ,CAAC,GAAG,IACX,KAAK,EAAE;YACL,GAAG,aAAa;YAChB,eAAe,EAAE,OAAO;gBACtB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC;SACrD,EACD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,YAE5C,KAAC,QAAQ,CAAC,GAAG,IACX,KAAK,EAAE;gBACL,GAAG,YAAY;gBACf,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CACtC;gBACD,OAAO,EACL,KAAK,CAAC,SAAS,KAAK,MAAM;oBACxB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACnC,CAAC,CAAC,SAAS;aAChB,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YAElC,KAAK,CAAC,OAAO,GACD,GACF,CAChB,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,4EAA4E;AAC5E,8EAA8E;AAC9E,0EAA0E;AAC1E,mBAAmB;AAEnB,MAAM,UAAU,YAAY,CAA6B,MAGxD;IAgBC,+EAA+E;IAE/E,wEAAwE;IACxE,yEAAyE;IACzE,sEAAsE;IACtE,+EAA+E;IAC/E,0EAA0E;IAC1E,MAAM,mBAAmB,GAAG,aAAa,CAAC,QAAQ,EAAE;QAClD,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KAC/C,CAAC,CAAC;IAEH,SAAS,cAAc,CAAC,KAIvB;QACC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,MAAM,QAAQ,GACZ,MAAM,EAAE,QAAQ;YAChB,CAAC,KAAK,EAAE,MAAc,EAAE,EAAuB,EAAE,EAAE;gBACjD,MAAM,EAAE,EAAE,CAAC;YACb,CAAC,CAAC,CAAC;QAEL,yEAAyE;QACzE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;QAEpE,+DAA+D;QAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG,MAAM,CAAiB,MAAM,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5B,yEAAyE;QACzE,qEAAqE;QACrE,wBAAwB;QACxB,MAAM,WAAW,GAAG,MAAM,CAExB,IAAK,CAAC,CAAC;QAET,WAAW,CAAC,OAAO,GAAG,SAAS,QAAQ,CACrC,KAAqB,EACrB,cAA8B;YAE9B,MAAM,GAAG,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;YAChC,aAAa,CAAC,OAAO,GAAG,cAAc,CAAC;YACvC,UAAU,CAAC,KAAK,CAAC,CAAC;YAElB,gEAAgE;YAChE,yEAAyE;YACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;gBACxE,SAAS,CAAC;oBACR,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,mBAAmB,CAAC;oBAC3D,UAAU,EAAE,KAAK;oBACjB,cAAc;oBACd,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,WAAW;oBACxC,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAwB,CAEjD,CAAC;YAEd,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,+EAA+E;gBAC/E,SAAS,CAAC;oBACR,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,KAAK;oBACjB,cAAc;oBACd,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;iBAChE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,QAAQ,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBACnC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,SAAS,CAAC,OAAO,KAAK,GAAG;oBAAE,OAAO,CAAC,6BAA6B;gBACpE,SAAS,CAAC;oBACR,OAAO;oBACP,UAAU,EAAE,KAAK;oBACjB,cAAc;oBACd,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;iBAChE,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,6BAA6B;QAC7B,SAAS,CAAC,GAAG,EAAE;YACb,MAAM,OAAO,GAAG,QAAQ,CACtB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kDAAkD;QAE1D,uBAAuB;QACvB,SAAS,CAAC,GAAG,EAAE;YACb,SAAS,cAAc;gBACrB,MAAM,IAAI,GAAG,QAAQ,CACnB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;gBACF,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,MAAM,cAAc,GAAmB,YAAY,CAAC,OAAO;oBACzD,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,SAAS,CAAC;gBACd,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC7B,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACpD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACtE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CACT,YAAY,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAC/D,OAAO,CACR,CAAC;YACJ,CAAC;QACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAEd,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,IAAI,CACpC,SAAiB,EACjB,MAA+B;YAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,QAAQ,CACnB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,2BAA2B,SAAS,2DAA2D,CAChG,CAAC;YACJ,CAAC;QACH,CAAC,EACD,EAAE,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,OAAO,CAC1C,SAAiB,EACjB,MAA+B;YAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CACnB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,2BAA2B,SAAS,2DAA2D,CAChG,CAAC;YACJ,CAAC;QACH,CAAC,EACD,EAAE,CAAC,CAAC;QAEJ,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,IAAI;YACpC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,8EAA8E;QAE9E,MAAM,SAAS,GAAG,MAAM,CAAc,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,WAAW,CAC3B,SAAS,SAAS,CAChB,OAAkB,EAClB,OAAsB;YAEtB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,KAAK,GAAc;gBACvB,EAAE;gBACF,OAAO;gBACP,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,OAAO;gBAC9B,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,MAAM;gBACvC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,MAAM;gBACN,MAAM,EAAE,KAAK;aACd,CAAC;YACF,SAAS,CAAC,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,EAAE,CAAC;YACP,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACnB,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,GAAG;gBAC9C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,eAAe,CAAC,OAAO;aAC/D,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC,CAAC,kDAAkD;QAErD,MAAM,UAAU,GAAG,WAAW,CAC5B,SAAS,UAAU,CAAC,EAAU;YAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YACnC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAClB,IAAI,EAAE,CAAC;YACP,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACzB,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,IAAI,GAAG;gBAC3C,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM;gBAC1D,MAAM,EAAE,GAAG,EAAE;oBACX,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;oBACjE,IAAI,EAAE,CAAC;gBACT,CAAC;aACF,CAAC,CAAC;QACL,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;QAEF,MAAM,cAAc,GAAG,WAAW,CAChC,SAAS,cAAc;YACrB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;QAEF,8EAA8E;QAE9E,MAAM,GAAG,GAAG,OAAO,CAA0C,GAAG,EAAE;YAChE,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAC1B,OAAO;gBACL,OAAO,EAAE,OAAoC;gBAC7C,cAAc,EAAE,aAAa,CAAC,OAAO;gBACrC,IAAI;gBACJ,OAAO;gBACP,IAAI;gBACJ,SAAS;gBACT,UAAU;gBACV,cAAc;aACf,CAAC;QACJ,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,4BAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,GAAI,CAAC;QACvC,CAAC;QAED,uEAAuE;QACvE,wEAAwE;QACxE,sDAAsD;QACtD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;QAE5B,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YAChC,MAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,aAClC,IAAI,EACJ,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAChC,KAAC,UAAU,IAET,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,IAF9B,KAAK,CAAC,EAAE,CAGb,CACH,CAAC,IACqB,GACF,CAC1B,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E,SAAS,UAAU,CAAC,KAKnB;QACC,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,OAAO,mBAAK,CAAC;QAE1B,MAAM,OAAO,GACX,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU;YACpC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAErB,IAAI,CAAC,OAAO;YAAE,OAAO,mBAAK,CAAC;QAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,IAAI,WAAW,CAAC;QAE5D,OAAO,CACL,KAAC,UAAU,IACT,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,IAAI,EAAE,MAAM,CAAC,cAAc,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,YAEnB,OAAO,GACG,CACd,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E,SAAS,SAAS;QAChB,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,OAAO,GAA2C,CAAC;IACrD,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnD,CAAC;AAED,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,OAAgE;IAEhE,OAAO,KAAK,EAAE,MAAc,EAAyB,EAAE;QACrD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;QAC/C,OAAO,KAAC,SAAS,OAAK,MAAM,GAAI,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAsD;IAEtD,OAAO,KAAK,EAAE,MAAc,EAAyB,EAAE;QACrD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,IAAI,CAGlB,KAQD;IACC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAiC,CAAC,CAAC;IAEzE,SAAS,WAAW,CAAC,CAAsC;QACzD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;YAAE,OAAO;QACnC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,CACL,YACE,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,YAEjB,KAAK,CAAC,QAAQ,GACb,CACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/client/Router.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,39 @@
1
1
  import { z } from 'zod';
2
2
  import type { CollectionDef, DBObject } from '../shared/DB.js';
3
- /** Permissive user-profile shape. Catchall keeps app-specific fields. */
3
+ /** Permissive user-profile shape. Catchall keeps app-specific fields. The
4
+ * canonical avatar is `avatar` (object); the flat `avatarUrl`/etc. are derived
5
+ * conveniences for the framework's <UserImage>/<UserName> components. */
4
6
  export declare const UserPublicSchema: z.ZodObject<{
5
7
  name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
+ avatar: z.ZodOptional<z.ZodNullable<z.ZodObject<{
9
+ id: z.ZodString;
10
+ uri: z.ZodNullable<z.ZodString>;
11
+ image: z.ZodObject<{
12
+ uri: z.ZodString;
13
+ type: z.ZodOptional<z.ZodString>;
14
+ width: z.ZodOptional<z.ZodNumber>;
15
+ height: z.ZodOptional<z.ZodNumber>;
16
+ description: z.ZodOptional<z.ZodString>;
17
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
18
+ }, z.core.$strip>;
19
+ background: z.ZodNullable<z.ZodObject<{
20
+ uri: z.ZodString;
21
+ type: z.ZodOptional<z.ZodString>;
22
+ width: z.ZodOptional<z.ZodNumber>;
23
+ height: z.ZodOptional<z.ZodNumber>;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
26
+ }, z.core.$strip>>;
27
+ streamojiAvatarId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ visualizer: z.ZodOptional<z.ZodEnum<{
29
+ organic: "organic";
30
+ metaball: "metaball";
31
+ siri: "siri";
32
+ particle: "particle";
33
+ orbs: "orbs";
34
+ milkdrop: "milkdrop";
35
+ }>>;
36
+ }, z.core.$strip>>>;
6
37
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
38
  backgroundUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
39
  avatarGlbUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -28,6 +59,35 @@ export declare function profilesGetter(ids: string[]): Promise<Record<string, Us
28
59
  export declare const userPublicCollections: {
29
60
  userPublic: CollectionDef<import("../shared/DB.js").InferDocType<z.ZodObject<{
30
61
  name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ avatar: z.ZodOptional<z.ZodNullable<z.ZodObject<{
63
+ id: z.ZodString;
64
+ uri: z.ZodNullable<z.ZodString>;
65
+ image: z.ZodObject<{
66
+ uri: z.ZodString;
67
+ type: z.ZodOptional<z.ZodString>;
68
+ width: z.ZodOptional<z.ZodNumber>;
69
+ height: z.ZodOptional<z.ZodNumber>;
70
+ description: z.ZodOptional<z.ZodString>;
71
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
72
+ }, z.core.$strip>;
73
+ background: z.ZodNullable<z.ZodObject<{
74
+ uri: z.ZodString;
75
+ type: z.ZodOptional<z.ZodString>;
76
+ width: z.ZodOptional<z.ZodNumber>;
77
+ height: z.ZodOptional<z.ZodNumber>;
78
+ description: z.ZodOptional<z.ZodString>;
79
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
80
+ }, z.core.$strip>>;
81
+ streamojiAvatarId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
82
+ visualizer: z.ZodOptional<z.ZodEnum<{
83
+ organic: "organic";
84
+ metaball: "metaball";
85
+ siri: "siri";
86
+ particle: "particle";
87
+ orbs: "orbs";
88
+ milkdrop: "milkdrop";
89
+ }>>;
90
+ }, z.core.$strip>>>;
31
91
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32
92
  backgroundUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
93
  avatarGlbUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -35,6 +95,35 @@ export declare const userPublicCollections: {
35
95
  name: "userPublic";
36
96
  schema: z.ZodObject<{
37
97
  name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
98
+ avatar: z.ZodOptional<z.ZodNullable<z.ZodObject<{
99
+ id: z.ZodString;
100
+ uri: z.ZodNullable<z.ZodString>;
101
+ image: z.ZodObject<{
102
+ uri: z.ZodString;
103
+ type: z.ZodOptional<z.ZodString>;
104
+ width: z.ZodOptional<z.ZodNumber>;
105
+ height: z.ZodOptional<z.ZodNumber>;
106
+ description: z.ZodOptional<z.ZodString>;
107
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
108
+ }, z.core.$strip>;
109
+ background: z.ZodNullable<z.ZodObject<{
110
+ uri: z.ZodString;
111
+ type: z.ZodOptional<z.ZodString>;
112
+ width: z.ZodOptional<z.ZodNumber>;
113
+ height: z.ZodOptional<z.ZodNumber>;
114
+ description: z.ZodOptional<z.ZodString>;
115
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
116
+ }, z.core.$strip>>;
117
+ streamojiAvatarId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
118
+ visualizer: z.ZodOptional<z.ZodEnum<{
119
+ organic: "organic";
120
+ metaball: "metaball";
121
+ siri: "siri";
122
+ particle: "particle";
123
+ orbs: "orbs";
124
+ milkdrop: "milkdrop";
125
+ }>>;
126
+ }, z.core.$strip>>>;
38
127
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
128
  backgroundUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
129
  avatarGlbUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1 +1 @@
1
- {"version":3,"file":"userPublicCollection.d.ts","sourceRoot":"","sources":["../../src/server/userPublicCollection.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI/D,yEAAyE;AACzE,eAAO,MAAM,gBAAgB;;;;;kCAOL,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GAAG,QAAQ,CAAC;AAExE,qFAAqF;AACrF,wBAAgB,eAAe,IAAI,MAAM,CAIxC;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EAAE,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC,CAoB/C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;CAWhC,CAAC;AAEH,qFAAqF;AACrF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,aAAa,CACrB,CAAC"}
1
+ {"version":3,"file":"userPublicCollection.d.ts","sourceRoot":"","sources":["../../src/server/userPublicCollection.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI/D;;yEAEyE;AACzE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAQL,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GAAG,QAAQ,CAAC;AAExE,qFAAqF;AACrF,wBAAgB,eAAe,IAAI,MAAM,CAIxC;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EAAE,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC,CAqB/C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWhC,CAAC;AAEH,qFAAqF;AACrF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,aAAa,CACrB,CAAC"}
@@ -9,12 +9,16 @@
9
9
  // which batches a single `userPublicBatch` op to ugly.bot. A short server-side
10
10
  // hot-cache (default 90s, override via UGLY_USERPUBLIC_TTL_MS) absorbs bursts.
11
11
  import { z } from 'zod';
12
+ import { AvatarSchema } from '../shared/Avatar.js';
12
13
  import { dbDefaults, defineCollections } from '../shared/DB.js';
13
14
  import { uglyBotRequest } from './uglyBotProxy.js';
14
- /** Permissive user-profile shape. Catchall keeps app-specific fields. */
15
+ /** Permissive user-profile shape. Catchall keeps app-specific fields. The
16
+ * canonical avatar is `avatar` (object); the flat `avatarUrl`/etc. are derived
17
+ * conveniences for the framework's <UserImage>/<UserName> components. */
15
18
  export const UserPublicSchema = z
16
19
  .object({
17
20
  name: z.string().nullish(),
21
+ avatar: AvatarSchema.nullish(),
18
22
  avatarUrl: z.string().nullish(),
19
23
  backgroundUrl: z.string().nullish(),
20
24
  avatarGlbUrl: z.string().nullish(),
@@ -41,15 +45,16 @@ export async function profilesGetter(ids) {
41
45
  const { profiles } = await uglyBotRequest('userPublicBatch', { userIds: ids });
42
46
  const base = dbDefaults();
43
47
  for (const p of profiles) {
44
- // ugly.bot's schema is passthrough, so avatarGlbUrl (when present) survives.
45
- const extra = p;
48
+ // The profile returns just the canonical `avatar` object; derive the flat
49
+ // URLs the framework's <UserImage>/<UserName> components read.
46
50
  out[p.id] = {
47
51
  _id: p.id,
48
52
  ...base,
49
53
  name: p.name ?? null,
50
- avatarUrl: p.avatarUrl ?? null,
51
- backgroundUrl: p.backgroundUrl ?? null,
52
- avatarGlbUrl: extra.avatarGlbUrl ?? null,
54
+ avatar: p.avatar,
55
+ avatarUrl: p.avatar?.image?.uri ?? null,
56
+ backgroundUrl: p.avatar?.background?.uri ?? null,
57
+ avatarGlbUrl: p.avatar?.uri ?? null,
53
58
  };
54
59
  }
55
60
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"userPublicCollection.js","sourceRoot":"","sources":["../../src/server/userPublicCollection.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,EAAE;AACF,gFAAgF;AAChF,mFAAmF;AACnF,kFAAkF;AAClF,+EAA+E;AAC/E,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,yEAAyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC/B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACnC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CACnC,CAAC;KACD,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAIzB,qFAAqF;AACrF,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAa;IAEb,MAAM,GAAG,GAAyC,EAAE,CAAC;IACrD,KAAK,MAAM,EAAE,IAAI,GAAG;QAAE,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,qCAAqC;IAC3E,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEjC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,6EAA6E;QAC7E,MAAM,KAAK,GAAG,CAAgD,CAAC;QAC/D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,EAAE;YACT,GAAG,IAAI;YACP,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI;YACtC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;SACzC,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;IACrD,UAAU,EAAE;QACV,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;YACnC,MAAM,EAAE,cAAc;YACtB,WAAW,EAAE,IAAI;SAClB;KACF;CACF,CAAC,CAAC;AAEH,qFAAqF;AACrF,MAAM,CAAC,MAAM,aAAa,GACxB,qBAAqB,CAAC,UAAU,CAAC"}
1
+ {"version":3,"file":"userPublicCollection.js","sourceRoot":"","sources":["../../src/server/userPublicCollection.ts"],"names":[],"mappings":"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"}
@@ -53,5 +53,77 @@ export type Avatar = z.infer<typeof AvatarSchema>;
53
53
  * `shared/UserPublic.ts` `defaultAvatar`). Used for any user/bot whose avatar is
54
54
  * unset, so the avatar field is always a valid object.
55
55
  */
56
+ /**
57
+ * Shared profile fields. Both the federated `Profile` (below) and app-side
58
+ * `User` / `Bot` schemas derive from this via `.extend(...)` so the avatar/name
59
+ * shape lives in exactly one place.
60
+ */
61
+ export declare const ProfileFieldsSchema: z.ZodObject<{
62
+ name: z.ZodNullable<z.ZodString>;
63
+ avatar: z.ZodObject<{
64
+ id: z.ZodString;
65
+ uri: z.ZodNullable<z.ZodString>;
66
+ image: z.ZodObject<{
67
+ uri: z.ZodString;
68
+ type: z.ZodOptional<z.ZodString>;
69
+ width: z.ZodOptional<z.ZodNumber>;
70
+ height: z.ZodOptional<z.ZodNumber>;
71
+ description: z.ZodOptional<z.ZodString>;
72
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
73
+ }, z.core.$strip>;
74
+ background: z.ZodNullable<z.ZodObject<{
75
+ uri: z.ZodString;
76
+ type: z.ZodOptional<z.ZodString>;
77
+ width: z.ZodOptional<z.ZodNumber>;
78
+ height: z.ZodOptional<z.ZodNumber>;
79
+ description: z.ZodOptional<z.ZodString>;
80
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
81
+ }, z.core.$strip>>;
82
+ streamojiAvatarId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ visualizer: z.ZodOptional<z.ZodEnum<{
84
+ organic: "organic";
85
+ metaball: "metaball";
86
+ siri: "siri";
87
+ particle: "particle";
88
+ orbs: "orbs";
89
+ milkdrop: "milkdrop";
90
+ }>>;
91
+ }, z.core.$strip>;
92
+ }, z.core.$strip>;
93
+ /** The federated public profile returned by `userPublicBatch`. */
94
+ export declare const ProfileSchema: z.ZodObject<{
95
+ name: z.ZodNullable<z.ZodString>;
96
+ avatar: z.ZodObject<{
97
+ id: z.ZodString;
98
+ uri: z.ZodNullable<z.ZodString>;
99
+ image: z.ZodObject<{
100
+ uri: z.ZodString;
101
+ type: z.ZodOptional<z.ZodString>;
102
+ width: z.ZodOptional<z.ZodNumber>;
103
+ height: z.ZodOptional<z.ZodNumber>;
104
+ description: z.ZodOptional<z.ZodString>;
105
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
106
+ }, z.core.$strip>;
107
+ background: z.ZodNullable<z.ZodObject<{
108
+ uri: z.ZodString;
109
+ type: z.ZodOptional<z.ZodString>;
110
+ width: z.ZodOptional<z.ZodNumber>;
111
+ height: z.ZodOptional<z.ZodNumber>;
112
+ description: z.ZodOptional<z.ZodString>;
113
+ sizes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
114
+ }, z.core.$strip>>;
115
+ streamojiAvatarId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
116
+ visualizer: z.ZodOptional<z.ZodEnum<{
117
+ organic: "organic";
118
+ metaball: "metaball";
119
+ siri: "siri";
120
+ particle: "particle";
121
+ orbs: "orbs";
122
+ milkdrop: "milkdrop";
123
+ }>>;
124
+ }, z.core.$strip>;
125
+ id: z.ZodString;
126
+ }, z.core.$strip>;
127
+ export type Profile = z.infer<typeof ProfileSchema>;
56
128
  export declare const defaultAvatar: Avatar;
57
129
  //# sourceMappingURL=Avatar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/shared/Avatar.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6DAA6D;AAC7D,eAAO,MAAM,iBAAiB;;;;;;;iBAO5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,4EAA4E;AAC5E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAavB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAoB3B,CAAC"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/shared/Avatar.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6DAA6D;AAC7D,eAAO,MAAM,iBAAiB;;;;;;;iBAO5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,4EAA4E;AAC5E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAavB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;;;GAIG;AACH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG9B,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAiD,CAAC;AAC5E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,aAAa,EAAE,MAoB3B,CAAC"}
@@ -36,6 +36,17 @@ export const AvatarSchema = z.object({
36
36
  * `shared/UserPublic.ts` `defaultAvatar`). Used for any user/bot whose avatar is
37
37
  * unset, so the avatar field is always a valid object.
38
38
  */
39
+ /**
40
+ * Shared profile fields. Both the federated `Profile` (below) and app-side
41
+ * `User` / `Bot` schemas derive from this via `.extend(...)` so the avatar/name
42
+ * shape lives in exactly one place.
43
+ */
44
+ export const ProfileFieldsSchema = z.object({
45
+ name: z.string().nullable(),
46
+ avatar: AvatarSchema,
47
+ });
48
+ /** The federated public profile returned by `userPublicBatch`. */
49
+ export const ProfileSchema = ProfileFieldsSchema.extend({ id: z.string() });
39
50
  export const defaultAvatar = {
40
51
  id: '677d6ac22554a00ff1842e1f',
41
52
  uri: 'https://blob.ugly.bot/debug/user/ZHK_QVWdFU6rd_-w_EZzf/pBz_664oX4IOooJiYSBZo.glb',
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../src/shared/Avatar.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6DAA6D;AAC7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAGH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,6DAA6D;IAC7D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,gDAAgD;IAChD,KAAK,EAAE,iBAAiB;IACxB,qCAAqC;IACrC,UAAU,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACxC,yEAAyE;IACzE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SACrE,QAAQ,EAAE;CACd,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,EAAE,EAAE,0BAA0B;IAC9B,GAAG,EAAE,kFAAkF;IACvF,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,mFAAmF;QACxF,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,mFAAmF;QACxF,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD,iBAAiB,EAAE,sBAAsB;CAC1C,CAAC"}
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../src/shared/Avatar.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6DAA6D;AAC7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAGH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,6DAA6D;IAC7D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,gDAAgD;IAChD,KAAK,EAAE,iBAAiB;IACxB,qCAAqC;IACrC,UAAU,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACxC,yEAAyE;IACzE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SACrE,QAAQ,EAAE;CACd,CAAC,CAAC;AAGH;;;;GAIG;AACH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,YAAY;CACrB,CAAC,CAAC;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAG5E,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,EAAE,EAAE,0BAA0B;IAC9B,GAAG,EAAE,kFAAkF;IACvF,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,mFAAmF;QACxF,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,mFAAmF;QACxF,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD,iBAAiB,EAAE,sBAAsB;CAC1C,CAAC"}
@@ -186,7 +186,6 @@ export declare const userPublicBatchInputSchema: z.ZodObject<{
186
186
  }, z.core.$strip>;
187
187
  export declare const userPublicBatchOutputSchema: z.ZodObject<{
188
188
  profiles: z.ZodArray<z.ZodObject<{
189
- id: z.ZodString;
190
189
  name: z.ZodNullable<z.ZodString>;
191
190
  avatar: z.ZodObject<{
192
191
  id: z.ZodString;
@@ -217,9 +216,7 @@ export declare const userPublicBatchOutputSchema: z.ZodObject<{
217
216
  milkdrop: "milkdrop";
218
217
  }>>;
219
218
  }, z.core.$strip>;
220
- avatarUrl: z.ZodNullable<z.ZodString>;
221
- backgroundUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
222
- avatarGlbUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
219
+ id: z.ZodString;
223
220
  }, z.core.$strip>>;
224
221
  }, z.core.$strip>;
225
222
  export declare const billingUsageGetInputSchema: z.ZodObject<{}, z.core.$strip>;
@@ -710,7 +707,6 @@ export declare const proxyOps: {
710
707
  }, z.core.$strip>;
711
708
  readonly output: z.ZodObject<{
712
709
  profiles: z.ZodArray<z.ZodObject<{
713
- id: z.ZodString;
714
710
  name: z.ZodNullable<z.ZodString>;
715
711
  avatar: z.ZodObject<{
716
712
  id: z.ZodString;
@@ -741,9 +737,7 @@ export declare const proxyOps: {
741
737
  milkdrop: "milkdrop";
742
738
  }>>;
743
739
  }, z.core.$strip>;
744
- avatarUrl: z.ZodNullable<z.ZodString>;
745
- backgroundUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
746
- avatarGlbUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
740
+ id: z.ZodString;
747
741
  }, z.core.$strip>>;
748
742
  }, z.core.$strip>;
749
743
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyOps.d.ts","sourceRoot":"","sources":["../../src/shared/ProxyOps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProxyOps.d.ts","sourceRoot":"","sources":["../../src/shared/ProxyOps.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  // op means editing THIS file first — never a local schema in ugly-bot or an
12
12
  // ad-hoc `typeof` check.
13
13
  import { z } from 'zod';
14
- import { AvatarSchema } from './Avatar.js';
14
+ import { ProfileSchema } from './Avatar.js';
15
15
  import { textGenInputSchema, textGenOutputSchema, jsonGenInputSchema, jsonGenOutputSchema, } from './TextGen.js';
16
16
  import { imageGenInputSchema, imageGenOutputSchema } from './ImageGen.js';
17
17
  // Billing-override: any billable op may name the user(s) to charge (the app's
@@ -210,17 +210,7 @@ export const userPublicBatchInputSchema = z.object({
210
210
  force: z.boolean().optional(),
211
211
  });
212
212
  export const userPublicBatchOutputSchema = z.object({
213
- profiles: z.array(z.object({
214
- id: z.string(),
215
- name: z.string().nullable(),
216
- /** Canonical avatar object (always present; `defaultAvatar` when unset). */
217
- avatar: AvatarSchema,
218
- // Flat convenience fields derived from `avatar`, kept for back-compat with
219
- // existing child apps. New code should read `avatar`.
220
- avatarUrl: z.string().nullable(),
221
- backgroundUrl: z.string().nullish(),
222
- avatarGlbUrl: z.string().nullish(),
223
- })),
213
+ profiles: z.array(ProfileSchema),
224
214
  });
225
215
  // ── Billing/meta ─────────────────────────────────────────────────────────────
226
216
  export const billingUsageGetInputSchema = 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,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.601",
3
+ "version": "0.1.604",
4
4
  "type": "module",
5
5
  "main": "./dist/server/index.js",
6
6
  "exports": {
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.601";
2
+ export const CLI_VERSION = "0.1.604";
@@ -228,6 +228,27 @@ export function createRouter<Pages extends PageRegistry>(config: {
228
228
  renderPage?: (state: RouterStateRaw) => ReactElement;
229
229
  }) => ReactElement;
230
230
  useRouter: () => RouterContextValue<Pages>;
231
+ /**
232
+ * Typed SPA link bound to this router. Renders a real `<a>` (so right-click,
233
+ * cmd/ctrl-click and SEO keep working) but intercepts a plain left-click and
234
+ * routes it through `push`/`replace` — no full-page reload. `to`/`params` are
235
+ * type-checked against the app's registered pages; no `router` prop needed.
236
+ *
237
+ * Use this instead of a bare `<a href="/route">`, which triggers a full
238
+ * document reload (white flash + repaint).
239
+ */
240
+ Link: <K extends keyof Pages & string>(props: {
241
+ to: K;
242
+ params: PageParams<Pages[K]>;
243
+ replace?: boolean;
244
+ children: ReactNode;
245
+ className?: string;
246
+ style?: CSSProperties;
247
+ target?: React.HTMLAttributeAnchorTarget;
248
+ 'aria-label'?: string;
249
+ 'data-id'?: string;
250
+ onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;
251
+ }) => ReactElement;
231
252
  } {
232
253
  // ── RouterProvider ──────────────────────────────────────────────────────────
233
254
 
@@ -552,7 +573,65 @@ export function createRouter<Pages extends PageRegistry>(config: {
552
573
  return ctx as unknown as RouterContextValue<Pages>;
553
574
  }
554
575
 
555
- return { RouterProvider, RouterView, useRouter };
576
+ // ── Link ────────────────────────────────────────────────────────────────────
577
+ // Typed, context-bound SPA link. Prefer this over a bare `<a href>` for
578
+ // internal navigation — a raw anchor does a full document reload (white flash
579
+ // + repaint); this routes through the router and transitions smoothly.
580
+
581
+ function Link<K extends keyof Pages & string>(props: {
582
+ to: K;
583
+ params: PageParams<Pages[K]>;
584
+ replace?: boolean;
585
+ children: ReactNode;
586
+ className?: string;
587
+ style?: CSSProperties;
588
+ target?: React.HTMLAttributeAnchorTarget;
589
+ 'aria-label'?: string;
590
+ 'data-id'?: string;
591
+ onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;
592
+ }): ReactElement {
593
+ const router = useRouter();
594
+ const href = buildUrl(props.to, props.params as Record<string, unknown>);
595
+
596
+ function handleClick(e: React.MouseEvent<HTMLAnchorElement>) {
597
+ props.onClick?.(e);
598
+ // Let the browser handle anything that isn't a plain left-click, plus
599
+ // new-tab/window intents and explicit non-self targets.
600
+ if (
601
+ e.defaultPrevented ||
602
+ e.button !== 0 ||
603
+ e.metaKey ||
604
+ e.ctrlKey ||
605
+ e.shiftKey ||
606
+ e.altKey ||
607
+ (props.target && props.target !== '_self')
608
+ ) {
609
+ return;
610
+ }
611
+ e.preventDefault();
612
+ if (props.replace) {
613
+ router.replace(props.to, props.params);
614
+ } else {
615
+ router.push(props.to, props.params);
616
+ }
617
+ }
618
+
619
+ return (
620
+ <a
621
+ href={href}
622
+ onClick={handleClick}
623
+ className={props.className}
624
+ style={props.style}
625
+ target={props.target}
626
+ aria-label={props['aria-label']}
627
+ data-id={props['data-id']}
628
+ >
629
+ {props.children}
630
+ </a>
631
+ );
632
+ }
633
+
634
+ return { RouterProvider, RouterView, useRouter, Link };
556
635
  }
557
636
 
558
637
  // ─── lazyPage ─────────────────────────────────────────────────────────────────
@@ -601,27 +680,57 @@ export function lazyPageLoader<Params extends Record<string, unknown>>(
601
680
 
602
681
  // ─── Link ─────────────────────────────────────────────────────────────────────
603
682
 
683
+ /**
684
+ * Standalone SPA link. Prefer the typed `Link` returned by `createRouter()`
685
+ * (no `router` prop, `to`/`params` checked against your pages). This variant
686
+ * exists for code that imports `Link` directly from `ugly-app/client`; if you
687
+ * omit `router` it falls back to the nearest `<RouterProvider>` via context.
688
+ *
689
+ * Either way it renders a real `<a>` but intercepts a plain left-click and
690
+ * routes through the router — use it instead of a bare `<a href>`, which does
691
+ * a full-page reload (white flash + repaint).
692
+ */
604
693
  export function Link<
605
694
  Pages extends PageRegistry,
606
695
  K extends keyof Pages & string,
607
696
  >(props: {
608
- router: RouterContextValue<Pages>;
697
+ /** Optional — falls back to the enclosing <RouterProvider> when omitted. */
698
+ router?: RouterContextValue<Pages>;
609
699
  to: K;
610
700
  params: PageParams<Pages[K]>;
611
701
  replace?: boolean;
612
702
  children: ReactNode;
613
703
  className?: string;
614
704
  style?: CSSProperties;
705
+ target?: React.HTMLAttributeAnchorTarget;
615
706
  }): ReactElement {
707
+ const ctxRouter = useContext(RouterContext);
708
+ const router = (props.router ??
709
+ ctxRouter) as RouterContextValue<Pages> | null;
710
+ if (!router) {
711
+ throw new Error(
712
+ 'Link requires a `router` prop or an enclosing <RouterProvider>',
713
+ );
714
+ }
616
715
  const href = buildUrl(props.to, props.params as Record<string, unknown>);
617
716
 
618
717
  function handleClick(e: React.MouseEvent<HTMLAnchorElement>) {
619
- if (e.ctrlKey || e.metaKey) return;
718
+ if (
719
+ e.defaultPrevented ||
720
+ e.button !== 0 ||
721
+ e.metaKey ||
722
+ e.ctrlKey ||
723
+ e.shiftKey ||
724
+ e.altKey ||
725
+ (props.target && props.target !== '_self')
726
+ ) {
727
+ return;
728
+ }
620
729
  e.preventDefault();
621
730
  if (props.replace) {
622
- props.router.replace(props.to, props.params);
731
+ router!.replace(props.to, props.params);
623
732
  } else {
624
- props.router.push(props.to, props.params);
733
+ router!.push(props.to, props.params);
625
734
  }
626
735
  }
627
736
 
@@ -631,6 +740,7 @@ export function Link<
631
740
  onClick={handleClick}
632
741
  className={props.className}
633
742
  style={props.style}
743
+ target={props.target}
634
744
  >
635
745
  {props.children}
636
746
  </a>
@@ -9,14 +9,18 @@
9
9
  // which batches a single `userPublicBatch` op to ugly.bot. A short server-side
10
10
  // hot-cache (default 90s, override via UGLY_USERPUBLIC_TTL_MS) absorbs bursts.
11
11
  import { z } from 'zod';
12
+ import { AvatarSchema } from '../shared/Avatar.js';
12
13
  import type { CollectionDef, DBObject } from '../shared/DB.js';
13
14
  import { dbDefaults, defineCollections } from '../shared/DB.js';
14
15
  import { uglyBotRequest } from './uglyBotProxy.js';
15
16
 
16
- /** Permissive user-profile shape. Catchall keeps app-specific fields. */
17
+ /** Permissive user-profile shape. Catchall keeps app-specific fields. The
18
+ * canonical avatar is `avatar` (object); the flat `avatarUrl`/etc. are derived
19
+ * conveniences for the framework's <UserImage>/<UserName> components. */
17
20
  export const UserPublicSchema = z
18
21
  .object({
19
22
  name: z.string().nullish(),
23
+ avatar: AvatarSchema.nullish(),
20
24
  avatarUrl: z.string().nullish(),
21
25
  backgroundUrl: z.string().nullish(),
22
26
  avatarGlbUrl: z.string().nullish(),
@@ -48,15 +52,16 @@ export async function profilesGetter(
48
52
  const { profiles } = await uglyBotRequest('userPublicBatch', { userIds: ids });
49
53
  const base = dbDefaults();
50
54
  for (const p of profiles) {
51
- // ugly.bot's schema is passthrough, so avatarGlbUrl (when present) survives.
52
- const extra = p as unknown as { avatarGlbUrl?: string | null };
55
+ // The profile returns just the canonical `avatar` object; derive the flat
56
+ // URLs the framework's <UserImage>/<UserName> components read.
53
57
  out[p.id] = {
54
58
  _id: p.id,
55
59
  ...base,
56
60
  name: p.name ?? null,
57
- avatarUrl: p.avatarUrl ?? null,
58
- backgroundUrl: p.backgroundUrl ?? null,
59
- avatarGlbUrl: extra.avatarGlbUrl ?? null,
61
+ avatar: p.avatar,
62
+ avatarUrl: p.avatar?.image?.uri ?? null,
63
+ backgroundUrl: p.avatar?.background?.uri ?? null,
64
+ avatarGlbUrl: p.avatar?.uri ?? null,
60
65
  };
61
66
  }
62
67
  return out;
@@ -41,6 +41,20 @@ export type Avatar = z.infer<typeof AvatarSchema>;
41
41
  * `shared/UserPublic.ts` `defaultAvatar`). Used for any user/bot whose avatar is
42
42
  * unset, so the avatar field is always a valid object.
43
43
  */
44
+ /**
45
+ * Shared profile fields. Both the federated `Profile` (below) and app-side
46
+ * `User` / `Bot` schemas derive from this via `.extend(...)` so the avatar/name
47
+ * shape lives in exactly one place.
48
+ */
49
+ export const ProfileFieldsSchema = z.object({
50
+ name: z.string().nullable(),
51
+ avatar: AvatarSchema,
52
+ });
53
+
54
+ /** The federated public profile returned by `userPublicBatch`. */
55
+ export const ProfileSchema = ProfileFieldsSchema.extend({ id: z.string() });
56
+ export type Profile = z.infer<typeof ProfileSchema>;
57
+
44
58
  export const defaultAvatar: Avatar = {
45
59
  id: '677d6ac22554a00ff1842e1f',
46
60
  uri: 'https://blob.ugly.bot/debug/user/ZHK_QVWdFU6rd_-w_EZzf/pBz_664oX4IOooJiYSBZo.glb',
@@ -11,7 +11,7 @@
11
11
  // op means editing THIS file first — never a local schema in ugly-bot or an
12
12
  // ad-hoc `typeof` check.
13
13
  import { z } from 'zod';
14
- import { AvatarSchema } from './Avatar.js';
14
+ import { ProfileSchema } from './Avatar.js';
15
15
  import {
16
16
  textGenInputSchema,
17
17
  textGenOutputSchema,
@@ -227,19 +227,7 @@ export const userPublicBatchInputSchema = z.object({
227
227
  force: z.boolean().optional(),
228
228
  });
229
229
  export const userPublicBatchOutputSchema = z.object({
230
- profiles: z.array(
231
- z.object({
232
- id: z.string(),
233
- name: z.string().nullable(),
234
- /** Canonical avatar object (always present; `defaultAvatar` when unset). */
235
- avatar: AvatarSchema,
236
- // Flat convenience fields derived from `avatar`, kept for back-compat with
237
- // existing child apps. New code should read `avatar`.
238
- avatarUrl: z.string().nullable(),
239
- backgroundUrl: z.string().nullish(),
240
- avatarGlbUrl: z.string().nullish(),
241
- }),
242
- ),
230
+ profiles: z.array(ProfileSchema),
243
231
  });
244
232
 
245
233
  // ── Billing/meta ─────────────────────────────────────────────────────────────
@@ -2,7 +2,10 @@ import { createRouter } from 'ugly-app/client';
2
2
  import { pages } from '../shared/pages';
3
3
  import { allPages } from './allPages';
4
4
 
5
- export const { RouterProvider, RouterView, useRouter } = createRouter({
5
+ // `Link` is the typed SPA link for internal navigation. Use it (or
6
+ // `useRouter().push(...)`) instead of a bare `<a href="/route">`, which does a
7
+ // full-page reload (white flash + repaint) instead of a smooth transition.
8
+ export const { RouterProvider, RouterView, useRouter, Link } = createRouter({
6
9
  pages,
7
10
  allPages,
8
11
  });