@bitblit/ratchet-epsilon-common 4.0.353-alpha → 4.0.355-alpha

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 (160) hide show
  1. package/lib/index.mjs +1 -1
  2. package/lib/types.d.ts +1200 -0
  3. package/package.json +11 -11
  4. package/lib/background/background-dynamo-log-table-handler.d.ts +0 -11
  5. package/lib/background/background-entry.d.ts +0 -4
  6. package/lib/background/background-execution-event-type.d.ts +0 -8
  7. package/lib/background/background-execution-event.d.ts +0 -8
  8. package/lib/background/background-execution-listener.d.ts +0 -5
  9. package/lib/background/background-handler.d.ts +0 -29
  10. package/lib/background/background-http-adapter-handler.d.ts +0 -22
  11. package/lib/background/background-meta-response-internal.d.ts +0 -5
  12. package/lib/background/background-process-handling.d.ts +0 -5
  13. package/lib/background/background-process-log-table-entry.d.ts +0 -11
  14. package/lib/background/background-queue-response-internal.d.ts +0 -8
  15. package/lib/background/background-validator.d.ts +0 -17
  16. package/lib/background/epsilon-background-process-error.d.ts +0 -30
  17. package/lib/background/internal-background-entry.d.ts +0 -8
  18. package/lib/background/manager/abstract-background-manager.d.ts +0 -19
  19. package/lib/background/manager/aws-large-payload-s3-sqs-sns-background-manager.d.ts +0 -19
  20. package/lib/background/manager/aws-sqs-sns-background-manager.d.ts +0 -23
  21. package/lib/background/manager/background-manager-like.d.ts +0 -18
  22. package/lib/background/manager/background-manager.spec.d.ts +0 -1
  23. package/lib/background/manager/single-thread-local-background-manager.d.ts +0 -15
  24. package/lib/background/s3-background-transaction-logger.d.ts +0 -17
  25. package/lib/build/ratchet-epsilon-common-info.d.ts +0 -5
  26. package/lib/built-in/background/echo-processor.d.ts +0 -7
  27. package/lib/built-in/background/log-and-enqueue-echo-processor.d.ts +0 -6
  28. package/lib/built-in/background/log-message-background-error-processor.d.ts +0 -5
  29. package/lib/built-in/background/no-op-processor.d.ts +0 -6
  30. package/lib/built-in/background/retry-processor.d.ts +0 -16
  31. package/lib/built-in/background/sample-delay-processor.d.ts +0 -6
  32. package/lib/built-in/background/sample-input-validated-processor-data.d.ts +0 -4
  33. package/lib/built-in/background/sample-input-validated-processor.d.ts +0 -8
  34. package/lib/built-in/built-in-trace-id-generators.d.ts +0 -5
  35. package/lib/built-in/daemon/daemon-authorizer-function.d.ts +0 -5
  36. package/lib/built-in/daemon/daemon-config.d.ts +0 -8
  37. package/lib/built-in/daemon/daemon-group-selection-function.d.ts +0 -4
  38. package/lib/built-in/daemon/daemon-handler.d.ts +0 -16
  39. package/lib/built-in/daemon/daemon-process-state-list.d.ts +0 -5
  40. package/lib/built-in/http/apollo/apollo-util.d.ts +0 -10
  41. package/lib/built-in/http/apollo/default-epsilon-apollo-context.d.ts +0 -10
  42. package/lib/built-in/http/apollo/epsilon-apollo-cors-method.d.ts +0 -6
  43. package/lib/built-in/http/apollo/epsilon-lambda-apollo-context-function-argument.d.ts +0 -5
  44. package/lib/built-in/http/apollo/epsilon-lambda-apollo-options.d.ts +0 -10
  45. package/lib/built-in/http/apollo-filter.d.ts +0 -10
  46. package/lib/built-in/http/built-in-auth-filters.d.ts +0 -9
  47. package/lib/built-in/http/built-in-authorizers.d.ts +0 -8
  48. package/lib/built-in/http/built-in-filters.d.ts +0 -26
  49. package/lib/built-in/http/built-in-filters.spec.d.ts +0 -1
  50. package/lib/built-in/http/built-in-handlers.d.ts +0 -9
  51. package/lib/built-in/http/log-level-manipulation-filter.d.ts +0 -6
  52. package/lib/built-in/http/run-handler-as-filter.d.ts +0 -12
  53. package/lib/built-in/http/run-handler-as-filter.spec.d.ts +0 -1
  54. package/lib/cli/ratchet-cli-handler.d.ts +0 -6
  55. package/lib/cli/run-background-process-from-command-line.d.ts +0 -3
  56. package/lib/config/background/background-aws-config.d.ts +0 -7
  57. package/lib/config/background/background-config.d.ts +0 -14
  58. package/lib/config/background/background-error-processor.d.ts +0 -4
  59. package/lib/config/background/background-processor.d.ts +0 -6
  60. package/lib/config/background/background-transaction-log.d.ts +0 -8
  61. package/lib/config/background/background-transaction-logger.d.ts +0 -5
  62. package/lib/config/cron/abstract-cron-entry.d.ts +0 -12
  63. package/lib/config/cron/cron-background-entry.d.ts +0 -6
  64. package/lib/config/cron/cron-config.d.ts +0 -6
  65. package/lib/config/dynamo-db-config.d.ts +0 -5
  66. package/lib/config/epsilon-config.d.ts +0 -24
  67. package/lib/config/epsilon-lambda-event-handler.d.ts +0 -7
  68. package/lib/config/epsilon-logger-config.d.ts +0 -13
  69. package/lib/config/generic-aws-event-handler-function.d.ts +0 -3
  70. package/lib/config/http/authorizer-function.d.ts +0 -6
  71. package/lib/config/http/epsilon-authorization-context.d.ts +0 -5
  72. package/lib/config/http/extended-api-gateway-event.d.ts +0 -7
  73. package/lib/config/http/filter-chain-context.d.ts +0 -14
  74. package/lib/config/http/filter-function.d.ts +0 -4
  75. package/lib/config/http/handler-function.d.ts +0 -5
  76. package/lib/config/http/http-config.d.ts +0 -15
  77. package/lib/config/http/http-processing-config.d.ts +0 -11
  78. package/lib/config/http/mapped-http-processing-config.d.ts +0 -7
  79. package/lib/config/http/null-returned-object-handling.d.ts +0 -6
  80. package/lib/config/inter-api/inter-api-aws-config.d.ts +0 -5
  81. package/lib/config/inter-api/inter-api-config.d.ts +0 -6
  82. package/lib/config/inter-api/inter-api-process-mapping.d.ts +0 -6
  83. package/lib/config/logging-trace-id-generator.d.ts +0 -4
  84. package/lib/config/no-handlers-found-error.d.ts +0 -3
  85. package/lib/config/open-api/open-api-document-components.d.ts +0 -4
  86. package/lib/config/open-api/open-api-document-path.d.ts +0 -2
  87. package/lib/config/open-api/open-api-document.d.ts +0 -6
  88. package/lib/config/s3-config.d.ts +0 -6
  89. package/lib/config/sns-config.d.ts +0 -5
  90. package/lib/config/sqs-config.d.ts +0 -5
  91. package/lib/epsilon-build-properties.d.ts +0 -9
  92. package/lib/epsilon-constants.d.ts +0 -16
  93. package/lib/epsilon-global-handler.d.ts +0 -20
  94. package/lib/epsilon-instance.d.ts +0 -14
  95. package/lib/epsilon-logging-extension-processor.d.ts +0 -6
  96. package/lib/http/auth/api-gateway-adapter-authentication-handler.d.ts +0 -8
  97. package/lib/http/auth/auth0-web-token-manipulator.d.ts +0 -13
  98. package/lib/http/auth/basic-auth-token.d.ts +0 -4
  99. package/lib/http/auth/google-web-token-manipulator.d.ts +0 -14
  100. package/lib/http/auth/google-web-token-manipulator.spec.d.ts +0 -1
  101. package/lib/http/auth/jwt-ratchet-local-web-token-manipulator.d.ts +0 -11
  102. package/lib/http/auth/local-web-token-manipulator.d.ts +0 -19
  103. package/lib/http/auth/local-web-token-manipulator.spec.d.ts +0 -1
  104. package/lib/http/auth/web-token-manipulator.d.ts +0 -4
  105. package/lib/http/error/bad-gateway.d.ts +0 -5
  106. package/lib/http/error/bad-request-error.d.ts +0 -5
  107. package/lib/http/error/conflict-error.d.ts +0 -5
  108. package/lib/http/error/forbidden-error.d.ts +0 -5
  109. package/lib/http/error/gateway-timeout.d.ts +0 -5
  110. package/lib/http/error/method-not-allowed-error.d.ts +0 -5
  111. package/lib/http/error/misconfigured-error.d.ts +0 -5
  112. package/lib/http/error/not-found-error.d.ts +0 -5
  113. package/lib/http/error/not-implemented.d.ts +0 -5
  114. package/lib/http/error/request-timeout-error.d.ts +0 -5
  115. package/lib/http/error/service-unavailable.d.ts +0 -5
  116. package/lib/http/error/too-many-requests-error.d.ts +0 -5
  117. package/lib/http/error/unauthorized-error.d.ts +0 -5
  118. package/lib/http/event-util.d.ts +0 -27
  119. package/lib/http/event-util.spec.d.ts +0 -1
  120. package/lib/http/response-util.d.ts +0 -11
  121. package/lib/http/response-util.spec.d.ts +0 -1
  122. package/lib/http/route/epsilon-router.d.ts +0 -8
  123. package/lib/http/route/extended-auth-response-context.d.ts +0 -6
  124. package/lib/http/route/route-mapping.d.ts +0 -12
  125. package/lib/http/route/route-validator-config.d.ts +0 -5
  126. package/lib/http/route/router-util.d.ts +0 -23
  127. package/lib/http/route/router-util.spec.d.ts +0 -1
  128. package/lib/http/web-handler.d.ts +0 -23
  129. package/lib/http/web-handler.spec.d.ts +0 -1
  130. package/lib/http/web-v2-handler.d.ts +0 -10
  131. package/lib/index.d.ts +0 -140
  132. package/lib/index.mjs.map +0 -1
  133. package/lib/inter-api/inter-api-entry.d.ts +0 -7
  134. package/lib/inter-api/inter-api-util.d.ts +0 -10
  135. package/lib/inter-api/inter-api-util.spec.d.ts +0 -1
  136. package/lib/inter-api-manager.d.ts +0 -14
  137. package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.d.ts +0 -14
  138. package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.spec.d.ts +0 -1
  139. package/lib/lambda-event-handler/dynamo-epsilon-lambda-event-handler.d.ts +0 -11
  140. package/lib/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.d.ts +0 -10
  141. package/lib/lambda-event-handler/generic-sqs-epsilon-lambda-event-handler.d.ts +0 -11
  142. package/lib/lambda-event-handler/inter-api-epsilon-lambda-event-handler.d.ts +0 -10
  143. package/lib/lambda-event-handler/s3-epsilon-lambda-event-handler.d.ts +0 -10
  144. package/lib/local-container-server.d.ts +0 -12
  145. package/lib/local-server-cert.d.ts +0 -5
  146. package/lib/local-server.d.ts +0 -22
  147. package/lib/local-server.spec.d.ts +0 -1
  148. package/lib/open-api-util/open-api-doc-modifications.d.ts +0 -8
  149. package/lib/open-api-util/open-api-doc-modifier.d.ts +0 -7
  150. package/lib/open-api-util/open-api-doc-modifier.spec.d.ts +0 -1
  151. package/lib/open-api-util/yaml-combiner.d.ts +0 -3
  152. package/lib/open-api-util/yaml-combiner.spec.d.ts +0 -1
  153. package/lib/sample/sample-server-components.d.ts +0 -10
  154. package/lib/sample/sample-server-static-files.d.ts +0 -5
  155. package/lib/sample/test-error-server.d.ts +0 -11
  156. package/lib/util/aws-util.d.ts +0 -8
  157. package/lib/util/context-util.d.ts +0 -34
  158. package/lib/util/cron-util.d.ts +0 -11
  159. package/lib/util/cron-util.spec.d.ts +0 -1
  160. package/lib/util/epsilon-config-parser.d.ts +0 -14
package/lib/types.d.ts ADDED
@@ -0,0 +1,1200 @@
1
+ import { APIGatewayEvent, Context, ProxyResult, DynamoDBStreamEvent, S3Event, SNSEvent, SQSEvent, APIGatewayEventRequestContext, AuthResponseContext, APIGatewayProxyEventV2, CustomAuthorizerEvent, Callback, ScheduledEvent, APIGatewayEventRequestContextV2, APIGatewayEventRequestContextWithAuthorizer } from 'aws-lambda';
2
+ import { LogMessageFormatType, LoggerLevelName, LoggerOptions, LogMessageProcessor, LogMessage, BuildInformation, JwtTokenBase, JwtRatchetLike, RestfulApiHttpError, JwtRatchet } from '@bitblit/ratchet-common';
3
+ import { ModelValidator } from '@bitblit/ratchet-misc';
4
+ import Route from 'route-parser';
5
+ import { Subject } from 'rxjs';
6
+ import { SNSClient } from '@aws-sdk/client-sns';
7
+ import { IncomingMessage, ServerResponse } from 'http';
8
+ import { DynamoRatchetLike, S3CacheRatchetLike, DaemonProcessState, DaemonLike } from '@bitblit/ratchet-aws';
9
+ import { S3Client } from '@aws-sdk/client-s3';
10
+ import { SQSClient, GetQueueAttributesCommandOutput } from '@aws-sdk/client-sqs';
11
+ import { BaseContext, ContextFunction, ApolloServer } from '@apollo/server';
12
+ import { AbstractRatchetCliHandler } from '@bitblit/ratchet-node-only';
13
+
14
+ declare class EpsilonBuildProperties {
15
+ private constructor();
16
+ static get buildVersion(): string;
17
+ static get buildHash(): string;
18
+ static get buildBranch(): string;
19
+ static get buildTag(): string;
20
+ static get buildBranchOrTag(): string;
21
+ static get buildTime(): string;
22
+ }
23
+
24
+ interface BackgroundEntry<T> {
25
+ type: string;
26
+ data: T;
27
+ }
28
+
29
+ interface EpsilonAuthorizationContext<T> {
30
+ raw: string;
31
+ auth: T;
32
+ error: string;
33
+ }
34
+
35
+ interface ExtendedAPIGatewayEvent extends APIGatewayEvent {
36
+ parsedBody: any;
37
+ authorization: EpsilonAuthorizationContext<any>;
38
+ convertedFromV2Event: boolean;
39
+ }
40
+
41
+ interface HandlerFunction<T> {
42
+ (event: ExtendedAPIGatewayEvent, context?: Context): Promise<T>;
43
+ }
44
+
45
+ interface RouteValidatorConfig {
46
+ modelName: string;
47
+ emptyAllowed: boolean;
48
+ extraPropertiesAllowed: boolean;
49
+ }
50
+
51
+ declare const NullReturnedObjectHandling: {
52
+ Error: string;
53
+ ConvertToEmptyString: string;
54
+ Return404NotFoundResponse: string;
55
+ };
56
+ type NullReturnedObjectHandling = (typeof NullReturnedObjectHandling)[keyof typeof NullReturnedObjectHandling];
57
+
58
+ interface EpsilonRouter {
59
+ routes: RouteMapping[];
60
+ openApiModelValidator: ModelValidator;
61
+ config: HttpConfig;
62
+ }
63
+
64
+ interface EpsilonLambdaEventHandler<T> {
65
+ handlesEvent(evt: any): boolean;
66
+ extractLabel(evt: T, context: Context): string;
67
+ processEvent(evt: T, context: Context): Promise<ProxyResult>;
68
+ processUncaughtError?(evt: T, context: Context, err: Error): Promise<ProxyResult>;
69
+ }
70
+
71
+ declare class WebHandler implements EpsilonLambdaEventHandler<APIGatewayEvent> {
72
+ private routerConfig;
73
+ static readonly MAXIMUM_LAMBDA_BODY_SIZE_BYTES: number;
74
+ constructor(routerConfig: EpsilonRouter);
75
+ get router(): EpsilonRouter;
76
+ extractLabel(evt: APIGatewayEvent, context: Context): string;
77
+ handlesEvent(evt: any): boolean;
78
+ processEvent(event: APIGatewayEvent, context: Context): Promise<ProxyResult>;
79
+ openApiLambdaHandler(evt: ExtendedAPIGatewayEvent, context: Context): Promise<ProxyResult>;
80
+ findBestMatchingRoute(event: APIGatewayEvent): RouteAndParse;
81
+ private cleanPath;
82
+ }
83
+ interface RouteAndParse {
84
+ mapping: RouteMapping;
85
+ route: Route;
86
+ parsed: any;
87
+ }
88
+
89
+ interface FilterChainContext {
90
+ event: ExtendedAPIGatewayEvent;
91
+ context: Context;
92
+ rawResult: any;
93
+ result: ProxyResult;
94
+ routeAndParse: RouteAndParse;
95
+ modelValidator: ModelValidator;
96
+ authenticators: Map<string, AuthorizerFunction>;
97
+ }
98
+
99
+ interface FilterFunction {
100
+ (fCtx: FilterChainContext): Promise<boolean>;
101
+ }
102
+
103
+ interface HttpProcessingConfig {
104
+ configName?: string;
105
+ timeoutMS: number;
106
+ overrideAuthorizerName?: string;
107
+ preFilters?: FilterFunction[];
108
+ postFilters?: FilterFunction[];
109
+ errorFilters?: FilterFunction[];
110
+ nullReturnedObjectHandling?: NullReturnedObjectHandling;
111
+ }
112
+
113
+ interface RouteMapping {
114
+ method: string;
115
+ path: string;
116
+ function: HandlerFunction<any>;
117
+ metaProcessingConfig: HttpProcessingConfig;
118
+ validation: RouteValidatorConfig;
119
+ outboundValidation: RouteValidatorConfig;
120
+ authorizerName: string;
121
+ }
122
+
123
+ interface AuthorizerFunction {
124
+ (authData: EpsilonAuthorizationContext<any>, event?: ExtendedAPIGatewayEvent, route?: RouteMapping): Promise<boolean>;
125
+ }
126
+
127
+ interface MappedHttpProcessingConfig {
128
+ methods?: string[];
129
+ pathRegex: string;
130
+ invertPathMatching?: boolean;
131
+ config: HttpProcessingConfig;
132
+ }
133
+
134
+ interface HttpConfig {
135
+ defaultMetaHandling: HttpProcessingConfig;
136
+ overrideMetaHandling?: MappedHttpProcessingConfig[];
137
+ handlers: Map<string, HandlerFunction<any>>;
138
+ authorizers?: Map<string, AuthorizerFunction>;
139
+ staticContentRoutes?: Record<string, string>;
140
+ prefixesToStripBeforeRouteMatch?: string[];
141
+ overrideModelValidator?: ModelValidator;
142
+ filterHandledRouteMatches?: string[];
143
+ }
144
+
145
+ interface InternalBackgroundEntry<T> extends BackgroundEntry<T> {
146
+ guid: string;
147
+ createdEpochMS: number;
148
+ traceId: string;
149
+ traceDepth: number;
150
+ meta?: Record<string, string>;
151
+ }
152
+
153
+ interface BackgroundManagerLike {
154
+ get backgroundManagerName(): string;
155
+ immediateProcessQueue?(): Subject<InternalBackgroundEntry<any>>;
156
+ createEntry<T>(type: string, data?: T): BackgroundEntry<T>;
157
+ wrapEntryForInternal<T>(entry: BackgroundEntry<T>, overrideTraceId?: string, overrideTraceDepth?: number): Promise<InternalBackgroundEntry<T>>;
158
+ addEntryToQueueByParts<T>(type: string, data?: T, fireStartMessage?: boolean): Promise<string>;
159
+ addEntryToQueue<T>(entry: BackgroundEntry<T>, fireStartMessage?: boolean): Promise<string>;
160
+ addEntriesToQueue(entries: BackgroundEntry<any>[], fireStartMessage?: boolean): Promise<string[]>;
161
+ fireImmediateProcessRequestByParts<T>(type: string, data?: T): Promise<string>;
162
+ fireImmediateProcessRequest<T>(entry: BackgroundEntry<T>): Promise<string>;
163
+ fireStartProcessingRequest(): Promise<string>;
164
+ fetchApproximateNumberOfQueueEntries(): Promise<number>;
165
+ takeEntryFromBackgroundQueue(): Promise<InternalBackgroundEntry<any>[]>;
166
+ modifyPayloadPreProcess?<T>(entry: InternalBackgroundEntry<T>): Promise<InternalBackgroundEntry<T>>;
167
+ }
168
+
169
+ interface BackgroundProcessor<T> {
170
+ typeName: string;
171
+ dataSchemaName?: string;
172
+ handleEvent(data: T, mgr: BackgroundManagerLike): Promise<any>;
173
+ }
174
+
175
+ interface BackgroundErrorProcessor {
176
+ handleError(submission: InternalBackgroundEntry<any>, error: Error): Promise<void>;
177
+ }
178
+
179
+ declare const BackgroundExecutionEventType: {
180
+ ProcessStarting: string;
181
+ DataValidationError: string;
182
+ ExecutionSuccessfullyComplete: string;
183
+ ExecutionFailedError: string;
184
+ NoMatchProcessorName: string;
185
+ };
186
+ type BackgroundExecutionEventType = (typeof BackgroundExecutionEventType)[keyof typeof BackgroundExecutionEventType];
187
+
188
+ interface BackgroundExecutionEvent<T> {
189
+ type: BackgroundExecutionEventType;
190
+ guid: string;
191
+ processorType: string;
192
+ data: T;
193
+ errors?: string[];
194
+ }
195
+
196
+ interface BackgroundExecutionListener<T> {
197
+ label?: string;
198
+ onEvent(event: BackgroundExecutionEvent<T>): Promise<void>;
199
+ }
200
+
201
+ interface BackgroundTransactionLog {
202
+ request: InternalBackgroundEntry<any>;
203
+ running: boolean;
204
+ runtimeMS?: number;
205
+ result?: any;
206
+ error?: any;
207
+ }
208
+
209
+ interface BackgroundTransactionLogger {
210
+ logTransaction(txLog: BackgroundTransactionLog): Promise<void>;
211
+ readTransactionLog(txGuid: string): Promise<BackgroundTransactionLog>;
212
+ }
213
+
214
+ interface BackgroundConfig {
215
+ transactionLogger?: BackgroundTransactionLogger;
216
+ errorProcessor?: BackgroundErrorProcessor;
217
+ httpStatusEndpoint?: string;
218
+ httpMetaEndpoint?: string;
219
+ httpSubmissionPath: string;
220
+ implyTypeFromPathSuffix: boolean;
221
+ processors: BackgroundProcessor<any>[];
222
+ executionListeners?: BackgroundExecutionListener<any>[];
223
+ }
224
+
225
+ interface AbstractCronEntry {
226
+ name?: string;
227
+ eventFilter?: RegExp;
228
+ minuteFilter?: number[];
229
+ hourFilter?: number[];
230
+ dayOfWeekFilter?: number[];
231
+ dayOfMonthFilter?: number[];
232
+ monthOfYearFilter?: number[];
233
+ contextMatchFilter?: RegExp;
234
+ contextNoMatchFilter?: RegExp;
235
+ overrideTimezone?: string;
236
+ }
237
+
238
+ interface CronBackgroundEntry extends AbstractCronEntry {
239
+ backgroundTaskType: string;
240
+ fireImmediate: boolean;
241
+ data?: any;
242
+ }
243
+
244
+ interface CronConfig {
245
+ timezone: string;
246
+ context: string;
247
+ entries: CronBackgroundEntry[];
248
+ }
249
+
250
+ interface GenericAwsEventHandlerFunction<T> {
251
+ (event: T): Promise<void>;
252
+ }
253
+
254
+ interface DynamoDbConfig {
255
+ handlers: Map<string, GenericAwsEventHandlerFunction<DynamoDBStreamEvent>>;
256
+ }
257
+
258
+ interface S3Config {
259
+ createHandlers: Map<string, GenericAwsEventHandlerFunction<S3Event>>;
260
+ removeHandlers: Map<string, GenericAwsEventHandlerFunction<S3Event>>;
261
+ }
262
+
263
+ interface SnsConfig {
264
+ handlers: Map<string, GenericAwsEventHandlerFunction<SNSEvent>>;
265
+ }
266
+
267
+ interface LoggingTraceIdGenerator {
268
+ (event?: any, context?: Context): string;
269
+ }
270
+
271
+ interface EpsilonLoggerConfig {
272
+ envParamLogLevelName?: string;
273
+ queryParamLogLevelName?: string;
274
+ queryParamTracePrefixName?: string;
275
+ traceIdGenerator?: LoggingTraceIdGenerator;
276
+ logMessageFormatType?: LogMessageFormatType;
277
+ traceHeaderName?: string;
278
+ traceDepthHeaderName?: string;
279
+ epsilonStartEndMessageLogLevel?: LoggerLevelName;
280
+ }
281
+
282
+ interface InterApiAwsConfig {
283
+ localMode: boolean;
284
+ source: string;
285
+ snsArn: string;
286
+ }
287
+
288
+ interface InterApiProcessMapping {
289
+ sourceRegex: string;
290
+ typeRegex: string;
291
+ disabled: boolean;
292
+ backgroundProcessTypes: string[];
293
+ }
294
+
295
+ interface InterApiConfig {
296
+ aws: InterApiAwsConfig;
297
+ processMappings: InterApiProcessMapping[];
298
+ }
299
+
300
+ interface SqsConfig {
301
+ handlers: Map<string, GenericAwsEventHandlerFunction<SQSEvent>>;
302
+ }
303
+
304
+ interface EpsilonConfig {
305
+ label?: string;
306
+ disableLastResortTimeout?: boolean;
307
+ throwErrorIfNoSuitableEventHandlers?: boolean;
308
+ openApiYamlString: string;
309
+ httpConfig?: HttpConfig;
310
+ backgroundConfig?: BackgroundConfig;
311
+ interApiConfig?: InterApiConfig;
312
+ cron?: CronConfig;
313
+ dynamoDb?: DynamoDbConfig;
314
+ s3?: S3Config;
315
+ sns?: SnsConfig;
316
+ sqs?: SqsConfig;
317
+ loggerConfig?: EpsilonLoggerConfig;
318
+ }
319
+
320
+ declare class BackgroundHandler implements EpsilonLambdaEventHandler<SNSEvent> {
321
+ private cfg;
322
+ private mgr;
323
+ private modelValidator?;
324
+ private processors;
325
+ private validator;
326
+ constructor(cfg: BackgroundConfig, mgr: BackgroundManagerLike, modelValidator?: ModelValidator);
327
+ extractLabel(evt: SNSEvent, context: Context): string;
328
+ handlesEvent(evt: any): boolean;
329
+ isBackgroundSNSEvent(event: any): boolean;
330
+ isBackgroundStartSnsEvent(event: any): boolean;
331
+ isBackgroundImmediateFireEvent(event: any): boolean;
332
+ parseImmediateFireBackgroundEntry(event: any): InternalBackgroundEntry<any>;
333
+ processEvent(event: any, context: Context): Promise<ProxyResult>;
334
+ private takeAndProcessSingleBackgroundQueueEntry;
335
+ private safeWriteToLogger;
336
+ private conditionallyStartTransactionLog;
337
+ private conditionallyCompleteTransactionLog;
338
+ private conditionallyRunErrorProcessor;
339
+ private fireListenerEvent;
340
+ processSingleBackgroundEntry(inE: InternalBackgroundEntry<any>): Promise<boolean>;
341
+ getConfig(): BackgroundConfig;
342
+ }
343
+
344
+ interface OpenApiDocumentComponents {
345
+ securitySchemes: any[];
346
+ schemas: any[];
347
+ }
348
+
349
+ interface OpenApiDocumentPath {
350
+ }
351
+
352
+ interface OpenApiDocument {
353
+ components: OpenApiDocumentComponents;
354
+ paths: OpenApiDocumentPath[];
355
+ }
356
+
357
+ interface EpsilonInstance {
358
+ config: EpsilonConfig;
359
+ parsedOpenApiDoc: OpenApiDocument;
360
+ modelValidator: ModelValidator;
361
+ webHandler: WebHandler;
362
+ backgroundHandler: BackgroundHandler;
363
+ backgroundManager: BackgroundManagerLike;
364
+ }
365
+
366
+ declare class EpsilonGlobalHandler {
367
+ private _epsilon;
368
+ private static LOGGER_CONFIGURED;
369
+ private static GLOBAL_INSTANCE_PROVIDER;
370
+ static set globalInstanceProvider(input: () => Promise<EpsilonGlobalHandler>);
371
+ static get globalInstanceProvider(): () => Promise<EpsilonGlobalHandler>;
372
+ private handlers;
373
+ constructor(_epsilon: EpsilonInstance);
374
+ static configureDefaultLogger(overrides?: LoggerOptions): void;
375
+ get epsilon(): EpsilonInstance;
376
+ processSingleBackgroundByParts<T>(type: string, data?: T, overrideTraceId?: string, overrideTraceDepth?: number): Promise<boolean>;
377
+ processSingleBackgroundEntry(e: BackgroundEntry<any>, overrideTraceId?: string, overrideTraceDepth?: number): Promise<boolean>;
378
+ lambdaHandler(event: any, context: Context): Promise<any>;
379
+ innerLambdaHandler(event: any, context: Context): Promise<any>;
380
+ static defaultProcessUncaughtError(event: any, context: Context, err: any): Promise<ProxyResult>;
381
+ }
382
+
383
+ declare class EpsilonConstants {
384
+ static readonly EPSILON_FINDER_DYNAMIC_IMPORT_PATH_ENV_NAME = "EPSILON_FINDER_DYNAMIC_IMPORT_PATH";
385
+ static readonly EPSILON_FINDER_FUNCTION_NAME_ENV_NAME = "EPSILON_FINDER_FUNCTION_NAME";
386
+ static readonly DEFAULT_EPSILON_FINDER_DYNAMIC_IMPORT_PATH = "epsilon-global-handler-provider.js";
387
+ static readonly DEFAULT_EPSILON_FINDER_FUNCTION_NAME = "findEpsilonGlobalHandler";
388
+ static readonly AUTH_HEADER_PREFIX: string;
389
+ static readonly AUTH_HEADER_NAME: string;
390
+ static readonly BACKGROUND_SQS_TYPE_FIELD = "BACKGROUND_TYPE";
391
+ static readonly BACKGROUND_SNS_START_MARKER = "BACKGROUND_START_MARKER";
392
+ static readonly BACKGROUND_SNS_IMMEDIATE_RUN_FLAG = "BACKGROUND_IMMEDIATE_RUN_FLAG";
393
+ static readonly INTER_API_SNS_EVENT = "EPSILON_INTER_API_EVENT";
394
+ private static load;
395
+ static findDynamicImportEpsilonGlobalHandlerProvider(): Promise<EpsilonGlobalHandler>;
396
+ private constructor();
397
+ }
398
+
399
+ declare class EpsilonLoggingExtensionProcessor implements LogMessageProcessor {
400
+ process(msg: LogMessage): LogMessage;
401
+ label(): string;
402
+ }
403
+
404
+ interface InterApiEntry<T> {
405
+ source: string;
406
+ type: string;
407
+ data: T;
408
+ traceId?: string;
409
+ traceDepth?: number;
410
+ }
411
+
412
+ declare class InterApiManager {
413
+ private _aws;
414
+ private _sns;
415
+ constructor(_aws: InterApiAwsConfig, _sns: SNSClient);
416
+ get config(): InterApiAwsConfig;
417
+ get sns(): SNSClient;
418
+ createEntry<T>(type: string, data?: T): InterApiEntry<T>;
419
+ fireInterApiEventByParts<T>(type: string, data?: T): Promise<string>;
420
+ fireInterApiEvent<T>(entry: InterApiEntry<T>): Promise<string>;
421
+ writeMessageToSnsTopic(message: string): Promise<string>;
422
+ }
423
+
424
+ declare class LocalContainerServer {
425
+ private port;
426
+ private containerUrl;
427
+ private server;
428
+ private aborted;
429
+ constructor(port?: number, containerUrl?: string);
430
+ runServer(): Promise<boolean>;
431
+ requestHandler(request: IncomingMessage, response: ServerResponse): Promise<any>;
432
+ static runFromCliArgs(args: string[]): Promise<void>;
433
+ }
434
+
435
+ declare class LocalServerCert {
436
+ static readonly CLIENT_CSR: string;
437
+ static readonly CLIENT_CERT_PEM: string;
438
+ static readonly CLIENT_KEY_PEM: string;
439
+ }
440
+
441
+ declare class LocalServer {
442
+ private globalHandler;
443
+ private port;
444
+ private https;
445
+ private server;
446
+ constructor(globalHandler: EpsilonGlobalHandler, port?: number, https?: boolean);
447
+ runServer(): Promise<boolean>;
448
+ requestHandler(request: IncomingMessage, response: ServerResponse): Promise<any>;
449
+ static bodyAsBase64String(request: IncomingMessage): Promise<string>;
450
+ static messageToApiGatewayEvent(request: IncomingMessage, context: Context): Promise<APIGatewayEvent>;
451
+ static writeProxyResultToServerResponse(proxyResult: ProxyResult, response: ServerResponse, logLevel: LoggerLevelName): Promise<boolean>;
452
+ static parseQueryParamsFromUrlString(urlString: string): {
453
+ [key: string]: string;
454
+ };
455
+ static runSampleBatchOnlyServerFromCliArgs(args: string[]): Promise<void>;
456
+ static runSampleLocalServerFromCliArgs(args: string[]): Promise<void>;
457
+ }
458
+
459
+ declare class BackgroundDynamoLogTableHandler<T> implements BackgroundExecutionListener<T> {
460
+ private dynamo;
461
+ private tableName;
462
+ private env;
463
+ private backgroundQueueName;
464
+ constructor(dynamo: DynamoRatchetLike, tableName: string, env: string, backgroundQueueName: string);
465
+ onEvent(event: BackgroundExecutionEvent<T>): Promise<void>;
466
+ }
467
+
468
+ declare const BackgroundProcessHandling: {
469
+ Queued: string;
470
+ Immediate: string;
471
+ };
472
+ type BackgroundProcessHandling = (typeof BackgroundProcessHandling)[keyof typeof BackgroundProcessHandling];
473
+
474
+ interface BackgroundQueueResponseInternal {
475
+ processHandling: BackgroundProcessHandling;
476
+ startProcessorRequested: boolean;
477
+ success: boolean;
478
+ resultId: string;
479
+ error: string;
480
+ }
481
+
482
+ interface BackgroundMetaResponseInternal {
483
+ backgroundManagerName: string;
484
+ currentQueueLength: number;
485
+ validTypes: string[];
486
+ }
487
+
488
+ declare class BackgroundHttpAdapterHandler {
489
+ private backgroundConfig;
490
+ private modelValidator;
491
+ private backgroundManager;
492
+ private maxWaitInMsForBackgroundJobToStart;
493
+ constructor(backgroundConfig: BackgroundConfig, modelValidator: ModelValidator, backgroundManager: BackgroundManagerLike, maxWaitInMsForBackgroundJobToStart?: number);
494
+ get httpMetaEndpoint(): string;
495
+ get httpSubmissionPath(): string;
496
+ get httpStatusPath(): string;
497
+ get implyTypeFromPathSuffix(): boolean;
498
+ handleBackgroundStatusRequest(evt: ExtendedAPIGatewayEvent, context: Context): Promise<BackgroundTransactionLog>;
499
+ handleBackgroundMetaRequest(evt: ExtendedAPIGatewayEvent, context: Context): Promise<BackgroundMetaResponseInternal>;
500
+ handleBackgroundSubmission(evt: ExtendedAPIGatewayEvent, context: Context): Promise<BackgroundQueueResponseInternal>;
501
+ }
502
+
503
+ interface BackgroundProcessLogTableEntry {
504
+ env: string;
505
+ backgroundQueueName: string;
506
+ requestId: string;
507
+ guid: string;
508
+ processTypeName: string;
509
+ state: string;
510
+ timestampEpochMs: number;
511
+ errors?: string[];
512
+ params?: any;
513
+ }
514
+
515
+ interface BackgroundAwsConfig {
516
+ queueUrl: string;
517
+ notificationArn: string;
518
+ sendNotificationOnBackgroundError?: boolean;
519
+ sendNotificationOnBackgroundValidationFailure?: boolean;
520
+ backgroundProcessFailureSnsArn?: string;
521
+ }
522
+
523
+ declare class BackgroundValidator {
524
+ private cfg;
525
+ private modelValidator;
526
+ constructor(cfg: BackgroundConfig, modelValidator: ModelValidator);
527
+ findProcessor(typeName: string): BackgroundProcessor<any>;
528
+ validType(type: string): boolean;
529
+ validateEntry<T>(entry: BackgroundEntry<T>): string[];
530
+ validateEntryAndThrowException<T>(entry: BackgroundEntry<T>): void;
531
+ static validateAndMapProcessors(processorInput: BackgroundProcessor<any>[], modelValidator: ModelValidator): Map<string, BackgroundProcessor<any>>;
532
+ static validateAwsConfig(cfg: BackgroundAwsConfig): string[];
533
+ static validateConfig(cfg: BackgroundConfig): string[];
534
+ }
535
+
536
+ declare class EpsilonBackgroundProcessError<T = void> extends Error {
537
+ private static readonly EPSILON_BACKGROUND_PROCESS_ERROR_FLAG_KEY;
538
+ private _errors;
539
+ private _detailErrorCode;
540
+ private _details;
541
+ private _requestId;
542
+ private _wrappedError;
543
+ constructor(...errors: string[]);
544
+ static combineErrorStringsWithDefault(errors: string[], defMessage?: string): string;
545
+ setFormattedErrorMessage(format: string, ...input: any[]): void;
546
+ withFormattedErrorMessage(format: string, ...input: any[]): EpsilonBackgroundProcessError<T>;
547
+ withErrors(errors: string[]): EpsilonBackgroundProcessError<T>;
548
+ withDetailErrorCode(detailErrorCode: number): EpsilonBackgroundProcessError<T>;
549
+ withDetails(details: T): EpsilonBackgroundProcessError<T>;
550
+ withRequestId(requestId: string): EpsilonBackgroundProcessError<T>;
551
+ withWrappedError(err: Error): EpsilonBackgroundProcessError<T>;
552
+ isWrappedError(): boolean;
553
+ static wrapError<T = void>(err: Error): EpsilonBackgroundProcessError<T>;
554
+ static objectIsEpsilonBackgroundProcessError(obj: any): boolean;
555
+ set errors(value: string[]);
556
+ get errors(): string[];
557
+ set detailErrorCode(value: number);
558
+ get detailErrorCode(): number;
559
+ set details(value: T);
560
+ get details(): T;
561
+ set requestId(value: string);
562
+ get requestId(): string;
563
+ set wrappedError(value: Error);
564
+ get wrappedError(): Error;
565
+ }
566
+
567
+ declare class S3BackgroundTransactionLogger implements BackgroundTransactionLogger {
568
+ private cfg;
569
+ private s3TransactionLogCacheRatchet;
570
+ constructor(cfg: BackgroundS3TransactionLoggingConfig);
571
+ logTransaction(txLog: BackgroundTransactionLog): Promise<void>;
572
+ readTransactionLog(txGuid: string): Promise<BackgroundTransactionLog>;
573
+ static validateConfig(cfg: BackgroundS3TransactionLoggingConfig): string[];
574
+ }
575
+ interface BackgroundS3TransactionLoggingConfig {
576
+ s3: S3Client;
577
+ bucket: string;
578
+ timeToLiveDays: number;
579
+ prefix?: string;
580
+ }
581
+
582
+ declare abstract class AbstractBackgroundManager implements BackgroundManagerLike {
583
+ abstract addEntryToQueue<T>(entry: BackgroundEntry<T>, fireStartMessage?: boolean): Promise<string>;
584
+ abstract fireImmediateProcessRequest<T>(entry: BackgroundEntry<T>): Promise<string>;
585
+ abstract fireStartProcessingRequest(): Promise<string>;
586
+ abstract fetchApproximateNumberOfQueueEntries(): Promise<number>;
587
+ abstract get backgroundManagerName(): string;
588
+ abstract takeEntryFromBackgroundQueue(): Promise<InternalBackgroundEntry<any>[]>;
589
+ createEntry<T>(type: string, data?: T): BackgroundEntry<T>;
590
+ wrapEntryForInternal<T>(entry: BackgroundEntry<T>, overrideTraceId?: string, overrideTraceDepth?: number): Promise<InternalBackgroundEntry<T>>;
591
+ addEntryToQueueByParts<T>(type: string, data?: T, fireStartMessage?: boolean): Promise<string>;
592
+ addEntriesToQueue(entries: BackgroundEntry<any>[], fireStartMessage?: boolean): Promise<string[]>;
593
+ fireImmediateProcessRequestByParts<T>(type: string, data?: T): Promise<string>;
594
+ static generateBackgroundGuid(targetEpochMS?: number): string;
595
+ static backgroundGuidToPath(prefix: string, guid: string): string;
596
+ static pathToBackgroundGuid(prefix: string, path: string): string;
597
+ }
598
+
599
+ declare class AwsSqsSnsBackgroundManager extends AbstractBackgroundManager {
600
+ private _awsConfig;
601
+ private _sqs;
602
+ private _sns;
603
+ constructor(_awsConfig: BackgroundAwsConfig, _sqs: SQSClient, _sns: SNSClient);
604
+ get backgroundManagerName(): string;
605
+ get awsConfig(): BackgroundAwsConfig;
606
+ get sqs(): SQSClient;
607
+ get sns(): SNSClient;
608
+ addEntryToQueue<T>(entry: BackgroundEntry<T>, fireStartMessage?: boolean): Promise<string>;
609
+ fireImmediateProcessRequest<T>(entry: BackgroundEntry<T>): Promise<string>;
610
+ fireStartProcessingRequest(): Promise<string>;
611
+ fetchApproximateNumberOfQueueEntries(): Promise<number>;
612
+ fetchCurrentQueueAttributes(): Promise<GetQueueAttributesCommandOutput>;
613
+ writeMessageToSnsTopic(message: string): Promise<string>;
614
+ takeEntryFromBackgroundQueue(): Promise<InternalBackgroundEntry<any>[]>;
615
+ }
616
+
617
+ declare class AwsLargePayloadS3SqsSnsBackgroundManager extends AwsSqsSnsBackgroundManager {
618
+ private _s3;
619
+ private pathPrefix;
620
+ private static readonly LARGE_MESSAGE_SIZE_THRESHOLD;
621
+ private static readonly LARGE_MESSAGE_S3_PATH_META_KEY;
622
+ constructor(_awsConfig: BackgroundAwsConfig, _sqs: SQSClient, _sns: SNSClient, _s3: S3CacheRatchetLike, pathPrefix?: string);
623
+ get backgroundManagerName(): string;
624
+ get s3(): S3CacheRatchetLike;
625
+ wrapEntryForInternal<T>(entry: BackgroundEntry<T>, overrideTraceId?: string, overrideTraceDepth?: number): Promise<InternalBackgroundEntry<T>>;
626
+ private writeMessageToS3;
627
+ modify<T>(entry: InternalBackgroundEntry<T>): Promise<InternalBackgroundEntry<T>>;
628
+ }
629
+
630
+ declare class SingleThreadLocalBackgroundManager extends AbstractBackgroundManager {
631
+ private _localBus;
632
+ get backgroundManagerName(): string;
633
+ constructor();
634
+ immediateProcessQueue?(): Subject<InternalBackgroundEntry<any>>;
635
+ addEntryToQueue<T>(entry: BackgroundEntry<T>, fireStartMessage?: boolean): Promise<string>;
636
+ fireImmediateProcessRequest<T>(entry: BackgroundEntry<T>): Promise<string>;
637
+ fireStartProcessingRequest(): Promise<string>;
638
+ fetchApproximateNumberOfQueueEntries(): Promise<number>;
639
+ takeEntryFromBackgroundQueue(): Promise<InternalBackgroundEntry<any>[]>;
640
+ }
641
+
642
+ declare class RatchetEpsilonCommonInfo {
643
+ private constructor();
644
+ static buildInformation(): BuildInformation;
645
+ }
646
+
647
+ declare class BuiltInTraceIdGenerators {
648
+ static fullAwsRequestId(): string;
649
+ static shortAwsRequestId(): string;
650
+ static fixedLengthHex(length?: number): string;
651
+ }
652
+
653
+ declare class EchoProcessor implements BackgroundProcessor<any> {
654
+ static TYPE_NAME: string;
655
+ get typeName(): string;
656
+ handleEvent(data: any, mgr?: BackgroundManagerLike): Promise<void>;
657
+ }
658
+
659
+ declare class LogAndEnqueueEchoProcessor implements BackgroundProcessor<any> {
660
+ get typeName(): string;
661
+ handleEvent(data: any, cfg: BackgroundManagerLike): Promise<void>;
662
+ }
663
+
664
+ declare class LogMessageBackgroundErrorProcessor implements BackgroundErrorProcessor {
665
+ handleError(submission: InternalBackgroundEntry<any>, error: Error): Promise<void>;
666
+ }
667
+
668
+ declare class NoOpProcessor implements BackgroundProcessor<any> {
669
+ get typeName(): string;
670
+ handleEvent(data: any, mgr?: BackgroundManagerLike): Promise<void>;
671
+ }
672
+
673
+ declare class RetryProcessor implements BackgroundProcessor<any> {
674
+ private delegate;
675
+ private opts;
676
+ private static readonly RETRY_FIELD_NAME;
677
+ constructor(delegate: BackgroundProcessor<any>, opts: RetryProcessorOptions);
678
+ get typeName(): string;
679
+ handleEvent(data: any, mgr: BackgroundManagerLike): Promise<void>;
680
+ }
681
+ interface RetryProcessorOptions {
682
+ retryCount?: number;
683
+ baseDelayMS?: number;
684
+ typePrefix?: string;
685
+ typeSuffix?: string;
686
+ }
687
+
688
+ declare class SampleDelayProcessor implements BackgroundProcessor<any> {
689
+ get typeName(): string;
690
+ handleEvent(data: any, mgr?: BackgroundManagerLike): Promise<void>;
691
+ }
692
+
693
+ interface SampleInputValidatedProcessorData {
694
+ nameParam: string;
695
+ numberParam: number;
696
+ }
697
+
698
+ declare class SampleInputValidatedProcessor implements BackgroundProcessor<SampleInputValidatedProcessorData> {
699
+ get typeName(): string;
700
+ handleEvent(data: SampleInputValidatedProcessorData, mgr?: BackgroundManagerLike): Promise<void>;
701
+ get dataSchemaName(): string;
702
+ }
703
+
704
+ interface DaemonAuthorizerFunction {
705
+ (evt: ExtendedAPIGatewayEvent, proc: DaemonProcessState): Promise<boolean>;
706
+ }
707
+
708
+ interface DaemonGroupSelectionFunction {
709
+ (evt: ExtendedAPIGatewayEvent): Promise<string>;
710
+ }
711
+
712
+ interface DaemonConfig {
713
+ authorizer?: DaemonAuthorizerFunction;
714
+ groupSelector?: DaemonGroupSelectionFunction;
715
+ fetchDaemonStatusPathParameter?: string;
716
+ fetchDaemonStatusByPublicTokenPathParameter?: string;
717
+ }
718
+
719
+ interface DaemonProcessStateList {
720
+ results: DaemonProcessState[];
721
+ nextToken: string;
722
+ }
723
+
724
+ declare class DaemonHandler {
725
+ private daemon;
726
+ private inConfig?;
727
+ static readonly ALLOW_EVERYTHING_AUTHORIZER: DaemonAuthorizerFunction;
728
+ private config;
729
+ constructor(daemon: DaemonLike, inConfig?: DaemonConfig);
730
+ fetchDaemonStatusByPublicToken(evt: ExtendedAPIGatewayEvent): Promise<DaemonProcessState>;
731
+ fetchDaemonStatus(evt: ExtendedAPIGatewayEvent): Promise<DaemonProcessState>;
732
+ listDaemonStatus(evt: ExtendedAPIGatewayEvent): Promise<DaemonProcessStateList>;
733
+ }
734
+
735
+ interface EpsilonLambdaApolloContextFunctionArgument {
736
+ lambdaEvent: APIGatewayEvent;
737
+ lambdaContext: Context;
738
+ }
739
+
740
+ declare const EpsilonApolloCorsMethod: {
741
+ None: string;
742
+ All: string;
743
+ Reflective: string;
744
+ };
745
+ type EpsilonApolloCorsMethod = (typeof EpsilonApolloCorsMethod)[keyof typeof EpsilonApolloCorsMethod];
746
+
747
+ interface EpsilonLambdaApolloOptions<TContext extends BaseContext> {
748
+ context?: ContextFunction<[EpsilonLambdaApolloContextFunctionArgument], TContext>;
749
+ timeoutMS?: number;
750
+ corsMethod?: EpsilonApolloCorsMethod;
751
+ debugOutputCallback?: (resp: ProxyResult) => Promise<void>;
752
+ }
753
+
754
+ declare class ApolloFilter {
755
+ static handlePathWithApollo<T>(fCtx: FilterChainContext, apolloPathRegex: RegExp, apolloServer: ApolloServer<T>, options?: EpsilonLambdaApolloOptions<T>): Promise<boolean>;
756
+ static processApolloRequest<T>(event: APIGatewayEvent, context: Context, apolloServer: ApolloServer<T>, options?: EpsilonLambdaApolloOptions<T>): Promise<ProxyResult>;
757
+ static addApolloFilterToList(filters: FilterFunction[], apolloPathRegex: RegExp, apolloServer: ApolloServer, options?: EpsilonLambdaApolloOptions<BaseContext>): void;
758
+ }
759
+
760
+ interface WebTokenManipulator<T extends JwtTokenBase> {
761
+ extractTokenFromAuthorizationHeader(header: string): Promise<T>;
762
+ }
763
+
764
+ declare class BuiltInAuthFilters {
765
+ static requireAllRolesInCommonJwt(fCtx: FilterChainContext, requiredRoleAllOf: string[]): Promise<boolean>;
766
+ static requireAnyRoleInCommonJwt(fCtx: FilterChainContext, requiredRoleOneOf: string[]): Promise<boolean>;
767
+ static parseAuthorizationHeader(fCtx: FilterChainContext, webTokenManipulators: WebTokenManipulator<JwtTokenBase> | WebTokenManipulator<JwtTokenBase>[]): Promise<boolean>;
768
+ static applyOpenApiAuthorization(fCtx: FilterChainContext): Promise<boolean>;
769
+ }
770
+
771
+ declare class BuiltInAuthorizers {
772
+ static simpleNoAuthenticationLogAccess(authorizationContext: EpsilonAuthorizationContext<any>, evt: APIGatewayEvent): Promise<boolean>;
773
+ static simpleLoggedInAuth(authorizationContext: EpsilonAuthorizationContext<any>, evt: APIGatewayEvent): Promise<boolean>;
774
+ static simpleRoleRouteAuth(authorizationContext: EpsilonAuthorizationContext<any>, event: APIGatewayEvent, route: RouteMapping, requiredRoleOneOf?: string[], requiredRoleAllOf?: string[]): Promise<boolean>;
775
+ }
776
+
777
+ declare class BuiltInFilters {
778
+ static readonly MAXIMUM_LAMBDA_BODY_SIZE_BYTES: number;
779
+ static combineFilters(fCtx: FilterChainContext, filters: FilterFunction[]): Promise<boolean>;
780
+ static applyGzipIfPossible(fCtx: FilterChainContext): Promise<boolean>;
781
+ static addConstantHeaders(fCtx: FilterChainContext, headers: Record<string, string>): Promise<boolean>;
782
+ static addAWSRequestIdHeader(fCtx: FilterChainContext, headerName?: string): Promise<boolean>;
783
+ static addAllowEverythingCORSHeaders(fCtx: FilterChainContext): Promise<boolean>;
784
+ static addAllowReflectionCORSHeaders(fCtx: FilterChainContext): Promise<boolean>;
785
+ static uriDecodeQueryParams(fCtx: FilterChainContext): Promise<boolean>;
786
+ private static decodeUriComponentAndReplacePlus;
787
+ static fixStillEncodedQueryParams(fCtx: FilterChainContext): Promise<boolean>;
788
+ static disallowStringNullAsPathParameter(fCtx: FilterChainContext): Promise<boolean>;
789
+ static disallowStringNullAsQueryStringParameter(fCtx: FilterChainContext): Promise<boolean>;
790
+ static ensureEventMaps(fCtx: FilterChainContext): Promise<boolean>;
791
+ static parseJsonBodyToObject(fCtx: FilterChainContext): Promise<boolean>;
792
+ static checkMaximumLambdaBodySize(fCtx: FilterChainContext): Promise<boolean>;
793
+ static validateInboundBody(fCtx: FilterChainContext): Promise<boolean>;
794
+ static validateInboundQueryParams(fCtx: FilterChainContext): Promise<boolean>;
795
+ static validateInboundPathParams(fCtx: FilterChainContext): Promise<boolean>;
796
+ static validateOutboundResponse(fCtx: FilterChainContext): Promise<boolean>;
797
+ static autoRespondToOptionsRequestWithCors(fCtx: FilterChainContext): Promise<boolean>;
798
+ static autoRespond(fCtx: FilterChainContext, inBody: any): Promise<boolean>;
799
+ static secureOutboundServerErrorForProduction(fCtx: FilterChainContext, errorMessage: string, errCode: number): Promise<boolean>;
800
+ }
801
+
802
+ declare class BuiltInHandlers {
803
+ static expectedHandledByFilter(evt: ExtendedAPIGatewayEvent, flag?: string): Promise<any>;
804
+ static handleNotImplemented(evt: ExtendedAPIGatewayEvent, flag?: string): Promise<any>;
805
+ static sample(evt: ExtendedAPIGatewayEvent, flag?: string, context?: Context): Promise<any>;
806
+ static defaultErrorProcessor(event: APIGatewayEvent, err: Error, cfg: EpsilonRouter): Promise<void>;
807
+ }
808
+
809
+ declare class LogLevelManipulationFilter {
810
+ private static LOG_LEVEL_BEFORE_CHANGE;
811
+ static setLogLevelForTransaction(fCtx: FilterChainContext): Promise<boolean>;
812
+ static clearLogLevelForTransaction(fCtx: FilterChainContext): Promise<boolean>;
813
+ }
814
+
815
+ declare class RunHandlerAsFilter {
816
+ static runHandler(fCtx: FilterChainContext, rm: RouteAndParse): Promise<boolean>;
817
+ static applyNullReturnedObjectHandling(result: any, handling: NullReturnedObjectHandling): any;
818
+ static findHandler(rm: RouteAndParse, event: ExtendedAPIGatewayEvent, context: Context, add404OnMissing?: boolean): Promise<any>;
819
+ static addRunHandlerAsFilterToList(filters: FilterFunction[], rm: RouteAndParse): void;
820
+ }
821
+
822
+ interface DefaultEpsilonApolloContext<T extends JwtTokenBase> {
823
+ user?: T;
824
+ bearerTokenString?: string;
825
+ headers: Record<string, string>;
826
+ functionName: string;
827
+ lambdaEvent: APIGatewayEvent;
828
+ lambdaContext: Context;
829
+ }
830
+
831
+ declare class ApolloUtil {
832
+ private constructor();
833
+ static emptyContext<T extends BaseContext>(): Promise<T>;
834
+ static defaultEpsilonApolloContext(args: EpsilonLambdaApolloContextFunctionArgument, jwt?: JwtRatchetLike): Promise<DefaultEpsilonApolloContext<any>>;
835
+ static nonRouteableOnlyEpsilonApolloContext(args: EpsilonLambdaApolloContextFunctionArgument, jwt?: JwtRatchetLike): Promise<DefaultEpsilonApolloContext<any>>;
836
+ }
837
+
838
+ declare class RatchetCliHandler extends AbstractRatchetCliHandler {
839
+ fetchHandlerMap(): Record<string, any>;
840
+ fetchVersionInfo(): BuildInformation;
841
+ }
842
+
843
+ declare class RunBackgroundProcessFromCommandLine {
844
+ static runFromCliArgs(args: string[]): Promise<void>;
845
+ }
846
+
847
+ declare class NoHandlersFoundError extends Error {
848
+ constructor(msg?: string);
849
+ }
850
+
851
+ interface BasicAuthToken {
852
+ username: string;
853
+ password: string;
854
+ }
855
+
856
+ declare class EventUtil {
857
+ private constructor();
858
+ static extractStage(event: APIGatewayEvent): string;
859
+ static extractHostHeader(event: APIGatewayEvent): string;
860
+ static extractProtocol(event: APIGatewayEvent): string;
861
+ static extractApiGatewayStage(event: APIGatewayEvent): string;
862
+ static extractRequestContext(event: APIGatewayEvent): APIGatewayEventRequestContext;
863
+ static extractAuthorizer(event: APIGatewayEvent): AuthResponseContext;
864
+ static ipAddressChain(event: APIGatewayEvent): string[];
865
+ static ipAddress(event: APIGatewayEvent): string;
866
+ static extractFullPath(event: APIGatewayEvent, overrideProtocol?: string): string;
867
+ static extractFullPrefix(event: APIGatewayEvent, overrideProtocol?: string): string;
868
+ static jsonBodyToObject(evt: APIGatewayEvent): any;
869
+ static calcLogLevelViaEventOrEnvParam(curLevel: LoggerLevelName, event: APIGatewayEvent, rConfig: EpsilonLoggerConfig): LoggerLevelName;
870
+ static fixStillEncodedQueryParams(event: APIGatewayEvent): void;
871
+ static applyTokenToEventForTesting(event: APIGatewayEvent, jwtToken: string): void;
872
+ static extractBasicAuthenticationToken(event: APIGatewayEvent, throwErrorOnMissingBad?: boolean): BasicAuthToken;
873
+ static eventIsAGraphQLIntrospection(event: APIGatewayEvent): boolean;
874
+ static extractAuthorizationHeaderCaseInsensitive(evt: APIGatewayEvent): string;
875
+ static extractBearerTokenFromEvent(evt: APIGatewayEvent): string;
876
+ static hostIsLocal(host: string): boolean;
877
+ static hostIsLocalOrNotRoutableIP4(host: string): boolean;
878
+ }
879
+
880
+ declare class ResponseUtil {
881
+ private constructor();
882
+ static errorResponse<T>(err: RestfulApiHttpError<T>): ProxyResult;
883
+ static redirect(target: string, code?: number, queryParams?: any): ProxyResult;
884
+ static coerceToProxyResult(input: any): ProxyResult;
885
+ static applyGzipIfPossible(encodingHeader: string, proxyResult: ProxyResult): Promise<ProxyResult>;
886
+ static gzip(input: Buffer): Promise<Buffer>;
887
+ }
888
+
889
+ declare class WebV2Handler implements EpsilonLambdaEventHandler<APIGatewayProxyEventV2> {
890
+ private webHandler;
891
+ constructor(webHandler: WebHandler);
892
+ extractLabel(evt: APIGatewayProxyEventV2, context: Context): string;
893
+ handlesEvent(evt: any): boolean;
894
+ processEvent(evt: APIGatewayProxyEventV2, context: Context): Promise<ProxyResult>;
895
+ }
896
+
897
+ declare class ApiGatewayAdapterAuthenticationHandler {
898
+ private webTokenManipulator;
899
+ constructor(issuer: string, encryptionKeys: string);
900
+ lambdaHandler(event: CustomAuthorizerEvent, context: Context, callback: Callback): void;
901
+ private createPolicy;
902
+ static extractTokenStringFromAuthorizerEvent(event: CustomAuthorizerEvent): string;
903
+ }
904
+
905
+ declare class Auth0WebTokenManipulator implements WebTokenManipulator<JwtTokenBase> {
906
+ private clientId;
907
+ private jwksUri;
908
+ private issuer;
909
+ private jwksClient;
910
+ constructor(clientId: string, jwksUri: string, issuer: string);
911
+ extractTokenFromAuthorizationHeader<T>(authHeader: string): Promise<JwtTokenBase>;
912
+ parseAndValidateAuth0Token<T>(auth0Token: string, allowExpired?: boolean): Promise<JwtTokenBase>;
913
+ private fetchSigningKey;
914
+ private fetchJwksClient;
915
+ }
916
+
917
+ declare class GoogleWebTokenManipulator implements WebTokenManipulator<JwtTokenBase> {
918
+ private clientId;
919
+ private static readonly GOOGLE_DISCOVERY_DOCUMENT;
920
+ private cacheGoogleDiscoveryDocument;
921
+ private jwksClient;
922
+ constructor(clientId: string);
923
+ extractTokenFromAuthorizationHeader<T extends JwtTokenBase>(authHeader: string): Promise<JwtTokenBase>;
924
+ parseAndValidateGoogleToken<T extends JwtTokenBase>(googleToken: string, allowExpired?: boolean): Promise<JwtTokenBase>;
925
+ private fetchSigningKey;
926
+ private fetchJwksClient;
927
+ private fetchGoogleDiscoveryDocument;
928
+ }
929
+
930
+ declare class JwtRatchetLocalWebTokenManipulator<T extends JwtTokenBase> implements WebTokenManipulator<T> {
931
+ private _jwtRatchet;
932
+ private _issuer;
933
+ constructor(_jwtRatchet: JwtRatchetLike, _issuer: string);
934
+ get jwtRatchet(): JwtRatchetLike;
935
+ get issuer(): string;
936
+ extractTokenFromAuthorizationHeader<T>(header: string): Promise<T>;
937
+ }
938
+
939
+ declare class LocalWebTokenManipulator<T extends JwtTokenBase> implements WebTokenManipulator<T> {
940
+ private encryptionKeys;
941
+ private issuer;
942
+ private _ratchet;
943
+ constructor(encryptionKeys: string[], issuer: string);
944
+ withExtraDecryptionKeys(keys: string[]): LocalWebTokenManipulator<T>;
945
+ withParseFailureLogLevel(logLevel: LoggerLevelName): LocalWebTokenManipulator<T>;
946
+ withOldKeyUseLogLevel(logLevel: LoggerLevelName): LocalWebTokenManipulator<T>;
947
+ get jwtRatchet(): JwtRatchet;
948
+ get selectRandomEncryptionKey(): Promise<string>;
949
+ createRefreshedJWTString(tokenString: string, expirationSeconds: number, allowExpired?: boolean): Promise<string>;
950
+ parseAndValidateJWTStringAsync<T extends JwtTokenBase>(tokenString: string): Promise<T>;
951
+ createJWTStringAsync<T>(principal: string, userObject: T, roles?: string[], expirationSeconds?: number, proxyUser?: T): Promise<string>;
952
+ extractTokenFromAuthorizationHeader<T extends JwtTokenBase>(header: string): Promise<T>;
953
+ }
954
+
955
+ declare class BadGateway<T = void> extends RestfulApiHttpError<T> {
956
+ static readonly HTTP_CODE: number;
957
+ constructor(...errors: string[]);
958
+ }
959
+
960
+ declare class BadRequestError<T = void> extends RestfulApiHttpError<T> {
961
+ static readonly HTTP_CODE: number;
962
+ constructor(...errors: string[]);
963
+ }
964
+
965
+ declare class ConflictError<T = void> extends RestfulApiHttpError<T> {
966
+ static readonly HTTP_CODE: number;
967
+ constructor(...errors: string[]);
968
+ }
969
+
970
+ declare class ForbiddenError<T = void> extends RestfulApiHttpError<T> {
971
+ static readonly HTTP_CODE: number;
972
+ constructor(...errors: string[]);
973
+ }
974
+
975
+ declare class GatewayTimeout<T = void> extends RestfulApiHttpError<T> {
976
+ static readonly HTTP_CODE: number;
977
+ constructor(...errors: string[]);
978
+ }
979
+
980
+ declare class MethodNotAllowedError<T = void> extends RestfulApiHttpError<T> {
981
+ static readonly HTTP_CODE: number;
982
+ constructor(...errors: string[]);
983
+ }
984
+
985
+ declare class MisconfiguredError<T = void> extends RestfulApiHttpError<T> {
986
+ static readonly HTTP_CODE: number;
987
+ constructor(...errors: string[]);
988
+ }
989
+
990
+ declare class NotFoundError<T = void> extends RestfulApiHttpError<T> {
991
+ static readonly HTTP_CODE: number;
992
+ constructor(...errors: string[]);
993
+ }
994
+
995
+ declare class NotImplemented<T = void> extends RestfulApiHttpError<T> {
996
+ static readonly HTTP_CODE: number;
997
+ constructor(...errors: string[]);
998
+ }
999
+
1000
+ declare class RequestTimeoutError<T = void> extends RestfulApiHttpError<T> {
1001
+ static readonly HTTP_CODE: number;
1002
+ constructor(...errors: string[]);
1003
+ }
1004
+
1005
+ declare class ServiceUnavailable<T = void> extends RestfulApiHttpError<T> {
1006
+ static readonly HTTP_CODE: number;
1007
+ constructor(...errors: string[]);
1008
+ }
1009
+
1010
+ declare class TooManyRequestsError<T = void> extends RestfulApiHttpError<T> {
1011
+ static readonly HTTP_CODE: number;
1012
+ constructor(...errors: string[]);
1013
+ }
1014
+
1015
+ declare class UnauthorizedError<T = void> extends RestfulApiHttpError<T> {
1016
+ static readonly HTTP_CODE: number;
1017
+ constructor(...errors: string[]);
1018
+ }
1019
+
1020
+ interface ExtendedAuthResponseContext extends AuthResponseContext {
1021
+ userData: any;
1022
+ userDataJSON: string;
1023
+ srcData: string;
1024
+ }
1025
+
1026
+ declare class RouterUtil {
1027
+ private constructor();
1028
+ static defaultAuthenticationHeaderParsingEpsilonPreFilters(webTokenManipulator: WebTokenManipulator<JwtTokenBase>): FilterFunction[];
1029
+ static defaultEpsilonPreFilters(): FilterFunction[];
1030
+ static defaultEpsilonPostFilters(): FilterFunction[];
1031
+ static defaultEpsilonErrorFilters(): FilterFunction[];
1032
+ static defaultHttpMetaProcessingConfigWithAuthenticationHeaderParsing(webTokenManipulator: WebTokenManipulator<JwtTokenBase>): HttpProcessingConfig;
1033
+ static defaultHttpMetaProcessingConfig(): HttpProcessingConfig;
1034
+ static assignDefaultsOnHttpConfig(cfg: HttpConfig): HttpConfig;
1035
+ static findApplicableMeta(httpConfig: HttpConfig, method: string, path: string): HttpProcessingConfig;
1036
+ static openApiYamlToRouterConfig(httpConfig: HttpConfig, openApiDoc: OpenApiDocument, modelValidator: ModelValidator, backgroundHttpAdapterHandler: BackgroundHttpAdapterHandler): EpsilonRouter;
1037
+ private static findAndValidateModelName;
1038
+ static openApiPathToRouteParserPath(input: string): string;
1039
+ }
1040
+
1041
+ declare class InterApiUtil {
1042
+ static isInterApiSnsEvent(event: any): boolean;
1043
+ static extractEntryFromEvent(evt: SNSEvent): InterApiEntry<any>;
1044
+ static processInterApiEvent(evt: SNSEvent, cfg: InterApiConfig, mgr: BackgroundManagerLike): Promise<string[]>;
1045
+ static addTraceToInterApiEntry(ent: InterApiEntry<any>): InterApiEntry<any>;
1046
+ }
1047
+
1048
+ declare class CronEpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<ScheduledEvent> {
1049
+ private _epsilon;
1050
+ constructor(_epsilon: EpsilonInstance);
1051
+ extractLabel(evt: ScheduledEvent, context: Context): string;
1052
+ handlesEvent(evt: any): boolean;
1053
+ processEvent(evt: ScheduledEvent, context: Context): Promise<ProxyResult>;
1054
+ static processCronEvent(evt: ScheduledEvent, cronConfig: CronConfig, backgroundManager: BackgroundManagerLike, background: BackgroundHandler): Promise<boolean>;
1055
+ }
1056
+
1057
+ declare class DynamoEpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<DynamoDBStreamEvent> {
1058
+ private _epsilon;
1059
+ constructor(_epsilon: EpsilonInstance);
1060
+ extractLabel(evt: DynamoDBStreamEvent, context: Context): string;
1061
+ handlesEvent(evt: any): boolean;
1062
+ processEvent(evt: DynamoDBStreamEvent, context: Context): Promise<ProxyResult>;
1063
+ processUncaughtError(event: DynamoDBStreamEvent, context: Context, err: any): Promise<ProxyResult>;
1064
+ }
1065
+
1066
+ declare class GenericSnsEpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<SNSEvent> {
1067
+ private _epsilon;
1068
+ constructor(_epsilon: EpsilonInstance);
1069
+ extractLabel(evt: SNSEvent, context: Context): string;
1070
+ handlesEvent(evt: any): boolean;
1071
+ processEvent(evt: SNSEvent, context: Context): Promise<ProxyResult>;
1072
+ }
1073
+
1074
+ declare class GenericSqsEpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<SQSEvent> {
1075
+ private _epsilon;
1076
+ constructor(_epsilon: EpsilonInstance);
1077
+ extractLabel(evt: SQSEvent, context: Context): string;
1078
+ handlesEvent(evt: any): boolean;
1079
+ processEvent(evt: SQSEvent, context: Context): Promise<ProxyResult>;
1080
+ processUncaughtError(event: SQSEvent, context: Context, err: any): Promise<ProxyResult>;
1081
+ }
1082
+
1083
+ declare class InterApiEpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<SNSEvent> {
1084
+ private _epsilon;
1085
+ constructor(_epsilon: EpsilonInstance);
1086
+ extractLabel(evt: SNSEvent, context: Context): string;
1087
+ handlesEvent(evt: any): boolean;
1088
+ processEvent(evt: SNSEvent, context: Context): Promise<ProxyResult>;
1089
+ }
1090
+
1091
+ declare class S3EpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<S3Event> {
1092
+ private _epsilon;
1093
+ constructor(_epsilon: EpsilonInstance);
1094
+ extractLabel(evt: S3Event, context: Context): string;
1095
+ handlesEvent(evt: any): boolean;
1096
+ processEvent(evt: S3Event, context: Context): Promise<ProxyResult>;
1097
+ }
1098
+
1099
+ interface OpenApiDocModifications {
1100
+ newServerPath: string;
1101
+ removeEndpoints: RegExp[];
1102
+ removeTags: string[];
1103
+ removeSchemas: string[];
1104
+ sortEndpoints: boolean;
1105
+ sortSchemas: boolean;
1106
+ }
1107
+
1108
+ declare class OpenApiDocModifier {
1109
+ private options;
1110
+ constructor(options: OpenApiDocModifications);
1111
+ modifyOpenApiDoc(yamlString: string): string;
1112
+ private matchNone;
1113
+ }
1114
+
1115
+ declare class YamlCombiner {
1116
+ static combine(files: string[], inRootPath?: string[]): string;
1117
+ }
1118
+
1119
+ declare class SampleServerComponents {
1120
+ private constructor();
1121
+ static createSampleApollo(): Promise<ApolloServer>;
1122
+ static createSampleEpsilonConfig(label: string): Promise<EpsilonConfig>;
1123
+ static createSampleEpsilonGlobalHandler(label: string): Promise<EpsilonGlobalHandler>;
1124
+ static createSampleBatchOnlyEpsilonGlobalHandler(label: string): Promise<EpsilonGlobalHandler>;
1125
+ }
1126
+
1127
+ declare class SampleServerStaticFiles {
1128
+ private constructor();
1129
+ static readonly SAMPLE_OPEN_API_DOC: string;
1130
+ static readonly SAMPLE_SERVER_GRAPHQL: string;
1131
+ }
1132
+
1133
+ declare class TestErrorServer {
1134
+ private port;
1135
+ private server;
1136
+ private aborted;
1137
+ constructor(port?: number);
1138
+ runServer(): Promise<boolean>;
1139
+ requestHandler(request: IncomingMessage, response: ServerResponse): Promise<any>;
1140
+ static runFromCliArgs(args: string[]): Promise<void>;
1141
+ }
1142
+
1143
+ declare class AwsUtil {
1144
+ static apiGatewayV2ToApiGatewayV1(srcEvt: APIGatewayProxyEventV2): APIGatewayEvent;
1145
+ static apiGatewayV2RequestContextToApiGatewayV1RequestContext(srcEvt: APIGatewayEventRequestContextV2): APIGatewayEventRequestContextWithAuthorizer<any>;
1146
+ static findInMap<T>(toFind: string, map: Map<string, T>): T;
1147
+ static matchExact(r: any, str: any): boolean;
1148
+ static resolvePotentialFunctionToResult<T>(src: any, def: T): T;
1149
+ }
1150
+
1151
+ declare class ContextUtil {
1152
+ private static CURRENT_EPSILON_REFERENCE;
1153
+ private static CURRENT_CONTEXT;
1154
+ private static CURRENT_EVENT;
1155
+ private static CURRENT_LOG_VARS;
1156
+ private static CURRENT_PROCESS_LABEL;
1157
+ private static CURRENT_OVERRIDE_TRACE_ID;
1158
+ private static CURRENT_OVERRIDE_TRACE_DEPTH;
1159
+ private constructor();
1160
+ static initContext(epsilon: EpsilonInstance, evt: any, ctx: Context, processLabel: string): void;
1161
+ static clearContext(): void;
1162
+ static setOverrideTrace(traceId: string, traceDepth: number): void;
1163
+ static setOverrideTraceFromInternalBackgroundEntry(entry: InternalBackgroundEntry<any>): void;
1164
+ static setOverrideTraceFromInterApiEntry(interApiEntry: InterApiEntry<any>): void;
1165
+ static addHeadersToRecord(input: Record<string, any>, depthOffset?: number): void;
1166
+ static addTraceToProxyResult(pr: ProxyResult): void;
1167
+ static addTraceToHttpRequestInit(ri: RequestInit): void;
1168
+ static setProcessLabel(processLabel: string): void;
1169
+ static currentRequestId(): string;
1170
+ static defaultedCurrentRequestId(defaultValueIfMissing?: string): string;
1171
+ static remainingTimeMS(): number;
1172
+ static currentProcessLabel(): string;
1173
+ private static traceHeaderName;
1174
+ private static traceDepthHeaderName;
1175
+ static currentTraceId(): string;
1176
+ static currentTraceDepth(): number;
1177
+ static addLogVariable(name: string, val: string | number | boolean): void;
1178
+ static fetchLogVariable(name: string): string | number | boolean;
1179
+ static fetchLogVariables(): Record<string, string | number | boolean>;
1180
+ }
1181
+
1182
+ declare class CronUtil {
1183
+ static everyNMinuteFilter(n: number): number[];
1184
+ static everyNDaysOfYearFilter(n: number): number[];
1185
+ static everyNElementFilter(n: number, m: number): number[];
1186
+ static numberMatchesFilter(num: number, filter: number[]): boolean;
1187
+ static eventMatchesEntry(event: ScheduledEvent, entry: AbstractCronEntry, cfg: CronConfig, testTimeEpochMS?: number): boolean;
1188
+ static cronEntryName(entry: AbstractCronEntry, idx?: number): string;
1189
+ }
1190
+
1191
+ declare class EpsilonConfigParser {
1192
+ constructor();
1193
+ static epsilonConfigToEpsilonGlobalHandler(config: EpsilonConfig, backgroundManager?: BackgroundManagerLike): EpsilonGlobalHandler;
1194
+ static epsilonConfigToEpsilonInstance(config: EpsilonConfig, backgroundManager?: BackgroundManagerLike): EpsilonInstance;
1195
+ static parseOpenApiDocument(yamlString: string): OpenApiDocument;
1196
+ static openApiDocToValidator(doc: OpenApiDocument): ModelValidator;
1197
+ static validateGlobalConfig(config: EpsilonConfig): void;
1198
+ }
1199
+
1200
+ export { AbstractBackgroundManager, type AbstractCronEntry, ApiGatewayAdapterAuthenticationHandler, ApolloFilter, ApolloUtil, Auth0WebTokenManipulator, type AuthorizerFunction, AwsLargePayloadS3SqsSnsBackgroundManager, AwsSqsSnsBackgroundManager, AwsUtil, type BackgroundAwsConfig, type BackgroundConfig, BackgroundDynamoLogTableHandler, type BackgroundEntry, type BackgroundErrorProcessor, type BackgroundExecutionEvent, BackgroundExecutionEventType, type BackgroundExecutionListener, BackgroundHandler, BackgroundHttpAdapterHandler, type BackgroundManagerLike, type BackgroundMetaResponseInternal, BackgroundProcessHandling, type BackgroundProcessLogTableEntry, type BackgroundProcessor, type BackgroundQueueResponseInternal, type BackgroundS3TransactionLoggingConfig, type BackgroundTransactionLog, type BackgroundTransactionLogger, BackgroundValidator, BadGateway, BadRequestError, type BasicAuthToken, BuiltInAuthFilters, BuiltInAuthorizers, BuiltInFilters, BuiltInHandlers, BuiltInTraceIdGenerators, ConflictError, ContextUtil, type CronBackgroundEntry, type CronConfig, CronEpsilonLambdaEventHandler, CronUtil, type DaemonAuthorizerFunction, type DaemonConfig, type DaemonGroupSelectionFunction, DaemonHandler, type DaemonProcessStateList, type DefaultEpsilonApolloContext, type DynamoDbConfig, DynamoEpsilonLambdaEventHandler, EchoProcessor, EpsilonApolloCorsMethod, type EpsilonAuthorizationContext, EpsilonBackgroundProcessError, EpsilonBuildProperties, type EpsilonConfig, EpsilonConfigParser, EpsilonConstants, EpsilonGlobalHandler, type EpsilonInstance, type EpsilonLambdaApolloContextFunctionArgument, type EpsilonLambdaApolloOptions, type EpsilonLambdaEventHandler, type EpsilonLoggerConfig, EpsilonLoggingExtensionProcessor, type EpsilonRouter, EventUtil, type ExtendedAPIGatewayEvent, type ExtendedAuthResponseContext, type FilterChainContext, type FilterFunction, ForbiddenError, GatewayTimeout, type GenericAwsEventHandlerFunction, GenericSnsEpsilonLambdaEventHandler, GenericSqsEpsilonLambdaEventHandler, GoogleWebTokenManipulator, type HandlerFunction, type HttpConfig, type HttpProcessingConfig, type InterApiAwsConfig, type InterApiConfig, type InterApiEntry, InterApiEpsilonLambdaEventHandler, InterApiManager, type InterApiProcessMapping, InterApiUtil, type InternalBackgroundEntry, JwtRatchetLocalWebTokenManipulator, LocalContainerServer, LocalServer, LocalServerCert, LocalWebTokenManipulator, LogAndEnqueueEchoProcessor, LogLevelManipulationFilter, LogMessageBackgroundErrorProcessor, type LoggingTraceIdGenerator, type MappedHttpProcessingConfig, MethodNotAllowedError, MisconfiguredError, NoHandlersFoundError, NoOpProcessor, NotFoundError, NotImplemented, NullReturnedObjectHandling, type OpenApiDocModifications, OpenApiDocModifier, type OpenApiDocument, type OpenApiDocumentComponents, type OpenApiDocumentPath, RatchetCliHandler, RatchetEpsilonCommonInfo, RequestTimeoutError, ResponseUtil, RetryProcessor, type RetryProcessorOptions, type RouteAndParse, type RouteMapping, type RouteValidatorConfig, RouterUtil, RunBackgroundProcessFromCommandLine, RunHandlerAsFilter, S3BackgroundTransactionLogger, type S3Config, S3EpsilonLambdaEventHandler, SampleDelayProcessor, SampleInputValidatedProcessor, type SampleInputValidatedProcessorData, SampleServerComponents, SampleServerStaticFiles, ServiceUnavailable, SingleThreadLocalBackgroundManager, type SnsConfig, type SqsConfig, TestErrorServer, TooManyRequestsError, UnauthorizedError, WebHandler, type WebTokenManipulator, WebV2Handler, YamlCombiner };