@gravito/echo 3.1.1 → 3.1.2
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.
- package/README.md +24 -9
- package/dist/OrbitEcho.d.ts +76 -60
- package/dist/index.d.ts +31 -16
- package/dist/index.js +1 -1596
- package/dist/index.js.map +3 -28
- package/dist/{echo/src/middleware → middleware}/RequestBufferMiddleware.d.ts +3 -3
- package/dist/providers/GenericProvider.d.ts +37 -19
- package/dist/providers/GitHubProvider.d.ts +21 -13
- package/dist/providers/StripeProvider.d.ts +20 -13
- package/dist/providers/index.d.ts +14 -4
- package/dist/receive/SignatureValidator.d.ts +33 -1
- package/dist/receive/WebhookReceiver.d.ts +139 -22
- package/dist/receive/index.d.ts +0 -1
- package/dist/send/WebhookDispatcher.d.ts +159 -16
- package/dist/send/index.d.ts +0 -1
- package/dist/types.d.ts +669 -57
- package/package.json +5 -2
- package/dist/OrbitEcho.d.ts.map +0 -1
- package/dist/atlas/src/DB.d.ts +0 -348
- package/dist/atlas/src/OrbitAtlas.d.ts +0 -9
- package/dist/atlas/src/config/defineConfig.d.ts +0 -14
- package/dist/atlas/src/config/index.d.ts +0 -7
- package/dist/atlas/src/config/loadConfig.d.ts +0 -41
- package/dist/atlas/src/connection/Connection.d.ts +0 -112
- package/dist/atlas/src/connection/ConnectionManager.d.ts +0 -180
- package/dist/atlas/src/connection/ReplicaConnectionPool.d.ts +0 -54
- package/dist/atlas/src/drivers/BunSQLDriver.d.ts +0 -32
- package/dist/atlas/src/drivers/BunSQLPreparedStatement.d.ts +0 -118
- package/dist/atlas/src/drivers/MongoDBDriver.d.ts +0 -36
- package/dist/atlas/src/drivers/MySQLDriver.d.ts +0 -79
- package/dist/atlas/src/drivers/PostgresDriver.d.ts +0 -96
- package/dist/atlas/src/drivers/RedisDriver.d.ts +0 -43
- package/dist/atlas/src/drivers/SQLiteDriver.d.ts +0 -45
- package/dist/atlas/src/drivers/types.d.ts +0 -260
- package/dist/atlas/src/errors/index.d.ts +0 -45
- package/dist/atlas/src/grammar/Grammar.d.ts +0 -342
- package/dist/atlas/src/grammar/MongoGrammar.d.ts +0 -47
- package/dist/atlas/src/grammar/MySQLGrammar.d.ts +0 -54
- package/dist/atlas/src/grammar/NullGrammar.d.ts +0 -35
- package/dist/atlas/src/grammar/PostgresGrammar.d.ts +0 -62
- package/dist/atlas/src/grammar/SQLiteGrammar.d.ts +0 -32
- package/dist/atlas/src/index.d.ts +0 -79
- package/dist/atlas/src/migration/Migration.d.ts +0 -64
- package/dist/atlas/src/migration/MigrationRepository.d.ts +0 -65
- package/dist/atlas/src/migration/Migrator.d.ts +0 -110
- package/dist/atlas/src/migration/index.d.ts +0 -6
- package/dist/atlas/src/observability/AtlasMetrics.d.ts +0 -33
- package/dist/atlas/src/observability/AtlasObservability.d.ts +0 -15
- package/dist/atlas/src/observability/AtlasTracer.d.ts +0 -12
- package/dist/atlas/src/observability/index.d.ts +0 -9
- package/dist/atlas/src/orm/Repository.d.ts +0 -247
- package/dist/atlas/src/orm/index.d.ts +0 -6
- package/dist/atlas/src/orm/model/DirtyTracker.d.ts +0 -121
- package/dist/atlas/src/orm/model/Model.d.ts +0 -458
- package/dist/atlas/src/orm/model/ModelRegistry.d.ts +0 -20
- package/dist/atlas/src/orm/model/concerns/HasAttributes.d.ts +0 -150
- package/dist/atlas/src/orm/model/concerns/HasEvents.d.ts +0 -36
- package/dist/atlas/src/orm/model/concerns/HasPersistence.d.ts +0 -92
- package/dist/atlas/src/orm/model/concerns/HasRelationships.d.ts +0 -117
- package/dist/atlas/src/orm/model/concerns/HasSerialization.d.ts +0 -64
- package/dist/atlas/src/orm/model/concerns/applyMixins.d.ts +0 -15
- package/dist/atlas/src/orm/model/concerns/index.d.ts +0 -12
- package/dist/atlas/src/orm/model/decorators.d.ts +0 -138
- package/dist/atlas/src/orm/model/errors.d.ts +0 -52
- package/dist/atlas/src/orm/model/index.d.ts +0 -10
- package/dist/atlas/src/orm/model/relationships.d.ts +0 -207
- package/dist/atlas/src/orm/model/types.d.ts +0 -12
- package/dist/atlas/src/orm/schema/SchemaRegistry.d.ts +0 -124
- package/dist/atlas/src/orm/schema/SchemaSniffer.d.ts +0 -54
- package/dist/atlas/src/orm/schema/index.d.ts +0 -6
- package/dist/atlas/src/orm/schema/types.d.ts +0 -85
- package/dist/atlas/src/pool/AdaptivePoolManager.d.ts +0 -98
- package/dist/atlas/src/pool/PoolHealthChecker.d.ts +0 -91
- package/dist/atlas/src/pool/PoolStrategy.d.ts +0 -129
- package/dist/atlas/src/pool/PoolWarmer.d.ts +0 -92
- package/dist/atlas/src/query/Expression.d.ts +0 -60
- package/dist/atlas/src/query/NPlusOneDetector.d.ts +0 -10
- package/dist/atlas/src/query/QueryBuilder.d.ts +0 -643
- package/dist/atlas/src/query/RelationshipResolver.d.ts +0 -23
- package/dist/atlas/src/query/clauses/GroupByClause.d.ts +0 -51
- package/dist/atlas/src/query/clauses/HavingClause.d.ts +0 -70
- package/dist/atlas/src/query/clauses/JoinClause.d.ts +0 -87
- package/dist/atlas/src/query/clauses/LimitClause.d.ts +0 -82
- package/dist/atlas/src/query/clauses/OrderByClause.d.ts +0 -69
- package/dist/atlas/src/query/clauses/SelectClause.d.ts +0 -71
- package/dist/atlas/src/query/clauses/WhereClause.d.ts +0 -167
- package/dist/atlas/src/query/clauses/index.d.ts +0 -11
- package/dist/atlas/src/schema/Blueprint.d.ts +0 -276
- package/dist/atlas/src/schema/ColumnDefinition.d.ts +0 -154
- package/dist/atlas/src/schema/ForeignKeyDefinition.d.ts +0 -37
- package/dist/atlas/src/schema/MigrationGenerator.d.ts +0 -45
- package/dist/atlas/src/schema/Schema.d.ts +0 -131
- package/dist/atlas/src/schema/SchemaDiff.d.ts +0 -73
- package/dist/atlas/src/schema/TypeGenerator.d.ts +0 -57
- package/dist/atlas/src/schema/TypeWriter.d.ts +0 -42
- package/dist/atlas/src/schema/grammars/MySQLSchemaGrammar.d.ts +0 -23
- package/dist/atlas/src/schema/grammars/PostgresSchemaGrammar.d.ts +0 -26
- package/dist/atlas/src/schema/grammars/SQLiteSchemaGrammar.d.ts +0 -28
- package/dist/atlas/src/schema/grammars/SchemaGrammar.d.ts +0 -97
- package/dist/atlas/src/schema/grammars/index.d.ts +0 -7
- package/dist/atlas/src/schema/index.d.ts +0 -8
- package/dist/atlas/src/seed/Factory.d.ts +0 -90
- package/dist/atlas/src/seed/Seeder.d.ts +0 -28
- package/dist/atlas/src/seed/SeederRunner.d.ts +0 -74
- package/dist/atlas/src/seed/index.d.ts +0 -6
- package/dist/atlas/src/sharding/ShardingManager.d.ts +0 -59
- package/dist/atlas/src/types/index.d.ts +0 -1182
- package/dist/atlas/src/utils/CursorEncoding.d.ts +0 -63
- package/dist/atlas/src/utils/levenshtein.d.ts +0 -9
- package/dist/core/src/Application.d.ts +0 -215
- package/dist/core/src/CommandKernel.d.ts +0 -33
- package/dist/core/src/ConfigManager.d.ts +0 -65
- package/dist/core/src/Container/RequestScopeManager.d.ts +0 -62
- package/dist/core/src/Container/RequestScopeMetrics.d.ts +0 -144
- package/dist/core/src/Container.d.ts +0 -153
- package/dist/core/src/ErrorHandler.d.ts +0 -66
- package/dist/core/src/Event.d.ts +0 -5
- package/dist/core/src/EventManager.d.ts +0 -123
- package/dist/core/src/GlobalErrorHandlers.d.ts +0 -47
- package/dist/core/src/GravitoServer.d.ts +0 -28
- package/dist/core/src/HookManager.d.ts +0 -591
- package/dist/core/src/Listener.d.ts +0 -4
- package/dist/core/src/Logger.d.ts +0 -20
- package/dist/core/src/PlanetCore.d.ts +0 -378
- package/dist/core/src/RequestContext.d.ts +0 -97
- package/dist/core/src/Route.d.ts +0 -36
- package/dist/core/src/Router.d.ts +0 -284
- package/dist/core/src/ServiceProvider.d.ts +0 -178
- package/dist/core/src/adapters/GravitoEngineAdapter.d.ts +0 -27
- package/dist/core/src/adapters/PhotonAdapter.d.ts +0 -175
- package/dist/core/src/adapters/bun/BunContext.d.ts +0 -49
- package/dist/core/src/adapters/bun/BunNativeAdapter.d.ts +0 -31
- package/dist/core/src/adapters/bun/BunRequest.d.ts +0 -31
- package/dist/core/src/adapters/bun/RadixNode.d.ts +0 -19
- package/dist/core/src/adapters/bun/RadixRouter.d.ts +0 -31
- package/dist/core/src/adapters/bun/types.d.ts +0 -20
- package/dist/core/src/adapters/photon-types.d.ts +0 -73
- package/dist/core/src/adapters/types.d.ts +0 -235
- package/dist/core/src/cli/queue-commands.d.ts +0 -6
- package/dist/core/src/engine/AOTRouter.d.ts +0 -129
- package/dist/core/src/engine/FastContext.d.ts +0 -123
- package/dist/core/src/engine/Gravito.d.ts +0 -136
- package/dist/core/src/engine/MinimalContext.d.ts +0 -100
- package/dist/core/src/engine/analyzer.d.ts +0 -27
- package/dist/core/src/engine/constants.d.ts +0 -23
- package/dist/core/src/engine/index.d.ts +0 -26
- package/dist/core/src/engine/path.d.ts +0 -26
- package/dist/core/src/engine/pool.d.ts +0 -83
- package/dist/core/src/engine/types.d.ts +0 -146
- package/dist/core/src/error-handling/RequestScopeErrorContext.d.ts +0 -126
- package/dist/core/src/events/BackpressureManager.d.ts +0 -215
- package/dist/core/src/events/CircuitBreaker.d.ts +0 -229
- package/dist/core/src/events/DeadLetterQueue.d.ts +0 -219
- package/dist/core/src/events/EventBackend.d.ts +0 -12
- package/dist/core/src/events/EventOptions.d.ts +0 -204
- package/dist/core/src/events/EventPriorityQueue.d.ts +0 -301
- package/dist/core/src/events/FlowControlStrategy.d.ts +0 -109
- package/dist/core/src/events/IdempotencyCache.d.ts +0 -60
- package/dist/core/src/events/MessageQueueBridge.d.ts +0 -184
- package/dist/core/src/events/PriorityEscalationManager.d.ts +0 -82
- package/dist/core/src/events/RetryScheduler.d.ts +0 -104
- package/dist/core/src/events/WorkerPool.d.ts +0 -98
- package/dist/core/src/events/WorkerPoolConfig.d.ts +0 -153
- package/dist/core/src/events/WorkerPoolMetrics.d.ts +0 -65
- package/dist/core/src/events/aggregation/AggregationWindow.d.ts +0 -77
- package/dist/core/src/events/aggregation/DeduplicationManager.d.ts +0 -135
- package/dist/core/src/events/aggregation/EventAggregationManager.d.ts +0 -108
- package/dist/core/src/events/aggregation/EventBatcher.d.ts +0 -99
- package/dist/core/src/events/aggregation/types.d.ts +0 -117
- package/dist/core/src/events/index.d.ts +0 -25
- package/dist/core/src/events/observability/EventMetrics.d.ts +0 -132
- package/dist/core/src/events/observability/EventTracer.d.ts +0 -68
- package/dist/core/src/events/observability/EventTracing.d.ts +0 -161
- package/dist/core/src/events/observability/OTelEventMetrics.d.ts +0 -332
- package/dist/core/src/events/observability/ObservableHookManager.d.ts +0 -108
- package/dist/core/src/events/observability/StreamWorkerMetrics.d.ts +0 -76
- package/dist/core/src/events/observability/index.d.ts +0 -24
- package/dist/core/src/events/observability/metrics-types.d.ts +0 -16
- package/dist/core/src/events/types.d.ts +0 -134
- package/dist/core/src/exceptions/AuthenticationException.d.ts +0 -8
- package/dist/core/src/exceptions/AuthorizationException.d.ts +0 -8
- package/dist/core/src/exceptions/CircularDependencyException.d.ts +0 -9
- package/dist/core/src/exceptions/GravitoException.d.ts +0 -23
- package/dist/core/src/exceptions/HttpException.d.ts +0 -9
- package/dist/core/src/exceptions/ModelNotFoundException.d.ts +0 -10
- package/dist/core/src/exceptions/ValidationException.d.ts +0 -22
- package/dist/core/src/exceptions/index.d.ts +0 -7
- package/dist/core/src/health/HealthProvider.d.ts +0 -67
- package/dist/core/src/helpers/Arr.d.ts +0 -19
- package/dist/core/src/helpers/Str.d.ts +0 -23
- package/dist/core/src/helpers/data.d.ts +0 -25
- package/dist/core/src/helpers/errors.d.ts +0 -34
- package/dist/core/src/helpers/response.d.ts +0 -41
- package/dist/core/src/helpers.d.ts +0 -338
- package/dist/core/src/http/CookieJar.d.ts +0 -51
- package/dist/core/src/http/cookie.d.ts +0 -29
- package/dist/core/src/http/middleware/BodySizeLimit.d.ts +0 -16
- package/dist/core/src/http/middleware/Cors.d.ts +0 -24
- package/dist/core/src/http/middleware/Csrf.d.ts +0 -23
- package/dist/core/src/http/middleware/HeaderTokenGate.d.ts +0 -28
- package/dist/core/src/http/middleware/SecurityHeaders.d.ts +0 -29
- package/dist/core/src/http/middleware/ThrottleRequests.d.ts +0 -18
- package/dist/core/src/http/types.d.ts +0 -374
- package/dist/core/src/index.d.ts +0 -88
- package/dist/core/src/instrumentation/index.d.ts +0 -35
- package/dist/core/src/instrumentation/opentelemetry.d.ts +0 -178
- package/dist/core/src/instrumentation/types.d.ts +0 -182
- package/dist/core/src/observability/Metrics.d.ts +0 -244
- package/dist/core/src/observability/QueueDashboard.d.ts +0 -136
- package/dist/core/src/reliability/DeadLetterQueueManager.d.ts +0 -350
- package/dist/core/src/reliability/RetryPolicy.d.ts +0 -217
- package/dist/core/src/reliability/index.d.ts +0 -6
- package/dist/core/src/router/ControllerDispatcher.d.ts +0 -12
- package/dist/core/src/router/RequestValidator.d.ts +0 -20
- package/dist/core/src/runtime.d.ts +0 -119
- package/dist/core/src/security/Encrypter.d.ts +0 -33
- package/dist/core/src/security/Hasher.d.ts +0 -29
- package/dist/core/src/testing/HttpTester.d.ts +0 -39
- package/dist/core/src/testing/TestResponse.d.ts +0 -78
- package/dist/core/src/testing/index.d.ts +0 -2
- package/dist/core/src/types/events.d.ts +0 -94
- package/dist/echo/src/OrbitEcho.d.ts +0 -115
- package/dist/echo/src/index.d.ts +0 -64
- package/dist/echo/src/providers/GenericProvider.d.ts +0 -53
- package/dist/echo/src/providers/GitHubProvider.d.ts +0 -35
- package/dist/echo/src/providers/StripeProvider.d.ts +0 -38
- package/dist/echo/src/providers/index.d.ts +0 -14
- package/dist/echo/src/receive/SignatureValidator.d.ts +0 -67
- package/dist/echo/src/receive/WebhookReceiver.d.ts +0 -185
- package/dist/echo/src/receive/index.d.ts +0 -2
- package/dist/echo/src/send/WebhookDispatcher.d.ts +0 -198
- package/dist/echo/src/send/index.d.ts +0 -1
- package/dist/echo/src/types.d.ts +0 -756
- package/dist/index.d.ts.map +0 -1
- package/dist/monitor/src/MonitorOrbit.d.ts +0 -43
- package/dist/monitor/src/config.d.ts +0 -106
- package/dist/monitor/src/health/HealthController.d.ts +0 -28
- package/dist/monitor/src/health/HealthRegistry.d.ts +0 -80
- package/dist/monitor/src/health/index.d.ts +0 -36
- package/dist/monitor/src/index.d.ts +0 -13
- package/dist/monitor/src/metrics/MetricsController.d.ts +0 -22
- package/dist/monitor/src/metrics/MetricsRegistry.d.ts +0 -136
- package/dist/monitor/src/metrics/index.d.ts +0 -11
- package/dist/monitor/src/tracing/TracingManager.d.ts +0 -97
- package/dist/monitor/src/tracing/index.d.ts +0 -10
- package/dist/photon/src/index.d.ts +0 -89
- package/dist/photon/src/middleware/binary.d.ts +0 -31
- package/dist/photon/src/middleware/htmx.d.ts +0 -39
- package/dist/photon/src/middleware/ratelimit-redis.d.ts +0 -50
- package/dist/photon/src/middleware/ratelimit.d.ts +0 -161
- package/dist/photon/src/openapi.d.ts +0 -19
- package/dist/providers/GenericProvider.d.ts.map +0 -1
- package/dist/providers/GitHubProvider.d.ts.map +0 -1
- package/dist/providers/StripeProvider.d.ts.map +0 -1
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/receive/SignatureValidator.d.ts.map +0 -1
- package/dist/receive/WebhookReceiver.d.ts.map +0 -1
- package/dist/receive/index.d.ts.map +0 -1
- package/dist/send/WebhookDispatcher.d.ts.map +0 -1
- package/dist/send/index.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- /package/dist/{echo/src/dlq → dlq}/DeadLetterQueue.d.ts +0 -0
- /package/dist/{echo/src/dlq → dlq}/MemoryDeadLetterQueue.d.ts +0 -0
- /package/dist/{echo/src/dlq → dlq}/index.d.ts +0 -0
- /package/dist/{echo/src/middleware → middleware}/index.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/index.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/logging/ConsoleEchoLogger.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/logging/EchoLogger.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/logging/index.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/metrics/MetricsProvider.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/metrics/NoopMetricsProvider.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/metrics/PrometheusMetricsProvider.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/metrics/index.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/tracing/NoopTracer.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/tracing/Tracer.d.ts +0 -0
- /package/dist/{echo/src/observability → observability}/tracing/index.d.ts +0 -0
- /package/dist/{echo/src/providers → providers}/LinearProvider.d.ts +0 -0
- /package/dist/{echo/src/providers → providers}/PaddleProvider.d.ts +0 -0
- /package/dist/{echo/src/providers → providers}/ShopifyProvider.d.ts +0 -0
- /package/dist/{echo/src/providers → providers}/SlackProvider.d.ts +0 -0
- /package/dist/{echo/src/providers → providers}/TwilioProvider.d.ts +0 -0
- /package/dist/{echo/src/providers → providers}/base/BaseProvider.d.ts +0 -0
- /package/dist/{echo/src/providers → providers}/base/HeaderUtils.d.ts +0 -0
- /package/dist/{echo/src/replay → replay}/WebhookReplayService.d.ts +0 -0
- /package/dist/{echo/src/replay → replay}/index.d.ts +0 -0
- /package/dist/{echo/src/resilience → resilience}/CircuitBreaker.d.ts +0 -0
- /package/dist/{echo/src/resilience → resilience}/index.d.ts +0 -0
- /package/dist/{echo/src/rotation → rotation}/KeyRotationManager.d.ts +0 -0
- /package/dist/{echo/src/rotation → rotation}/index.d.ts +0 -0
- /package/dist/{echo/src/storage → storage}/MemoryWebhookStore.d.ts +0 -0
- /package/dist/{echo/src/storage → storage}/WebhookStore.d.ts +0 -0
- /package/dist/{echo/src/storage → storage}/index.d.ts +0 -0
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
import type { EventOptions } from './EventOptions';
|
|
2
|
-
/**
|
|
3
|
-
* Source of DLQ entry - reason why event entered the DLQ.
|
|
4
|
-
* @public
|
|
5
|
-
*/
|
|
6
|
-
export type DLQEntrySource = 'retry_exhausted' | 'circuit_breaker' | 'backpressure_overflow' | 'manual';
|
|
7
|
-
/**
|
|
8
|
-
* Dead Letter Queue entry representing a failed event.
|
|
9
|
-
* @public
|
|
10
|
-
*/
|
|
11
|
-
export interface DLQEntry {
|
|
12
|
-
/**
|
|
13
|
-
* Unique identifier for this DLQ entry.
|
|
14
|
-
*/
|
|
15
|
-
id: string;
|
|
16
|
-
/**
|
|
17
|
-
* Event hook name.
|
|
18
|
-
*/
|
|
19
|
-
eventName: string;
|
|
20
|
-
/**
|
|
21
|
-
* Event payload.
|
|
22
|
-
*/
|
|
23
|
-
payload: unknown;
|
|
24
|
-
/**
|
|
25
|
-
* Event options used when dispatching.
|
|
26
|
-
*/
|
|
27
|
-
options: EventOptions;
|
|
28
|
-
/**
|
|
29
|
-
* Error that caused the event to fail.
|
|
30
|
-
*/
|
|
31
|
-
error: {
|
|
32
|
-
message: string;
|
|
33
|
-
stack?: string;
|
|
34
|
-
code?: string;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Number of retry attempts made.
|
|
38
|
-
*/
|
|
39
|
-
retryCount: number;
|
|
40
|
-
/**
|
|
41
|
-
* Timestamp when the event first failed.
|
|
42
|
-
*/
|
|
43
|
-
firstFailedAt: number;
|
|
44
|
-
/**
|
|
45
|
-
* Timestamp when the event was added to DLQ.
|
|
46
|
-
*/
|
|
47
|
-
failedAt: number;
|
|
48
|
-
/**
|
|
49
|
-
* Timestamp when the event was last retried (if any).
|
|
50
|
-
*/
|
|
51
|
-
lastRetriedAt?: number;
|
|
52
|
-
/**
|
|
53
|
-
* Source of the DLQ entry - reason why event entered the DLQ.
|
|
54
|
-
*/
|
|
55
|
-
source: DLQEntrySource;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Filter options for querying DLQ entries.
|
|
59
|
-
* @public
|
|
60
|
-
*/
|
|
61
|
-
export interface DLQFilter {
|
|
62
|
-
/**
|
|
63
|
-
* Filter by event name.
|
|
64
|
-
*/
|
|
65
|
-
eventName?: string;
|
|
66
|
-
/**
|
|
67
|
-
* Filter by entries failed after this timestamp.
|
|
68
|
-
*/
|
|
69
|
-
from?: number;
|
|
70
|
-
/**
|
|
71
|
-
* Filter by entries failed before this timestamp.
|
|
72
|
-
*/
|
|
73
|
-
to?: number;
|
|
74
|
-
/**
|
|
75
|
-
* Maximum number of entries to return.
|
|
76
|
-
*/
|
|
77
|
-
limit?: number;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Callback type for DLQ entry events.
|
|
81
|
-
* @public
|
|
82
|
-
*/
|
|
83
|
-
export type DLQEntryCallback = (entry: DLQEntry) => void;
|
|
84
|
-
/**
|
|
85
|
-
* Dead Letter Queue Manager for handling failed events.
|
|
86
|
-
*
|
|
87
|
-
* The DLQ stores events that have exceeded their retry limit,
|
|
88
|
-
* allowing for manual inspection, reprocessing, or analysis.
|
|
89
|
-
*
|
|
90
|
-
* @public
|
|
91
|
-
*/
|
|
92
|
-
export declare class DeadLetterQueue {
|
|
93
|
-
private entries;
|
|
94
|
-
private entryIdCounter;
|
|
95
|
-
private maxEntries?;
|
|
96
|
-
private onEntryAdded?;
|
|
97
|
-
private onEntryRemoved?;
|
|
98
|
-
/**
|
|
99
|
-
* Create a new DeadLetterQueue instance.
|
|
100
|
-
*
|
|
101
|
-
* @param maxEntries - Maximum number of entries to keep (optional, no limit if not set)
|
|
102
|
-
*/
|
|
103
|
-
constructor(maxEntries?: number);
|
|
104
|
-
/**
|
|
105
|
-
* Add a failed event to the Dead Letter Queue.
|
|
106
|
-
*
|
|
107
|
-
* @param eventName - Name of the failed event
|
|
108
|
-
* @param payload - Event payload
|
|
109
|
-
* @param options - Event options
|
|
110
|
-
* @param error - Error that caused the failure
|
|
111
|
-
* @param retryCount - Number of retry attempts made
|
|
112
|
-
* @param firstFailedAt - Timestamp of first failure
|
|
113
|
-
* @param source - Source of the DLQ entry (default: 'retry_exhausted')
|
|
114
|
-
* @returns DLQ entry ID
|
|
115
|
-
*/
|
|
116
|
-
add(eventName: string, payload: unknown, options: EventOptions, error: Error, retryCount: number, firstFailedAt: number, source?: DLQEntrySource): string;
|
|
117
|
-
/**
|
|
118
|
-
* Get a specific DLQ entry by ID.
|
|
119
|
-
*
|
|
120
|
-
* @param entryId - DLQ entry ID
|
|
121
|
-
* @returns DLQ entry or undefined if not found
|
|
122
|
-
*/
|
|
123
|
-
get(entryId: string): DLQEntry | undefined;
|
|
124
|
-
/**
|
|
125
|
-
* List DLQ entries with optional filtering.
|
|
126
|
-
*
|
|
127
|
-
* @param filter - Filter options
|
|
128
|
-
* @returns Array of DLQ entries
|
|
129
|
-
*/
|
|
130
|
-
list(filter?: DLQFilter): DLQEntry[];
|
|
131
|
-
/**
|
|
132
|
-
* Delete a DLQ entry.
|
|
133
|
-
*
|
|
134
|
-
* @param entryId - DLQ entry ID
|
|
135
|
-
* @returns True if entry was deleted, false if not found
|
|
136
|
-
*/
|
|
137
|
-
delete(entryId: string): boolean;
|
|
138
|
-
/**
|
|
139
|
-
* Delete all DLQ entries matching the filter.
|
|
140
|
-
*
|
|
141
|
-
* @param filter - Filter options
|
|
142
|
-
* @returns Number of entries deleted
|
|
143
|
-
*/
|
|
144
|
-
deleteAll(filter?: DLQFilter): number;
|
|
145
|
-
/**
|
|
146
|
-
* Get the total number of entries in the DLQ.
|
|
147
|
-
*
|
|
148
|
-
* @returns Total entry count
|
|
149
|
-
*/
|
|
150
|
-
getCount(): number;
|
|
151
|
-
/**
|
|
152
|
-
* Get the count of entries for a specific event.
|
|
153
|
-
*
|
|
154
|
-
* @param eventName - Event name
|
|
155
|
-
* @returns Entry count for the event
|
|
156
|
-
*/
|
|
157
|
-
getCountByEvent(eventName: string): number;
|
|
158
|
-
/**
|
|
159
|
-
* Clear all entries from the DLQ.
|
|
160
|
-
*/
|
|
161
|
-
clear(): void;
|
|
162
|
-
/**
|
|
163
|
-
* Update the last retried timestamp for an entry.
|
|
164
|
-
*
|
|
165
|
-
* @param entryId - DLQ entry ID
|
|
166
|
-
* @internal
|
|
167
|
-
*/
|
|
168
|
-
updateLastRetried(entryId: string): void;
|
|
169
|
-
/**
|
|
170
|
-
* Evict the oldest entry from the DLQ.
|
|
171
|
-
* Used when capacity limit is reached.
|
|
172
|
-
*
|
|
173
|
-
* @private
|
|
174
|
-
*/
|
|
175
|
-
private evictOldest;
|
|
176
|
-
/**
|
|
177
|
-
* Get the oldest entry in the DLQ.
|
|
178
|
-
*
|
|
179
|
-
* @returns Oldest DLQ entry or undefined if empty
|
|
180
|
-
*/
|
|
181
|
-
getOldestEntry(): DLQEntry | undefined;
|
|
182
|
-
/**
|
|
183
|
-
* Get the newest entry in the DLQ.
|
|
184
|
-
*
|
|
185
|
-
* @returns Newest DLQ entry or undefined if empty
|
|
186
|
-
*/
|
|
187
|
-
getNewestEntry(): DLQEntry | undefined;
|
|
188
|
-
/**
|
|
189
|
-
* Get all entries grouped by source.
|
|
190
|
-
*
|
|
191
|
-
* @param source - Source to filter by
|
|
192
|
-
* @returns Array of entries matching the source
|
|
193
|
-
*/
|
|
194
|
-
getEntriesBySource(source: DLQEntrySource): DLQEntry[];
|
|
195
|
-
/**
|
|
196
|
-
* Set callback for when an entry is added to the DLQ.
|
|
197
|
-
*
|
|
198
|
-
* @param callback - Callback function or undefined to clear
|
|
199
|
-
*/
|
|
200
|
-
setOnEntryAdded(callback?: DLQEntryCallback): void;
|
|
201
|
-
/**
|
|
202
|
-
* Set callback for when an entry is removed from the DLQ.
|
|
203
|
-
*
|
|
204
|
-
* @param callback - Callback function or undefined to clear
|
|
205
|
-
*/
|
|
206
|
-
setOnEntryRemoved(callback?: DLQEntryCallback): void;
|
|
207
|
-
/**
|
|
208
|
-
* Get the maximum number of entries allowed in the DLQ.
|
|
209
|
-
*
|
|
210
|
-
* @returns Max entries limit or undefined if no limit
|
|
211
|
-
*/
|
|
212
|
-
getMaxEntries(): number | undefined;
|
|
213
|
-
/**
|
|
214
|
-
* Set the maximum number of entries allowed in the DLQ.
|
|
215
|
-
*
|
|
216
|
-
* @param maxEntries - Maximum entries or undefined to remove limit
|
|
217
|
-
*/
|
|
218
|
-
setMaxEntries(maxEntries?: number): void;
|
|
219
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { EventTask } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Interface for event dispatch backends.
|
|
4
|
-
*/
|
|
5
|
-
export interface EventBackend {
|
|
6
|
-
/**
|
|
7
|
-
* Enqueue an event for processing.
|
|
8
|
-
* @param task - The event task to process
|
|
9
|
-
* @returns Task ID or 'dropped' if event was rejected (can be async for some backends)
|
|
10
|
-
*/
|
|
11
|
-
enqueue(task: EventTask): string | Promise<void>;
|
|
12
|
-
}
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event dispatch options for async event handling.
|
|
3
|
-
* @public
|
|
4
|
-
*/
|
|
5
|
-
export interface EventOptions {
|
|
6
|
-
/**
|
|
7
|
-
* Whether to dispatch the event asynchronously.
|
|
8
|
-
* @default false
|
|
9
|
-
*/
|
|
10
|
-
async?: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Priority level for event processing.
|
|
13
|
-
* - 'critical': Immediate processing, bypass queue (< 1ms)
|
|
14
|
-
* - 'high': High priority events (< 50ms)
|
|
15
|
-
* - 'normal': Standard events (< 200ms)
|
|
16
|
-
* - 'low': Non-critical events (< 500ms)
|
|
17
|
-
* @default 'normal'
|
|
18
|
-
*/
|
|
19
|
-
priority?: 'critical' | 'high' | 'normal' | 'low';
|
|
20
|
-
/**
|
|
21
|
-
* Automatic priority escalation configuration.
|
|
22
|
-
* Events can be automatically upgraded to higher priority based on wait time.
|
|
23
|
-
*/
|
|
24
|
-
escalation?: {
|
|
25
|
-
/**
|
|
26
|
-
* Whether to enable automatic priority escalation.
|
|
27
|
-
* @default true
|
|
28
|
-
*/
|
|
29
|
-
enabled?: boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Escalation thresholds in milliseconds.
|
|
32
|
-
* Events exceeding these wait times are promoted.
|
|
33
|
-
*/
|
|
34
|
-
thresholds?: {
|
|
35
|
-
/**
|
|
36
|
-
* Wait time before LOW events are promoted to NORMAL.
|
|
37
|
-
* @default 200
|
|
38
|
-
*/
|
|
39
|
-
lowToNormal?: number;
|
|
40
|
-
/**
|
|
41
|
-
* Wait time before NORMAL events are promoted to HIGH.
|
|
42
|
-
* @default 100
|
|
43
|
-
*/
|
|
44
|
-
normalToHigh?: number;
|
|
45
|
-
/**
|
|
46
|
-
* Wait time before HIGH events are promoted to CRITICAL.
|
|
47
|
-
* @default 50
|
|
48
|
-
*/
|
|
49
|
-
highToCritical?: number;
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* Maximum wait time before forcing CRITICAL priority.
|
|
53
|
-
* @default 500
|
|
54
|
-
*/
|
|
55
|
-
maxWaitTimeMs?: number;
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Execution timeout in milliseconds.
|
|
59
|
-
* If a listener exceeds this timeout, it will be terminated.
|
|
60
|
-
* @default 5000
|
|
61
|
-
*/
|
|
62
|
-
timeout?: number;
|
|
63
|
-
/**
|
|
64
|
-
* Ordering guarantee strategy.
|
|
65
|
-
* - 'strict': Global strict ordering (slow, serialized)
|
|
66
|
-
* - 'partition': Partition-based ordering (recommended, balanced)
|
|
67
|
-
* - 'none': No ordering guarantee (fastest, parallel)
|
|
68
|
-
* @default 'none'
|
|
69
|
-
*/
|
|
70
|
-
ordering?: 'strict' | 'partition' | 'none';
|
|
71
|
-
/**
|
|
72
|
-
* Partition key for partition-based ordering.
|
|
73
|
-
* Events with the same partition key are processed in order.
|
|
74
|
-
* Only used when ordering is 'partition'.
|
|
75
|
-
* @example 'order:123' or 'user:456'
|
|
76
|
-
*/
|
|
77
|
-
partitionKey?: string;
|
|
78
|
-
/**
|
|
79
|
-
* Idempotency key for deduplication.
|
|
80
|
-
* Events with the same idempotency key within the TTL window
|
|
81
|
-
* will be processed only once.
|
|
82
|
-
* @example 'order:123:created'
|
|
83
|
-
*/
|
|
84
|
-
idempotencyKey?: string;
|
|
85
|
-
/**
|
|
86
|
-
* Time-to-live for idempotency key in milliseconds.
|
|
87
|
-
* @default 3600000 (1 hour)
|
|
88
|
-
*/
|
|
89
|
-
ttl?: number;
|
|
90
|
-
/**
|
|
91
|
-
* Retry policy for failed event processing.
|
|
92
|
-
*/
|
|
93
|
-
retry?: {
|
|
94
|
-
/**
|
|
95
|
-
* Maximum number of retry attempts.
|
|
96
|
-
* @default 0
|
|
97
|
-
*/
|
|
98
|
-
maxRetries?: number;
|
|
99
|
-
/**
|
|
100
|
-
* Backoff strategy for retries.
|
|
101
|
-
* - 'exponential': Delay doubles with each retry (1s, 2s, 4s, 8s...)
|
|
102
|
-
* - 'linear': Fixed delay between retries
|
|
103
|
-
* @default 'exponential'
|
|
104
|
-
*/
|
|
105
|
-
backoff?: 'exponential' | 'linear';
|
|
106
|
-
/**
|
|
107
|
-
* Initial delay in milliseconds before first retry.
|
|
108
|
-
* @default 1000
|
|
109
|
-
*/
|
|
110
|
-
initialDelayMs?: number;
|
|
111
|
-
/**
|
|
112
|
-
* Maximum delay in milliseconds between retries.
|
|
113
|
-
* @default 30000
|
|
114
|
-
*/
|
|
115
|
-
maxDelayMs?: number;
|
|
116
|
-
/**
|
|
117
|
-
* Whether to send failed events to Dead Letter Queue after max retries.
|
|
118
|
-
* @default false
|
|
119
|
-
*/
|
|
120
|
-
dlqAfterMaxRetries?: boolean;
|
|
121
|
-
};
|
|
122
|
-
/**
|
|
123
|
-
* Circuit breaker options for this event.
|
|
124
|
-
*/
|
|
125
|
-
circuitBreaker?: {
|
|
126
|
-
/**
|
|
127
|
-
* Number of consecutive failures before opening the circuit.
|
|
128
|
-
* @default 5
|
|
129
|
-
*/
|
|
130
|
-
failureThreshold?: number;
|
|
131
|
-
/**
|
|
132
|
-
* Time in milliseconds to wait before attempting to close the circuit.
|
|
133
|
-
* @default 30000
|
|
134
|
-
*/
|
|
135
|
-
resetTimeout?: number;
|
|
136
|
-
/**
|
|
137
|
-
* Number of test requests to allow in half-open state.
|
|
138
|
-
* @default 3
|
|
139
|
-
*/
|
|
140
|
-
halfOpenRequests?: number;
|
|
141
|
-
};
|
|
142
|
-
/**
|
|
143
|
-
* Event aggregation configuration (FS-102).
|
|
144
|
-
* Enables deduplication and micro-batching for improved throughput.
|
|
145
|
-
* @default undefined (disabled)
|
|
146
|
-
*/
|
|
147
|
-
aggregation?: {
|
|
148
|
-
/**
|
|
149
|
-
* Enable event aggregation.
|
|
150
|
-
* @default false
|
|
151
|
-
*/
|
|
152
|
-
enabled?: boolean;
|
|
153
|
-
/**
|
|
154
|
-
* Aggregation window size in milliseconds.
|
|
155
|
-
* Backpressure-aware adjustment: 50-500ms
|
|
156
|
-
* @default 200
|
|
157
|
-
*/
|
|
158
|
-
windowMs?: number;
|
|
159
|
-
/**
|
|
160
|
-
* Batch size threshold for auto-flush.
|
|
161
|
-
* @default 50
|
|
162
|
-
*/
|
|
163
|
-
batchSize?: number;
|
|
164
|
-
/**
|
|
165
|
-
* Deduplication strategy.
|
|
166
|
-
* @default 'pattern'
|
|
167
|
-
*/
|
|
168
|
-
deduplication?: 'pattern' | 'idempotencyKey' | 'off';
|
|
169
|
-
/**
|
|
170
|
-
* Deduplication pattern (string or function).
|
|
171
|
-
* String: hook-based pattern
|
|
172
|
-
* Function: custom pattern from event args
|
|
173
|
-
*/
|
|
174
|
-
pattern?: string | ((args: unknown) => string);
|
|
175
|
-
/**
|
|
176
|
-
* Priority merge strategy.
|
|
177
|
-
* - 'highest': keep highest priority event
|
|
178
|
-
* - 'earliest': keep earliest event
|
|
179
|
-
* - 'latest': keep latest event
|
|
180
|
-
* @default 'highest'
|
|
181
|
-
*/
|
|
182
|
-
mergePriority?: 'highest' | 'earliest' | 'latest';
|
|
183
|
-
/**
|
|
184
|
-
* Enable automatic cleanup of expired entries.
|
|
185
|
-
* @default true
|
|
186
|
-
*/
|
|
187
|
-
enableCleanup?: boolean;
|
|
188
|
-
/**
|
|
189
|
-
* Cleanup interval in milliseconds.
|
|
190
|
-
* @default 300000 (5 minutes)
|
|
191
|
-
*/
|
|
192
|
-
cleanupIntervalMs?: number;
|
|
193
|
-
/**
|
|
194
|
-
* TTL for entries in milliseconds.
|
|
195
|
-
* @default 600000 (10 minutes)
|
|
196
|
-
*/
|
|
197
|
-
ttlMs?: number;
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Default event options.
|
|
202
|
-
* @internal
|
|
203
|
-
*/
|
|
204
|
-
export declare const DEFAULT_EVENT_OPTIONS: Required<EventOptions>;
|