@tachui/devtools 0.8.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/LICENSE +363 -0
  2. package/README.md +189 -0
  3. package/dist/build-time/detection.d.ts +32 -0
  4. package/dist/build-time/detection.d.ts.map +1 -0
  5. package/dist/build-time/index.d.ts +84 -0
  6. package/dist/build-time/index.d.ts.map +1 -0
  7. package/dist/build-time/plugins.d.ts +75 -0
  8. package/dist/build-time/plugins.d.ts.map +1 -0
  9. package/dist/build-time/rules.d.ts +73 -0
  10. package/dist/build-time/rules.d.ts.map +1 -0
  11. package/dist/build-time/transformer.d.ts +23 -0
  12. package/dist/build-time/transformer.d.ts.map +1 -0
  13. package/dist/build-time/types.d.ts +212 -0
  14. package/dist/build-time/types.d.ts.map +1 -0
  15. package/dist/debug/advanced-debugging.d.ts +327 -0
  16. package/dist/debug/advanced-debugging.d.ts.map +1 -0
  17. package/dist/debug/debug.d.ts +61 -0
  18. package/dist/debug/debug.d.ts.map +1 -0
  19. package/dist/debug/developer-experience.d.ts +261 -0
  20. package/dist/debug/developer-experience.d.ts.map +1 -0
  21. package/dist/debug/development-warnings.d.ts +42 -0
  22. package/dist/debug/development-warnings.d.ts.map +1 -0
  23. package/dist/debug/documentation-integration.d.ts +269 -0
  24. package/dist/debug/documentation-integration.d.ts.map +1 -0
  25. package/dist/debug/enhanced-errors.d.ts +176 -0
  26. package/dist/debug/enhanced-errors.d.ts.map +1 -0
  27. package/dist/debug/enhanced-types.d.ts +284 -0
  28. package/dist/debug/enhanced-types.d.ts.map +1 -0
  29. package/dist/debug/ide-integration.d.ts +328 -0
  30. package/dist/debug/ide-integration.d.ts.map +1 -0
  31. package/dist/debug/index.d.ts +12 -0
  32. package/dist/debug/index.d.ts.map +1 -0
  33. package/dist/debug/index.js +1251 -0
  34. package/dist/debug/index.js.map +1 -0
  35. package/dist/debug/validation-debug-tools.d.ts +228 -0
  36. package/dist/debug/validation-debug-tools.d.ts.map +1 -0
  37. package/dist/index.d.ts +22 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +216229 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/inspector/index.d.ts +232 -0
  42. package/dist/inspector/index.d.ts.map +1 -0
  43. package/dist/inspector/index.js +525 -0
  44. package/dist/inspector/index.js.map +1 -0
  45. package/dist/plugins/simplified-error-handler.d.ts +83 -0
  46. package/dist/plugins/simplified-error-handler.d.ts.map +1 -0
  47. package/dist/profiler/index.d.ts +21 -0
  48. package/dist/profiler/index.d.ts.map +1 -0
  49. package/dist/profiler/index.js +519 -0
  50. package/dist/profiler/index.js.map +1 -0
  51. package/dist/profiler/performance-optimizer.d.ts +115 -0
  52. package/dist/profiler/performance-optimizer.d.ts.map +1 -0
  53. package/dist/profiler/production-monitoring.d.ts +150 -0
  54. package/dist/profiler/production-monitoring.d.ts.map +1 -0
  55. package/dist/runtime/error-boundary.d.ts +302 -0
  56. package/dist/runtime/error-boundary.d.ts.map +1 -0
  57. package/dist/runtime/error-recovery.d.ts +267 -0
  58. package/dist/runtime/error-recovery.d.ts.map +1 -0
  59. package/dist/runtime/error-reporting.d.ts +287 -0
  60. package/dist/runtime/error-reporting.d.ts.map +1 -0
  61. package/dist/runtime/error-utils.d.ts +204 -0
  62. package/dist/runtime/error-utils.d.ts.map +1 -0
  63. package/dist/runtime/performance.d.ts +217 -0
  64. package/dist/runtime/performance.d.ts.map +1 -0
  65. package/dist/testing/index.d.ts +29 -0
  66. package/dist/testing/index.d.ts.map +1 -0
  67. package/dist/testing/index.js +47 -0
  68. package/dist/testing/index.js.map +1 -0
  69. package/dist/validation/debug-tools-stub.d.ts +67 -0
  70. package/dist/validation/debug-tools-stub.d.ts.map +1 -0
  71. package/dist/validation/enhanced-runtime.d.ts +310 -0
  72. package/dist/validation/enhanced-runtime.d.ts.map +1 -0
  73. package/dist/validation/error-reporting.d.ts +186 -0
  74. package/dist/validation/error-reporting.d.ts.map +1 -0
  75. package/package.json +78 -0
@@ -0,0 +1,267 @@
1
+ /**
2
+ * Error Recovery Mechanisms (Phase 3.2.3)
3
+ *
4
+ * Advanced error recovery strategies and retry logic for TachUI.
5
+ * Provides intelligent error handling, circuit breakers, and recovery patterns.
6
+ */
7
+ import { type TachUIError } from './error-boundary';
8
+ /**
9
+ * Circuit breaker states
10
+ */
11
+ export type CircuitBreakerState = 'closed' | 'open' | 'half-open';
12
+ /**
13
+ * Circuit breaker configuration
14
+ */
15
+ export interface CircuitBreakerConfig {
16
+ failureThreshold: number;
17
+ resetTimeout: number;
18
+ monitoringPeriod: number;
19
+ minimumThroughput: number;
20
+ }
21
+ /**
22
+ * Retry policy configuration
23
+ */
24
+ export interface RetryPolicyConfig {
25
+ maxAttempts: number;
26
+ baseDelay: number;
27
+ maxDelay: number;
28
+ backoffMultiplier: number;
29
+ jitter: boolean;
30
+ retryableErrors: string[];
31
+ nonRetryableErrors: string[];
32
+ }
33
+ /**
34
+ * Fallback configuration
35
+ */
36
+ export interface FallbackConfig<T> {
37
+ value?: T;
38
+ factory?: () => T | Promise<T>;
39
+ timeout?: number;
40
+ cache?: boolean;
41
+ cacheKey?: string;
42
+ cacheTimeout?: number;
43
+ }
44
+ /**
45
+ * Circuit breaker implementation
46
+ */
47
+ export declare class CircuitBreaker {
48
+ private state;
49
+ private failureCount;
50
+ private lastFailureTime;
51
+ private successCount;
52
+ private requestCount;
53
+ private lastRequestTime;
54
+ private config;
55
+ private stateSignal;
56
+ private setState;
57
+ constructor(config?: Partial<CircuitBreakerConfig>);
58
+ /**
59
+ * Execute function with circuit breaker protection
60
+ */
61
+ execute<R>(fn: () => Promise<R>): Promise<R>;
62
+ /**
63
+ * Handle successful execution
64
+ */
65
+ private onSuccess;
66
+ /**
67
+ * Handle failed execution
68
+ */
69
+ private onFailure;
70
+ /**
71
+ * Check if circuit breaker should trip to open state
72
+ */
73
+ private shouldTrip;
74
+ /**
75
+ * Trip circuit breaker to open state
76
+ */
77
+ private trip;
78
+ /**
79
+ * Check if should attempt reset from open state
80
+ */
81
+ private shouldAttemptReset;
82
+ /**
83
+ * Reset circuit breaker to closed state
84
+ */
85
+ private reset;
86
+ /**
87
+ * Update request count for monitoring period
88
+ */
89
+ private updateRequestCount;
90
+ /**
91
+ * Get current state
92
+ */
93
+ getState(): CircuitBreakerState;
94
+ /**
95
+ * Get state signal
96
+ */
97
+ getStateSignal(): () => CircuitBreakerState;
98
+ /**
99
+ * Get metrics
100
+ */
101
+ getMetrics(): {
102
+ state: CircuitBreakerState;
103
+ failureCount: number;
104
+ successCount: number;
105
+ requestCount: number;
106
+ failureRate: number;
107
+ };
108
+ }
109
+ /**
110
+ * Retry policy implementation
111
+ */
112
+ export declare class RetryPolicy {
113
+ private config;
114
+ constructor(config?: Partial<RetryPolicyConfig>);
115
+ /**
116
+ * Execute function with retry policy
117
+ */
118
+ execute<T>(fn: () => Promise<T>): Promise<T>;
119
+ /**
120
+ * Check if error should be retried
121
+ */
122
+ private shouldRetry;
123
+ /**
124
+ * Calculate delay for next retry
125
+ */
126
+ private calculateDelay;
127
+ /**
128
+ * Sleep for specified duration
129
+ */
130
+ private sleep;
131
+ /**
132
+ * Get configuration
133
+ */
134
+ getConfig(): RetryPolicyConfig;
135
+ }
136
+ /**
137
+ * Fallback manager
138
+ */
139
+ export declare class FallbackManager<T> {
140
+ private cache;
141
+ /**
142
+ * Execute with fallback
143
+ */
144
+ executeWithFallback<R>(fn: () => Promise<R>, fallbackConfig: FallbackConfig<R>): Promise<R>;
145
+ /**
146
+ * Get fallback value
147
+ */
148
+ private getFallbackValue;
149
+ /**
150
+ * Execute with timeout
151
+ */
152
+ private withTimeout;
153
+ /**
154
+ * Get cached value
155
+ */
156
+ private getCachedValue;
157
+ /**
158
+ * Set cached value
159
+ */
160
+ private setCachedValue;
161
+ /**
162
+ * Clear cache
163
+ */
164
+ clearCache(): void;
165
+ }
166
+ /**
167
+ * Composite recovery strategy
168
+ */
169
+ export declare class RecoveryOrchestrator {
170
+ private circuitBreaker?;
171
+ private retryPolicy?;
172
+ private fallbackManager;
173
+ constructor(circuitBreakerConfig?: Partial<CircuitBreakerConfig>, retryPolicyConfig?: Partial<RetryPolicyConfig>);
174
+ /**
175
+ * Execute with all recovery mechanisms
176
+ */
177
+ execute<T>(fn: () => Promise<T>, fallbackConfig?: FallbackConfig<T>): Promise<T>;
178
+ /**
179
+ * Wrap function with recovery mechanisms
180
+ */
181
+ private wrapWithRecovery;
182
+ /**
183
+ * Get circuit breaker metrics
184
+ */
185
+ getCircuitBreakerMetrics(): {
186
+ state: CircuitBreakerState;
187
+ failureCount: number;
188
+ successCount: number;
189
+ requestCount: number;
190
+ failureRate: number;
191
+ } | undefined;
192
+ /**
193
+ * Get retry policy configuration
194
+ */
195
+ getRetryPolicyConfig(): RetryPolicyConfig | undefined;
196
+ }
197
+ /**
198
+ * Error recovery utilities
199
+ */
200
+ export declare const recoveryUtils: {
201
+ /**
202
+ * Create a robust function wrapper with all recovery mechanisms
203
+ */
204
+ createRobustFunction<T extends (...args: any[]) => Promise<any>>(fn: T, options?: {
205
+ circuitBreaker?: Partial<CircuitBreakerConfig>;
206
+ retryPolicy?: Partial<RetryPolicyConfig>;
207
+ fallback?: FallbackConfig<Awaited<ReturnType<T>>>;
208
+ onError?: (error: TachUIError) => void;
209
+ }): T;
210
+ /**
211
+ * Create simple retry wrapper
212
+ */
213
+ withRetry<T extends (...args: any[]) => Promise<any>>(fn: T, maxAttempts?: number, baseDelay?: number): T;
214
+ /**
215
+ * Create circuit breaker wrapper
216
+ */
217
+ withCircuitBreaker<T extends (...args: any[]) => Promise<any>>(fn: T, config?: Partial<CircuitBreakerConfig>): T;
218
+ /**
219
+ * Create fallback wrapper
220
+ */
221
+ withFallback<T extends (...args: any[]) => Promise<any>>(fn: T, fallbackValue: Awaited<ReturnType<T>> | (() => Awaited<ReturnType<T>>)): T;
222
+ };
223
+ /**
224
+ * Global recovery configurations
225
+ */
226
+ export declare const recoveryPresets: {
227
+ /**
228
+ * Configuration for network requests
229
+ */
230
+ network: {
231
+ circuitBreaker: {
232
+ failureThreshold: number;
233
+ resetTimeout: number;
234
+ monitoringPeriod: number;
235
+ };
236
+ retryPolicy: {
237
+ maxAttempts: number;
238
+ baseDelay: number;
239
+ backoffMultiplier: number;
240
+ jitter: boolean;
241
+ retryableErrors: string[];
242
+ };
243
+ };
244
+ /**
245
+ * Configuration for component rendering
246
+ */
247
+ component: {
248
+ retryPolicy: {
249
+ maxAttempts: number;
250
+ baseDelay: number;
251
+ backoffMultiplier: number;
252
+ jitter: boolean;
253
+ retryableErrors: string[];
254
+ };
255
+ };
256
+ /**
257
+ * Configuration for reactive operations
258
+ */
259
+ reactive: {
260
+ retryPolicy: {
261
+ maxAttempts: number;
262
+ baseDelay: number;
263
+ retryableErrors: never[];
264
+ };
265
+ };
266
+ };
267
+ //# sourceMappingURL=error-recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-recovery.d.ts","sourceRoot":"","sources":["../../src/runtime/error-recovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,287 @@
1
+ /**
2
+ * Error Reporting and Logging System (Phase 3.2.3)
3
+ *
4
+ * Advanced error reporting, logging, and analytics for TachUI.
5
+ * Provides structured logging, error aggregation, and reporting pipelines.
6
+ */
7
+ import { type ErrorCategory, type ErrorSeverity, type TachUIError } from './error-boundary';
8
+ /**
9
+ * Log levels
10
+ */
11
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
12
+ /**
13
+ * Log entry structure
14
+ */
15
+ export interface LogEntry {
16
+ id: string;
17
+ timestamp: number;
18
+ level: LogLevel;
19
+ message: string;
20
+ category?: string;
21
+ componentId?: string;
22
+ componentName?: string;
23
+ context?: Record<string, any>;
24
+ stack?: string;
25
+ userAgent?: string;
26
+ url?: string;
27
+ userId?: string;
28
+ sessionId?: string;
29
+ tags?: string[];
30
+ }
31
+ /**
32
+ * Error aggregation data
33
+ */
34
+ export interface ErrorAggregation {
35
+ id: string;
36
+ message: string;
37
+ category: ErrorCategory;
38
+ severity: ErrorSeverity;
39
+ count: number;
40
+ firstSeen: number;
41
+ lastSeen: number;
42
+ affectedComponents: string[];
43
+ samples: TachUIError[];
44
+ fingerprint: string;
45
+ }
46
+ /**
47
+ * Logger interface
48
+ */
49
+ export interface Logger {
50
+ debug(message: string, context?: Record<string, any>): void;
51
+ info(message: string, context?: Record<string, any>): void;
52
+ warn(message: string, context?: Record<string, any>): void;
53
+ error(message: string, context?: Record<string, any>): void;
54
+ fatal(message: string, context?: Record<string, any>): void;
55
+ log(level: LogLevel, message: string, context?: Record<string, any>): void;
56
+ }
57
+ /**
58
+ * Report destination interface
59
+ */
60
+ export interface ReportDestination {
61
+ name: string;
62
+ send(data: LogEntry[] | ErrorAggregation[]): Promise<void>;
63
+ isEnabled(): boolean;
64
+ }
65
+ /**
66
+ * Reporting configuration
67
+ */
68
+ export interface ReportingConfig {
69
+ enabled: boolean;
70
+ logLevel: LogLevel;
71
+ batchSize: number;
72
+ batchTimeout: number;
73
+ aggregationWindow: number;
74
+ maxRetries: number;
75
+ destinations: ReportDestination[];
76
+ enableContextCapture: boolean;
77
+ enableStackTrace: boolean;
78
+ enableUserTracking: boolean;
79
+ enableSessionTracking: boolean;
80
+ sensitiveKeys: string[];
81
+ enableCompression: boolean;
82
+ }
83
+ /**
84
+ * Structured logger implementation
85
+ */
86
+ export declare class StructuredLogger implements Logger {
87
+ private entries;
88
+ private config;
89
+ private sessionId;
90
+ private userId?;
91
+ private entriesSignal;
92
+ private setEntries;
93
+ constructor(config?: Partial<ReportingConfig>);
94
+ /**
95
+ * Debug level logging
96
+ */
97
+ debug(message: string, context?: Record<string, any>): void;
98
+ /**
99
+ * Info level logging
100
+ */
101
+ info(message: string, context?: Record<string, any>): void;
102
+ /**
103
+ * Warning level logging
104
+ */
105
+ warn(message: string, context?: Record<string, any>): void;
106
+ /**
107
+ * Error level logging
108
+ */
109
+ error(message: string, context?: Record<string, any>): void;
110
+ /**
111
+ * Fatal level logging
112
+ */
113
+ fatal(message: string, context?: Record<string, any>): void;
114
+ /**
115
+ * Generic logging method
116
+ */
117
+ log(level: LogLevel, message: string, context?: Record<string, any>): void;
118
+ /**
119
+ * Check if should log at given level
120
+ */
121
+ private shouldLog;
122
+ /**
123
+ * Add log entry
124
+ */
125
+ private addEntry;
126
+ /**
127
+ * Sanitize context to remove sensitive data
128
+ */
129
+ private sanitizeContext;
130
+ /**
131
+ * Setup batch processing
132
+ */
133
+ private setupBatchProcessing;
134
+ /**
135
+ * Flush current batch of log entries
136
+ */
137
+ private flushBatch;
138
+ /**
139
+ * Send data with retry logic
140
+ */
141
+ private sendWithRetry;
142
+ /**
143
+ * Sleep for specified duration
144
+ */
145
+ private sleep;
146
+ /**
147
+ * Generate unique ID
148
+ */
149
+ private generateId;
150
+ /**
151
+ * Generate session ID
152
+ */
153
+ private generateSessionId;
154
+ /**
155
+ * Set user ID for tracking
156
+ */
157
+ setUserId(userId: string): void;
158
+ /**
159
+ * Get log entries
160
+ */
161
+ getEntries(): LogEntry[];
162
+ /**
163
+ * Get entries signal
164
+ */
165
+ getEntriesSignal(): () => LogEntry[];
166
+ /**
167
+ * Add destination
168
+ */
169
+ addDestination(destination: ReportDestination): void;
170
+ /**
171
+ * Remove destination
172
+ */
173
+ removeDestination(name: string): void;
174
+ /**
175
+ * Clear all log entries
176
+ */
177
+ clear(): void;
178
+ }
179
+ /**
180
+ * Error aggregator
181
+ */
182
+ export declare class ErrorAggregator {
183
+ private aggregations;
184
+ private config;
185
+ private aggregationsSignal;
186
+ private setAggregations;
187
+ constructor(config?: Partial<ReportingConfig>);
188
+ /**
189
+ * Aggregate error
190
+ */
191
+ aggregateError(error: TachUIError): void;
192
+ /**
193
+ * Generate error fingerprint for grouping
194
+ */
195
+ private generateFingerprint;
196
+ /**
197
+ * Setup cleanup of old aggregations
198
+ */
199
+ private setupCleanup;
200
+ /**
201
+ * Cleanup old aggregations
202
+ */
203
+ private cleanupOldAggregations;
204
+ /**
205
+ * Get aggregations
206
+ */
207
+ getAggregations(): ErrorAggregation[];
208
+ /**
209
+ * Get aggregations signal
210
+ */
211
+ getAggregationsSignal(): () => ErrorAggregation[];
212
+ /**
213
+ * Get top errors by count
214
+ */
215
+ getTopErrors(limit?: number): ErrorAggregation[];
216
+ /**
217
+ * Clear aggregations
218
+ */
219
+ clear(): void;
220
+ }
221
+ /**
222
+ * Built-in report destinations
223
+ */
224
+ export declare const reportDestinations: {
225
+ /**
226
+ * Console destination
227
+ */
228
+ console: ReportDestination;
229
+ /**
230
+ * Local storage destination
231
+ */
232
+ localStorage: ReportDestination;
233
+ /**
234
+ * Create HTTP destination
235
+ */
236
+ createHttpDestination(endpoint: string, apiKey?: string): ReportDestination;
237
+ /**
238
+ * Create webhook destination
239
+ */
240
+ createWebhookDestination(webhookUrl: string, options?: {
241
+ format?: "slack" | "discord" | "teams" | "generic";
242
+ onlyErrors?: boolean;
243
+ }): ReportDestination;
244
+ };
245
+ /**
246
+ * Global logger instance
247
+ */
248
+ export declare const globalLogger: StructuredLogger;
249
+ /**
250
+ * Global error aggregator
251
+ */
252
+ export declare const globalErrorAggregator: ErrorAggregator;
253
+ /**
254
+ * Setup error reporting integration
255
+ */
256
+ export declare function setupErrorReporting(config?: Partial<ReportingConfig>): void;
257
+ /**
258
+ * Reporting utilities
259
+ */
260
+ export declare const reportingUtils: {
261
+ /**
262
+ * Setup development reporting
263
+ */
264
+ setupDevelopment(): void;
265
+ /**
266
+ * Setup production reporting
267
+ */
268
+ setupProduction(config: {
269
+ endpoint?: string;
270
+ apiKey?: string;
271
+ webhookUrl?: string;
272
+ logLevel?: LogLevel;
273
+ }): void;
274
+ /**
275
+ * Create custom logger
276
+ */
277
+ createLogger(name: string, config?: Partial<ReportingConfig>): Logger;
278
+ /**
279
+ * Get error report
280
+ */
281
+ getErrorReport(): {
282
+ logs: LogEntry[];
283
+ aggregations: ErrorAggregation[];
284
+ statistics: any;
285
+ };
286
+ };
287
+ //# sourceMappingURL=error-reporting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-reporting.d.ts","sourceRoot":"","sources":["../../src/runtime/error-reporting.ts"],"names":[],"mappings":"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"}