ugly-app 0.1.508 → 0.1.510

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.508";
1
+ export declare const CLI_VERSION = "0.1.510";
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.508";
2
+ export const CLI_VERSION = "0.1.510";
3
3
  //# sourceMappingURL=version.js.map
@@ -46,11 +46,16 @@ import type { CollectionDefRegistry } from '../../../shared/DB.js';
46
46
  import type { DbAdapter, ServerAdapter } from '../types.js';
47
47
  import type { QueueMessage, WorkersEnv } from './cf-types.js';
48
48
  import { CollectionDO } from './do-collection.js';
49
+ import type { TypedDB } from '../../../shared/DB.js';
49
50
  interface AppContext {
50
51
  router: AppRouter;
51
52
  adapter: ServerAdapter | null;
52
53
  env: WorkersEnv | null;
53
54
  verifyToken: (token: string) => Promise<string>;
55
+ /** User collection registry; used by SessionDO trackDocs validation. */
56
+ collections: CollectionDefRegistry;
57
+ /** TypedDB instance (or null until the configurator wires collections). */
58
+ typedDb: TypedDB<any> | null;
54
59
  }
55
60
  export declare function getAppContext(): AppContext;
56
61
  export declare class SessionDO {
@@ -1 +1 @@
1
- {"version":3,"file":"createWorkersApp.d.ts","sourceRoot":"","sources":["../../../../src/server/adapter/workers/createWorkersApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createWorkersApp.d.ts","sourceRoot":"","sources":["../../../../src/server/adapter/workers/createWorkersApp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,SAAS,IAAI,WAAW,EACzB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAiB,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQrD,UAAU,UAAU;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,wEAAwE;IACxE,WAAW,EAAE,qBAAqB,CAAC;IACnC,2EAA2E;IAE3E,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CAC9B;AAiCD,wBAAgB,aAAa,IAAI,UAAU,CAE1C;AAmCD,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,sEAAsE;IACtE,OAAO,CAAC,OAAO,CAAuC;gBAE1C,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU;IAUhD,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAc1C,gBAAgB,CACpB,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,WAAW,GAAG,MAAM,GAC3B,OAAO,CAAC,IAAI,CAAC;IA+ThB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAYtC,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;CAGvC;AAID,OAAO,EAAE,YAAY,EAAE,CAAC;AAKxB,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,eAAe;IAChE,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CACf,MAAM,EACN,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAC5D,CAAC;IACF;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD;;;;OAIG;IACH,EAAE,CAAC,EAAE,SAAS,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,CAAC,SAAS,gBAAgB,EACrC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,IAAI,CAAC;IACR,UAAU,CAAC,CAAC,SAAS,cAAc,EACjC,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,IAAI,CAAC;CACT;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CACH,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,SAAS,CACP,KAAK,EAAE,mBAAmB,EAC1B,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CACH,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EACjC,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,eAAe,EACxD,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC;AACd,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,eAAe,EACxD,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EACjD,OAAO,EAAE,qBAAqB,EAC9B,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,GACtD,UAAU,CAAC"}
@@ -38,13 +38,16 @@
38
38
  * Node and Workers.
39
39
  */
40
40
  import { Hono } from 'hono';
41
- import { setAdapter } from '../singleton.js';
41
+ import { _hasAdapter, getAdapter, setAdapter } from '../singleton.js';
42
42
  import { createRouter } from '../../Router.js';
43
43
  import { getUglyBotUrl } from '../../../shared/uglyBotUrl.js';
44
44
  import { CollectionDO } from './do-collection.js';
45
45
  import { createWorkersAdapter } from './index.js';
46
46
  import { flushPendingPublishes } from './pubsub.js';
47
47
  import { cronRegistry, workerRegistry } from './schedule.js';
48
+ import { createTypedDB } from '../../DB.js';
49
+ import { createStoreHandlers } from '../../StoreHandlers.js';
50
+ import { pgGetDocs } from '../../PostgresDoc.js';
48
51
  /**
49
52
  * Default verifyToken implementation — round-trips to ugly.bot's
50
53
  * `/verify` endpoint via fetch. Identical behavior to
@@ -72,6 +75,8 @@ const ctx = {
72
75
  adapter: null,
73
76
  env: null,
74
77
  verifyToken: defaultVerifyToken,
78
+ collections: {},
79
+ typedDb: null,
75
80
  };
76
81
  export function getAppContext() {
77
82
  return ctx;
@@ -235,6 +240,85 @@ export class SessionDO {
235
240
  ws.send(JSON.stringify({ id: msg.id, type: 'response', result: null }));
236
241
  return;
237
242
  }
243
+ if (msg.type === 'trackDocs' || msg.type === 'trackQuery') {
244
+ // Live list subscription. Snapshot the matching docs now,
245
+ // send them, and open one bridge per key/value (or one
246
+ // all-collection bridge) so subsequent mutations trigger a
247
+ // re-fetch + re-send.
248
+ const payload = (msg.payload ?? {});
249
+ const { collection, keys, filter, sort, limit, skip, subId, } = payload;
250
+ ensureAdapter(this.env);
251
+ // Build the query: merge keys + filter into the WHERE clause.
252
+ const queryFilter = { ...(keys ?? {}), ...(filter ?? {}) };
253
+ const queryOptions = {
254
+ sort: (sort ?? { created: -1 }),
255
+ ...(limit !== undefined ? { limit } : {}),
256
+ ...(skip !== undefined ? { skip } : {}),
257
+ };
258
+ const refetchAndSend = async () => {
259
+ try {
260
+ const docs = await pgGetDocs(collection, queryFilter, queryOptions);
261
+ ws.send(JSON.stringify({ type: 'track', subId, data: docs }));
262
+ }
263
+ catch (err) {
264
+ // eslint-disable-next-line no-console
265
+ console.error('[SessionDO] trackDocs refetch failed', err);
266
+ }
267
+ };
268
+ // Initial snapshot.
269
+ await refetchAndSend();
270
+ // Tear down any prior bridge for this subId.
271
+ const prior = this.bridges.get(subId);
272
+ if (prior) {
273
+ try {
274
+ prior.close();
275
+ }
276
+ catch {
277
+ /* ignore */
278
+ }
279
+ }
280
+ const ns = this.env.COLLECTIONS;
281
+ const stub = ns.get(ns.idFromName(`${this.env.PROJECT_ID}:${collection}`));
282
+ const bridgeRes = (await stub.fetch('https://do/subscribe', {
283
+ headers: { Upgrade: 'websocket' },
284
+ }));
285
+ const bridge = bridgeRes.webSocket;
286
+ if (!bridge) {
287
+ ws.send(JSON.stringify({
288
+ id: msg.id,
289
+ type: 'error',
290
+ error: 'failed to open CollectionDO bridge for trackDocs',
291
+ }));
292
+ return;
293
+ }
294
+ bridge.accept();
295
+ bridge.addEventListener('message', (ev) => {
296
+ // We receive `{type:'event', topic, msg}` envelopes but we
297
+ // don't care about the payload — every event for a matching
298
+ // filter triggers a refetch.
299
+ void ev;
300
+ void refetchAndSend();
301
+ });
302
+ // Subscribe to the right CollectionDO filter:
303
+ // - If keys are provided, one `key` filter per (k, v) pair
304
+ // mirrors NATS `dbkey.<collection>.<k>.<v>` subjects.
305
+ // - Otherwise, an `all` subscription receives every mutation
306
+ // in the collection.
307
+ if (keys && Object.keys(keys).length > 0) {
308
+ for (const [k, v] of Object.entries(keys)) {
309
+ bridge.send(JSON.stringify({
310
+ cmd: 'subscribe',
311
+ filter: { kind: 'key', field: k, value: String(v) },
312
+ }));
313
+ }
314
+ }
315
+ else {
316
+ bridge.send(JSON.stringify({ cmd: 'subscribe', filter: { kind: 'all' } }));
317
+ }
318
+ this.bridges.set(subId, bridge);
319
+ ws.send(JSON.stringify({ id: msg.id, type: 'response', result: null }));
320
+ return;
321
+ }
238
322
  if (msg.type === 'unsubscribe') {
239
323
  const subId = msg.payload?.['subId'] ?? '';
240
324
  const bridge = this.bridges.get(subId);
@@ -284,10 +368,10 @@ export class SessionDO {
284
368
  // place. (The class itself lives in do-collection.ts unchanged.)
285
369
  export { CollectionDO };
286
370
  export function createWorkersApp(optsOrRegistry, handlersArg, appDefsArg, configure) {
287
- // We accept appDefs to match createApp's call shape, but the
288
- // Workers-side routing doesn't need a typed registry lookup — every
289
- // collection topic is keyed by name in CollectionDO.
290
- void appDefsArg;
371
+ // The user's collections registry used by SessionDO's trackDocs
372
+ // validation + the storeGet* builtins via TypedDB.
373
+ const appDefs = appDefsArg ?? {};
374
+ ctx.collections = appDefs;
291
375
  // Normalize the two call forms into a single options object.
292
376
  const opts = handlersArg !== undefined
293
377
  ? {
@@ -337,7 +421,28 @@ export function createWorkersApp(optsOrRegistry, handlersArg, appDefsArg, config
337
421
  };
338
422
  configure(cfg);
339
423
  }
340
- const router = createRouter(opts.requests, opts.handlers, opts.builtins);
424
+ // Build a TypedDB over the user's collections so the storeGet*
425
+ // builtins and SessionDO's trackDocs handler can drive queries
426
+ // through the framework's typed surface (which routes through
427
+ // `getAdapter().db.query` on Workers).
428
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
429
+ const typedDb = createTypedDB(appDefs);
430
+ ctx.typedDb = typedDb;
431
+ // Project the user's defs into the CollectionRegistry shape
432
+ // createStoreHandlers expects (just the meta blobs, keyed by name).
433
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
434
+ const collectionRegistry = {};
435
+ for (const [name, def] of Object.entries(appDefs)) {
436
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
437
+ collectionRegistry[name] = def.meta ?? {};
438
+ }
439
+ const storeBuiltins = createStoreHandlers(
440
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
441
+ collectionRegistry, typedDb);
442
+ // User-supplied builtins win over the framework's store defaults;
443
+ // most apps won't override these.
444
+ const composedBuiltins = { ...storeBuiltins, ...(opts.builtins ?? {}) };
445
+ const router = createRouter(opts.requests, opts.handlers, composedBuiltins);
341
446
  ctx.router = router;
342
447
  if (opts.verifyToken)
343
448
  ctx.verifyToken = opts.verifyToken;
@@ -531,6 +636,15 @@ let dbOverride = null;
531
636
  function ensureAdapter(env) {
532
637
  if (ctx.adapter && ctx.env === env)
533
638
  return;
639
+ // If a host (e.g. the E2E fixture) already installed an adapter
640
+ // via `setAdapter()`, sync ctx to it instead of building a fresh
641
+ // one — the singleton refuses overwrites and the host's adapter
642
+ // is the one that wires test seams like an in-memory DB.
643
+ if (_hasAdapter()) {
644
+ ctx.adapter = getAdapter();
645
+ ctx.env = env;
646
+ return;
647
+ }
534
648
  const adapter = createWorkersAdapter(env);
535
649
  if (dbOverride) {
536
650
  // Replace just the db field; pubsub/storage/schedule keep their
@@ -1 +1 @@
1
- {"version":3,"file":"createWorkersApp.js","sourceRoot":"","sources":["../../../../src/server/adapter/workers/createWorkersApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createWorkersApp.js","sourceRoot":"","sources":["../../../../src/server/adapter/workers/createWorkersApp.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.508",
3
+ "version": "0.1.510",
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.508";
2
+ export const CLI_VERSION = "0.1.510";
@@ -47,7 +47,7 @@ import type {
47
47
  WebSocket as CfWebSocket,
48
48
  } from '@cloudflare/workers-types';
49
49
 
50
- import { setAdapter } from '../singleton.js';
50
+ import { _hasAdapter, getAdapter, setAdapter } from '../singleton.js';
51
51
  import { createRouter, type AppRouter } from '../../Router.js';
52
52
  import type { RequestHandlers } from '../../Router.js';
53
53
  // AppRegistryBase isn't re-exported by Router.ts, so we import the
@@ -67,6 +67,10 @@ import { CollectionDO } from './do-collection.js';
67
67
  import { createWorkersAdapter } from './index.js';
68
68
  import { flushPendingPublishes } from './pubsub.js';
69
69
  import { cronRegistry, workerRegistry } from './schedule.js';
70
+ import { createTypedDB } from '../../DB.js';
71
+ import { createStoreHandlers } from '../../StoreHandlers.js';
72
+ import { pgGetDocs } from '../../PostgresDoc.js';
73
+ import type { TypedDB } from '../../../shared/DB.js';
70
74
 
71
75
  // ────────────────────────────────────────────────────────────────────────
72
76
  // Module-level singletons. createWorkersApp() populates these; the DO
@@ -79,6 +83,11 @@ interface AppContext {
79
83
  adapter: ServerAdapter | null;
80
84
  env: WorkersEnv | null;
81
85
  verifyToken: (token: string) => Promise<string>;
86
+ /** User collection registry; used by SessionDO trackDocs validation. */
87
+ collections: CollectionDefRegistry;
88
+ /** TypedDB instance (or null until the configurator wires collections). */
89
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
+ typedDb: TypedDB<any> | null;
82
91
  }
83
92
 
84
93
  /**
@@ -108,6 +117,8 @@ const ctx: AppContext = {
108
117
  adapter: null,
109
118
  env: null,
110
119
  verifyToken: defaultVerifyToken,
120
+ collections: {},
121
+ typedDb: null,
111
122
  };
112
123
 
113
124
  export function getAppContext(): AppContext {
@@ -349,6 +360,122 @@ export class SessionDO {
349
360
  return;
350
361
  }
351
362
 
363
+ if (msg.type === 'trackDocs' || msg.type === 'trackQuery') {
364
+ // Live list subscription. Snapshot the matching docs now,
365
+ // send them, and open one bridge per key/value (or one
366
+ // all-collection bridge) so subsequent mutations trigger a
367
+ // re-fetch + re-send.
368
+ const payload = (msg.payload ?? {}) as {
369
+ collection: string;
370
+ keys?: Record<string, string>;
371
+ filter?: Record<string, unknown>;
372
+ sort?: Record<string, 1 | -1>;
373
+ limit?: number;
374
+ skip?: number;
375
+ subId: string;
376
+ };
377
+ const {
378
+ collection,
379
+ keys,
380
+ filter,
381
+ sort,
382
+ limit,
383
+ skip,
384
+ subId,
385
+ } = payload;
386
+ ensureAdapter(this.env);
387
+
388
+ // Build the query: merge keys + filter into the WHERE clause.
389
+ const queryFilter = { ...(keys ?? {}), ...(filter ?? {}) };
390
+ const queryOptions = {
391
+ sort: (sort ?? { created: -1 }) as Record<string, 1 | -1>,
392
+ ...(limit !== undefined ? { limit } : {}),
393
+ ...(skip !== undefined ? { skip } : {}),
394
+ };
395
+
396
+ const refetchAndSend = async (): Promise<void> => {
397
+ try {
398
+ const docs = await pgGetDocs<Record<string, unknown>>(
399
+ collection,
400
+ queryFilter,
401
+ queryOptions,
402
+ );
403
+ ws.send(JSON.stringify({ type: 'track', subId, data: docs }));
404
+ } catch (err) {
405
+ // eslint-disable-next-line no-console
406
+ console.error('[SessionDO] trackDocs refetch failed', err);
407
+ }
408
+ };
409
+
410
+ // Initial snapshot.
411
+ await refetchAndSend();
412
+
413
+ // Tear down any prior bridge for this subId.
414
+ const prior = this.bridges.get(subId);
415
+ if (prior) {
416
+ try {
417
+ prior.close();
418
+ } catch {
419
+ /* ignore */
420
+ }
421
+ }
422
+
423
+ const ns = this.env.COLLECTIONS;
424
+ const stub = ns.get(
425
+ ns.idFromName(`${this.env.PROJECT_ID}:${collection}`),
426
+ );
427
+ const bridgeRes = (await stub.fetch('https://do/subscribe', {
428
+ headers: { Upgrade: 'websocket' },
429
+ })) as unknown as { webSocket?: CfWebSocket };
430
+ const bridge = bridgeRes.webSocket;
431
+ if (!bridge) {
432
+ ws.send(
433
+ JSON.stringify({
434
+ id: msg.id,
435
+ type: 'error',
436
+ error: 'failed to open CollectionDO bridge for trackDocs',
437
+ }),
438
+ );
439
+ return;
440
+ }
441
+ bridge.accept();
442
+ bridge.addEventListener(
443
+ 'message',
444
+ (ev: { data: ArrayBuffer | string }) => {
445
+ // We receive `{type:'event', topic, msg}` envelopes but we
446
+ // don't care about the payload — every event for a matching
447
+ // filter triggers a refetch.
448
+ void ev;
449
+ void refetchAndSend();
450
+ },
451
+ );
452
+
453
+ // Subscribe to the right CollectionDO filter:
454
+ // - If keys are provided, one `key` filter per (k, v) pair
455
+ // mirrors NATS `dbkey.<collection>.<k>.<v>` subjects.
456
+ // - Otherwise, an `all` subscription receives every mutation
457
+ // in the collection.
458
+ if (keys && Object.keys(keys).length > 0) {
459
+ for (const [k, v] of Object.entries(keys)) {
460
+ bridge.send(
461
+ JSON.stringify({
462
+ cmd: 'subscribe',
463
+ filter: { kind: 'key', field: k, value: String(v) },
464
+ }),
465
+ );
466
+ }
467
+ } else {
468
+ bridge.send(
469
+ JSON.stringify({ cmd: 'subscribe', filter: { kind: 'all' } }),
470
+ );
471
+ }
472
+ this.bridges.set(subId, bridge);
473
+ ws.send(
474
+ JSON.stringify({ id: msg.id, type: 'response', result: null }),
475
+ );
476
+ return;
477
+ }
478
+
352
479
  if (msg.type === 'unsubscribe') {
353
480
  const subId = (msg.payload?.['subId'] as string | undefined) ?? '';
354
481
  const bridge = this.bridges.get(subId);
@@ -505,10 +632,10 @@ export function createWorkersApp<R extends AppRegistryBase>(
505
632
  appDefsArg?: CollectionDefRegistry,
506
633
  configure?: (configurator: WorkersConfigurator) => void,
507
634
  ): WorkersApp {
508
- // We accept appDefs to match createApp's call shape, but the
509
- // Workers-side routing doesn't need a typed registry lookup — every
510
- // collection topic is keyed by name in CollectionDO.
511
- void appDefsArg;
635
+ // The user's collections registry used by SessionDO's trackDocs
636
+ // validation + the storeGet* builtins via TypedDB.
637
+ const appDefs: CollectionDefRegistry = appDefsArg ?? {};
638
+ ctx.collections = appDefs;
512
639
  // Normalize the two call forms into a single options object.
513
640
  const opts: CreateWorkersAppOptions<R> =
514
641
  handlersArg !== undefined
@@ -560,10 +687,38 @@ export function createWorkersApp<R extends AppRegistryBase>(
560
687
  configure(cfg);
561
688
  }
562
689
 
690
+ // Build a TypedDB over the user's collections so the storeGet*
691
+ // builtins and SessionDO's trackDocs handler can drive queries
692
+ // through the framework's typed surface (which routes through
693
+ // `getAdapter().db.query` on Workers).
694
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
695
+ const typedDb: TypedDB<any> = createTypedDB(appDefs as never);
696
+ ctx.typedDb = typedDb;
697
+
698
+ // Project the user's defs into the CollectionRegistry shape
699
+ // createStoreHandlers expects (just the meta blobs, keyed by name).
700
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
701
+ const collectionRegistry: Record<string, any> = {};
702
+ for (const [name, def] of Object.entries(appDefs)) {
703
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
704
+ collectionRegistry[name] = (def as any).meta ?? {};
705
+ }
706
+ const storeBuiltins = createStoreHandlers(
707
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
708
+ collectionRegistry as any,
709
+ typedDb,
710
+ );
711
+ // User-supplied builtins win over the framework's store defaults;
712
+ // most apps won't override these.
713
+ const composedBuiltins: Record<
714
+ string,
715
+ (userId: string | null, input: unknown) => Promise<unknown>
716
+ > = { ...storeBuiltins, ...(opts.builtins ?? {}) };
717
+
563
718
  const router = createRouter<R>(
564
719
  opts.requests,
565
720
  opts.handlers,
566
- opts.builtins,
721
+ composedBuiltins,
567
722
  );
568
723
  ctx.router = router;
569
724
  if (opts.verifyToken) ctx.verifyToken = opts.verifyToken;
@@ -778,6 +933,15 @@ let dbOverride: DbAdapter | null = null;
778
933
 
779
934
  function ensureAdapter(env: WorkersEnv): void {
780
935
  if (ctx.adapter && ctx.env === env) return;
936
+ // If a host (e.g. the E2E fixture) already installed an adapter
937
+ // via `setAdapter()`, sync ctx to it instead of building a fresh
938
+ // one — the singleton refuses overwrites and the host's adapter
939
+ // is the one that wires test seams like an in-memory DB.
940
+ if (_hasAdapter()) {
941
+ ctx.adapter = getAdapter();
942
+ ctx.env = env;
943
+ return;
944
+ }
781
945
  const adapter = createWorkersAdapter(env);
782
946
  if (dbOverride) {
783
947
  // Replace just the db field; pubsub/storage/schedule keep their