@stacksjs/bun-router 0.0.13 → 0.0.14

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 (273) hide show
  1. package/CHANGELOG.md +770 -0
  2. package/README.md +584 -261
  3. package/package.json +43 -47
  4. package/bin/cli.ts +0 -9
  5. package/dist/auth.d.ts +0 -134
  6. package/dist/cache/lru-cache.d.ts +0 -139
  7. package/dist/cache/middleware-memoization.d.ts +0 -151
  8. package/dist/cache/route-cache-warmer.d.ts +0 -161
  9. package/dist/cache/sqlite-cache.d.ts +0 -209
  10. package/dist/cache/streaming-cache.d.ts +0 -132
  11. package/dist/chunk-1mvtv6jw.js +0 -13012
  12. package/dist/cli/colors.d.ts +0 -15
  13. package/dist/cli/index.d.ts +0 -10
  14. package/dist/cli/middleware.d.ts +0 -31
  15. package/dist/cli/openapi.d.ts +0 -17
  16. package/dist/cli/router.d.ts +0 -15
  17. package/dist/cli/routes.d.ts +0 -29
  18. package/dist/cli/utils.d.ts +0 -74
  19. package/dist/cli.d.ts +0 -1
  20. package/dist/cli.js +0 -3195
  21. package/dist/config.d.ts +0 -7
  22. package/dist/container/container.d.ts +0 -273
  23. package/dist/container/contextual-binding.d.ts +0 -240
  24. package/dist/container/decorators.d.ts +0 -141
  25. package/dist/container/service-provider.d.ts +0 -285
  26. package/dist/development/hot-reload.d.ts +0 -187
  27. package/dist/development/index.d.ts +0 -167
  28. package/dist/development/performance-profiler.d.ts +0 -217
  29. package/dist/development/route-debugger.d.ts +0 -154
  30. package/dist/development/route-inspector.d.ts +0 -211
  31. package/dist/development/typescript-utilities.d.ts +0 -209
  32. package/dist/docs.d.ts +0 -11
  33. package/dist/errors/circuit-breaker.d.ts +0 -195
  34. package/dist/errors/error-handler.d.ts +0 -88
  35. package/dist/errors/error-reporting.d.ts +0 -144
  36. package/dist/errors/exceptions.d.ts +0 -184
  37. package/dist/errors/graceful-degradation.d.ts +0 -154
  38. package/dist/errors/index.d.ts +0 -9
  39. package/dist/errors/router-errors.d.ts +0 -110
  40. package/dist/file-serving/static-files.d.ts +0 -143
  41. package/dist/index.d.ts +0 -14
  42. package/dist/index.js +0 -13933
  43. package/dist/middleware/auth.d.ts +0 -63
  44. package/dist/middleware/content_security_policy.d.ts +0 -53
  45. package/dist/middleware/cors.d.ts +0 -5
  46. package/dist/middleware/csrf.d.ts +0 -7
  47. package/dist/middleware/ddos_protection.d.ts +0 -39
  48. package/dist/middleware/file_security.d.ts +0 -26
  49. package/dist/middleware/file_upload.d.ts +0 -38
  50. package/dist/middleware/helmet.d.ts +0 -54
  51. package/dist/middleware/index.d.ts +0 -44
  52. package/dist/middleware/input_validation.d.ts +0 -45
  53. package/dist/middleware/json_body.d.ts +0 -4
  54. package/dist/middleware/performance_alerting.d.ts +0 -87
  55. package/dist/middleware/performance_dashboard.d.ts +0 -87
  56. package/dist/middleware/performance_monitor.d.ts +0 -209
  57. package/dist/middleware/pipeline.d.ts +0 -131
  58. package/dist/middleware/rate_limit.d.ts +0 -36
  59. package/dist/middleware/request_id.d.ts +0 -4
  60. package/dist/middleware/request_signing.d.ts +0 -153
  61. package/dist/middleware/request_tracer.d.ts +0 -72
  62. package/dist/middleware/response_cache.d.ts +0 -97
  63. package/dist/middleware/security.d.ts +0 -69
  64. package/dist/middleware/security_suite.d.ts +0 -46
  65. package/dist/middleware/session.d.ts +0 -23
  66. package/dist/model-binding/index.d.ts +0 -2
  67. package/dist/model-binding/model-middleware.d.ts +0 -118
  68. package/dist/model-binding/model-registry.d.ts +0 -164
  69. package/dist/model-binding.d.ts +0 -185
  70. package/dist/model-resolver-factory.d.ts +0 -31
  71. package/dist/observability/correlation.d.ts +0 -187
  72. package/dist/observability/health-checks.d.ts +0 -186
  73. package/dist/observability/index.d.ts +0 -60
  74. package/dist/observability/integration.d.ts +0 -147
  75. package/dist/observability/metrics.d.ts +0 -184
  76. package/dist/observability/tracing.d.ts +0 -187
  77. package/dist/optimization/bun-utilities.d.ts +0 -224
  78. package/dist/query-builder-integration.d.ts +0 -36
  79. package/dist/request/context.d.ts +0 -34
  80. package/dist/request/enhanced-request.d.ts +0 -213
  81. package/dist/request/macros.d.ts +0 -300
  82. package/dist/response/macros.d.ts +0 -245
  83. package/dist/response/response-factory.d.ts +0 -133
  84. package/dist/router/api-routes.d.ts +0 -5
  85. package/dist/router/file-based-routing.d.ts +0 -118
  86. package/dist/router/file-streaming.d.ts +0 -5
  87. package/dist/router/fluent-router.d.ts +0 -315
  88. package/dist/router/fluent-routing.d.ts +0 -271
  89. package/dist/router/group-organization.d.ts +0 -5
  90. package/dist/router/handler-resolver.d.ts +0 -24
  91. package/dist/router/http-methods.d.ts +0 -10
  92. package/dist/router/index.d.ts +0 -114
  93. package/dist/router/middleware-groups.d.ts +0 -94
  94. package/dist/router/middleware-integration.d.ts +0 -112
  95. package/dist/router/middleware.d.ts +0 -5
  96. package/dist/router/model-binding.d.ts +0 -5
  97. package/dist/router/optimized-route-matching.d.ts +0 -6
  98. package/dist/router/route-building.d.ts +0 -5
  99. package/dist/router/route-compiler.d.ts +0 -153
  100. package/dist/router/route-matching.d.ts +0 -5
  101. package/dist/router/route-trie.d.ts +0 -114
  102. package/dist/router/router.d.ts +0 -294
  103. package/dist/router/server.d.ts +0 -5
  104. package/dist/router/validation-integration.d.ts +0 -170
  105. package/dist/router/view-rendering.d.ts +0 -5
  106. package/dist/router/websocket.d.ts +0 -5
  107. package/dist/routing/route-caching.d.ts +0 -129
  108. package/dist/routing/route-throttling.d.ts +0 -150
  109. package/dist/routing/subdomain-routing.d.ts +0 -206
  110. package/dist/session/database-store.d.ts +0 -51
  111. package/dist/session/file-store.d.ts +0 -22
  112. package/dist/session/index.d.ts +0 -106
  113. package/dist/session/memory-store.d.ts +0 -21
  114. package/dist/session/redis-store.d.ts +0 -31
  115. package/dist/streaming/index.d.ts +0 -3
  116. package/dist/streaming/sse-handler.d.ts +0 -138
  117. package/dist/streaming/stream-handler.d.ts +0 -114
  118. package/dist/testing/auth-testing.d.ts +0 -156
  119. package/dist/testing/file-upload-testing.d.ts +0 -190
  120. package/dist/testing/index.d.ts +0 -10
  121. package/dist/testing/middleware-testing.d.ts +0 -138
  122. package/dist/testing/model-binding-testing.d.ts +0 -186
  123. package/dist/testing/performance-testing.d.ts +0 -235
  124. package/dist/testing/test-client.d.ts +0 -117
  125. package/dist/testing/test-request.d.ts +0 -85
  126. package/dist/testing/test-response.d.ts +0 -90
  127. package/dist/testing/types.d.ts +0 -207
  128. package/dist/testing/websocket-testing.d.ts +0 -227
  129. package/dist/types/controller-types.d.ts +0 -208
  130. package/dist/types/core.d.ts +0 -543
  131. package/dist/types/middleware-types.d.ts +0 -227
  132. package/dist/types/request-response-augmentation.d.ts +0 -261
  133. package/dist/types/route-inference.d.ts +0 -168
  134. package/dist/types.d.ts +0 -1782
  135. package/dist/url.d.ts +0 -56
  136. package/dist/utils/index.d.ts +0 -1
  137. package/dist/utils/query-preservation.d.ts +0 -48
  138. package/dist/utils.d.ts +0 -69
  139. package/dist/validation/validator.d.ts +0 -140
  140. package/dist/websocket/clustering.d.ts +0 -185
  141. package/src/auth.ts +0 -469
  142. package/src/cache/lru-cache.ts +0 -457
  143. package/src/cache/middleware-memoization.ts +0 -531
  144. package/src/cache/route-cache-warmer.ts +0 -486
  145. package/src/cache/sqlite-cache.ts +0 -783
  146. package/src/cache/streaming-cache.ts +0 -572
  147. package/src/cli/colors.ts +0 -29
  148. package/src/cli/index.ts +0 -287
  149. package/src/cli/middleware.ts +0 -291
  150. package/src/cli/openapi.ts +0 -407
  151. package/src/cli/router.ts +0 -188
  152. package/src/cli/routes.ts +0 -265
  153. package/src/cli/utils.ts +0 -531
  154. package/src/cli.ts +0 -5
  155. package/src/config.ts +0 -322
  156. package/src/container/container.ts +0 -740
  157. package/src/container/contextual-binding.ts +0 -603
  158. package/src/container/decorators.ts +0 -359
  159. package/src/container/service-provider.ts +0 -596
  160. package/src/development/hot-reload.ts +0 -673
  161. package/src/development/index.ts +0 -499
  162. package/src/development/performance-profiler.ts +0 -717
  163. package/src/development/route-debugger.ts +0 -527
  164. package/src/development/route-inspector.ts +0 -749
  165. package/src/development/typescript-utilities.ts +0 -682
  166. package/src/docs.ts +0 -397
  167. package/src/errors/circuit-breaker.ts +0 -732
  168. package/src/errors/error-handler.ts +0 -569
  169. package/src/errors/error-reporting.ts +0 -672
  170. package/src/errors/exceptions.ts +0 -536
  171. package/src/errors/graceful-degradation.ts +0 -621
  172. package/src/errors/index.ts +0 -21
  173. package/src/errors/router-errors.ts +0 -632
  174. package/src/file-serving/static-files.ts +0 -581
  175. package/src/index.ts +0 -14
  176. package/src/middleware/auth.ts +0 -219
  177. package/src/middleware/content_security_policy.ts +0 -215
  178. package/src/middleware/cors.ts +0 -74
  179. package/src/middleware/csrf.ts +0 -108
  180. package/src/middleware/ddos_protection.ts +0 -255
  181. package/src/middleware/file_security.ts +0 -191
  182. package/src/middleware/file_upload.ts +0 -264
  183. package/src/middleware/helmet.ts +0 -268
  184. package/src/middleware/index.ts +0 -117
  185. package/src/middleware/input_validation.ts +0 -449
  186. package/src/middleware/json_body.ts +0 -37
  187. package/src/middleware/performance_alerting.ts +0 -538
  188. package/src/middleware/performance_dashboard.ts +0 -661
  189. package/src/middleware/performance_monitor.ts +0 -943
  190. package/src/middleware/pipeline.ts +0 -489
  191. package/src/middleware/rate_limit.ts +0 -245
  192. package/src/middleware/request_id.ts +0 -36
  193. package/src/middleware/request_signing.ts +0 -636
  194. package/src/middleware/request_tracer.ts +0 -636
  195. package/src/middleware/response_cache.ts +0 -743
  196. package/src/middleware/security.ts +0 -482
  197. package/src/middleware/security_suite.ts +0 -257
  198. package/src/middleware/session.ts +0 -91
  199. package/src/model-binding/index.ts +0 -18
  200. package/src/model-binding/model-middleware.ts +0 -425
  201. package/src/model-binding/model-registry.ts +0 -550
  202. package/src/model-binding.ts +0 -370
  203. package/src/model-resolver-factory.ts +0 -106
  204. package/src/observability/correlation.ts +0 -691
  205. package/src/observability/health-checks.ts +0 -729
  206. package/src/observability/index.ts +0 -184
  207. package/src/observability/integration.ts +0 -548
  208. package/src/observability/metrics.ts +0 -753
  209. package/src/observability/tracing.ts +0 -638
  210. package/src/optimization/bun-utilities.ts +0 -778
  211. package/src/query-builder-integration.ts +0 -137
  212. package/src/request/context.ts +0 -62
  213. package/src/request/enhanced-request.ts +0 -857
  214. package/src/request/macros.ts +0 -688
  215. package/src/response/macros.ts +0 -612
  216. package/src/response/response-factory.ts +0 -596
  217. package/src/router/api-routes.ts +0 -243
  218. package/src/router/file-based-routing.ts +0 -670
  219. package/src/router/file-streaming.ts +0 -372
  220. package/src/router/fluent-router.ts +0 -927
  221. package/src/router/fluent-routing.ts +0 -797
  222. package/src/router/group-organization.ts +0 -213
  223. package/src/router/handler-resolver.ts +0 -291
  224. package/src/router/http-methods.ts +0 -377
  225. package/src/router/index.ts +0 -187
  226. package/src/router/middleware-groups.ts +0 -222
  227. package/src/router/middleware-integration.ts +0 -399
  228. package/src/router/middleware.ts +0 -231
  229. package/src/router/model-binding.ts +0 -215
  230. package/src/router/optimized-route-matching.ts +0 -253
  231. package/src/router/route-building.ts +0 -212
  232. package/src/router/route-compiler.ts +0 -702
  233. package/src/router/route-matching.ts +0 -349
  234. package/src/router/route-trie.ts +0 -464
  235. package/src/router/router.ts +0 -1581
  236. package/src/router/server.ts +0 -462
  237. package/src/router/validation-integration.ts +0 -443
  238. package/src/router/view-rendering.ts +0 -233
  239. package/src/router/websocket.ts +0 -100
  240. package/src/routing/route-caching.ts +0 -402
  241. package/src/routing/route-throttling.ts +0 -469
  242. package/src/routing/subdomain-routing.ts +0 -492
  243. package/src/session/database-store.ts +0 -109
  244. package/src/session/file-store.ts +0 -148
  245. package/src/session/index.ts +0 -244
  246. package/src/session/memory-store.ts +0 -88
  247. package/src/session/redis-store.ts +0 -93
  248. package/src/streaming/index.ts +0 -17
  249. package/src/streaming/sse-handler.ts +0 -482
  250. package/src/streaming/stream-handler.ts +0 -552
  251. package/src/testing/auth-testing.ts +0 -446
  252. package/src/testing/file-upload-testing.ts +0 -543
  253. package/src/testing/index.ts +0 -10
  254. package/src/testing/middleware-testing.ts +0 -322
  255. package/src/testing/model-binding-testing.ts +0 -645
  256. package/src/testing/performance-testing.ts +0 -738
  257. package/src/testing/test-client.ts +0 -310
  258. package/src/testing/test-request.ts +0 -315
  259. package/src/testing/test-response.ts +0 -332
  260. package/src/testing/types.ts +0 -224
  261. package/src/testing/websocket-testing.ts +0 -590
  262. package/src/types/controller-types.ts +0 -385
  263. package/src/types/core.ts +0 -683
  264. package/src/types/middleware-types.ts +0 -419
  265. package/src/types/request-response-augmentation.ts +0 -489
  266. package/src/types/route-inference.ts +0 -357
  267. package/src/types.ts +0 -2055
  268. package/src/url.ts +0 -126
  269. package/src/utils/index.ts +0 -1
  270. package/src/utils/query-preservation.ts +0 -201
  271. package/src/utils.ts +0 -327
  272. package/src/validation/validator.ts +0 -685
  273. package/src/websocket/clustering.ts +0 -762
@@ -1,184 +0,0 @@
1
- /**
2
- * Observability & Monitoring - Custom Metrics Collection with Prometheus Format
3
- *
4
- * Enterprise-grade metrics collection and Prometheus-compatible exposition
5
- */
6
- import type { EnhancedRequest } from '../types';
7
- export interface MetricConfig {
8
- prefix?: string;
9
- labels?: Record<string, string>;
10
- enableDefaultMetrics?: boolean;
11
- collectInterval?: number;
12
- maxHistogramBuckets?: number;
13
- maxSummaryAge?: number;
14
- }
15
- export interface MetricLabels {
16
- [key: string]: string;
17
- }
18
- export interface HistogramBucket {
19
- le: number;
20
- count: number;
21
- }
22
- export interface SummaryQuantile {
23
- quantile: number;
24
- value: number;
25
- }
26
- /**
27
- * Base metric interface
28
- */
29
- export declare abstract class Metric {
30
- readonly name: string;
31
- readonly help: string;
32
- readonly type: string;
33
- readonly labels: MetricLabels;
34
- constructor(name: string, help: string, type: string, labels?: MetricLabels);
35
- abstract getValue(): number | string;
36
- abstract reset(): void;
37
- abstract toPrometheusString(): string;
38
- }
39
- /**
40
- * Counter metric - monotonically increasing value
41
- */
42
- export declare class Counter extends Metric {
43
- private value;
44
- private labeledCounters;
45
- constructor(name: string, help: string, labels?: MetricLabels);
46
- inc(value?: number, labels?: MetricLabels): void;
47
- getValue(): number;
48
- reset(): void;
49
- private getLabelKey;
50
- toPrometheusString(): string;
51
- }
52
- /**
53
- * Gauge metric - can go up and down
54
- */
55
- export declare class Gauge extends Metric {
56
- private value;
57
- private labeledGauges;
58
- constructor(name: string, help: string, labels?: MetricLabels);
59
- set(value: number, labels?: MetricLabels): void;
60
- inc(value?: number, labels?: MetricLabels): void;
61
- dec(value?: number, labels?: MetricLabels): void;
62
- getValue(): number;
63
- reset(): void;
64
- private getLabelKey;
65
- toPrometheusString(): string;
66
- }
67
- /**
68
- * Histogram metric - tracks distribution of values
69
- */
70
- export declare class Histogram extends Metric {
71
- private buckets;
72
- private sum;
73
- private count;
74
- private readonly bucketBounds;
75
- constructor(name: string, help: string, buckets?: number[], labels?: MetricLabels);
76
- observe(value: number, _labels?: MetricLabels): void;
77
- getValue(): number;
78
- getCount(): number;
79
- getSum(): number;
80
- getBuckets(): HistogramBucket[];
81
- reset(): void;
82
- toPrometheusString(): string;
83
- }
84
- /**
85
- * Summary metric - tracks quantiles over sliding time window
86
- */
87
- export declare class Summary extends Metric {
88
- private observations;
89
- private sum;
90
- private count;
91
- private readonly quantiles;
92
- private readonly maxAge;
93
- constructor(name: string, help: string, quantiles?: number[], maxAge?: number, // 10 minutes
94
- labels?: MetricLabels);
95
- observe(value: number, _labels?: MetricLabels): void;
96
- getValue(): number;
97
- getCount(): number;
98
- getSum(): number;
99
- getQuantiles(): SummaryQuantile[];
100
- private cleanOldObservations;
101
- reset(): void;
102
- toPrometheusString(): string;
103
- }
104
- /**
105
- * Metrics registry
106
- */
107
- export declare class MetricsRegistry {
108
- private metrics;
109
- private config;
110
- private defaultMetrics;
111
- constructor(config?: MetricConfig);
112
- /**
113
- * Register a metric
114
- */
115
- register(metric: Metric): void;
116
- /**
117
- * Get a metric by name
118
- */
119
- get(name: string): Metric | undefined;
120
- /**
121
- * Create and register a counter
122
- */
123
- createCounter(name: string, help: string, labels?: MetricLabels): Counter;
124
- /**
125
- * Create and register a gauge
126
- */
127
- createGauge(name: string, help: string, labels?: MetricLabels): Gauge;
128
- /**
129
- * Create and register a histogram
130
- */
131
- createHistogram(name: string, help: string, buckets?: number[], labels?: MetricLabels): Histogram;
132
- /**
133
- * Create and register a summary
134
- */
135
- createSummary(name: string, help: string, quantiles?: number[], maxAge?: number, labels?: MetricLabels): Summary;
136
- /**
137
- * Register default system metrics
138
- */
139
- private registerDefaultMetrics;
140
- /**
141
- * Collect system metrics
142
- */
143
- private collectSystemMetrics;
144
- /**
145
- * Get all metrics in Prometheus format
146
- */
147
- toPrometheusString(): string;
148
- /**
149
- * Get metrics as JSON
150
- */
151
- toJSON(): Record<string, any>;
152
- /**
153
- * Reset all metrics
154
- */
155
- reset(): void;
156
- /**
157
- * Get metric names
158
- */
159
- getMetricNames(): string[];
160
- /**
161
- * Remove a metric
162
- */
163
- unregister(name: string): boolean;
164
- /**
165
- * Clear all metrics
166
- */
167
- clear(): void;
168
- }
169
- /**
170
- * Initialize global metrics registry
171
- */
172
- export declare function initializeMetrics(config?: MetricConfig): MetricsRegistry;
173
- /**
174
- * Get global metrics registry
175
- */
176
- export declare function getMetricsRegistry(): MetricsRegistry | null;
177
- /**
178
- * Metrics middleware factory
179
- */
180
- export declare function createMetricsMiddleware(_config?: Partial<MetricConfig>): (req: EnhancedRequest, next: () => Promise<Response>) => Promise<Response>;
181
- /**
182
- * Metrics endpoint handler
183
- */
184
- export declare function createMetricsHandler(): (req: EnhancedRequest) => Promise<Response>;
@@ -1,187 +0,0 @@
1
- /**
2
- * Observability & Monitoring - Distributed Tracing with OpenTelemetry
3
- *
4
- * Enterprise-grade distributed tracing for request correlation and performance monitoring
5
- */
6
- import type { EnhancedRequest } from '../types';
7
- export interface TraceConfig {
8
- serviceName: string;
9
- serviceVersion?: string;
10
- environment?: string;
11
- endpoint?: string;
12
- headers?: Record<string, string>;
13
- sampleRate?: number;
14
- enableConsoleExporter?: boolean;
15
- enableJaegerExporter?: boolean;
16
- enableOTLPExporter?: boolean;
17
- jaegerEndpoint?: string;
18
- otlpEndpoint?: string;
19
- attributes?: Record<string, any>;
20
- }
21
- export interface SpanContext {
22
- traceId: string;
23
- spanId: string;
24
- parentSpanId?: string;
25
- flags: number;
26
- baggage?: Record<string, string>;
27
- }
28
- export interface Span {
29
- traceId: string;
30
- spanId: string;
31
- parentSpanId?: string;
32
- operationName: string;
33
- startTime: number;
34
- endTime?: number;
35
- duration?: number;
36
- tags: Record<string, any>;
37
- logs: Array<{
38
- timestamp: number;
39
- fields: Record<string, any>;
40
- }>;
41
- status: 'ok' | 'error' | 'timeout';
42
- statusMessage?: string;
43
- }
44
- export interface TraceData {
45
- traceId: string;
46
- spans: Span[];
47
- startTime: number;
48
- endTime?: number;
49
- duration?: number;
50
- serviceName: string;
51
- environment: string;
52
- }
53
- /**
54
- * Distributed tracing implementation
55
- */
56
- export declare class DistributedTracer {
57
- private config;
58
- private activeSpans;
59
- private traces;
60
- private spanCounter;
61
- constructor(config: TraceConfig);
62
- /**
63
- * Generate trace ID
64
- */
65
- generateTraceId(): string;
66
- /**
67
- * Generate span ID
68
- */
69
- generateSpanId(): string;
70
- /**
71
- * Start a new trace
72
- */
73
- startTrace(operationName: string, parentContext?: SpanContext): Span;
74
- /**
75
- * Start a child span
76
- */
77
- startChildSpan(operationName: string, parentSpan: Span): Span;
78
- /**
79
- * Finish a span
80
- */
81
- finishSpan(span: Span): void;
82
- /**
83
- * Add tags to span
84
- */
85
- setSpanTags(span: Span, tags: Record<string, any>): void;
86
- /**
87
- * Add log to span
88
- */
89
- logToSpan(span: Span, fields: Record<string, any>): void;
90
- /**
91
- * Set span status
92
- */
93
- setSpanStatus(span: Span, status: 'ok' | 'error' | 'timeout', message?: string): void;
94
- /**
95
- * Extract trace context from headers
96
- */
97
- extractTraceContext(headers: Headers): SpanContext | null;
98
- /**
99
- * Inject trace context into headers
100
- */
101
- injectTraceContext(span: Span, headers: Record<string, string>): void;
102
- /**
103
- * Parse W3C traceparent header
104
- */
105
- private parseTraceParent;
106
- /**
107
- * Parse Jaeger trace header
108
- */
109
- private parseJaegerTrace;
110
- /**
111
- * Parse B3 trace headers
112
- */
113
- private parseB3Trace;
114
- /**
115
- * Check if span should be sampled
116
- */
117
- private shouldSample;
118
- /**
119
- * Export span to configured exporters
120
- */
121
- private exportSpan;
122
- /**
123
- * Export to console
124
- */
125
- private exportToConsole;
126
- /**
127
- * Export to Jaeger (simplified)
128
- */
129
- private exportToJaeger;
130
- /**
131
- * Export to OTLP endpoint
132
- */
133
- private exportToOTLP;
134
- /**
135
- * Convert hex string to bytes
136
- */
137
- private hexToBytes;
138
- /**
139
- * Get active spans
140
- */
141
- getActiveSpans(): Span[];
142
- /**
143
- * Get trace by ID
144
- */
145
- getTrace(traceId: string): TraceData | undefined;
146
- /**
147
- * Get all traces
148
- */
149
- getAllTraces(): TraceData[];
150
- /**
151
- * Clear old traces (cleanup)
152
- */
153
- cleanup(maxAge?: number): void;
154
- }
155
- /**
156
- * Initialize global tracer
157
- */
158
- export declare function initializeTracer(config: TraceConfig): DistributedTracer;
159
- /**
160
- * Get global tracer
161
- */
162
- export declare function getTracer(): DistributedTracer | null;
163
- /**
164
- * Tracing middleware factory
165
- */
166
- export declare function createTracingMiddleware(_config?: Partial<TraceConfig>): (req: EnhancedRequest, next: () => Promise<Response>) => Promise<Response>;
167
- /**
168
- * Trace helper functions
169
- */
170
- export declare const TraceHelpers: {
171
- /**
172
- * Start a span within a request context
173
- */
174
- startSpan: (req: EnhancedRequest, operationName: string) => Span | null;
175
- /**
176
- * Finish a span
177
- */
178
- finishSpan: (req: EnhancedRequest, span: Span) => void;
179
- /**
180
- * Add tags to current span
181
- */
182
- addTags: (req: EnhancedRequest, tags: Record<string, any>) => void;
183
- /**
184
- * Log to current span
185
- */
186
- log: (req: EnhancedRequest, fields: Record<string, any>) => void;
187
- };
@@ -1,224 +0,0 @@
1
- /**
2
- * Bun Runtime Optimization Utilities
3
- *
4
- * Generic optimization utilities leveraging Bun's runtime capabilities
5
- */
6
- import { Buffer } from 'node:buffer';
7
- export interface BunOptimizationConfig {
8
- enableJIT?: boolean;
9
- enableGC?: boolean;
10
- memoryLimit?: number;
11
- cpuLimit?: number;
12
- enableProfiling?: boolean;
13
- enableTracing?: boolean;
14
- }
15
- export interface PerformanceMetrics {
16
- memoryUsage: {
17
- rss: number;
18
- heapUsed: number;
19
- heapTotal: number;
20
- external: number;
21
- arrayBuffers: number;
22
- };
23
- cpuUsage: {
24
- user: number;
25
- system: number;
26
- };
27
- eventLoop: {
28
- delay: number;
29
- utilization: number;
30
- };
31
- gc: {
32
- collections: number;
33
- duration: number;
34
- freed: number;
35
- };
36
- bunSpecific: {
37
- jitCompilations: number;
38
- nativeCallsOptimized: number;
39
- fileSystemCacheHits: number;
40
- };
41
- }
42
- /**
43
- * Bun runtime optimizer
44
- */
45
- export declare class BunOptimizer {
46
- private config;
47
- private metrics;
48
- private gcObserver?;
49
- private performanceObserver?;
50
- constructor(config?: BunOptimizationConfig);
51
- /**
52
- * Initialize performance metrics
53
- */
54
- private initializeMetrics;
55
- /**
56
- * Setup Bun-specific optimizations
57
- */
58
- private setupOptimizations;
59
- /**
60
- * Enable JIT compilation optimizations
61
- */
62
- private enableJITOptimizations;
63
- /**
64
- * Warm up common code paths for JIT
65
- */
66
- private warmupCodePaths;
67
- /**
68
- * Enable native call optimizations
69
- */
70
- private enableNativeOptimizations;
71
- /**
72
- * Configure garbage collection
73
- */
74
- private configureGarbageCollection;
75
- /**
76
- * Set memory limits
77
- */
78
- private setMemoryLimits;
79
- /**
80
- * Setup performance monitoring
81
- */
82
- private setupMonitoring;
83
- /**
84
- * Get current performance metrics
85
- */
86
- getMetrics(): PerformanceMetrics;
87
- /**
88
- * Optimize specific function
89
- */
90
- optimizeFunction<T extends (...args: any[]) => any>(fn: T, options?: {
91
- memoize?: boolean;
92
- warmup?: boolean;
93
- profile?: boolean;
94
- }): T;
95
- /**
96
- * Create optimized buffer operations
97
- */
98
- createBufferOptimizer(): {
99
- /**
100
- * Get buffer from pool or create new one
101
- */
102
- getBuffer: (size: number) => Buffer;
103
- /**
104
- * Return buffer to pool
105
- */
106
- returnBuffer: (buffer: Buffer) => void;
107
- /**
108
- * Clear buffer pools
109
- */
110
- clearPools: () => void;
111
- /**
112
- * Get pool statistics
113
- */
114
- getStats: () => Record<number, number>;
115
- };
116
- /**
117
- * Create optimized JSON operations
118
- */
119
- createJSONOptimizer(): {
120
- /**
121
- * Optimized JSON parse with caching
122
- */
123
- parse: (text: string) => any;
124
- /**
125
- * Optimized JSON stringify with caching
126
- */
127
- stringify: (value: any) => string;
128
- /**
129
- * Clear JSON caches
130
- */
131
- clearCaches: () => void;
132
- /**
133
- * Get cache statistics
134
- */
135
- getStats: () => {
136
- parseCache: number;
137
- stringifyCache: number;
138
- };
139
- };
140
- /**
141
- * Create worker pool for CPU-intensive tasks
142
- */
143
- createWorkerPool(workerScript: string, poolSize?: number): {
144
- /**
145
- * Execute task in worker
146
- */
147
- execute: <T>(data: any) => Promise<T>;
148
- /**
149
- * Terminate all workers
150
- */
151
- terminate: () => void;
152
- /**
153
- * Get pool statistics
154
- */
155
- getStats: () => {
156
- poolSize: number;
157
- queueSize: number;
158
- activeWorkers: number;
159
- };
160
- };
161
- /**
162
- * Generate performance report
163
- */
164
- generateReport(): string;
165
- /**
166
- * Cleanup resources
167
- */
168
- cleanup(): void;
169
- }
170
- /**
171
- * Bun optimization utilities
172
- */
173
- export declare const BunUtils: {
174
- /**
175
- * Check if running in Bun runtime
176
- */
177
- isBun: () => boolean;
178
- /**
179
- * Get Bun version
180
- */
181
- getBunVersion: () => string;
182
- /**
183
- * Optimize async function with Bun-specific features
184
- */
185
- optimizeAsync: <T extends (...args: any[]) => Promise<any>>(fn: T) => T;
186
- /**
187
- * Create optimized stream processor
188
- */
189
- createStreamProcessor: () => {
190
- /**
191
- * Process readable stream with Bun optimizations
192
- */
193
- processStream: (stream: ReadableStream) => Promise<Uint8Array>;
194
- /**
195
- * Create optimized transform stream
196
- */
197
- createTransformStream: <T, U>(transformer: (chunk: T) => U | Promise<U>) => TransformStream<T, U>;
198
- };
199
- };
200
- /**
201
- * Bun optimization factory functions
202
- */
203
- export declare const BunOptimizationFactory: {
204
- /**
205
- * Create development optimizer
206
- */
207
- createDevelopment: () => BunOptimizer;
208
- /**
209
- * Create production optimizer
210
- */
211
- createProduction: () => BunOptimizer;
212
- /**
213
- * Create testing optimizer
214
- */
215
- createTesting: () => BunOptimizer;
216
- };
217
- /**
218
- * Initialize global Bun optimizer
219
- */
220
- export declare function initializeBunOptimizer(config?: BunOptimizationConfig): BunOptimizer;
221
- /**
222
- * Get global Bun optimizer
223
- */
224
- export declare function getBunOptimizer(): BunOptimizer | null;
@@ -1,36 +0,0 @@
1
- import type { Model, QueryBuilderModelResolver } from './model-binding';
2
- /**
3
- * Integration layer for bun-query-builder with model binding
4
- */
5
- export declare class QueryBuilderIntegration {
6
- private queryBuilder;
7
- private resolvers;
8
- constructor(queryBuilder: any);
9
- /**
10
- * Register a model resolver and inject the query builder
11
- */
12
- registerResolver<TModel extends Model>(name: string, resolver: QueryBuilderModelResolver<TModel>): void;
13
- /**
14
- * Get a registered resolver
15
- */
16
- getResolver<TModel extends Model>(name: string): QueryBuilderModelResolver<TModel> | undefined;
17
- /**
18
- * Resolve a model by name and ID
19
- */
20
- resolveModel<TModel extends Model>(name: string, id: string | number, keyName?: string, context?: Record<string, Model>): Promise<TModel | null>;
21
- /**
22
- * Resolve a model or throw an error
23
- */
24
- resolveModelOrFail<TModel extends Model>(name: string, id: string | number, keyName?: string, context?: Record<string, Model>): Promise<TModel>;
25
- }
26
- /**
27
- * Create a query builder integration instance
28
- */
29
- export declare function createQueryBuilderIntegration(queryBuilder: any): QueryBuilderIntegration;
30
- /**
31
- * Helper to create a basic model resolver using the query builder
32
- */
33
- export declare function createBasicResolver<TModel extends Model>(tableName: string, options?: {
34
- keyName?: string;
35
- transform?: (row: any) => TModel;
36
- }): QueryBuilderModelResolver<TModel>;
@@ -1,34 +0,0 @@
1
- /**
2
- * Request Context
3
- *
4
- * AsyncLocalStorage-backed access to the current request. The Router wires
5
- * `runWithRequest()` automatically around handler/middleware invocation and
6
- * calls `setCurrentRequest()` once the request has been enhanced with route
7
- * params. User code reaches the active request via `request()` or
8
- * `getCurrentRequest()` without having to thread it through call stacks.
9
- */
10
- import type { EnhancedRequest } from '../types';
11
- /**
12
- * Run `fn` inside an AsyncLocalStorage scope where `request()` and
13
- * `getCurrentRequest()` resolve to `initial`. The Router calls this around
14
- * each request automatically.
15
- */
16
- export declare function runWithRequest<T>(initial: EnhancedRequest | Request, fn: () => T | Promise<T>): T | Promise<T>;
17
- /**
18
- * Update the request stored in the current context. The Router calls this
19
- * after enhancing the request with matched route params, so subsequent
20
- * `request()` calls see the enhanced object.
21
- */
22
- export declare function setCurrentRequest(req: EnhancedRequest): void;
23
- /**
24
- * Returns the active request, or `undefined` when called outside a request
25
- * scope. Prefer `request()` when the request is required.
26
- */
27
- export declare function getCurrentRequest(): EnhancedRequest | undefined;
28
- /**
29
- * Returns the active request. Throws when called outside a request scope —
30
- * typically that means it was called before the Router established context
31
- * (e.g. during module initialization) or inside a fire-and-forget callback
32
- * that escaped the AsyncLocalStorage frame.
33
- */
34
- export declare function request(): EnhancedRequest;