@gravito/ripple 4.0.0 → 4.0.1

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 (91) hide show
  1. package/dist/atlas/src/DB.d.ts +51 -4
  2. package/dist/atlas/src/config/index.d.ts +1 -1
  3. package/dist/atlas/src/config/loadConfig.d.ts +0 -7
  4. package/dist/atlas/src/connection/Connection.d.ts +4 -0
  5. package/dist/atlas/src/connection/ConnectionManager.d.ts +75 -6
  6. package/dist/atlas/src/connection/ReplicaConnectionPool.d.ts +54 -0
  7. package/dist/atlas/src/drivers/MySQLDriver.d.ts +16 -3
  8. package/dist/atlas/src/drivers/PostgresDriver.d.ts +15 -2
  9. package/dist/atlas/src/index.d.ts +15 -3
  10. package/dist/atlas/src/observability/AtlasMetrics.d.ts +22 -0
  11. package/dist/atlas/src/orm/Repository.d.ts +247 -0
  12. package/dist/atlas/src/orm/index.d.ts +1 -0
  13. package/dist/atlas/src/orm/model/Model.d.ts +11 -2
  14. package/dist/atlas/src/orm/model/concerns/HasAttributes.d.ts +14 -0
  15. package/dist/atlas/src/orm/model/concerns/HasPersistence.d.ts +5 -0
  16. package/dist/atlas/src/orm/model/decorators.d.ts +29 -0
  17. package/dist/atlas/src/orm/model/index.d.ts +1 -1
  18. package/dist/atlas/src/orm/schema/SchemaRegistry.d.ts +1 -0
  19. package/dist/atlas/src/pool/AdaptivePoolManager.d.ts +98 -0
  20. package/dist/atlas/src/pool/PoolHealthChecker.d.ts +91 -0
  21. package/dist/atlas/src/pool/PoolStrategy.d.ts +129 -0
  22. package/dist/atlas/src/pool/PoolWarmer.d.ts +92 -0
  23. package/dist/atlas/src/query/QueryBuilder.d.ts +71 -1
  24. package/dist/atlas/src/query/RelationshipResolver.d.ts +23 -0
  25. package/dist/atlas/src/schema/MigrationGenerator.d.ts +45 -0
  26. package/dist/atlas/src/schema/SchemaDiff.d.ts +73 -0
  27. package/dist/atlas/src/schema/TypeGenerator.d.ts +57 -0
  28. package/dist/atlas/src/schema/TypeWriter.d.ts +42 -0
  29. package/dist/atlas/src/sharding/ShardingManager.d.ts +59 -0
  30. package/dist/atlas/src/types/index.d.ts +83 -1
  31. package/dist/atlas/src/utils/CursorEncoding.d.ts +63 -0
  32. package/dist/core/src/ConfigManager.d.ts +39 -0
  33. package/dist/core/src/Container/RequestScopeManager.d.ts +62 -0
  34. package/dist/core/src/Container/RequestScopeMetrics.d.ts +144 -0
  35. package/dist/core/src/Container.d.ts +45 -0
  36. package/dist/core/src/ErrorHandler.d.ts +3 -0
  37. package/dist/core/src/HookManager.d.ts +95 -0
  38. package/dist/core/src/PlanetCore.d.ts +89 -0
  39. package/dist/core/src/RequestContext.d.ts +97 -0
  40. package/dist/core/src/ServiceProvider.d.ts +22 -0
  41. package/dist/core/src/adapters/PhotonAdapter.d.ts +4 -0
  42. package/dist/core/src/adapters/bun/BunContext.d.ts +4 -0
  43. package/dist/core/src/cli/queue-commands.d.ts +6 -0
  44. package/dist/core/src/engine/AOTRouter.d.ts +6 -1
  45. package/dist/core/src/engine/FastContext.d.ts +23 -0
  46. package/dist/core/src/engine/Gravito.d.ts +0 -1
  47. package/dist/core/src/engine/MinimalContext.d.ts +21 -0
  48. package/dist/core/src/engine/types.d.ts +3 -0
  49. package/dist/core/src/error-handling/RequestScopeErrorContext.d.ts +126 -0
  50. package/dist/core/src/events/BackpressureManager.d.ts +215 -0
  51. package/dist/core/src/events/DeadLetterQueue.d.ts +75 -1
  52. package/dist/core/src/events/EventBackend.d.ts +2 -1
  53. package/dist/core/src/events/EventOptions.d.ts +99 -4
  54. package/dist/core/src/events/EventPriorityQueue.d.ts +105 -6
  55. package/dist/core/src/events/FlowControlStrategy.d.ts +109 -0
  56. package/dist/core/src/events/MessageQueueBridge.d.ts +184 -0
  57. package/dist/core/src/events/PriorityEscalationManager.d.ts +82 -0
  58. package/dist/core/src/events/RetryScheduler.d.ts +104 -0
  59. package/dist/core/src/events/WorkerPool.d.ts +98 -0
  60. package/dist/core/src/events/WorkerPoolConfig.d.ts +153 -0
  61. package/dist/core/src/events/WorkerPoolMetrics.d.ts +65 -0
  62. package/dist/core/src/events/aggregation/AggregationWindow.d.ts +77 -0
  63. package/dist/core/src/events/aggregation/DeduplicationManager.d.ts +135 -0
  64. package/dist/core/src/events/aggregation/EventAggregationManager.d.ts +108 -0
  65. package/dist/core/src/events/aggregation/EventBatcher.d.ts +99 -0
  66. package/dist/core/src/events/aggregation/types.d.ts +117 -0
  67. package/dist/core/src/events/index.d.ts +11 -0
  68. package/dist/core/src/events/observability/OTelEventMetrics.d.ts +92 -0
  69. package/dist/core/src/events/observability/StreamWorkerMetrics.d.ts +76 -0
  70. package/dist/core/src/events/observability/index.d.ts +4 -0
  71. package/dist/core/src/events/types.d.ts +59 -0
  72. package/dist/core/src/health/HealthProvider.d.ts +67 -0
  73. package/dist/core/src/http/types.d.ts +19 -0
  74. package/dist/core/src/index.d.ts +13 -1
  75. package/dist/core/src/observability/Metrics.d.ts +244 -0
  76. package/dist/core/src/observability/QueueDashboard.d.ts +136 -0
  77. package/dist/core/src/reliability/DeadLetterQueueManager.d.ts +34 -0
  78. package/dist/index.js +403 -40
  79. package/dist/index.js.map +11 -9
  80. package/dist/photon/src/index.d.ts +5 -0
  81. package/dist/photon/src/middleware/ratelimit-redis.d.ts +50 -0
  82. package/dist/photon/src/middleware/ratelimit.d.ts +4 -0
  83. package/dist/ripple/src/RippleServer.d.ts +0 -1
  84. package/dist/ripple/src/engines/UWebSocketsEngine.d.ts +97 -0
  85. package/dist/ripple/src/engines/WsEngine.d.ts +69 -0
  86. package/dist/ripple/src/engines/index.d.ts +4 -0
  87. package/dist/ripple/src/serializers/ISerializer.d.ts +1 -1
  88. package/dist/ripple/src/serializers/JsonSerializer.d.ts +1 -1
  89. package/dist/ripple/src/serializers/ProtobufSerializer.d.ts +6 -3
  90. package/dist/ripple/src/types.d.ts +11 -0
  91. package/package.json +3 -2
@@ -312,6 +312,25 @@ export interface GravitoContext<V extends GravitoVariables = GravitoVariables> {
312
312
  * ```
313
313
  */
314
314
  readonly native: unknown;
315
+ /**
316
+ * Access the RequestScopeManager for this request
317
+ * Services resolved through this manager are scoped to the HTTP request lifetime.
318
+ */
319
+ requestScope(): any;
320
+ /**
321
+ * Resolve or create a request-scoped service
322
+ *
323
+ * @param key - Service key (string or symbol)
324
+ * @param factory - Factory function to create the service if not cached
325
+ * @returns The cached or newly created service instance
326
+ *
327
+ * @example
328
+ * ```typescript
329
+ * // Subsequent calls in the same request return the same instance
330
+ * const cache = ctx.scoped('product:cache', () => new RequestProductCache())
331
+ * ```
332
+ */
333
+ scoped<T>(key: string | symbol, factory: () => T): T;
315
334
  }
316
335
  /**
317
336
  * Next function for middleware chain
@@ -20,18 +20,29 @@ export { Application, type ApplicationConfig } from './Application';
20
20
  export { type CommandHandler, CommandKernel } from './CommandKernel';
21
21
  export { ConfigManager } from './ConfigManager';
22
22
  export { Container, type Factory, type ServiceKey, type ServiceMap } from './Container';
23
+ export { RequestScopeManager } from './Container/RequestScopeManager';
24
+ export { RequestScopeMetrics, RequestScopeMetricsCollector, type RequestScopeObserver, } from './Container/RequestScopeMetrics';
25
+ export { registerQueueCommands } from './cli/queue-commands';
23
26
  export { codeFromStatus, ErrorHandler, type ErrorHandlerDeps, messageFromStatus, } from './ErrorHandler';
24
27
  export { EventManager } from './EventManager';
28
+ export { cleanupRequestScopeOnError, detectRequestScopeLeaks, extractRequestScopeErrorContext, RequestScopeCleanupError, type RequestScopeErrorContext, withRequestScopeCleanup, } from './error-handling/RequestScopeErrorContext';
25
29
  export type { CircuitBreakerOptions, DLQEntry, DLQFilter, EventBackend, EventOptions, EventTask, } from './events';
26
30
  export { CircuitBreaker, CircuitBreakerState, DEFAULT_EVENT_OPTIONS, DeadLetterQueue, EventPriorityQueue, } from './events';
27
31
  export type { EventTracingConfig, ObservabilityConfig, QueueDepthCallback, } from './events/observability';
28
32
  export { EventMetrics, EventTracer, EventTracing, getEventTracing, ObservableHookManager, OTelEventMetrics, } from './events/observability';
33
+ export { type DashboardSnapshot, type ErrorStats, type JobEvent, QueueDashboard, type QueueDashboardConfig, type QueueMetrics, type WorkerMetrics as QueueWorkerMetrics, } from './observability/QueueDashboard';
29
34
  export * from './exceptions';
30
35
  export { type GlobalErrorHandlersMode, type GlobalProcessErrorHandlerContext, type GlobalProcessErrorKind, type RegisterGlobalErrorHandlersOptions, registerGlobalErrorHandlers, } from './GlobalErrorHandlers';
31
36
  export { type GravitoManifest, GravitoServer } from './GravitoServer';
32
37
  export type { ActionCallback, FilterCallback, ListenerInfo, ListenerOptions } from './HookManager';
33
38
  export { HookManager, type HookManagerConfig } from './HookManager';
34
- export * from './helpers';
39
+ export type { HealthCheck, HealthCheckResult } from './health/HealthProvider';
40
+ export { HealthProvider } from './health/HealthProvider';
41
+ export type { DumpOptions } from './helpers';
42
+ export { Arr, abort, abortIf, abortUnless, app, blank, config, DumpDieError, dd, dump, env, filled, hasApp, logger, router, Str, setApp, tap, throwIf, throwUnless, value, } from './helpers';
43
+ export * from './helpers/data';
44
+ export * from './helpers/errors';
45
+ export * from './helpers/response';
35
46
  export { CookieJar, type CookieOptions } from './http/CookieJar';
36
47
  export { deleteCookie, getCookie, setCookie } from './http/cookie';
37
48
  export { type BodySizeLimitOptions, bodySizeLimit } from './http/middleware/BodySizeLimit';
@@ -46,6 +57,7 @@ export type { Listener, ShouldQueue } from './Listener';
46
57
  export type { Logger } from './Logger';
47
58
  export { ConsoleLogger } from './Logger';
48
59
  export { type CacheService, type ErrorHandlerContext, type GravitoConfig, type GravitoOrbit, PlanetCore, type ViewService, } from './PlanetCore';
60
+ export { RequestContext, type RequestContextData, } from './RequestContext';
49
61
  export { Route } from './Route';
50
62
  export { type ControllerClass, FORM_REQUEST_SYMBOL, type FormRequestClass, type FormRequestLike, RouteGroup, type RouteHandler, type RouteOptions, Router, } from './Router';
51
63
  export type { DLQManagerFilter, DLQRecord, DLQStats, RetryPolicy } from './reliability';
@@ -0,0 +1,244 @@
1
+ /**
2
+ * @gravito/core - Prometheus Metrics Setup
3
+ *
4
+ * 設置和導出 Prometheus 指標,用於性能監控。
5
+ */
6
+ /**
7
+ * Prometheus 指標配置
8
+ */
9
+ export interface PrometheusMetricsConfig {
10
+ /** Prometheus 抓取端口 */
11
+ port?: number;
12
+ /** 指標前綴 */
13
+ prefix?: string;
14
+ /** 上報間隔(毫秒) */
15
+ interval?: number;
16
+ /** 是否啟用默認指標(如內存、CPU) */
17
+ defaultMetrics?: boolean;
18
+ }
19
+ /**
20
+ * Prometheus 指標導出器
21
+ *
22
+ * 將 Gravito 事件系統的指標導出到 Prometheus
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * import { setupPrometheusMetrics } from '@gravito/core/observability'
27
+ *
28
+ * const exporter = await setupPrometheusMetrics({
29
+ * port: 9090,
30
+ * prefix: 'gravito_event_'
31
+ * })
32
+ * ```
33
+ *
34
+ * @public
35
+ */
36
+ export declare function setupPrometheusMetrics(config?: PrometheusMetricsConfig): Promise<{
37
+ port: number;
38
+ endpoint: string;
39
+ } | null>;
40
+ /**
41
+ * 事件系統指標定義
42
+ *
43
+ * 這些指標用於監控事件派發系統的性能和可靠性。
44
+ *
45
+ * @public
46
+ */
47
+ export interface EventMetricsDefinition {
48
+ /** 事件派發延遲(直方圖) */
49
+ dispatchLatency: {
50
+ name: string;
51
+ help: string;
52
+ labels: string[];
53
+ buckets: number[];
54
+ };
55
+ /** 監聽器執行時間(直方圖) */
56
+ listenerExecutionTime: {
57
+ name: string;
58
+ help: string;
59
+ labels: string[];
60
+ buckets: number[];
61
+ };
62
+ /** 隊列深度(量表) */
63
+ queueDepth: {
64
+ name: string;
65
+ help: string;
66
+ labels: string[];
67
+ };
68
+ /** 失敗計數(計數器) */
69
+ failureRate: {
70
+ name: string;
71
+ help: string;
72
+ labels: string[];
73
+ };
74
+ /** 超時計數(計數器) */
75
+ timeoutCount: {
76
+ name: string;
77
+ help: string;
78
+ labels: string[];
79
+ };
80
+ /** 吞吐量(計數器) */
81
+ throughput: {
82
+ name: string;
83
+ help: string;
84
+ labels: string[];
85
+ };
86
+ /** 熔斷器狀態(量表) */
87
+ circuitBreakerState: {
88
+ name: string;
89
+ help: string;
90
+ labels: string[];
91
+ };
92
+ /** 熔斷器狀態轉換(計數器) */
93
+ circuitBreakerTransitions: {
94
+ name: string;
95
+ help: string;
96
+ labels: string[];
97
+ };
98
+ /** 熔斷器失敗計數(計數器) */
99
+ circuitBreakerFailures: {
100
+ name: string;
101
+ help: string;
102
+ labels: string[];
103
+ };
104
+ /** 熔斷器成功計數(計數器) */
105
+ circuitBreakerSuccesses: {
106
+ name: string;
107
+ help: string;
108
+ labels: string[];
109
+ };
110
+ /** 熔斷器 OPEN 持續時間(直方圖) */
111
+ circuitBreakerOpenDuration: {
112
+ name: string;
113
+ help: string;
114
+ labels: string[];
115
+ buckets: number[];
116
+ };
117
+ }
118
+ /**
119
+ * 獲取事件系統的標準指標定義
120
+ *
121
+ * @param prefix - 指標名稱前綴(默認:gravito_event_)
122
+ * @returns 指標定義對象
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * import { getEventMetricsDefinition } from '@gravito/core/observability'
127
+ *
128
+ * const metrics = getEventMetricsDefinition('gravito_event_')
129
+ * console.log(metrics.dispatchLatency.name) // gravito_event_dispatch_latency_seconds
130
+ * ```
131
+ *
132
+ * @public
133
+ */
134
+ export declare function getEventMetricsDefinition(prefix?: string): EventMetricsDefinition;
135
+ /**
136
+ * Prometheus 查詢範例
137
+ *
138
+ * 提供常用的 Prometheus 查詢語句,用於監控事件系統
139
+ *
140
+ * @public
141
+ */
142
+ export declare const PROMETHEUS_QUERIES: {
143
+ /** 事件派發延遲 P95 */
144
+ dispatchLatencyP95: string;
145
+ /** 事件派發延遲 P99 */
146
+ dispatchLatencyP99: string;
147
+ /** 隊列深度(按優先級) */
148
+ queueDepthByPriority: string;
149
+ /** 吞吐量(事件/秒) */
150
+ throughput: string;
151
+ /** 失敗率 */
152
+ failureRate: string;
153
+ /** 監聽器執行時間 P99 */
154
+ listenerLatencyP99: string;
155
+ /** 超時次數 */
156
+ timeoutCount: string;
157
+ /** 吞吐量異常檢測 */
158
+ throughputAnomaly: string;
159
+ /** 熔斷器狀態(0=CLOSED, 1=HALF_OPEN, 2=OPEN) */
160
+ circuitBreakerState: string;
161
+ /** 熔斷器開啟率 */
162
+ circuitBreakerOpenRate: string;
163
+ /** 熔斷器恢復率 */
164
+ circuitBreakerRecoveryRate: string;
165
+ /** 熔斷器失敗率 */
166
+ circuitBreakerFailureRate: string;
167
+ /** 熔斷器 OPEN 持續時間 P95 */
168
+ circuitBreakerOpenDurationP95: string;
169
+ /** 熔斷器 OPEN 持續時間 P99 */
170
+ circuitBreakerOpenDurationP99: string;
171
+ };
172
+ /**
173
+ * Prometheus 告警規則
174
+ *
175
+ * 提供預定義的告警規則,用於監控事件系統的健康狀況
176
+ *
177
+ * @public
178
+ */
179
+ export declare const PROMETHEUS_ALERT_RULES: {
180
+ /** P99 延遲過高 */
181
+ HighDispatchLatency: {
182
+ expr: string;
183
+ for: string;
184
+ severity: string;
185
+ summary: string;
186
+ description: string;
187
+ };
188
+ /** 隊列深度過高 */
189
+ HighQueueDepth: {
190
+ expr: string;
191
+ for: string;
192
+ severity: string;
193
+ summary: string;
194
+ description: string;
195
+ };
196
+ /** 失敗率過高 */
197
+ HighFailureRate: {
198
+ expr: string;
199
+ for: string;
200
+ severity: string;
201
+ summary: string;
202
+ description: string;
203
+ };
204
+ /** 監聽器執行時間過長 */
205
+ SlowListener: {
206
+ expr: string;
207
+ for: string;
208
+ severity: string;
209
+ summary: string;
210
+ description: string;
211
+ };
212
+ /** 吞吐量異常下降 */
213
+ ThroughputDrop: {
214
+ expr: string;
215
+ for: string;
216
+ severity: string;
217
+ summary: string;
218
+ description: string;
219
+ };
220
+ /** 熔斷器持續開啟 */
221
+ CircuitBreakerOpen: {
222
+ expr: string;
223
+ for: string;
224
+ severity: string;
225
+ summary: string;
226
+ description: string;
227
+ };
228
+ /** 熔斷器頻繁切換 */
229
+ CircuitBreakerFlapping: {
230
+ expr: string;
231
+ for: string;
232
+ severity: string;
233
+ summary: string;
234
+ description: string;
235
+ };
236
+ /** 熔斷器故障率過高 */
237
+ CircuitBreakerHighFailureRate: {
238
+ expr: string;
239
+ for: string;
240
+ severity: string;
241
+ summary: string;
242
+ description: string;
243
+ };
244
+ };
@@ -0,0 +1,136 @@
1
+ import type { DeadLetterQueue } from '../events/DeadLetterQueue';
2
+ import type { EventPriorityQueue } from '../events/EventPriorityQueue';
3
+ import type { MessageQueueBridge } from '../events/MessageQueueBridge';
4
+ import type { WorkerPool } from '../events/WorkerPool';
5
+ import type { HookManager } from '../HookManager';
6
+ /**
7
+ * Configuration for QueueDashboard
8
+ * All subsystem references are optional to support progressive integration
9
+ */
10
+ export interface QueueDashboardConfig {
11
+ eventQueue?: EventPriorityQueue;
12
+ workerPool?: WorkerPool;
13
+ hookManager?: HookManager;
14
+ dlq?: DeadLetterQueue;
15
+ messageQueueBridge?: MessageQueueBridge;
16
+ }
17
+ /**
18
+ * Queue depth and backpressure metrics
19
+ */
20
+ export interface QueueMetrics {
21
+ depth: {
22
+ total: number;
23
+ high: number;
24
+ normal: number;
25
+ low: number;
26
+ };
27
+ backpressure: {
28
+ state: string;
29
+ rejectedCount: number;
30
+ degradedCount: number;
31
+ enqueueRate: number;
32
+ };
33
+ processing: boolean;
34
+ }
35
+ /**
36
+ * Worker pool and thread statistics
37
+ */
38
+ export interface WorkerMetrics {
39
+ poolSize: number;
40
+ activeWorkers: number;
41
+ utilization: number;
42
+ queueDepth: number;
43
+ totalProcessed: number;
44
+ totalSuccess: number;
45
+ totalFailures: number;
46
+ successRate: number;
47
+ workers: Array<{
48
+ id: string;
49
+ state: string;
50
+ tasksProcessed: number;
51
+ tasksSucceeded: number;
52
+ tasksFailed: number;
53
+ avgDurationMs: number;
54
+ currentLoad: number;
55
+ }>;
56
+ }
57
+ /**
58
+ * Timeline event for job processing history
59
+ */
60
+ export interface JobEvent {
61
+ id: string;
62
+ hook: string;
63
+ status: 'pending' | 'processing' | 'completed' | 'failed' | 'in_dlq';
64
+ priority: string;
65
+ createdAt: number;
66
+ error?: string;
67
+ retryCount: number;
68
+ }
69
+ /**
70
+ * Error statistics and circuit breaker status
71
+ */
72
+ export interface ErrorStats {
73
+ totalErrors: number;
74
+ byEvent: Record<string, number>;
75
+ circuitBreakers: Array<{
76
+ eventName: string;
77
+ state: string;
78
+ failures: number;
79
+ successes: number;
80
+ }>;
81
+ dlqCount: number;
82
+ }
83
+ /**
84
+ * Complete dashboard snapshot at a point in time
85
+ */
86
+ export interface DashboardSnapshot {
87
+ timestamp: number;
88
+ queue: QueueMetrics;
89
+ workers: WorkerMetrics;
90
+ timeline: JobEvent[];
91
+ errors: ErrorStats;
92
+ }
93
+ /**
94
+ * QueueDashboard aggregates metrics from all event processing subsystems
95
+ * Uses Facade pattern to read-only aggregate data without modifying subsystems
96
+ */
97
+ export declare class QueueDashboard {
98
+ private readonly config;
99
+ constructor(config: QueueDashboardConfig);
100
+ /**
101
+ * Get current queue metrics (depth, backpressure state, enqueue rate)
102
+ */
103
+ getQueueMetrics(): QueueMetrics;
104
+ /**
105
+ * Get current worker pool metrics (size, utilization, success rate)
106
+ */
107
+ getWorkerMetrics(): WorkerMetrics;
108
+ /**
109
+ * Get job event timeline from DLQ entries (recent failures)
110
+ * @param limit Maximum number of entries to return (default: 50)
111
+ */
112
+ getJobTimeline(limit?: number): JobEvent[];
113
+ /**
114
+ * Get error statistics including circuit breaker status and DLQ counts
115
+ */
116
+ getErrorBreakdown(): ErrorStats;
117
+ /**
118
+ * Export metrics in JSON or Prometheus format
119
+ * @param format Export format: 'json' or 'prometheus'
120
+ */
121
+ exportMetrics(format: 'json' | 'prometheus'): string;
122
+ /**
123
+ * Get complete snapshot of all metrics at a point in time
124
+ */
125
+ getSnapshot(options?: {
126
+ timelineLimit?: number;
127
+ }): DashboardSnapshot;
128
+ /**
129
+ * Format metrics in Prometheus/OpenMetrics text format
130
+ */
131
+ private formatPrometheus;
132
+ /**
133
+ * Escape special characters in Prometheus labels
134
+ */
135
+ private escapePrometheusLabel;
136
+ }
@@ -313,4 +313,38 @@ export declare class DeadLetterQueueManager {
313
313
  * ```
314
314
  */
315
315
  clear(includeResolved?: boolean): Promise<number>;
316
+ /**
317
+ * 通過 Bull Job ID 查找 DLQ 記錄
318
+ *
319
+ * 用於 MessageQueueBridge 集成:當 Bull Queue job 失敗時,
320
+ * 通過 Job ID 查找相應的 DLQ 記錄。
321
+ *
322
+ * @param bullJobId - Bull Queue Job ID
323
+ * @returns DLQ 記錄或 undefined
324
+ *
325
+ * @example
326
+ * ```typescript
327
+ * const record = await dlqManager.findByBullJobId('job-abc123')
328
+ * if (record) {
329
+ * console.log(`Event ${record.event_name} is in DLQ`)
330
+ * }
331
+ * ```
332
+ */
333
+ findByBullJobId(bullJobId: string): Promise<DLQRecord | undefined>;
334
+ /**
335
+ * 調度延遲重試(整合 Bull Queue delayed jobs)
336
+ *
337
+ * 從 DLQ 中提取事件,通過 Bull Queue 的延遲 job 功能進行重試。
338
+ *
339
+ * @param dlqId - DLQ 記錄 ID
340
+ * @param delayMs - 延遲時間(毫秒)
341
+ * @throws 如果記錄不存在
342
+ *
343
+ * @example
344
+ * ```typescript
345
+ * // 延遲 1 小時後重試
346
+ * await dlqManager.scheduleRetry('dlq-uuid-123', 3600000)
347
+ * ```
348
+ */
349
+ scheduleRetry(dlqId: string, delayMs: number): Promise<void>;
316
350
  }