spacetimedb 2.3.0 → 2.4.0

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 (59) hide show
  1. package/LICENSE.txt +2 -2
  2. package/dist/index.browser.mjs +50 -4
  3. package/dist/index.browser.mjs.map +1 -1
  4. package/dist/index.cjs +50 -4
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.mjs +50 -4
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/lib/autogen/types.d.ts +674 -18
  9. package/dist/lib/autogen/types.d.ts.map +1 -1
  10. package/dist/lib/schema.d.ts.map +1 -1
  11. package/dist/min/index.browser.mjs +1 -1
  12. package/dist/min/index.browser.mjs.map +1 -1
  13. package/dist/min/sdk/index.browser.mjs +1 -1
  14. package/dist/min/sdk/index.browser.mjs.map +1 -1
  15. package/dist/sdk/decompress.d.ts.map +1 -1
  16. package/dist/sdk/index.browser.mjs +50 -4
  17. package/dist/sdk/index.browser.mjs.map +1 -1
  18. package/dist/sdk/index.cjs +50 -4
  19. package/dist/sdk/index.cjs.map +1 -1
  20. package/dist/sdk/index.mjs +50 -4
  21. package/dist/sdk/index.mjs.map +1 -1
  22. package/dist/server/http.d.ts +1 -2
  23. package/dist/server/http.d.ts.map +1 -1
  24. package/dist/server/http.test-d.d.ts +2 -0
  25. package/dist/server/http.test-d.d.ts.map +1 -0
  26. package/dist/server/http_handlers.d.ts +82 -0
  27. package/dist/server/http_handlers.d.ts.map +1 -0
  28. package/dist/server/http_internal.d.ts +1 -32
  29. package/dist/server/http_internal.d.ts.map +1 -1
  30. package/dist/server/http_shared.d.ts +44 -0
  31. package/dist/server/http_shared.d.ts.map +1 -0
  32. package/dist/server/index.d.ts +2 -0
  33. package/dist/server/index.d.ts.map +1 -1
  34. package/dist/server/index.mjs +582 -134
  35. package/dist/server/index.mjs.map +1 -1
  36. package/dist/server/runtime.d.ts +1 -0
  37. package/dist/server/runtime.d.ts.map +1 -1
  38. package/dist/server/schema.d.ts +16 -1
  39. package/dist/server/schema.d.ts.map +1 -1
  40. package/dist/server/views.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/lib/autogen/types.ts +29 -0
  43. package/src/lib/schema.ts +14 -0
  44. package/src/sdk/decompress.ts +19 -4
  45. package/src/sdk/logger.ts +1 -1
  46. package/src/server/http.test-d.ts +80 -0
  47. package/src/server/http.ts +14 -2
  48. package/src/server/http_handlers.ts +413 -0
  49. package/src/server/http_internal.ts +15 -142
  50. package/src/server/http_shared.ts +186 -0
  51. package/src/server/index.ts +11 -0
  52. package/src/server/procedures.ts +8 -30
  53. package/src/server/runtime.ts +137 -1
  54. package/src/server/schema.ts +71 -2
  55. package/src/server/sys.d.ts +7 -0
  56. package/src/server/views.ts +1 -0
  57. package/dist/lib/http_types.d.ts +0 -2
  58. package/dist/lib/http_types.d.ts.map +0 -1
  59. package/src/lib/http_types.ts +0 -8
@@ -82,5 +82,6 @@ export declare const ReducerCtxImpl: {
82
82
  * be the root of the call stack.
83
83
  */
84
84
  export declare const callUserFunction: <Args extends any[], R>(fn: (...args: Args) => R, ...args: Args) => R;
85
+ export declare function runWithTx<T, Ctx>(makeCtx: (timestamp: Timestamp) => Ctx, body: (ctx: Ctx) => T): T;
85
86
  export declare const makeHooks: (schema: SchemaInner) => ModuleHooks;
86
87
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAY3E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAWnC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,eAAO,MAAM,GAAG;oCA0DmB,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CA1DgB,CAAC;AAExD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAexD;AAsHD,eAAO,MAAM,cAAc;SACzB,SAAS,SAAS,gBAAgB,UAaxB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI,UACzB,MAAM,CAAC,GAAG,CAAC;gCAbV,QAAQ,GAAG,SAAS;;;;;;mCAEjB;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;8BAClC,MAAM,GAAG,SAAS;gBACnB,QAAQ;mBACL,SAAS;sBACN,YAAY,GAAG,IAAI;YAC7B,MAAM,CAAC,SAAS,CAAC;;;;;;;;;QAgDrB;;WAEG;qBACU,IAAI;QAKjB;;;WAGG;qBACU,IAAI;;IA7CjB,8DAA8D;cAExD,YAAY,gBAAa,UACrB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI;CA6CpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,SAAS,GAAG,EAAE,EAClB,CAAC,EACD,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,KAAG,CAE3C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,QAAQ,WAAW,KAAG,WACnB,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAY3E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAuBnC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C,eAAO,MAAM,GAAG;oCAmD2B,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CAnDQ,CAAC;AAsBxD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAexD;AAsHD,eAAO,MAAM,cAAc;SACzB,SAAS,SAAS,gBAAgB,UAaxB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI,UACzB,MAAM,CAAC,GAAG,CAAC;gCAbV,QAAQ,GAAG,SAAS;;;;;;mCAEjB;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;8BAClC,MAAM,GAAG,SAAS;gBACnB,QAAQ;mBACL,SAAS;sBACN,YAAY,GAAG,IAAI;YAC7B,MAAM,CAAC,SAAS,CAAC;;;;;;;;;QAgDrB;;WAEG;qBACU,IAAI;QAKjB;;;WAGG;qBACU,IAAI;;IA7CjB,8DAA8D;cAExD,YAAY,gBAAa,UACrB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI;CA6CpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,SAAS,GAAG,EAAE,EAClB,CAAC,EACD,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,KAAG,CAE3C,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAC9B,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,GAAG,EACtC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GACpB,CAAC,CA2BH;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,WAAW,KAAG,WACnB,CAAC"}
@@ -1,32 +1,44 @@
1
1
  import { moduleHooks, type ModuleDefaultExport } from 'spacetime:sys@2.0';
2
- import { CaseConversionPolicy } from '../lib/autogen/types';
2
+ import { CaseConversionPolicy, type MethodOrAny } from '../lib/autogen/types';
3
3
  import { type ParamsObj, type Reducer } from '../lib/reducers';
4
4
  import { ModuleContext, type TablesToSchema, type UntypedSchemaDef } from '../lib/schema';
5
5
  import type { UntypedTableSchema } from '../lib/table_schema';
6
6
  import { TypeBuilder } from '../lib/type_builders';
7
+ import { Router, type HandlerFn, type HttpHandlerExport, type HttpHandlerOpts } from './http_handlers';
7
8
  import { type ProcedureExport, type ProcedureFn, type ProcedureOpts, type Procedures } from './procedures';
8
9
  import { type ReducerExport, type ReducerOpts, type Reducers } from './reducers';
9
10
  import { type AnonViews, type AnonymousViewFn, type ViewExport, type ViewFn, type ViewOpts, type ViewReturnTypeBuilder, type Views } from './views';
10
11
  export declare class SchemaInner<S extends UntypedSchemaDef = UntypedSchemaDef> extends ModuleContext {
11
12
  schemaType: S;
12
13
  existingFunctions: Set<string>;
14
+ existingHttpHandlers: Set<string>;
13
15
  reducers: Reducers;
14
16
  procedures: Procedures;
15
17
  views: Views;
16
18
  anonViews: AnonViews;
19
+ httpHandlers: HandlerFn[];
17
20
  /**
18
21
  * Maps ReducerExport objects to the name of the reducer.
19
22
  * Used for resolving the reducers of scheduled tables.
20
23
  */
21
24
  functionExports: Map<ReducerExport<UntypedSchemaDef, any> | ProcedureExport<UntypedSchemaDef, any, any>, string>;
25
+ httpHandlerExports: Map<HttpHandlerExport<UntypedSchemaDef>, string>;
22
26
  pendingSchedules: PendingSchedule[];
27
+ pendingHttpRoutes: PendingHttpRoute[];
23
28
  constructor(getSchemaType: (ctx: SchemaInner<S>) => S);
24
29
  defineFunction(name: string): void;
30
+ defineHttpHandler(name: string): void;
25
31
  resolveSchedules(): void;
32
+ resolveHttpRoutes(): void;
26
33
  }
27
34
  type PendingSchedule = UntypedTableSchema['schedule'] & {
28
35
  tableName: string;
29
36
  };
37
+ type PendingHttpRoute = {
38
+ handler: HttpHandlerExport<UntypedSchemaDef>;
39
+ method: MethodOrAny;
40
+ path: string;
41
+ };
30
42
  /**
31
43
  * The Schema class represents the database schema for a SpacetimeDB application.
32
44
  * It encapsulates the table definitions and typespace, and provides methods to define
@@ -210,6 +222,9 @@ export declare class Schema<S extends UntypedSchemaDef> implements ModuleDefault
210
222
  procedure<Ret extends TypeBuilder<any, any>>(ret: Ret, fn: ProcedureFn<S, {}, Ret>): ProcedureFn<S, {}, Ret>;
211
223
  procedure<Params extends ParamsObj, Ret extends TypeBuilder<any, any>>(opts: ProcedureOpts, params: Params, ret: Ret, fn: ProcedureFn<S, Params, Ret>): ProcedureFn<S, Params, Ret>;
212
224
  procedure<Ret extends TypeBuilder<any, any>>(opts: ProcedureOpts, ret: Ret, fn: ProcedureFn<S, {}, Ret>): ProcedureFn<S, {}, Ret>;
225
+ httpHandler(fn: HandlerFn<S>): HttpHandlerExport<S>;
226
+ httpHandler(opts: HttpHandlerOpts, fn: HandlerFn<S>): HttpHandlerExport<S>;
227
+ httpRouter(router: Router): ModuleExport;
213
228
  /**
214
229
  * Bundle multiple reducers, procedures, etc into one value to export.
215
230
  * The name they will be exported with is their corresponding key in the `exports` argument.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/server/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/server/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/server/views.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/server/views.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spacetimedb",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "API and ABI bindings for the SpacetimeDB TypeScript module library",
5
5
  "homepage": "https://github.com/clockworklabs/SpacetimeDB#readme",
6
6
  "bugs": {
@@ -158,6 +158,15 @@ export const Lifecycle = __t.enum('Lifecycle', {
158
158
  });
159
159
  export type Lifecycle = __Infer<typeof Lifecycle>;
160
160
 
161
+ // The tagged union or sum type for the algebraic type `MethodOrAny`.
162
+ export const MethodOrAny = __t.enum('MethodOrAny', {
163
+ Any: __t.unit(),
164
+ get Method() {
165
+ return HttpMethod;
166
+ },
167
+ });
168
+ export type MethodOrAny = __Infer<typeof MethodOrAny>;
169
+
161
170
  // The tagged union or sum type for the algebraic type `MiscModuleExport`.
162
171
  export const MiscModuleExport = __t.enum('MiscModuleExport', {
163
172
  get TypeAlias() {
@@ -239,6 +248,20 @@ export const RawConstraintDefV9 = __t.object('RawConstraintDefV9', {
239
248
  });
240
249
  export type RawConstraintDefV9 = __Infer<typeof RawConstraintDefV9>;
241
250
 
251
+ export const RawHttpHandlerDefV10 = __t.object('RawHttpHandlerDefV10', {
252
+ sourceName: __t.string(),
253
+ });
254
+ export type RawHttpHandlerDefV10 = __Infer<typeof RawHttpHandlerDefV10>;
255
+
256
+ export const RawHttpRouteDefV10 = __t.object('RawHttpRouteDefV10', {
257
+ handlerFunction: __t.string(),
258
+ get method() {
259
+ return MethodOrAny;
260
+ },
261
+ path: __t.string(),
262
+ });
263
+ export type RawHttpRouteDefV10 = __Infer<typeof RawHttpRouteDefV10>;
264
+
242
265
  // The tagged union or sum type for the algebraic type `RawIndexAlgorithm`.
243
266
  export const RawIndexAlgorithm = __t.enum('RawIndexAlgorithm', {
244
267
  BTree: __t.array(__t.u16()),
@@ -358,6 +381,12 @@ export const RawModuleDefV10Section = __t.enum('RawModuleDefV10Section', {
358
381
  get ExplicitNames() {
359
382
  return ExplicitNames;
360
383
  },
384
+ get HttpHandlers() {
385
+ return __t.array(RawHttpHandlerDefV10);
386
+ },
387
+ get HttpRoutes() {
388
+ return __t.array(RawHttpRouteDefV10);
389
+ },
361
390
  });
362
391
  export type RawModuleDefV10Section = __Infer<typeof RawModuleDefV10Section>;
363
392
 
package/src/lib/schema.ts CHANGED
@@ -195,6 +195,8 @@ export class ModuleContext {
195
195
  procedures: [],
196
196
  views: [],
197
197
  lifeCycleReducers: [],
198
+ httpHandlers: [],
199
+ httpRoutes: [],
198
200
  caseConversionPolicy: { tag: 'SnakeCase' },
199
201
  explicitNames: {
200
202
  entries: [],
@@ -227,6 +229,18 @@ export class ModuleContext {
227
229
  value: module.lifeCycleReducers,
228
230
  }
229
231
  );
232
+ push(
233
+ module.httpHandlers && {
234
+ tag: 'HttpHandlers',
235
+ value: module.httpHandlers,
236
+ }
237
+ );
238
+ push(
239
+ module.httpRoutes && {
240
+ tag: 'HttpRoutes',
241
+ value: module.httpRoutes,
242
+ }
243
+ );
230
244
  push(
231
245
  module.rowLevelSecurity && {
232
246
  tag: 'RowLevelSecurity',
@@ -28,9 +28,24 @@ export async function decompress(
28
28
  const decompressedStream = readableStream.pipeThrough(decompressionStream);
29
29
 
30
30
  // Collect the decompressed chunks efficiently
31
- const chunks = [];
32
- for await (const chunk of decompressedStream) {
33
- chunks.push(chunk);
31
+ const reader = decompressedStream.getReader();
32
+ const chunks: Uint8Array[] = [];
33
+ let totalLength = 0;
34
+ let result: any;
35
+
36
+ while (!(result = await reader.read()).done) {
37
+ chunks.push(result.value);
38
+ totalLength += result.value.length;
34
39
  }
35
- return new Blob(chunks).bytes();
40
+
41
+ // Allocate a single Uint8Array for the decompressed data
42
+ const decompressedArray = new Uint8Array(totalLength);
43
+ let chunkOffset = 0;
44
+
45
+ for (const chunk of chunks) {
46
+ decompressedArray.set(chunk, chunkOffset);
47
+ chunkOffset += chunk.length;
48
+ }
49
+
50
+ return decompressedArray;
36
51
  }
package/src/sdk/logger.ts CHANGED
@@ -73,7 +73,7 @@ const SENSITIVE_KEYS = new Set([
73
73
  ]);
74
74
 
75
75
  export const stringify = (value: unknown): string | undefined =>
76
- ssStringify(value, (key, current) => {
76
+ ssStringify(value, (key: string, current: unknown) => {
77
77
  if (SENSITIVE_KEYS.has(key)) {
78
78
  return '[REDACTED]';
79
79
  }
@@ -0,0 +1,80 @@
1
+ import { table } from '../lib/table';
2
+ import t from '../lib/type_builders';
3
+ import {
4
+ type HandlerContext,
5
+ Request,
6
+ SyncResponse,
7
+ Router,
8
+ schema,
9
+ } from './index';
10
+
11
+ const person = table(
12
+ {},
13
+ {
14
+ id: t.u32().primaryKey(),
15
+ name: t.string(),
16
+ }
17
+ );
18
+
19
+ const stdb = schema({ person });
20
+
21
+ const hello = stdb.httpHandler((ctx, req) => {
22
+ void ctx.identity;
23
+ void ctx.random;
24
+ req.text();
25
+ req.json();
26
+
27
+ ctx.withTx(tx => {
28
+ tx.db.person.insert({ id: 1, name: 'alice' });
29
+ });
30
+
31
+ return new SyncResponse('hello', {
32
+ headers: { 'content-type': 'text/plain' },
33
+ status: 200,
34
+ });
35
+ });
36
+
37
+ const _typedHello: (ctx: HandlerContext<any>, req: Request) => SyncResponse = (
38
+ ctx,
39
+ req
40
+ ) => {
41
+ void ctx.timestamp;
42
+ return new SyncResponse(req.text());
43
+ };
44
+
45
+ const named = stdb.httpHandler({ name: 'hello' }, (_ctx, _req) => {
46
+ return new SyncResponse('named');
47
+ });
48
+
49
+ const routes = stdb.httpRouter(
50
+ new Router()
51
+ .get('/hello', hello)
52
+ .get('/named', named)
53
+ .post('/hello-post', hello)
54
+ .nest('/api', new Router().any('/v1', hello))
55
+ .merge(new Router().get('', hello))
56
+ );
57
+
58
+ void routes;
59
+
60
+ // @ts-expect-error handlers must return SyncResponse
61
+ stdb.httpHandler((_ctx, _req) => 123);
62
+
63
+ // @ts-expect-error handlers must take HandlerContext as the first argument
64
+ stdb.httpHandler((_ctx: number, _req: Request) => new SyncResponse('bad'));
65
+
66
+ // @ts-expect-error handlers must take a Request as the second argument
67
+ stdb.httpHandler((_ctx, _req: number) => new SyncResponse('bad'));
68
+
69
+ stdb.httpHandler((ctx, req) => {
70
+ // @ts-expect-error HTTP handlers do not expose sender directly
71
+ void ctx.sender;
72
+ // @ts-expect-error HTTP handlers do not expose connectionId directly
73
+ void ctx.connectionId;
74
+ // @ts-expect-error HTTP handlers do not expose db directly
75
+ void ctx.db;
76
+ return new SyncResponse(req.text());
77
+ });
78
+
79
+ // @ts-expect-error routers must reference exported http handlers, not raw functions
80
+ new Router().get('/raw', (_ctx, _req) => new SyncResponse('bad'));
@@ -1,2 +1,14 @@
1
- export { Headers, SyncResponse } from './http_internal';
2
- export type { BodyInit, HeadersInit, ResponseInit } from './http_internal';
1
+ export {
2
+ type BodyInit,
3
+ type HeadersInit,
4
+ type RequestInit,
5
+ type ResponseInit,
6
+ Headers,
7
+ Request,
8
+ SyncResponse,
9
+ Router,
10
+ type HandlerContext,
11
+ type HandlerFn,
12
+ type HttpHandlerExport,
13
+ type HttpHandlerOpts,
14
+ } from './http_handlers';