ugly-app 0.1.34 → 0.1.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/client/AppProvider.d.ts.map +1 -1
  2. package/dist/client/AppProvider.js +4 -1
  3. package/dist/client/AppProvider.js.map +1 -1
  4. package/dist/client/Router.d.ts +44 -11
  5. package/dist/client/Router.d.ts.map +1 -1
  6. package/dist/client/Router.js +114 -28
  7. package/dist/client/Router.js.map +1 -1
  8. package/dist/client/index.d.ts +2 -2
  9. package/dist/client/index.d.ts.map +1 -1
  10. package/dist/client/index.js +1 -1
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/server/App.d.ts +2 -2
  13. package/dist/server/App.d.ts.map +1 -1
  14. package/dist/server/App.js +3 -3
  15. package/dist/server/App.js.map +1 -1
  16. package/dist/server/FeedbackReport.d.ts +8 -3
  17. package/dist/server/FeedbackReport.d.ts.map +1 -1
  18. package/dist/server/FeedbackReport.js +18 -28
  19. package/dist/server/FeedbackReport.js.map +1 -1
  20. package/dist/server/Router.d.ts +10 -4
  21. package/dist/server/Router.d.ts.map +1 -1
  22. package/dist/server/Router.js +4 -13
  23. package/dist/server/Router.js.map +1 -1
  24. package/dist/server/index.d.ts +2 -2
  25. package/dist/server/index.d.ts.map +1 -1
  26. package/dist/server/index.js +1 -1
  27. package/dist/server/index.js.map +1 -1
  28. package/dist/shared/ImageGen.d.ts +1 -0
  29. package/dist/shared/ImageGen.d.ts.map +1 -1
  30. package/dist/shared/Router.d.ts +14 -3
  31. package/dist/shared/Router.d.ts.map +1 -1
  32. package/dist/shared/Router.js.map +1 -1
  33. package/dist/shared/TextGen.d.ts +2 -0
  34. package/dist/shared/TextGen.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/templates/client/App.tsx +1 -22
  37. package/templates/client/allPages.ts +11 -0
  38. package/templates/client/index.html +1 -0
  39. package/templates/client/pages/AITestPage.tsx +1 -1
  40. package/templates/client/pages/AuthDemoPage.tsx +1 -1
  41. package/templates/client/pages/HomePage.tsx +1 -1
  42. package/templates/client/pages/SearchPage.tsx +1 -1
  43. package/templates/client/pages/UserPage.tsx +1 -1
  44. package/templates/client/router.ts +2 -0
  45. package/templates/docker-compose.yml +1 -1
  46. package/templates/server/index.ts +37 -19
@@ -1 +1 @@
1
- {"version":3,"file":"AppProvider.d.ts","sourceRoot":"","sources":["../../src/client/AppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,SAAS,EAOV,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAYnD,MAAM,WAAW,eAAe,CAAC,aAAa,GAAG,OAAO;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,IAAI,IAAI,CAAC;IACtB,QAAQ,CACN,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;CACxD;AAID,wBAAgB,MAAM,CACpB,aAAa,GAAG,OAAO,KACpB,eAAe,CAAC,aAAa,CAAC,CAIlC;AAKD,UAAU,gBAAgB,CAAC,aAAa,GAAG,OAAO;IAChD,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,YAAY,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,aAAa,CAAC;KAC9B,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;CACzD;AAED,wBAAgB,WAAW,CAAC,aAAa,GAAG,OAAO,EAAE,EACnD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,SAAS,EAAE,aAAa,GACzB,EAAE,gBAAgB,CAAC,aAAa,CAAC,2CAsIjC;AAED,wBAAgB,YAAY,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAE1E"}
1
+ {"version":3,"file":"AppProvider.d.ts","sourceRoot":"","sources":["../../src/client/AppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,SAAS,EAOV,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAYnD,MAAM,WAAW,eAAe,CAAC,aAAa,GAAG,OAAO;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,IAAI,IAAI,CAAC;IACtB,QAAQ,CACN,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;CACxD;AAID,wBAAgB,MAAM,CACpB,aAAa,GAAG,OAAO,KACpB,eAAe,CAAC,aAAa,CAAC,CAIlC;AAKD,UAAU,gBAAgB,CAAC,aAAa,GAAG,OAAO;IAChD,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,YAAY,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,aAAa,CAAC;KAC9B,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;CACzD;AAED,wBAAgB,WAAW,CAAC,aAAa,GAAG,OAAO,EAAE,EACnD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,SAAS,EAAE,aAAa,GACzB,EAAE,gBAAgB,CAAC,aAAa,CAAC,2CAsIjC;AAED,wBAAgB,YAAY,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAI1E"}
@@ -111,7 +111,10 @@ export function AppProvider({ socket, userId, user, children, splashScreen, load
111
111
  : defaultLoadingOverlay), splashVisible && (splashScreen ?? defaultSplash)] }));
112
112
  }
113
113
  export function useLocalizer() {
114
- return useApp().localizer;
114
+ const ctx = useContext(AppContext);
115
+ if (!ctx)
116
+ return (key) => key;
117
+ return ctx.localizer;
115
118
  }
116
119
  function PopupLayer({ popups }) {
117
120
  if (popups.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"AppProvider.js","sourceRoot":"","sources":["../../src/client/AppProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppProvider.js","sourceRoot":"","sources":["../../src/client/AppProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { CSSProperties, ReactElement, ReactNode } from 'react';
2
- import type { AnimConfig, AppRouterBase, PageParams, PopupMode, PopupSlideFrom, RouterState, TransitionType } from '../shared/Router.js';
2
+ import type { AnimConfig, PageEntry, PageMap, PageParams, PageRegistry, PopupMode, PopupSlideFrom, RouterState, TransitionType } from '../shared/Router.js';
3
+ import { RouterTransitionProps } from './ViewFlipper.js';
3
4
  import { createAnimatedValue, EasingFunction } from './animation/animatedValue.js';
4
5
  export interface PopupLayerProps {
5
6
  content: ReactNode;
@@ -20,17 +21,20 @@ export interface PopupHandle {
20
21
  id: string;
21
22
  hide: () => void;
22
23
  }
23
- export interface RouterContextValue<R extends AppRouterBase> {
24
- current: RouterState;
24
+ export interface RouterContextValue<Pages extends PageRegistry> {
25
+ current: RouterState<Pages>;
25
26
  transitionType: TransitionType;
26
- push<K extends keyof R['pages'] & string>(routeName: K, params: PageParams<R['pages'][K]>): void;
27
- replace<K extends keyof R['pages'] & string>(routeName: K, params: PageParams<R['pages'][K]>): void;
27
+ push<K extends keyof Pages & string>(routeName: K, params: PageParams<Pages[K]>): void;
28
+ replace<K extends keyof Pages & string>(routeName: K, params: PageParams<Pages[K]>): void;
28
29
  back(): void;
29
30
  openPopup(content: ReactNode, options?: PopupOptions): PopupHandle;
30
31
  closePopup(id: string): void;
31
32
  closeAllPopups(): void;
32
33
  }
33
- export declare function createRouter<R extends AppRouterBase>(registry: R): {
34
+ export declare function createRouter<Pages extends PageRegistry>(config: {
35
+ pages: Pages;
36
+ allPages: PageMap<Pages>;
37
+ }): {
34
38
  RouterProvider: (props: {
35
39
  children: ReactNode;
36
40
  fallback?: ReactNode;
@@ -38,16 +42,45 @@ export declare function createRouter<R extends AppRouterBase>(registry: R): {
38
42
  isAuthenticated?: () => boolean;
39
43
  }) => ReactElement;
40
44
  RouterView: (props: {
41
- renderPage: (state: RouterState) => ReactNode;
42
45
  durationMs?: number;
43
46
  easing?: EasingFunction;
47
+ /** Fully replace the transition renderer. Must implement RouterTransitionProps. */
48
+ transitionComponent?: React.ComponentType<RouterTransitionProps>;
44
49
  }) => ReactElement;
45
- useRouter: () => RouterContextValue<R>;
50
+ useRouter: () => RouterContextValue<Pages>;
46
51
  };
47
- export declare function Link<R extends AppRouterBase, K extends keyof R['pages'] & string>(props: {
48
- router: RouterContextValue<R>;
52
+ /**
53
+ * Sugar for the common case: lazy-imports a React component and renders it
54
+ * with the route params as props.
55
+ *
56
+ * @example
57
+ * ['user/:userId']: lazyPage(() => import('./pages/UserPage'))
58
+ */
59
+ export declare function lazyPage<Params extends Record<string, unknown>>(factory: () => Promise<{
60
+ default: React.ComponentType<Params>;
61
+ }>): PageEntry<Params>;
62
+ /**
63
+ * For routes that need lazy loading AND server data fetching. Lazy-loads an
64
+ * async loader function (not a component directly). The loader file is the
65
+ * chunk boundary — it can statically import its page component.
66
+ *
67
+ * @example
68
+ * ['slow']: lazyPageLoader(() => import('./pages/SlowPageLoader'))
69
+ *
70
+ * // pages/SlowPageLoader.tsx
71
+ * import SlowPage from './SlowPage'; // static import OK — same chunk
72
+ * export default async function PageLoader({ id }: { id: string }) {
73
+ * const data = await fetchSlowData(id);
74
+ * return <SlowPage {...data} />;
75
+ * }
76
+ */
77
+ export declare function lazyPageLoader<Params extends Record<string, unknown>>(factory: () => Promise<{
78
+ default: PageEntry<Params>;
79
+ }>): PageEntry<Params>;
80
+ export declare function Link<Pages extends PageRegistry, K extends keyof Pages & string>(props: {
81
+ router: RouterContextValue<Pages>;
49
82
  to: K;
50
- params: PageParams<R['pages'][K]>;
83
+ params: PageParams<Pages[K]>;
51
84
  replace?: boolean;
52
85
  children: ReactNode;
53
86
  className?: string;
@@ -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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"}
@@ -1,11 +1,13 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
2
+ import { createContext, Fragment, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
3
3
  import { buildUrl, parseUrl } from '../shared/Router.js';
4
4
  import { ViewFlipper } from './ViewFlipper.js';
5
5
  import { Animated } from './animation/Animated.js';
6
6
  import { createAnimatedValue, easingFunctions, } from './animation/animatedValue.js';
7
+ import { useApp } from './AppProvider.js';
7
8
  import { Z } from './components/zIndex.js';
8
9
  const RouterContext = createContext(null);
10
+ const ActiveContext = createContext(null);
9
11
  // ─── Helpers ──────────────────────────────────────────────────────────────────
10
12
  function stableParamKey(params) {
11
13
  return Object.keys(params)
@@ -67,31 +69,86 @@ function PopupLayer({ popup, onClose, }) {
67
69
  }, onClick: (e) => e.stopPropagation(), children: popup.content }) }));
68
70
  }
69
71
  // ─── createRouter ─────────────────────────────────────────────────────────────
70
- export function createRouter(registry) {
72
+ export function createRouter(config) {
71
73
  // ── RouterProvider ──────────────────────────────────────────────────────────
72
74
  function RouterProvider(props) {
73
- const [state, setState] = useState(() => parseUrl(registry.pages, window.location.pathname, window.location.search));
74
- // Track transition type in a ref so it's set synchronously before setState
75
+ const { runAsync } = useApp();
76
+ // Pending route updated immediately on navigation for nav highlighting
77
+ const [current, setCurrent] = useState(null);
78
+ // Resolved active element — updated after async entry resolves
79
+ const [active, setActive] = useState(null);
75
80
  const transitionRef = useRef('NONE');
76
- // Flag for detecting history.back() vs browser back button
77
81
  const isPoppingRef = useRef(false);
82
+ const navGenRef = useRef(0);
83
+ // loadPage is called on every navigation. We use a ref so callbacks like
84
+ // push/replace/popstate always call the latest version without being
85
+ // recreated themselves.
86
+ const loadPageRef = useRef(null);
87
+ loadPageRef.current = function loadPage(route, transitionType) {
88
+ const gen = ++navGenRef.current;
89
+ transitionRef.current = transitionType;
90
+ setCurrent(route);
91
+ // Auth guard — synchronously show login fallback without entering runAsync
92
+ const pageMeta = config.pages[route.routeName];
93
+ if (pageMeta?.auth &&
94
+ props.isAuthenticated &&
95
+ !props.isAuthenticated()) {
96
+ setActive({
97
+ element: Fragment({ children: props.loginFallback ?? null }),
98
+ transitionType,
99
+ contentId: route.routeName + '|__auth__',
100
+ });
101
+ return;
102
+ }
103
+ const entry = config.allPages[route.routeName];
104
+ if (!entry) {
105
+ console.error(`[Router] No page entry found for route "${route.routeName}"`);
106
+ return;
107
+ }
108
+ void runAsync('navigate', async () => {
109
+ const element = await entry(route.params);
110
+ if (navGenRef.current !== gen)
111
+ return; // stale navigation — discard
112
+ setActive({
113
+ element,
114
+ transitionType,
115
+ contentId: route.routeName + '|' + stableParamKey(route.params),
116
+ });
117
+ });
118
+ };
119
+ // Initial page load on mount
120
+ useEffect(() => {
121
+ const initial = parseUrl(config.pages, window.location.pathname, window.location.search);
122
+ if (initial) {
123
+ loadPageRef.current(initial, 'NONE');
124
+ }
125
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
126
+ // Browser back/forward
78
127
  useEffect(() => {
79
128
  function handlePopState() {
80
- const next = parseUrl(registry.pages, window.location.pathname, window.location.search);
81
- transitionRef.current = isPoppingRef.current ? 'POP' : 'REPLACE';
129
+ const next = parseUrl(config.pages, window.location.pathname, window.location.search);
130
+ if (!next)
131
+ return;
132
+ const transitionType = isPoppingRef.current
133
+ ? 'POP'
134
+ : 'REPLACE';
82
135
  isPoppingRef.current = false;
83
- setState(next);
136
+ loadPageRef.current(next, transitionType);
84
137
  }
85
138
  window.addEventListener('popstate', handlePopState);
86
139
  return () => window.removeEventListener('popstate', handlePopState);
87
140
  }, []);
141
+ useEffect(() => {
142
+ if (current) {
143
+ console.log(`[Router] ${window.location.pathname}${window.location.search}`, current);
144
+ }
145
+ }, [current]);
88
146
  const push = useCallback(function push(routeName, params) {
89
147
  const url = buildUrl(routeName, params);
90
- transitionRef.current = 'PUSH';
91
148
  window.history.pushState({}, '', url);
92
- const next = parseUrl(registry.pages, window.location.pathname, window.location.search);
149
+ const next = parseUrl(config.pages, window.location.pathname, window.location.search);
93
150
  if (next) {
94
- setState(next);
151
+ loadPageRef.current(next, 'PUSH');
95
152
  }
96
153
  else {
97
154
  console.error(`[Router] Navigation to "${routeName}" produced a URL that did not match any registered route.`);
@@ -99,11 +156,10 @@ export function createRouter(registry) {
99
156
  }, []);
100
157
  const replace = useCallback(function replace(routeName, params) {
101
158
  const url = buildUrl(routeName, params);
102
- transitionRef.current = 'REPLACE';
103
159
  window.history.replaceState({}, '', url);
104
- const next = parseUrl(registry.pages, window.location.pathname, window.location.search);
160
+ const next = parseUrl(config.pages, window.location.pathname, window.location.search);
105
161
  if (next) {
106
- setState(next);
162
+ loadPageRef.current(next, 'REPLACE');
107
163
  }
108
164
  else {
109
165
  console.error(`[Router] Navigation to "${routeName}" produced a URL that did not match any registered route.`);
@@ -164,10 +220,10 @@ export function createRouter(registry) {
164
220
  }, [closePopup]);
165
221
  // ── Context value ──────────────────────────────────────────────────────────
166
222
  const ctx = useMemo(() => {
167
- if (!state)
223
+ if (!current)
168
224
  return null;
169
225
  return {
170
- current: state,
226
+ current: current,
171
227
  transitionType: transitionRef.current,
172
228
  push,
173
229
  replace,
@@ -176,25 +232,19 @@ export function createRouter(registry) {
176
232
  closePopup,
177
233
  closeAllPopups,
178
234
  };
179
- }, [state, push, replace, back, openPopup, closePopup, closeAllPopups]);
235
+ }, [current, push, replace, back, openPopup, closePopup, closeAllPopups]);
180
236
  if (!ctx) {
181
237
  return _jsx(_Fragment, { children: props.fallback ?? null });
182
238
  }
183
- const page = registry.pages[ctx.current.routeName];
184
- if (page?.auth && props.isAuthenticated && !props.isAuthenticated()) {
185
- return _jsx(_Fragment, { children: props.loginFallback ?? null });
186
- }
187
- return (_jsxs(RouterContext.Provider, { value: ctx, children: [props.children, popupsRef.current.map((popup) => (_jsx(PopupLayer, { popup: popup, onClose: () => closePopup(popup.id) }, popup.id)))] }));
239
+ return (_jsx(RouterContext.Provider, { value: ctx, children: _jsxs(ActiveContext.Provider, { value: active, children: [props.children, popupsRef.current.map((popup) => (_jsx(PopupLayer, { popup: popup, onClose: () => closePopup(popup.id) }, popup.id)))] }) }));
188
240
  }
189
241
  // ── RouterView ──────────────────────────────────────────────────────────────
190
242
  function RouterView(props) {
191
- const ctx = useContext(RouterContext);
192
- if (!ctx)
193
- throw new Error('RouterView must be used inside <RouterProvider>');
194
- const typed = ctx;
195
- const contentId = typed.current.routeName + '|' + stableParamKey(typed.current.params);
243
+ const active = useContext(ActiveContext);
244
+ if (!active)
245
+ return _jsx(_Fragment, {});
196
246
  const Transition = props.transitionComponent ?? ViewFlipper;
197
- return (_jsx(Transition, { contentId: contentId, type: typed.transitionType, durationMs: props.durationMs, easing: props.easing, children: props.renderPage(typed.current) }));
247
+ return (_jsx(Transition, { contentId: active.contentId, type: active.transitionType, durationMs: props.durationMs, easing: props.easing, children: active.element }));
198
248
  }
199
249
  // ── useRouter ───────────────────────────────────────────────────────────────
200
250
  function useRouter() {
@@ -205,6 +255,42 @@ export function createRouter(registry) {
205
255
  }
206
256
  return { RouterProvider, RouterView, useRouter };
207
257
  }
258
+ // ─── lazyPage ─────────────────────────────────────────────────────────────────
259
+ /**
260
+ * Sugar for the common case: lazy-imports a React component and renders it
261
+ * with the route params as props.
262
+ *
263
+ * @example
264
+ * ['user/:userId']: lazyPage(() => import('./pages/UserPage'))
265
+ */
266
+ export function lazyPage(factory) {
267
+ return async (params) => {
268
+ const { default: Component } = await factory();
269
+ return _jsx(Component, { ...params });
270
+ };
271
+ }
272
+ // ─── lazyPageLoader ───────────────────────────────────────────────────────────
273
+ /**
274
+ * For routes that need lazy loading AND server data fetching. Lazy-loads an
275
+ * async loader function (not a component directly). The loader file is the
276
+ * chunk boundary — it can statically import its page component.
277
+ *
278
+ * @example
279
+ * ['slow']: lazyPageLoader(() => import('./pages/SlowPageLoader'))
280
+ *
281
+ * // pages/SlowPageLoader.tsx
282
+ * import SlowPage from './SlowPage'; // static import OK — same chunk
283
+ * export default async function PageLoader({ id }: { id: string }) {
284
+ * const data = await fetchSlowData(id);
285
+ * return <SlowPage {...data} />;
286
+ * }
287
+ */
288
+ export function lazyPageLoader(factory) {
289
+ return async (params) => {
290
+ const { default: loader } = await factory();
291
+ return loader(params);
292
+ };
293
+ }
208
294
  // ─── Link ─────────────────────────────────────────────────────────────────────
209
295
  export function Link(props) {
210
296
  const href = buildUrl(props.to, props.params);
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/client/Router.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EAIb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAyB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,mBAAmB,EAEnB,eAAe,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA2D3C,MAAM,aAAa,GAAG,aAAa,CACjC,IAAI,CACL,CAAC;AAEF,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,MAAM,UAAU,YAAY,CAC1B,QAAW;IAeX,+EAA+E;IAE/E,SAAS,cAAc,CAAC,KAKvB;QACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,GAAG,EAAE,CAC1D,QAAQ,CACN,QAAQ,CAAC,KAAK,EACd,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CACF,CAAC;QAEF,2EAA2E;QAC3E,MAAM,aAAa,GAAG,MAAM,CAAiB,MAAM,CAAC,CAAC;QACrD,2DAA2D;QAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnC,SAAS,CAAC,GAAG,EAAE;YACb,SAAS,cAAc;gBACrB,MAAM,IAAI,GAAG,QAAQ,CACnB,QAAQ,CAAC,KAAK,EACd,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;gBACF,aAAa,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,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,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,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,QAAQ,CACnB,QAAQ,CAAC,KAAK,EACd,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,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,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CACnB,QAAQ,CAAC,KAAK,EACd,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,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,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACd,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,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACpB,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,CAA2C,GAAG,EAAE;YACjE,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,cAAc,EAAE,aAAa,CAAC,OAAO;gBACrC,IAAI;gBACJ,OAAO;gBACP,IAAI;gBACJ,SAAS;gBACT,UAAU;gBACV,cAAc;aACf,CAAC;QACJ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,4BAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,GAAI,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;YACpE,OAAO,4BAAG,KAAK,CAAC,aAAa,IAAI,IAAI,GAAI,CAAC;QAC5C,CAAC;QAED,OAAO,CACL,MAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,aAC/B,KAAK,CAAC,QAAQ,EACd,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,CAC1B,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E,SAAS,UAAU,CAAC,KAMnB;QACC,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,GAA4B,CAAC;QAE3C,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,IAAI,WAAW,CAAC;QAE5D,OAAO,CACL,KAAC,UAAU,IACT,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,KAAK,CAAC,cAAc,EAC1B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,YAEnB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GACrB,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,GAA4B,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnD,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,5 +1,5 @@
1
1
  export type { ContentPart, ImageGenCallOptions, ImageGenInput, JsonGenInput, Message, TextGenCallOptions, TextGenInput, } from '../shared/index.js';
2
- export type { AnimConfig, AppRouterBase, PopupMode, PopupSlideFrom, RouterState, TransitionType, } from '../shared/Router.js';
2
+ export type { AnimConfig, AppRouterBase, PageEntry, PageMap, PageParams, PageRegistry, PopupMode, PopupSlideFrom, RouterState, RouterStateRaw, TransitionType, } from '../shared/Router.js';
3
3
  export { Animated } from './animation/Animated.js';
4
4
  export type { AnimatedStyle } from './animation/Animated.js';
5
5
  export { createAnimatedValue, easingFunctions, useAnimatedValue, } from './animation/animatedValue.js';
@@ -22,7 +22,7 @@ export { captureClientError } from './ErrorLog.js';
22
22
  export { clearFeedbackContext, getFeedbackContext, setFeedbackContext, } from './FeedbackContext.js';
23
23
  export { initClientLogger } from './Logger.js';
24
24
  export { LoginPopup } from './LoginPopup.js';
25
- export { Link, createRouter } from './Router.js';
25
+ export { Link, createRouter, lazyPage, lazyPageLoader } from './Router.js';
26
26
  export type { PopupHandle, PopupLayerProps, PopupOptions, RouterContextValue, } from './Router.js';
27
27
  export { captureScreenshot } from './Screenshot.js';
28
28
  export type { RouterTransitionProps } from './ViewFlipper.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,EACX,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAS,EACT,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -16,6 +16,6 @@ export { captureClientError } from './ErrorLog.js';
16
16
  export { clearFeedbackContext, getFeedbackContext, setFeedbackContext, } from './FeedbackContext.js';
17
17
  export { initClientLogger } from './Logger.js';
18
18
  export { LoginPopup } from './LoginPopup.js';
19
- export { Link, createRouter } from './Router.js';
19
+ export { Link, createRouter, lazyPage, lazyPageLoader } from './Router.js';
20
20
  export { captureScreenshot } from './Screenshot.js';
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -5,7 +5,7 @@ import type { AppRegistryBase } from '../shared/Api.js';
5
5
  import type { CollectionDefRegistry, UserHelper } from '../shared/DB.js';
6
6
  import { PageRegistry } from '../shared/Router.js';
7
7
  import { verifyToken, type AuthProvider, type OnUserCreate } from './Auth.js';
8
- import { AppRouter, HandlerContext } from './Router.js';
8
+ import { AppRouter, CallHandlers, HandlerContext, RequestHandlers } from './Router.js';
9
9
  export { verifyToken };
10
10
  export interface PageServerOptions {
11
11
  pages: PageRegistry;
@@ -39,5 +39,5 @@ export interface App extends AppRouter {
39
39
  registerRoutes(fn: (router: ReturnType<typeof express.Router>) => void): void;
40
40
  httpServer: ReturnType<typeof createServer>;
41
41
  }
42
- export declare function createApp<R extends AppRegistryBase, Defs extends CollectionDefRegistry>(registry: R, appDefs?: Defs, configure?: (configurator: AppConfigurator) => void): App;
42
+ export declare function createApp<R extends AppRegistryBase, Defs extends CollectionDefRegistry>(registry: R, calls: Partial<CallHandlers<R['functions']>>, requests: Partial<RequestHandlers<R['requests']>>, appDefs: Defs, configure?: (configurator: AppConfigurator) => void): App;
43
43
  //# sourceMappingURL=App.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EAGrB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAY,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAKL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAcnB,OAAO,EAAE,SAAS,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,EAAE,WAAW,EAAE,CAAC;AAOvB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IAEpB,UAAU,CAAC,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC;;;OAGG;IAEH,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAE7C,kBAAkB,CAChB,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,GAChE,IAAI,CAAC;IAER,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC;IAER,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAEzC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAE9E,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,GAAI,SAAQ,SAAS;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9E,UAAU,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7C;AAED,wBAAgB,SAAS,CACvB,CAAC,SAAS,eAAe,EACzB,IAAI,SAAS,qBAAqB,EAElC,QAAQ,EAAE,CAAC,EACX,OAAO,GAAE,IAAiB,EAC1B,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,GAClD,GAAG,CA8UL"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EAGrB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAY,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAKL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAcnB,OAAO,EACL,SAAS,EACT,YAAY,EAEZ,cAAc,EACd,eAAe,EAChB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,WAAW,EAAE,CAAC;AAOvB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IAEpB,UAAU,CAAC,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC;;;OAGG;IAEH,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAE7C,kBAAkB,CAChB,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,GAChE,IAAI,CAAC;IAER,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC;IAER,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAEzC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAE9E,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,GAAI,SAAQ,SAAS;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9E,UAAU,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7C;AAED,wBAAgB,SAAS,CACvB,CAAC,SAAS,eAAe,EACzB,IAAI,SAAS,qBAAqB,EAElC,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAC5C,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EACjD,OAAO,EAAE,IAAI,EACb,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,GAClD,GAAG,CA+UL"}
@@ -11,7 +11,7 @@ import { createTypedDB, getDbName, getMongoClient, initMongoClient, } from './DB
11
11
  import { getMyFeedbackMarkdown } from './FeedbackReport.js';
12
12
  import { captureServerError, initDevLogs, initServerErrorCapture, } from './Logging.js';
13
13
  import { createRateLimiter } from './RateLimit.js';
14
- import { createRouter } from './Router.js';
14
+ import { createRouter, } from './Router.js';
15
15
  import { initWebSocketServer } from './Socket.js';
16
16
  import { createStorageClient } from './Storage.js';
17
17
  export { verifyToken };
@@ -19,7 +19,7 @@ function validateEnv() {
19
19
  if (!process.env.JWT_SECRET)
20
20
  throw new Error('[App] JWT_SECRET env var is required');
21
21
  }
22
- export function createApp(registry, appDefs = {}, configure) {
22
+ export function createApp(registry, calls, requests, appDefs, configure) {
23
23
  validateEnv();
24
24
  // Merge builtins + app defs — builtins do not include 'user' (app defines its own)
25
25
  const allDefs = { ...BUILTIN_DEFS, ...appDefs };
@@ -84,7 +84,7 @@ export function createApp(registry, appDefs = {}, configure) {
84
84
  };
85
85
  const resolvedOnUserCreate = onUserCreate ?? (async () => { });
86
86
  const rateLimiter = createRateLimiter();
87
- const router = createRouter(registry, typedDb, contextExtensionFn ?? undefined, rateLimiter);
87
+ const router = createRouter(calls, requests, typedDb, contextExtensionFn ?? undefined, rateLimiter);
88
88
  expressApp.use(cookieParser());
89
89
  // Health endpoint — registered before auth middleware
90
90
  expressApp.get('/health', (_req, res) => {
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Db } from 'mongodb';
2
- import type { SubmitFeedbackInputT } from '../shared/FeedbackReport.js';
3
- import type { AppRouter } from './Router.js';
2
+ import type { ResolveFeedbackInputT, SubmitFeedbackInputT } from '../shared/FeedbackReport.js';
3
+ import type { HandlerContext } from './Router.js';
4
4
  interface SubmitHandlerInput extends SubmitFeedbackInputT {
5
5
  userId: string;
6
6
  }
@@ -14,6 +14,11 @@ export declare function createSubmitFeedbackHandler(db: Db): (input: SubmitHandl
14
14
  }>;
15
15
  export declare function createResolveFeedbackHandler(db: Db): (input: ResolveInput) => Promise<void>;
16
16
  export declare function getMyFeedbackMarkdown(db: Db, userId: string): Promise<string>;
17
- export declare function registerFeedbackHandlers(router: AppRouter, maintainBotUserId: string): void;
17
+ export declare function getFeedbackHandlers(maintainBotUserId: string): {
18
+ submitFeedback: (ctx: HandlerContext, input: SubmitFeedbackInputT) => Promise<{
19
+ id: string;
20
+ }>;
21
+ resolveFeedback: (ctx: HandlerContext, input: ResolveFeedbackInputT) => Promise<void>;
22
+ };
18
23
  export {};
19
24
  //# sourceMappingURL=FeedbackReport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackReport.d.ts","sourceRoot":"","sources":["../../src/server/FeedbackReport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAY,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAMrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,UAAU,kBAAmB,SAAQ,oBAAoB;IACvD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,EAAE,IAClC,OAAO,kBAAkB,KAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBlE;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,EAAE,IACnC,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAgBlD;AAED,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,iBAAiB,EAAE,MAAM,GACxB,IAAI,CAmCN"}
1
+ {"version":3,"file":"FeedbackReport.d.ts","sourceRoot":"","sources":["../../src/server/FeedbackReport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAY,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAEV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,UAAU,kBAAmB,SAAQ,oBAAoB;IACvD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,EAAE,IAClC,OAAO,kBAAkB,KAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBlE;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,EAAE,IACnC,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAgBlD;AAED,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG;IAC9D,cAAc,EAAE,CACd,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7B,eAAe,EAAE,CACf,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,qBAAqB,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB,CAiBA"}