@gravito/ripple 4.0.1 → 4.0.3

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 (209) hide show
  1. package/README.md +26 -10
  2. package/dist/{ripple/src/OrbitRipple.d.ts → OrbitRipple.d.ts} +1 -0
  3. package/dist/{ripple/src/RippleServer.d.ts → RippleServer.d.ts} +32 -1
  4. package/dist/core/src/Application.d.ts +41 -0
  5. package/dist/core/src/HookManager.d.ts +33 -189
  6. package/dist/core/src/PlanetCore.d.ts +25 -1
  7. package/dist/core/src/Router.d.ts +32 -46
  8. package/dist/core/src/adapters/bun/BunContext.d.ts +6 -1
  9. package/dist/core/src/adapters/bun/BunNativeAdapter.d.ts +35 -0
  10. package/dist/core/src/adapters/bun/BunWebSocketHandler.d.ts +48 -0
  11. package/dist/core/src/adapters/bun/RadixRouter.d.ts +1 -0
  12. package/dist/core/src/adapters/bun/index.d.ts +7 -0
  13. package/dist/core/src/binary/BinaryUtils.d.ts +105 -0
  14. package/dist/core/src/binary/index.d.ts +5 -0
  15. package/dist/core/src/compat/async-local-storage.d.ts +7 -0
  16. package/dist/core/src/compat/crypto.d.ts +6 -0
  17. package/dist/core/src/engine/AOTRouter.d.ts +10 -0
  18. package/dist/core/src/engine/FastContext.d.ts +19 -1
  19. package/dist/core/src/engine/Gravito.d.ts +13 -18
  20. package/dist/core/src/engine/MinimalContext.d.ts +2 -0
  21. package/dist/core/src/engine/analyzer.d.ts +92 -6
  22. package/dist/core/src/engine/types.d.ts +3 -0
  23. package/dist/core/src/events/EventPriorityQueue.d.ts +18 -256
  24. package/dist/core/src/events/index.d.ts +12 -11
  25. package/dist/core/src/events/queue-core.d.ts +77 -0
  26. package/dist/core/src/events/task-executor.d.ts +51 -0
  27. package/dist/core/src/ffi/NativeAccelerator.d.ts +62 -0
  28. package/dist/core/src/ffi/NativeHasher.d.ts +139 -0
  29. package/dist/core/src/ffi/cbor-fallback.d.ts +96 -0
  30. package/dist/core/src/ffi/hash-fallback.d.ts +33 -0
  31. package/dist/core/src/ffi/index.d.ts +10 -0
  32. package/dist/core/src/ffi/types.d.ts +135 -0
  33. package/dist/core/src/helpers/Str.d.ts +15 -0
  34. package/dist/core/src/hooks/ActionManager.d.ts +132 -0
  35. package/dist/core/src/hooks/AsyncDetector.d.ts +84 -0
  36. package/dist/core/src/hooks/FilterManager.d.ts +71 -0
  37. package/dist/core/src/hooks/MigrationWarner.d.ts +24 -0
  38. package/dist/core/src/hooks/dlq-operations.d.ts +60 -0
  39. package/dist/core/src/hooks/types.d.ts +107 -0
  40. package/dist/core/src/http/CookieJar.d.ts +2 -2
  41. package/dist/core/src/http/types.d.ts +24 -3
  42. package/dist/core/src/index.d.ts +491 -14
  43. package/dist/core/src/observability/contracts.d.ts +137 -0
  44. package/dist/core/src/reliability/DeadLetterQueueManager.d.ts +2 -3
  45. package/dist/core/src/runtime/adapter-bun.d.ts +12 -0
  46. package/dist/core/src/runtime/adapter-deno.d.ts +12 -0
  47. package/dist/core/src/runtime/adapter-node.d.ts +12 -0
  48. package/dist/core/src/runtime/adapter-unknown.d.ts +13 -0
  49. package/dist/core/src/runtime/archive.d.ts +17 -0
  50. package/dist/core/src/runtime/compression.d.ts +21 -0
  51. package/dist/core/src/runtime/deep-equals.d.ts +56 -0
  52. package/dist/core/src/runtime/detection.d.ts +22 -0
  53. package/dist/core/src/runtime/escape.d.ts +34 -0
  54. package/dist/core/src/runtime/index.d.ts +44 -0
  55. package/dist/core/src/runtime/markdown.d.ts +44 -0
  56. package/dist/core/src/runtime/types.d.ts +436 -0
  57. package/dist/core/src/runtime-helpers.d.ts +67 -0
  58. package/dist/core/src/runtime.d.ts +10 -118
  59. package/dist/core/src/testing/HttpTester.d.ts +1 -0
  60. package/dist/core/src/transpiler-utils.d.ts +170 -0
  61. package/dist/{ripple/src/engines → engines}/BunEngine.d.ts +11 -0
  62. package/dist/index.js +1 -7502
  63. package/dist/index.js.map +3 -71
  64. package/package.json +6 -2
  65. package/dist/atlas/src/DB.d.ts +0 -348
  66. package/dist/atlas/src/OrbitAtlas.d.ts +0 -9
  67. package/dist/atlas/src/config/defineConfig.d.ts +0 -14
  68. package/dist/atlas/src/config/index.d.ts +0 -7
  69. package/dist/atlas/src/config/loadConfig.d.ts +0 -41
  70. package/dist/atlas/src/connection/Connection.d.ts +0 -112
  71. package/dist/atlas/src/connection/ConnectionManager.d.ts +0 -180
  72. package/dist/atlas/src/connection/ReplicaConnectionPool.d.ts +0 -54
  73. package/dist/atlas/src/drivers/BunSQLDriver.d.ts +0 -32
  74. package/dist/atlas/src/drivers/BunSQLPreparedStatement.d.ts +0 -118
  75. package/dist/atlas/src/drivers/MongoDBDriver.d.ts +0 -36
  76. package/dist/atlas/src/drivers/MySQLDriver.d.ts +0 -79
  77. package/dist/atlas/src/drivers/PostgresDriver.d.ts +0 -96
  78. package/dist/atlas/src/drivers/RedisDriver.d.ts +0 -43
  79. package/dist/atlas/src/drivers/SQLiteDriver.d.ts +0 -45
  80. package/dist/atlas/src/drivers/types.d.ts +0 -260
  81. package/dist/atlas/src/errors/index.d.ts +0 -45
  82. package/dist/atlas/src/grammar/Grammar.d.ts +0 -342
  83. package/dist/atlas/src/grammar/MongoGrammar.d.ts +0 -47
  84. package/dist/atlas/src/grammar/MySQLGrammar.d.ts +0 -54
  85. package/dist/atlas/src/grammar/NullGrammar.d.ts +0 -35
  86. package/dist/atlas/src/grammar/PostgresGrammar.d.ts +0 -62
  87. package/dist/atlas/src/grammar/SQLiteGrammar.d.ts +0 -32
  88. package/dist/atlas/src/index.d.ts +0 -79
  89. package/dist/atlas/src/migration/Migration.d.ts +0 -64
  90. package/dist/atlas/src/migration/MigrationRepository.d.ts +0 -65
  91. package/dist/atlas/src/migration/Migrator.d.ts +0 -110
  92. package/dist/atlas/src/migration/index.d.ts +0 -6
  93. package/dist/atlas/src/observability/AtlasMetrics.d.ts +0 -33
  94. package/dist/atlas/src/observability/AtlasObservability.d.ts +0 -15
  95. package/dist/atlas/src/observability/AtlasTracer.d.ts +0 -12
  96. package/dist/atlas/src/observability/index.d.ts +0 -9
  97. package/dist/atlas/src/orm/Repository.d.ts +0 -247
  98. package/dist/atlas/src/orm/index.d.ts +0 -6
  99. package/dist/atlas/src/orm/model/DirtyTracker.d.ts +0 -121
  100. package/dist/atlas/src/orm/model/Model.d.ts +0 -458
  101. package/dist/atlas/src/orm/model/ModelRegistry.d.ts +0 -20
  102. package/dist/atlas/src/orm/model/concerns/HasAttributes.d.ts +0 -150
  103. package/dist/atlas/src/orm/model/concerns/HasEvents.d.ts +0 -36
  104. package/dist/atlas/src/orm/model/concerns/HasPersistence.d.ts +0 -92
  105. package/dist/atlas/src/orm/model/concerns/HasRelationships.d.ts +0 -117
  106. package/dist/atlas/src/orm/model/concerns/HasSerialization.d.ts +0 -64
  107. package/dist/atlas/src/orm/model/concerns/applyMixins.d.ts +0 -15
  108. package/dist/atlas/src/orm/model/concerns/index.d.ts +0 -12
  109. package/dist/atlas/src/orm/model/decorators.d.ts +0 -138
  110. package/dist/atlas/src/orm/model/errors.d.ts +0 -52
  111. package/dist/atlas/src/orm/model/index.d.ts +0 -10
  112. package/dist/atlas/src/orm/model/relationships.d.ts +0 -207
  113. package/dist/atlas/src/orm/model/types.d.ts +0 -12
  114. package/dist/atlas/src/orm/schema/SchemaRegistry.d.ts +0 -124
  115. package/dist/atlas/src/orm/schema/SchemaSniffer.d.ts +0 -54
  116. package/dist/atlas/src/orm/schema/index.d.ts +0 -6
  117. package/dist/atlas/src/orm/schema/types.d.ts +0 -85
  118. package/dist/atlas/src/pool/AdaptivePoolManager.d.ts +0 -98
  119. package/dist/atlas/src/pool/PoolHealthChecker.d.ts +0 -91
  120. package/dist/atlas/src/pool/PoolStrategy.d.ts +0 -129
  121. package/dist/atlas/src/pool/PoolWarmer.d.ts +0 -92
  122. package/dist/atlas/src/query/Expression.d.ts +0 -60
  123. package/dist/atlas/src/query/NPlusOneDetector.d.ts +0 -10
  124. package/dist/atlas/src/query/QueryBuilder.d.ts +0 -643
  125. package/dist/atlas/src/query/RelationshipResolver.d.ts +0 -23
  126. package/dist/atlas/src/query/clauses/GroupByClause.d.ts +0 -51
  127. package/dist/atlas/src/query/clauses/HavingClause.d.ts +0 -70
  128. package/dist/atlas/src/query/clauses/JoinClause.d.ts +0 -87
  129. package/dist/atlas/src/query/clauses/LimitClause.d.ts +0 -82
  130. package/dist/atlas/src/query/clauses/OrderByClause.d.ts +0 -69
  131. package/dist/atlas/src/query/clauses/SelectClause.d.ts +0 -71
  132. package/dist/atlas/src/query/clauses/WhereClause.d.ts +0 -167
  133. package/dist/atlas/src/query/clauses/index.d.ts +0 -11
  134. package/dist/atlas/src/schema/Blueprint.d.ts +0 -276
  135. package/dist/atlas/src/schema/ColumnDefinition.d.ts +0 -154
  136. package/dist/atlas/src/schema/ForeignKeyDefinition.d.ts +0 -37
  137. package/dist/atlas/src/schema/MigrationGenerator.d.ts +0 -45
  138. package/dist/atlas/src/schema/Schema.d.ts +0 -131
  139. package/dist/atlas/src/schema/SchemaDiff.d.ts +0 -73
  140. package/dist/atlas/src/schema/TypeGenerator.d.ts +0 -57
  141. package/dist/atlas/src/schema/TypeWriter.d.ts +0 -42
  142. package/dist/atlas/src/schema/grammars/MySQLSchemaGrammar.d.ts +0 -23
  143. package/dist/atlas/src/schema/grammars/PostgresSchemaGrammar.d.ts +0 -26
  144. package/dist/atlas/src/schema/grammars/SQLiteSchemaGrammar.d.ts +0 -28
  145. package/dist/atlas/src/schema/grammars/SchemaGrammar.d.ts +0 -97
  146. package/dist/atlas/src/schema/grammars/index.d.ts +0 -7
  147. package/dist/atlas/src/schema/index.d.ts +0 -8
  148. package/dist/atlas/src/seed/Factory.d.ts +0 -90
  149. package/dist/atlas/src/seed/Seeder.d.ts +0 -28
  150. package/dist/atlas/src/seed/SeederRunner.d.ts +0 -74
  151. package/dist/atlas/src/seed/index.d.ts +0 -6
  152. package/dist/atlas/src/sharding/ShardingManager.d.ts +0 -59
  153. package/dist/atlas/src/types/index.d.ts +0 -1182
  154. package/dist/atlas/src/utils/CursorEncoding.d.ts +0 -63
  155. package/dist/atlas/src/utils/levenshtein.d.ts +0 -9
  156. package/dist/core/src/adapters/PhotonAdapter.d.ts +0 -175
  157. package/dist/core/src/adapters/photon-types.d.ts +0 -73
  158. package/dist/core/src/http/middleware/BodySizeLimit.d.ts +0 -16
  159. package/dist/core/src/http/middleware/Cors.d.ts +0 -24
  160. package/dist/core/src/http/middleware/Csrf.d.ts +0 -23
  161. package/dist/core/src/http/middleware/HeaderTokenGate.d.ts +0 -28
  162. package/dist/core/src/http/middleware/SecurityHeaders.d.ts +0 -29
  163. package/dist/core/src/http/middleware/ThrottleRequests.d.ts +0 -18
  164. package/dist/core/src/instrumentation/index.d.ts +0 -35
  165. package/dist/core/src/instrumentation/opentelemetry.d.ts +0 -178
  166. package/dist/core/src/instrumentation/types.d.ts +0 -182
  167. package/dist/core/src/observability/Metrics.d.ts +0 -244
  168. package/dist/photon/src/index.d.ts +0 -89
  169. package/dist/photon/src/middleware/binary.d.ts +0 -31
  170. package/dist/photon/src/middleware/htmx.d.ts +0 -39
  171. package/dist/photon/src/middleware/ratelimit-redis.d.ts +0 -50
  172. package/dist/photon/src/middleware/ratelimit.d.ts +0 -161
  173. package/dist/photon/src/openapi.d.ts +0 -19
  174. /package/dist/{ripple/src/channels → channels}/Channel.d.ts +0 -0
  175. /package/dist/{ripple/src/channels → channels}/ChannelManager.d.ts +0 -0
  176. /package/dist/{ripple/src/channels → channels}/index.d.ts +0 -0
  177. /package/dist/{ripple/src/drivers → drivers}/LocalDriver.d.ts +0 -0
  178. /package/dist/{ripple/src/drivers → drivers}/NATSDriver.d.ts +0 -0
  179. /package/dist/{ripple/src/drivers → drivers}/RedisDriver.d.ts +0 -0
  180. /package/dist/{ripple/src/drivers → drivers}/index.d.ts +0 -0
  181. /package/dist/{ripple/src/engines → engines}/IRippleEngine.d.ts +0 -0
  182. /package/dist/{ripple/src/engines → engines}/UWebSocketsEngine.d.ts +0 -0
  183. /package/dist/{ripple/src/engines → engines}/WsEngine.d.ts +0 -0
  184. /package/dist/{ripple/src/engines → engines}/index.d.ts +0 -0
  185. /package/dist/{ripple/src/errors → errors}/RippleError.d.ts +0 -0
  186. /package/dist/{ripple/src/errors → errors}/index.d.ts +0 -0
  187. /package/dist/{ripple/src/events → events}/BroadcastEvent.d.ts +0 -0
  188. /package/dist/{ripple/src/events → events}/BroadcastManager.d.ts +0 -0
  189. /package/dist/{ripple/src/events → events}/Broadcaster.d.ts +0 -0
  190. /package/dist/{ripple/src/events → events}/index.d.ts +0 -0
  191. /package/dist/{ripple/src/health → health}/HealthChecker.d.ts +0 -0
  192. /package/dist/{ripple/src/health → health}/index.d.ts +0 -0
  193. /package/dist/{ripple/src/index.d.ts → index.d.ts} +0 -0
  194. /package/dist/{ripple/src/logging → logging}/Logger.d.ts +0 -0
  195. /package/dist/{ripple/src/logging → logging}/index.d.ts +0 -0
  196. /package/dist/{ripple/src/middleware → middleware}/InterceptorManager.d.ts +0 -0
  197. /package/dist/{ripple/src/observability → observability}/RippleMetrics.d.ts +0 -0
  198. /package/dist/{ripple/src/reliability → reliability}/AckManager.d.ts +0 -0
  199. /package/dist/{ripple/src/serializers → serializers}/ISerializer.d.ts +0 -0
  200. /package/dist/{ripple/src/serializers → serializers}/JsonSerializer.d.ts +0 -0
  201. /package/dist/{ripple/src/serializers → serializers}/ProtobufSerializer.d.ts +0 -0
  202. /package/dist/{ripple/src/serializers → serializers}/index.d.ts +0 -0
  203. /package/dist/{ripple/src/tracking → tracking}/ConnectionTracker.d.ts +0 -0
  204. /package/dist/{ripple/src/tracking → tracking}/SessionManager.d.ts +0 -0
  205. /package/dist/{ripple/src/tracking → tracking}/index.d.ts +0 -0
  206. /package/dist/{ripple/src/types.d.ts → types.d.ts} +0 -0
  207. /package/dist/{ripple/src/utils → utils}/MessageSerializer.d.ts +0 -0
  208. /package/dist/{ripple/src/utils → utils}/TokenBucket.d.ts +0 -0
  209. /package/dist/{ripple/src/utils → utils}/index.d.ts +0 -0
@@ -0,0 +1,107 @@
1
+ import type { CircuitBreakerOptions } from '../events/CircuitBreaker';
2
+ import type { EventBackend } from '../events/EventBackend';
3
+ import type { EventQueueConfig } from '../events/EventPriorityQueue';
4
+ /**
5
+ * Callback function for filters (transforms values).
6
+ * @public
7
+ */
8
+ export type FilterCallback<T = unknown> = (value: T, ...args: unknown[]) => Promise<T> | T;
9
+ /**
10
+ * Callback function for actions (side effects).
11
+ * @public
12
+ */
13
+ export type ActionCallback<TArgs = unknown> = (args: TArgs) => Promise<void> | void;
14
+ /**
15
+ * Options for listener registration.
16
+ * @public
17
+ */
18
+ export interface ListenerOptions {
19
+ /**
20
+ * Explicitly specify the listener type.
21
+ * - 'sync': Force synchronous dispatch for this listener
22
+ * - 'async': Force asynchronous dispatch for this listener
23
+ * - 'auto': Auto-detect based on function signature (default)
24
+ * @default 'auto'
25
+ */
26
+ type?: 'sync' | 'async' | 'auto';
27
+ /**
28
+ * Circuit breaker configuration for this listener.
29
+ */
30
+ circuitBreaker?: CircuitBreakerOptions;
31
+ }
32
+ /**
33
+ * Information about a registered listener.
34
+ * @public
35
+ */
36
+ export interface ListenerInfo {
37
+ /**
38
+ * The callback function.
39
+ */
40
+ callback: ActionCallback;
41
+ /**
42
+ * Whether the listener is considered async.
43
+ */
44
+ isAsync: boolean;
45
+ /**
46
+ * The explicit type override, if any.
47
+ */
48
+ typeOverride?: 'sync' | 'async' | 'auto';
49
+ }
50
+ /**
51
+ * Configuration for HookManager.
52
+ * @public
53
+ */
54
+ export interface HookManagerConfig {
55
+ /**
56
+ * Enable async event dispatch by default.
57
+ * When true, doAction() will automatically use async dispatch if any listener is async.
58
+ * @default false
59
+ */
60
+ asyncByDefault?: boolean;
61
+ /**
62
+ * Migration mode for backward compatibility.
63
+ * - 'sync': All events use synchronous dispatch (legacy mode)
64
+ * - 'hybrid': Auto-detect and use async for async listeners (recommended)
65
+ * - 'async': All events use async dispatch (future mode)
66
+ * @default 'sync'
67
+ */
68
+ migrationMode?: 'sync' | 'hybrid' | 'async';
69
+ /**
70
+ * Enable deprecation warnings for synchronous event dispatch.
71
+ * @default false
72
+ */
73
+ showDeprecationWarnings?: boolean;
74
+ /**
75
+ * Enable Dead Letter Queue for failed events.
76
+ * @default true
77
+ */
78
+ enableDLQ?: boolean;
79
+ /**
80
+ * Configuration for the event priority queue (Backpressure).
81
+ */
82
+ queue?: EventQueueConfig;
83
+ /**
84
+ * Custom event backend for distributed processing.
85
+ */
86
+ backend?: EventBackend;
87
+ /**
88
+ * Database connection for persistent DLQ (optional).
89
+ * If provided, failed events after max retries will be persisted to database.
90
+ */
91
+ db?: any;
92
+ /**
93
+ * Enable persistent DLQ for failed events (requires db).
94
+ * @default false
95
+ */
96
+ enablePersistentDLQ?: boolean;
97
+ /**
98
+ * Message Queue Bridge for distributed event processing via Bull Queue.
99
+ * When provided, enables dispatchQueued() method for routing events to Redis-backed queue.
100
+ */
101
+ messageQueueBridge?: any;
102
+ /**
103
+ * Event aggregation configuration (FS-102).
104
+ * Enables deduplication and micro-batching for improved throughput.
105
+ */
106
+ aggregation?: any;
107
+ }
@@ -23,7 +23,7 @@ export declare class CookieJar {
23
23
  private queued;
24
24
  constructor(encrypter?: Encrypter | undefined);
25
25
  /**
26
- * Parse cookies from a Cookie header string
26
+ * Parse cookies from a Cookie header string using Bun's native CookieMap
27
27
  * @param header - The Cookie header value
28
28
  * @returns Parsed cookies as key-value pairs
29
29
  */
@@ -41,7 +41,7 @@ export declare class CookieJar {
41
41
  */
42
42
  forget(name: string, options?: CookieOptions): void;
43
43
  /**
44
- * Serialize a cookie to a Set-Cookie header value
44
+ * Serialize a cookie to a Set-Cookie header value using Bun's native Cookie API
45
45
  */
46
46
  private serializeCookie;
47
47
  /**
@@ -106,6 +106,11 @@ export interface GravitoRequest {
106
106
  * ```
107
107
  */
108
108
  readonly routePattern?: string;
109
+ /**
110
+ * Alias for routePattern (for Hono/Express compatibility)
111
+ * @deprecated Use `routePattern` instead
112
+ */
113
+ readonly routePath?: string;
109
114
  /**
110
115
  * Get a route parameter value
111
116
  * @param name - Parameter name (e.g., 'id' for route '/users/:id')
@@ -164,6 +169,12 @@ export interface GravitoRequest {
164
169
  * @throws {Error} If validation was not performed for this target
165
170
  */
166
171
  valid<T = unknown>(target: ValidationTarget): T;
172
+ /**
173
+ * Store validated data for a specific source
174
+ * @param target - The validation target
175
+ * @param data - The validated data to store
176
+ */
177
+ setValidated(target: ValidationTarget, data: unknown): void;
167
178
  }
168
179
  /**
169
180
  * Options for request forwarding (Proxy)
@@ -199,6 +210,17 @@ export interface ProxyOptions {
199
210
  export interface GravitoContext<V extends GravitoVariables = GravitoVariables> {
200
211
  /** The incoming request */
201
212
  readonly req: GravitoRequest;
213
+ /**
214
+ * The response object (for middleware introspection).
215
+ * Middleware can read response headers and status, or mutate the response.
216
+ *
217
+ * @remarks
218
+ * This property is mutable, allowing middleware to replace the response object.
219
+ * Example: `c.res = new Response(...)`
220
+ *
221
+ * May be undefined until a handler creates a response.
222
+ */
223
+ res?: Response;
202
224
  /**
203
225
  * Send a JSON response
204
226
  * @param data - Data to serialize as JSON
@@ -335,7 +357,7 @@ export interface GravitoContext<V extends GravitoVariables = GravitoVariables> {
335
357
  /**
336
358
  * Next function for middleware chain
337
359
  */
338
- export type GravitoNext = () => Promise<Response | undefined>;
360
+ export type GravitoNext = () => Promise<void>;
339
361
  /**
340
362
  * GravitoHandler - Standard route handler type
341
363
  *
@@ -359,11 +381,10 @@ export type GravitoHandler<V extends GravitoVariables = GravitoVariables> = (ctx
359
381
  * const logger: GravitoMiddleware = async (ctx, next) => {
360
382
  * console.log(`${ctx.req.method} ${ctx.req.path}`)
361
383
  * await next()
362
- * return undefined
363
384
  * }
364
385
  * ```
365
386
  */
366
- export type GravitoMiddleware<V extends GravitoVariables = GravitoVariables> = (ctx: GravitoContext<V>, next: GravitoNext) => Response | undefined | Promise<Response | undefined | undefined>;
387
+ export type GravitoMiddleware<V extends GravitoVariables = GravitoVariables> = (ctx: GravitoContext<V>, next: GravitoNext) => Response | void | Promise<Response | void>;
367
388
  /**
368
389
  * Error handler type
369
390
  */