@stacksjs/bun-router 0.0.2 → 0.0.4

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 (128) hide show
  1. package/dist/{chunk-r15a48wc.js → chunk-cjdekj87.js} +536 -98
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.js +2 -2
  4. package/dist/index.d.ts +3 -1
  5. package/dist/index.js +454 -119
  6. package/package.json +7 -9
  7. package/dist/auth.d.ts +0 -77
  8. package/dist/cache/lru-cache.d.ts +0 -88
  9. package/dist/cache/middleware-memoization.d.ts +0 -101
  10. package/dist/cache/route-cache-warmer.d.ts +0 -125
  11. package/dist/cache/sqlite-cache.d.ts +0 -114
  12. package/dist/cache/streaming-cache.d.ts +0 -86
  13. package/dist/cli/colors.d.ts +0 -12
  14. package/dist/cli/index.d.ts +0 -10
  15. package/dist/cli/middleware.d.ts +0 -31
  16. package/dist/cli/openapi.d.ts +0 -17
  17. package/dist/cli/router.d.ts +0 -15
  18. package/dist/cli/routes.d.ts +0 -30
  19. package/dist/cli/utils.d.ts +0 -68
  20. package/dist/config.d.ts +0 -274
  21. package/dist/container/container.d.ts +0 -141
  22. package/dist/container/contextual-binding.d.ts +0 -112
  23. package/dist/container/decorators.d.ts +0 -114
  24. package/dist/container/service-provider.d.ts +0 -221
  25. package/dist/development/hot-reload.d.ts +0 -129
  26. package/dist/development/index.d.ts +0 -144
  27. package/dist/development/performance-profiler.d.ts +0 -152
  28. package/dist/development/route-debugger.d.ts +0 -102
  29. package/dist/development/route-inspector.d.ts +0 -142
  30. package/dist/development/typescript-utilities.d.ts +0 -116
  31. package/dist/docs.d.ts +0 -10
  32. package/dist/errors/circuit-breaker.d.ts +0 -138
  33. package/dist/errors/error-handler.d.ts +0 -57
  34. package/dist/errors/error-reporting.d.ts +0 -135
  35. package/dist/errors/exceptions.d.ts +0 -178
  36. package/dist/errors/graceful-degradation.d.ts +0 -130
  37. package/dist/errors/index.d.ts +0 -6
  38. package/dist/errors/router-errors.d.ts +0 -97
  39. package/dist/file-serving/static-files.d.ts +0 -98
  40. package/dist/middleware/auth.d.ts +0 -34
  41. package/dist/middleware/content_security_policy.d.ts +0 -54
  42. package/dist/middleware/cors.d.ts +0 -5
  43. package/dist/middleware/csrf.d.ts +0 -7
  44. package/dist/middleware/ddos_protection.d.ts +0 -47
  45. package/dist/middleware/file_security.d.ts +0 -23
  46. package/dist/middleware/file_upload.d.ts +0 -41
  47. package/dist/middleware/helmet.d.ts +0 -54
  48. package/dist/middleware/index.d.ts +0 -55
  49. package/dist/middleware/input_validation.d.ts +0 -46
  50. package/dist/middleware/json_body.d.ts +0 -4
  51. package/dist/middleware/performance_alerting.d.ts +0 -88
  52. package/dist/middleware/performance_dashboard.d.ts +0 -97
  53. package/dist/middleware/performance_monitor.d.ts +0 -236
  54. package/dist/middleware/pipeline.d.ts +0 -90
  55. package/dist/middleware/rate_limit.d.ts +0 -33
  56. package/dist/middleware/request_id.d.ts +0 -4
  57. package/dist/middleware/request_signing.d.ts +0 -96
  58. package/dist/middleware/request_tracer.d.ts +0 -76
  59. package/dist/middleware/response_cache.d.ts +0 -90
  60. package/dist/middleware/security.d.ts +0 -70
  61. package/dist/middleware/security_suite.d.ts +0 -46
  62. package/dist/middleware/session.d.ts +0 -7
  63. package/dist/model-binding/index.d.ts +0 -17
  64. package/dist/model-binding/model-middleware.d.ts +0 -80
  65. package/dist/model-binding/model-registry.d.ts +0 -125
  66. package/dist/model-binding.d.ts +0 -123
  67. package/dist/model-resolver-factory.d.ts +0 -31
  68. package/dist/observability/correlation.d.ts +0 -131
  69. package/dist/observability/health-checks.d.ts +0 -129
  70. package/dist/observability/index.d.ts +0 -92
  71. package/dist/observability/integration.d.ts +0 -112
  72. package/dist/observability/metrics.d.ts +0 -135
  73. package/dist/observability/tracing.d.ts +0 -112
  74. package/dist/optimization/bun-utilities.d.ts +0 -106
  75. package/dist/query-builder-integration.d.ts +0 -24
  76. package/dist/request/enhanced-request.d.ts +0 -143
  77. package/dist/request/macros.d.ts +0 -267
  78. package/dist/response/macros.d.ts +0 -207
  79. package/dist/response/response-factory.d.ts +0 -93
  80. package/dist/router/file-based-routing.d.ts +0 -40
  81. package/dist/router/file-streaming.d.ts +0 -6
  82. package/dist/router/fluent-router.d.ts +0 -179
  83. package/dist/router/fluent-routing.d.ts +0 -198
  84. package/dist/router/group-organization.d.ts +0 -5
  85. package/dist/router/handler-resolver.d.ts +0 -13
  86. package/dist/router/http-methods.d.ts +0 -10
  87. package/dist/router/index.d.ts +0 -114
  88. package/dist/router/middleware-integration.d.ts +0 -86
  89. package/dist/router/middleware.d.ts +0 -5
  90. package/dist/router/model-binding.d.ts +0 -7
  91. package/dist/router/optimized-route-matching.d.ts +0 -6
  92. package/dist/router/route-building.d.ts +0 -5
  93. package/dist/router/route-compiler.d.ts +0 -67
  94. package/dist/router/route-matching.d.ts +0 -5
  95. package/dist/router/route-trie.d.ts +0 -69
  96. package/dist/router/router.d.ts +0 -133
  97. package/dist/router/server.d.ts +0 -5
  98. package/dist/router/validation-integration.d.ts +0 -116
  99. package/dist/router/view-rendering.d.ts +0 -5
  100. package/dist/router/websocket.d.ts +0 -5
  101. package/dist/routing/route-caching.d.ts +0 -105
  102. package/dist/routing/route-throttling.d.ts +0 -112
  103. package/dist/routing/subdomain-routing.d.ts +0 -159
  104. package/dist/streaming/index.d.ts +0 -15
  105. package/dist/streaming/sse-handler.d.ts +0 -81
  106. package/dist/streaming/stream-handler.d.ts +0 -81
  107. package/dist/testing/auth-testing.d.ts +0 -107
  108. package/dist/testing/file-upload-testing.d.ts +0 -139
  109. package/dist/testing/index.d.ts +0 -10
  110. package/dist/testing/middleware-testing.d.ts +0 -99
  111. package/dist/testing/model-binding-testing.d.ts +0 -132
  112. package/dist/testing/performance-testing.d.ts +0 -202
  113. package/dist/testing/test-client.d.ts +0 -58
  114. package/dist/testing/test-request.d.ts +0 -43
  115. package/dist/testing/test-response.d.ts +0 -45
  116. package/dist/testing/types.d.ts +0 -206
  117. package/dist/testing/websocket-testing.d.ts +0 -170
  118. package/dist/types/controller-types.d.ts +0 -303
  119. package/dist/types/core.d.ts +0 -526
  120. package/dist/types/middleware-types.d.ts +0 -315
  121. package/dist/types/request-response-augmentation.d.ts +0 -373
  122. package/dist/types/route-inference.d.ts +0 -287
  123. package/dist/types.d.ts +0 -1620
  124. package/dist/utils/index.d.ts +0 -1
  125. package/dist/utils/query-preservation.d.ts +0 -31
  126. package/dist/utils.d.ts +0 -69
  127. package/dist/validation/validator.d.ts +0 -169
  128. package/dist/websocket/clustering.d.ts +0 -114
@@ -1,92 +0,0 @@
1
- import type { EnhancedRequest } from '../types';
2
- import type { ObservabilityConfig, ObservabilityManager } from './integration';
3
- /**
4
- * Quick setup functions for common use cases
5
- */
6
- /**
7
- * Initialize observability with development preset
8
- */
9
- export declare function setupDevelopmentObservability(): Promise<ObservabilityManager>;
10
- /**
11
- * Initialize observability with production preset
12
- */
13
- export declare function setupProductionObservability(): Promise<ObservabilityManager>;
14
- /**
15
- * Initialize observability with Kubernetes preset
16
- */
17
- export declare function setupKubernetesObservability(): Promise<ObservabilityManager>;
18
- /**
19
- * Initialize observability with microservices preset
20
- */
21
- export declare function setupMicroservicesObservability(): Promise<ObservabilityManager>;
22
- /**
23
- * Initialize observability from environment variables
24
- */
25
- export declare function setupObservabilityFromEnv(): Promise<ObservabilityManager>;
26
- /**
27
- * Create a complete observability middleware stack
28
- */
29
- export declare function createObservabilityStack(config?: ObservabilityConfig): Promise<{
30
- middleware: (req: EnhancedRequest, next: () => Promise<Response>) => Promise<Response>
31
- endpoints: Record<string, (req: EnhancedRequest) => Promise<Response>>
32
- manager: ObservabilityManager
33
- }>;
34
- export {
35
- type CorrelationConfig,
36
- type CorrelationContext,
37
- CorrelationEndpoints,
38
- CorrelationHelpers,
39
- CorrelationManager,
40
- createCorrelationMiddleware,
41
- getCorrelationManager,
42
- initializeCorrelation,
43
- type ServiceCall,
44
- } from './correlation';
45
- export {
46
- type CustomHealthCheck,
47
- DependencyChecks,
48
- type DependencyConfig,
49
- getHealthManager,
50
- type HealthCheckConfig,
51
- HealthCheckManager,
52
- type HealthCheckResult,
53
- HealthEndpoints,
54
- type HealthStatus,
55
- initializeHealthChecks,
56
- } from './health-checks';
57
- export {
58
- getObservabilityManager,
59
- initializeObservability,
60
- type ObservabilityConfig,
61
- ObservabilityIntegration,
62
- ObservabilityManager,
63
- ObservabilityPresets,
64
- ObservabilityUtils,
65
- } from './integration';
66
- export {
67
- Counter,
68
- createMetricsHandler,
69
- createMetricsMiddleware,
70
- Gauge,
71
- getMetricsRegistry,
72
- Histogram,
73
- type HistogramBucket,
74
- initializeMetrics,
75
- type MetricConfig,
76
- type MetricLabels,
77
- MetricsRegistry,
78
- Summary,
79
- type SummaryQuantile,
80
- } from './metrics';
81
- export {
82
- createTracingMiddleware,
83
- DistributedTracer,
84
- getTracer,
85
- initializeTracer,
86
- type Span,
87
- type SpanContext,
88
- type TraceConfig,
89
- type TraceData,
90
- TraceHelpers,
91
- } from './tracing';
92
- export default observabilityDefault;
@@ -1,112 +0,0 @@
1
- import { } from './correlation';
2
- import { } from './health-checks';
3
- import { } from './metrics';
4
- import { } from './tracing';
5
- import type { CorrelationConfig } from './correlation';
6
- import type { EnhancedRequest } from '../types';
7
- import type { HealthCheckConfig } from './health-checks';
8
- import type { MetricConfig } from './metrics';
9
- import type { TraceConfig } from './tracing';
10
- /**
11
- * Initialize global observability
12
- */
13
- export declare function initializeObservability(config?: ObservabilityConfig): ObservabilityManager;
14
- /**
15
- * Get global observability manager
16
- */
17
- export declare function getObservabilityManager(): ObservabilityManager | null;
18
- /**
19
- * Observability presets for common configurations
20
- */
21
- export declare const ObservabilityPresets: {
22
- /**
23
- * Development preset - console logging, basic metrics
24
- */
25
- development: () => any;
26
- /**
27
- * Production preset - optimized for performance
28
- */
29
- production: () => any;
30
- /**
31
- * Kubernetes preset - optimized for k8s deployment
32
- */
33
- kubernetes: () => any;
34
- /**
35
- * Microservices preset - enhanced correlation and tracing
36
- */
37
- microservices: () => any;
38
- /**
39
- * Minimal preset - basic observability
40
- */
41
- minimal: () => any
42
- };
43
- /**
44
- * Router integration helpers
45
- */
46
- export declare const ObservabilityIntegration: {
47
- /**
48
- * Add observability to router
49
- */
50
- enhance: (router: any, config?: ObservabilityConfig) => unknown;
51
- /**
52
- * Create observability-enabled route builder
53
- */
54
- createRouteBuilder: (config?: ObservabilityConfig) => unknown
55
- };
56
- /**
57
- * Utility functions for observability
58
- */
59
- export declare const ObservabilityUtils: {
60
- /**
61
- * Create observability configuration from environment
62
- */
63
- fromEnvironment: () => any;
64
- /**
65
- * Validate observability configuration
66
- */
67
- validateConfig: (config: ObservabilityConfig) => any;
68
- /**
69
- * Get observability summary
70
- */
71
- getSummary: () => any
72
- };
73
- export declare interface ObservabilityConfig {
74
- tracing?: TraceConfig
75
- metrics?: MetricConfig
76
- healthChecks?: HealthCheckConfig
77
- correlation?: CorrelationConfig
78
- enableTracing?: boolean
79
- enableMetrics?: boolean
80
- enableHealthChecks?: boolean
81
- enableCorrelation?: boolean
82
- endpoints?: {
83
- metrics?: string
84
- health?: string
85
- ready?: string
86
- live?: string
87
- startup?: string
88
- trace?: string
89
- correlationStats?: string
90
- }
91
- }
92
- /**
93
- * Observability manager - coordinates all observability features
94
- */
95
- export declare class ObservabilityManager {
96
- private config: ObservabilityConfig;
97
- private initialized: any;
98
- constructor(config?: ObservabilityConfig);
99
- initialize(): void;
100
- createMiddleware(): (req: EnhancedRequest, next: () => Promise<Response>) => Promise<Response>;
101
- createRouteHandlers(): Record<string, (req: EnhancedRequest) => Promise<Response>>;
102
- getStatus(): {
103
- initialized: boolean
104
- components: {
105
- tracing: boolean
106
- metrics: boolean
107
- healthChecks: boolean
108
- correlation: boolean
109
- }
110
- endpoints: string[]
111
- };
112
- }
@@ -1,135 +0,0 @@
1
- /**
2
- * Initialize global metrics registry
3
- */
4
- export declare function initializeMetrics(config?: MetricConfig): MetricsRegistry;
5
- /**
6
- * Get global metrics registry
7
- */
8
- export declare function getMetricsRegistry(): MetricsRegistry | null;
9
- /**
10
- * Metrics middleware factory
11
- */
12
- export declare function createMetricsMiddleware(_config?: Partial<MetricConfig>): void;
13
- /**
14
- * Metrics endpoint handler
15
- */
16
- export declare function createMetricsHandler(): void;
17
- export declare interface MetricConfig {
18
- prefix?: string
19
- labels?: Record<string, string>
20
- enableDefaultMetrics?: boolean
21
- collectInterval?: number
22
- maxHistogramBuckets?: number
23
- maxSummaryAge?: number
24
- }
25
- export declare interface MetricLabels {
26
-
27
- }
28
- export declare interface HistogramBucket {
29
- le: number
30
- count: number
31
- }
32
- export declare interface SummaryQuantile {
33
- quantile: number
34
- value: number
35
- }
36
- /**
37
- * Base metric interface
38
- */
39
- export declare abstract class Metric {
40
- readonly name: string;
41
- readonly help: string;
42
- readonly type: string;
43
- readonly labels: MetricLabels;
44
- constructor(name: string, help: string, type: string, labels?: MetricLabels);
45
- abstract getValue(): number | string;
46
- abstract reset(): void;
47
- abstract toPrometheusString(): string;
48
- }
49
- /**
50
- * Counter metric - monotonically increasing value
51
- */
52
- export declare class Counter extends Metric {
53
- private value: any;
54
- private labeledCounters: any;
55
- constructor(name: string, help: string, labels?: MetricLabels);
56
- inc(value?: any, labels?: MetricLabels): void;
57
- getValue(): number;
58
- reset(): void;
59
- private getLabelKey(labels: MetricLabels): string;
60
- toPrometheusString(): string;
61
- }
62
- /**
63
- * Gauge metric - can go up and down
64
- */
65
- export declare class Gauge extends Metric {
66
- private value: any;
67
- private labeledGauges: any;
68
- constructor(name: string, help: string, labels?: MetricLabels);
69
- set(value: number, labels?: MetricLabels): void;
70
- inc(value?: any, labels?: MetricLabels): void;
71
- dec(value?: any, labels?: MetricLabels): void;
72
- getValue(): number;
73
- reset(): void;
74
- private getLabelKey(labels: MetricLabels): string;
75
- toPrometheusString(): string;
76
- }
77
- /**
78
- * Histogram metric - tracks distribution of values
79
- */
80
- export declare class Histogram extends Metric {
81
- private buckets: Map<number, number>;
82
- private sum: any;
83
- private count: any;
84
- readonly private bucketBounds: number[];
85
- constructor(name: string, help: string, buckets?: number[], labels?: MetricLabels);
86
- observe(value: number, _labels?: MetricLabels): void;
87
- getValue(): number;
88
- getCount(): number;
89
- getSum(): number;
90
- getBuckets(): HistogramBucket[];
91
- reset(): void;
92
- toPrometheusString(): string;
93
- }
94
- /**
95
- * Summary metric - tracks quantiles over sliding time window
96
- */
97
- export declare class Summary extends Metric {
98
- private observations: Array<{ value: number, timestamp: number }>;
99
- private sum: any;
100
- private count: any;
101
- readonly private quantiles: number[];
102
- readonly private maxAge: number;
103
- constructor(name: string, help: string, quantiles?: number[], maxAge?: any, labels?: MetricLabels);
104
- observe(value: number, _labels?: MetricLabels): void;
105
- getValue(): number;
106
- getCount(): number;
107
- getSum(): number;
108
- getQuantiles(): SummaryQuantile[];
109
- private cleanOldObservations(now: number): void;
110
- reset(): void;
111
- toPrometheusString(): string;
112
- }
113
- /**
114
- * Metrics registry
115
- */
116
- export declare class MetricsRegistry {
117
- private metrics: any;
118
- private config: MetricConfig;
119
- private defaultMetrics: Map<string, Metric>;
120
- constructor(config?: MetricConfig);
121
- register(metric: Metric): void;
122
- get(name: string): Metric | undefined;
123
- createCounter(name: string, help: string, labels?: MetricLabels): Counter;
124
- createGauge(name: string, help: string, labels?: MetricLabels): Gauge;
125
- createHistogram(name: string, help: string, buckets?: number[], labels?: MetricLabels): Histogram;
126
- createSummary(name: string, help: string, quantiles?: number[], maxAge?: number, labels?: MetricLabels): Summary;
127
- private registerDefaultMetrics(): void;
128
- private collectSystemMetrics(): void;
129
- toPrometheusString(): string;
130
- toJSON(): Record<string, any>;
131
- reset(): void;
132
- getMetricNames(): string[];
133
- unregister(name: string): boolean;
134
- clear(): void;
135
- }
@@ -1,112 +0,0 @@
1
- /**
2
- * Initialize global tracer
3
- */
4
- export declare function initializeTracer(config: TraceConfig): DistributedTracer;
5
- /**
6
- * Get global tracer
7
- */
8
- export declare function getTracer(): DistributedTracer | null;
9
- /**
10
- * Tracing middleware factory
11
- */
12
- export declare function createTracingMiddleware(_config?: Partial<TraceConfig>): void;
13
- /**
14
- * Trace helper functions
15
- */
16
- export declare const TraceHelpers: {
17
- /**
18
- * Start a span within a request context
19
- */
20
- startSpan: (req: EnhancedRequest, operationName: string) => any;
21
- /**
22
- * Finish a span
23
- */
24
- finishSpan: (req: EnhancedRequest, span: Span) => any;
25
- /**
26
- * Add tags to current span
27
- */
28
- addTags: (req: EnhancedRequest, tags: Record<string, any>) => any;
29
- /**
30
- * Log to current span
31
- */
32
- log: (req: EnhancedRequest, fields: Record<string, any>) => any
33
- };
34
- export declare interface TraceConfig {
35
- serviceName: string
36
- serviceVersion?: string
37
- environment?: string
38
- endpoint?: string
39
- headers?: Record<string, string>
40
- sampleRate?: number
41
- enableConsoleExporter?: boolean
42
- enableJaegerExporter?: boolean
43
- enableOTLPExporter?: boolean
44
- jaegerEndpoint?: string
45
- otlpEndpoint?: string
46
- attributes?: Record<string, any>
47
- }
48
- export declare interface SpanContext {
49
- traceId: string
50
- spanId: string
51
- parentSpanId?: string
52
- flags: number
53
- baggage?: Record<string, string>
54
- }
55
- export declare interface Span {
56
- traceId: string
57
- spanId: string
58
- parentSpanId?: string
59
- operationName: string
60
- startTime: number
61
- endTime?: number
62
- duration?: number
63
- tags: Record<string, any>
64
- logs: Array<{
65
- timestamp: number
66
- fields: Record<string, any>
67
- }>
68
- status: 'ok' | 'error' | 'timeout'
69
- statusMessage?: string
70
- }
71
- export declare interface TraceData {
72
- traceId: string
73
- spans: Span[]
74
- startTime: number
75
- endTime?: number
76
- duration?: number
77
- serviceName: string
78
- environment: string
79
- }
80
- /**
81
- * Distributed tracing implementation
82
- */
83
- export declare class DistributedTracer {
84
- private config: TraceConfig;
85
- private activeSpans: Map<string, Span>;
86
- private traces: Map<string, TraceData>;
87
- private spanCounter: any;
88
- constructor(config: TraceConfig);
89
- generateTraceId(): string;
90
- generateSpanId(): string;
91
- startTrace(operationName: string, parentContext?: SpanContext): Span;
92
- startChildSpan(operationName: string, parentSpan: Span): Span;
93
- finishSpan(span: Span): void;
94
- setSpanTags(span: Span, tags: Record<string, any>): void;
95
- logToSpan(span: Span, fields: Record<string, any>): void;
96
- setSpanStatus(span: Span, status: 'ok' | 'error' | 'timeout', message?: string): void;
97
- extractTraceContext(headers: Headers): SpanContext | null;
98
- injectTraceContext(span: Span, headers: Record<string, string>): void;
99
- private parseTraceParent(traceParent: string): SpanContext | null;
100
- private parseJaegerTrace(jaegerTrace: string): SpanContext | null;
101
- private parseB3Trace(headers: Headers): SpanContext | null;
102
- private shouldSample(): boolean;
103
- private exportSpan(span: Span): void;
104
- private exportToConsole(span: Span): void;
105
- private exportToJaeger(span: Span): Promise<void>;
106
- private exportToOTLP(span: Span): Promise<void>;
107
- private hexToBytes(hex: string): Uint8Array;
108
- getActiveSpans(): Span[];
109
- getTrace(traceId: string): TraceData | undefined;
110
- getAllTraces(): TraceData[];
111
- cleanup(maxAge?: any): void;
112
- }
@@ -1,106 +0,0 @@
1
- /**
2
- * Initialize global Bun optimizer
3
- */
4
- export declare function initializeBunOptimizer(config?: BunOptimizationConfig): BunOptimizer;
5
- /**
6
- * Get global Bun optimizer
7
- */
8
- export declare function getBunOptimizer(): BunOptimizer | null;
9
- /**
10
- * Bun optimization utilities
11
- */
12
- export declare const BunUtils: {
13
- /**
14
- * Check if running in Bun runtime
15
- */
16
- isBun: () => any;
17
- /**
18
- * Get Bun version
19
- */
20
- getBunVersion: () => any;
21
- /**
22
- * Optimize async function with Bun-specific features
23
- */
24
- optimizeAsync: (...args: any[]) => any
25
- };
26
- /**
27
- * Bun optimization factory functions
28
- */
29
- export declare const BunOptimizationFactory: {
30
- /**
31
- * Create development optimizer
32
- */
33
- createDevelopment: () => any;
34
- /**
35
- * Create production optimizer
36
- */
37
- createProduction: () => any;
38
- /**
39
- * Create testing optimizer
40
- */
41
- createTesting: () => any
42
- };
43
- export declare interface BunOptimizationConfig {
44
- enableJIT?: boolean
45
- enableGC?: boolean
46
- memoryLimit?: number
47
- cpuLimit?: number
48
- enableProfiling?: boolean
49
- enableTracing?: boolean
50
- }
51
- export declare interface PerformanceMetrics {
52
- memoryUsage: {
53
- rss: number
54
- heapUsed: number
55
- heapTotal: number
56
- external: number
57
- arrayBuffers: number
58
- }
59
- cpuUsage: {
60
- user: number
61
- system: number
62
- }
63
- eventLoop: {
64
- delay: number
65
- utilization: number
66
- }
67
- gc: {
68
- collections: number
69
- duration: number
70
- freed: number
71
- }
72
- bunSpecific: {
73
- jitCompilations: number
74
- nativeCallsOptimized: number
75
- fileSystemCacheHits: number
76
- }
77
- }
78
- /**
79
- * Bun runtime optimizer
80
- */
81
- export declare class BunOptimizer {
82
- private config: Required<BunOptimizationConfig>;
83
- private metrics: PerformanceMetrics;
84
- private gcObserver?: PerformanceObserver;
85
- private performanceObserver?: PerformanceObserver;
86
- constructor(config?: BunOptimizationConfig);
87
- private initializeMetrics(): PerformanceMetrics;
88
- private setupOptimizations(): void;
89
- private enableJITOptimizations(): void;
90
- private warmupCodePaths(): void;
91
- private enableNativeOptimizations(): void;
92
- private configureGarbageCollection(): void;
93
- private setMemoryLimits(): void;
94
- private setupMonitoring(): void;
95
- getMetrics(): PerformanceMetrics;
96
- optimizeFunction<T extends (...args: any[]) => any>(fn: T, options?: {
97
- memoize?: boolean
98
- warmup?: boolean
99
- profile?: boolean
100
- }): T;
101
- createBufferOptimizer(): void;
102
- createJSONOptimizer(): void;
103
- createWorkerPool(workerScript: string, poolSize?: number): void;
104
- generateReport(): string;
105
- cleanup(): void;
106
- }
@@ -1,24 +0,0 @@
1
- import type { Model, QueryBuilderModelResolver } from './model-binding';
2
- /**
3
- * Create a query builder integration instance
4
- */
5
- export declare function createQueryBuilderIntegration(queryBuilder: any): QueryBuilderIntegration;
6
- /**
7
- * Helper to create a basic model resolver using the query builder
8
- */
9
- export declare function createBasicResolver<TModel extends Model>(tableName: string, options?: {
10
- keyName?: string
11
- transform?: (row: any) => TModel
12
- }): QueryBuilderModelResolver<TModel>;
13
- /**
14
- * Integration layer for bun-query-builder with model binding
15
- */
16
- export declare class QueryBuilderIntegration {
17
- private queryBuilder: any;
18
- private resolvers: any;
19
- constructor(queryBuilder: any);
20
- registerResolver<TModel extends Model>(name: string, resolver: QueryBuilderModelResolver<TModel>): void;
21
- getResolver<TModel extends Model>(name: string): QueryBuilderModelResolver<TModel> | undefined;
22
- resolveModel<TModel extends Model>(name: string, id: string | number, keyName?: string, context?: Record<string, Model>): Promise<TModel | null>;
23
- resolveModelOrFail<TModel extends Model>(name: string, id: string | number, keyName?: string, context?: Record<string, Model>): Promise<TModel>;
24
- }