@tachui/core 0.7.1-alpha → 0.8.1-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.
- package/README.md +20 -2
- package/dist/bundles/assets.d.ts +19 -0
- package/dist/bundles/assets.d.ts.map +1 -0
- package/dist/bundles/common.d.ts +1 -1
- package/dist/bundles/common.d.ts.map +1 -1
- package/dist/bundles/context.d.ts +22 -0
- package/dist/bundles/context.d.ts.map +1 -0
- package/dist/bundles/minimal.d.ts +8 -18
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/bundles/production-minimal.d.ts +2 -16
- package/dist/bundles/production-minimal.d.ts.map +1 -1
- package/dist/common.js +405 -828
- package/dist/compiler/advanced-parser.d.ts.map +1 -1
- package/dist/compiler/codegen.d.ts.map +1 -1
- package/dist/compiler/index.js +6 -1387
- package/dist/compiler/parser.d.ts +1 -1
- package/dist/compiler/parser.d.ts.map +1 -1
- package/dist/compiler/plugin.d.ts.map +1 -1
- package/dist/compiler/types.d.ts +28 -0
- package/dist/compiler/types.d.ts.map +1 -1
- package/dist/component-XAzF1xqs.js +487 -0
- package/dist/component-base-x2XmHFjy.js +255 -0
- package/dist/components/index.d.ts +4 -38
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +7 -4167
- package/dist/components/wrapper.d.ts +5 -152
- package/dist/components/wrapper.d.ts.map +1 -1
- package/dist/concatenated-component-ByPl3_FF.js +2933 -0
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/layout.d.ts +47 -4
- package/dist/constants/layout.d.ts.map +1 -1
- package/dist/constants/layout.js +84 -0
- package/dist/css-classes/index.js +176 -0
- package/dist/{dom-bridge-Cx-s6Ihx.js → dom-bridge-CAa1N2zX.js} +28 -28
- package/dist/{effect-CytAc9em.js → effect-B9Knft0b.js} +3 -3
- package/dist/essential.js +397 -826
- package/dist/index-DEBd8cq7.js +1144 -0
- package/dist/index-DIvMCJQO.js +268 -0
- package/dist/index-vdsiw6gQ.js +777 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +397 -826
- package/dist/minimal-prod.js +101 -155
- package/dist/minimal.js +118 -170
- package/dist/modifiers/background.d.ts +41 -11
- package/dist/modifiers/background.d.ts.map +1 -1
- package/dist/modifiers/base.d.ts +6 -33
- package/dist/modifiers/base.d.ts.map +1 -1
- package/dist/modifiers/base.js +487 -0
- package/dist/modifiers/builder.d.ts +103 -195
- package/dist/modifiers/builder.d.ts.map +1 -1
- package/dist/modifiers/builder.js +9 -0
- package/dist/modifiers/core.d.ts +9 -401
- package/dist/modifiers/core.d.ts.map +1 -1
- package/dist/modifiers/{utils.d.ts → factories.d.ts} +18 -5
- package/dist/modifiers/factories.d.ts.map +1 -0
- package/dist/modifiers/index.d.ts +8 -52
- package/dist/modifiers/index.d.ts.map +1 -1
- package/dist/modifiers/index.js +38 -0
- package/dist/modifiers/presets.d.ts +368 -0
- package/dist/modifiers/presets.d.ts.map +1 -0
- package/dist/modifiers/registry.js +10 -0
- package/dist/modifiers/types.d.ts +39 -211
- package/dist/modifiers/types.d.ts.map +1 -1
- package/dist/modifiers/types.js +4 -0
- package/dist/observed-object-Cos-FtjP.js +269 -0
- package/dist/performance-optimizer-stub-CtfXUwl4.js +38 -0
- package/dist/plugin-BCAdZXKq.js +1680 -0
- package/dist/plugins/index.d.ts +5 -6
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +147 -297
- package/dist/plugins/simplified-index.d.ts +5 -6
- package/dist/plugins/simplified-index.d.ts.map +1 -1
- package/dist/production-minimal-BY_gMc-l.js +2532 -0
- package/dist/reactive/index.js +96 -95
- package/dist/reactive/types.js +4 -0
- package/dist/runtime/concatenation-aria.d.ts +24 -0
- package/dist/runtime/concatenation-aria.d.ts.map +1 -0
- package/dist/runtime/concatenation-aria.js +53 -0
- package/dist/runtime/concatenation-full.d.ts +30 -0
- package/dist/runtime/concatenation-full.d.ts.map +1 -0
- package/dist/runtime/concatenation-full.js +77 -0
- package/dist/runtime/concatenation-minimal.d.ts +25 -0
- package/dist/runtime/concatenation-minimal.d.ts.map +1 -0
- package/dist/runtime/concatenation-minimal.js +40 -0
- package/dist/runtime/dom-bridge.js +5 -5
- package/dist/runtime/element-override.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +0 -7
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/renderer.d.ts.map +1 -1
- package/dist/runtime/renderer.js +7 -8
- package/dist/runtime/semantic-role-manager.d.ts.map +1 -1
- package/dist/runtime/types.js +1 -0
- package/dist/{scheduler-7SvC3a21.js → scheduler-BKeqwrYE.js} +130 -130
- package/dist/validation/build-time-stub.d.ts +33 -0
- package/dist/validation/build-time-stub.d.ts.map +1 -0
- package/dist/validation/debug-tools-stub.d.ts +67 -0
- package/dist/validation/debug-tools-stub.d.ts.map +1 -0
- package/dist/validation/index.d.ts +23 -78
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +609 -6470
- package/dist/validation/lifecycle-validation.d.ts.map +1 -1
- package/dist/validation/performance-optimizer-stub.d.ts +50 -0
- package/dist/validation/performance-optimizer-stub.d.ts.map +1 -0
- package/dist/validation/plugin-registration.d.ts +5 -1
- package/dist/validation/plugin-registration.d.ts.map +1 -1
- package/dist/validation/production-bypass-core.d.ts +69 -0
- package/dist/validation/production-bypass-core.d.ts.map +1 -0
- package/package.json +61 -5
- package/dist/ScrollView-h-6wYMAm.js +0 -515
- package/dist/Spacer-BbteDQ9I.js +0 -5337
- package/dist/binding-CmdpowkI.js +0 -2276
- package/dist/components/BasicInput.d.ts +0 -116
- package/dist/components/BasicInput.d.ts.map +0 -1
- package/dist/components/Button.d.ts +0 -252
- package/dist/components/Button.d.ts.map +0 -1
- package/dist/components/Divider.d.ts +0 -141
- package/dist/components/Divider.d.ts.map +0 -1
- package/dist/components/EnhancedLink.d.ts +0 -365
- package/dist/components/EnhancedLink.d.ts.map +0 -1
- package/dist/components/Form.d.ts +0 -141
- package/dist/components/Form.d.ts.map +0 -1
- package/dist/components/Grid.d.ts +0 -698
- package/dist/components/Grid.d.ts.map +0 -1
- package/dist/components/GridResponsive.d.ts +0 -214
- package/dist/components/GridResponsive.d.ts.map +0 -1
- package/dist/components/Image.d.ts +0 -162
- package/dist/components/Image.d.ts.map +0 -1
- package/dist/components/List.d.ts +0 -287
- package/dist/components/List.d.ts.map +0 -1
- package/dist/components/Menu.d.ts +0 -159
- package/dist/components/Menu.d.ts.map +0 -1
- package/dist/components/Picker.d.ts +0 -153
- package/dist/components/Picker.d.ts.map +0 -1
- package/dist/components/ScrollView.d.ts +0 -222
- package/dist/components/ScrollView.d.ts.map +0 -1
- package/dist/components/Section.d.ts +0 -153
- package/dist/components/Section.d.ts.map +0 -1
- package/dist/components/Show.d.ts +0 -64
- package/dist/components/Show.d.ts.map +0 -1
- package/dist/components/Spacer.d.ts +0 -35
- package/dist/components/Spacer.d.ts.map +0 -1
- package/dist/components/Text.d.ts +0 -242
- package/dist/components/Text.d.ts.map +0 -1
- package/dist/components/Toggle.d.ts +0 -207
- package/dist/components/Toggle.d.ts.map +0 -1
- package/dist/concatenated-component-DPcl2TEO.js +0 -6779
- package/dist/context--zQFIImS.js +0 -283
- package/dist/debug/index.d.ts +0 -61
- package/dist/debug/index.d.ts.map +0 -1
- package/dist/debug.js +0 -178
- package/dist/developer-experience/enhanced-errors.d.ts +0 -128
- package/dist/developer-experience/enhanced-errors.d.ts.map +0 -1
- package/dist/developer-experience/enhanced-types.d.ts +0 -281
- package/dist/developer-experience/enhanced-types.d.ts.map +0 -1
- package/dist/developer-experience/index.d.ts +0 -44
- package/dist/developer-experience/index.d.ts.map +0 -1
- package/dist/index-Nfi2SBQh.js +0 -3268
- package/dist/modifiers/attributes.d.ts +0 -203
- package/dist/modifiers/attributes.d.ts.map +0 -1
- package/dist/modifiers/backdrop.d.ts +0 -59
- package/dist/modifiers/backdrop.d.ts.map +0 -1
- package/dist/modifiers/border.d.ts +0 -217
- package/dist/modifiers/border.d.ts.map +0 -1
- package/dist/modifiers/effects.d.ts +0 -159
- package/dist/modifiers/effects.d.ts.map +0 -1
- package/dist/modifiers/elements.d.ts +0 -240
- package/dist/modifiers/elements.d.ts.map +0 -1
- package/dist/modifiers/filters.d.ts +0 -275
- package/dist/modifiers/filters.d.ts.map +0 -1
- package/dist/modifiers/flexbox.d.ts +0 -82
- package/dist/modifiers/flexbox.d.ts.map +0 -1
- package/dist/modifiers/font.d.ts +0 -71
- package/dist/modifiers/font.d.ts.map +0 -1
- package/dist/modifiers/grid.d.ts +0 -92
- package/dist/modifiers/grid.d.ts.map +0 -1
- package/dist/modifiers/margin.d.ts +0 -128
- package/dist/modifiers/margin.d.ts.map +0 -1
- package/dist/modifiers/padding.d.ts +0 -204
- package/dist/modifiers/padding.d.ts.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.d.ts +0 -118
- package/dist/modifiers/responsive/advanced-utilities.d.ts.map +0 -1
- package/dist/modifiers/responsive/breakpoints.d.ts +0 -81
- package/dist/modifiers/responsive/breakpoints.d.ts.map +0 -1
- package/dist/modifiers/responsive/css-generator.d.ts +0 -100
- package/dist/modifiers/responsive/css-generator.d.ts.map +0 -1
- package/dist/modifiers/responsive/dev-tools.d.ts +0 -107
- package/dist/modifiers/responsive/dev-tools.d.ts.map +0 -1
- package/dist/modifiers/responsive/index.d.ts +0 -29
- package/dist/modifiers/responsive/index.d.ts.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.d.ts +0 -230
- package/dist/modifiers/responsive/layout-patterns.d.ts.map +0 -1
- package/dist/modifiers/responsive/performance.d.ts +0 -130
- package/dist/modifiers/responsive/performance.d.ts.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.d.ts +0 -133
- package/dist/modifiers/responsive/responsive-builder.d.ts.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.d.ts +0 -123
- package/dist/modifiers/responsive/responsive-modifier.d.ts.map +0 -1
- package/dist/modifiers/responsive/types.d.ts +0 -183
- package/dist/modifiers/responsive/types.d.ts.map +0 -1
- package/dist/modifiers/responsive/utilities.d.ts +0 -149
- package/dist/modifiers/responsive/utilities.d.ts.map +0 -1
- package/dist/modifiers/scroll.d.ts +0 -143
- package/dist/modifiers/scroll.d.ts.map +0 -1
- package/dist/modifiers/shadows.d.ts +0 -114
- package/dist/modifiers/shadows.d.ts.map +0 -1
- package/dist/modifiers/size.d.ts +0 -113
- package/dist/modifiers/size.d.ts.map +0 -1
- package/dist/modifiers/text.d.ts +0 -147
- package/dist/modifiers/text.d.ts.map +0 -1
- package/dist/modifiers/transformations.d.ts +0 -329
- package/dist/modifiers/transformations.d.ts.map +0 -1
- package/dist/modifiers/transitions.d.ts +0 -98
- package/dist/modifiers/transitions.d.ts.map +0 -1
- package/dist/modifiers/typography.d.ts +0 -192
- package/dist/modifiers/typography.d.ts.map +0 -1
- package/dist/modifiers/utility.d.ts +0 -69
- package/dist/modifiers/utility.d.ts.map +0 -1
- package/dist/modifiers/utils.d.ts.map +0 -1
- package/dist/plugins/simplified-error-handler.d.ts +0 -83
- package/dist/plugins/simplified-error-handler.d.ts.map +0 -1
- package/dist/runtime/dev-tools.d.ts +0 -240
- package/dist/runtime/dev-tools.d.ts.map +0 -1
- package/dist/runtime/development-warnings.d.ts +0 -42
- package/dist/runtime/development-warnings.d.ts.map +0 -1
- package/dist/runtime/error-boundary.d.ts +0 -302
- package/dist/runtime/error-boundary.d.ts.map +0 -1
- package/dist/runtime/error-recovery.d.ts +0 -267
- package/dist/runtime/error-recovery.d.ts.map +0 -1
- package/dist/runtime/error-reporting.d.ts +0 -287
- package/dist/runtime/error-reporting.d.ts.map +0 -1
- package/dist/runtime/error-utils.d.ts +0 -204
- package/dist/runtime/error-utils.d.ts.map +0 -1
- package/dist/runtime/performance.d.ts +0 -217
- package/dist/runtime/performance.d.ts.map +0 -1
- package/dist/sui-compat.d.ts +0 -110
- package/dist/sui-compat.d.ts.map +0 -1
- package/dist/validation/advanced-debugging.d.ts +0 -319
- package/dist/validation/advanced-debugging.d.ts.map +0 -1
- package/dist/validation/build-time/detection.d.ts +0 -32
- package/dist/validation/build-time/detection.d.ts.map +0 -1
- package/dist/validation/build-time/index.d.ts +0 -84
- package/dist/validation/build-time/index.d.ts.map +0 -1
- package/dist/validation/build-time/plugins.d.ts +0 -75
- package/dist/validation/build-time/plugins.d.ts.map +0 -1
- package/dist/validation/build-time/rules.d.ts +0 -73
- package/dist/validation/build-time/rules.d.ts.map +0 -1
- package/dist/validation/build-time/transformer.d.ts +0 -23
- package/dist/validation/build-time/transformer.d.ts.map +0 -1
- package/dist/validation/build-time/types.d.ts +0 -212
- package/dist/validation/build-time/types.d.ts.map +0 -1
- package/dist/validation/comprehensive.d.ts +0 -160
- package/dist/validation/comprehensive.d.ts.map +0 -1
- package/dist/validation/debug-tools.d.ts +0 -251
- package/dist/validation/debug-tools.d.ts.map +0 -1
- package/dist/validation/developer-experience.d.ts +0 -243
- package/dist/validation/developer-experience.d.ts.map +0 -1
- package/dist/validation/documentation-integration.d.ts +0 -269
- package/dist/validation/documentation-integration.d.ts.map +0 -1
- package/dist/validation/enhanced-runtime.d.ts +0 -279
- package/dist/validation/enhanced-runtime.d.ts.map +0 -1
- package/dist/validation/error-reporting.d.ts +0 -186
- package/dist/validation/error-reporting.d.ts.map +0 -1
- package/dist/validation/ide-integration.d.ts +0 -328
- package/dist/validation/ide-integration.d.ts.map +0 -1
- package/dist/validation/performance-optimizer.d.ts +0 -218
- package/dist/validation/performance-optimizer.d.ts.map +0 -1
- package/dist/validation/production-bypass.d.ts +0 -175
- package/dist/validation/production-bypass.d.ts.map +0 -1
- package/dist/validation/simple.d.ts +0 -111
- package/dist/validation/simple.d.ts.map +0 -1
- package/dist/viewport/adapters/web-adapter.d.ts +0 -227
- package/dist/viewport/adapters/web-adapter.d.ts.map +0 -1
- package/dist/viewport/components.d.ts +0 -131
- package/dist/viewport/components.d.ts.map +0 -1
- package/dist/viewport/environment.d.ts +0 -75
- package/dist/viewport/environment.d.ts.map +0 -1
- package/dist/viewport/index.d.ts +0 -138
- package/dist/viewport/index.d.ts.map +0 -1
- package/dist/viewport/index.js +0 -2085
- package/dist/viewport/platform-detection.d.ts +0 -59
- package/dist/viewport/platform-detection.d.ts.map +0 -1
- package/dist/viewport/types.d.ts +0 -301
- package/dist/viewport/types.d.ts.map +0 -1
- package/dist/viewport/viewport-manager.d.ts +0 -118
- package/dist/viewport/viewport-manager.d.ts.map +0 -1
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error Boundary and Error Handling System (Phase 3.2.3)
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive error handling system for TachUI applications.
|
|
5
|
-
* Provides error boundaries, recovery mechanisms, and error reporting.
|
|
6
|
-
*/
|
|
7
|
-
import type { ComponentInstance, ComponentProps, DOMNode } from './types';
|
|
8
|
-
/**
|
|
9
|
-
* Error severity levels
|
|
10
|
-
*/
|
|
11
|
-
export type ErrorSeverity = 'low' | 'medium' | 'high' | 'critical';
|
|
12
|
-
/**
|
|
13
|
-
* Error categories for classification
|
|
14
|
-
*/
|
|
15
|
-
export type ErrorCategory = 'component_error' | 'reactive_error' | 'render_error' | 'lifecycle_error' | 'network_error' | 'validation_error' | 'unknown_error';
|
|
16
|
-
/**
|
|
17
|
-
* Comprehensive error information
|
|
18
|
-
*/
|
|
19
|
-
export interface TachUIError {
|
|
20
|
-
id: string;
|
|
21
|
-
message: string;
|
|
22
|
-
stack?: string;
|
|
23
|
-
cause?: Error;
|
|
24
|
-
timestamp: number;
|
|
25
|
-
category: ErrorCategory;
|
|
26
|
-
severity: ErrorSeverity;
|
|
27
|
-
componentId?: string;
|
|
28
|
-
componentName?: string;
|
|
29
|
-
phase?: string;
|
|
30
|
-
context?: Record<string, any>;
|
|
31
|
-
userAgent?: string;
|
|
32
|
-
url?: string;
|
|
33
|
-
retryCount: number;
|
|
34
|
-
recovered: boolean;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Error boundary state
|
|
38
|
-
*/
|
|
39
|
-
export interface ErrorBoundaryState {
|
|
40
|
-
hasError: boolean;
|
|
41
|
-
error: TachUIError | null;
|
|
42
|
-
errorInfo: {
|
|
43
|
-
componentStack?: string;
|
|
44
|
-
errorBoundary?: string;
|
|
45
|
-
retryAttempts: number;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Error recovery strategies
|
|
50
|
-
*/
|
|
51
|
-
export type ErrorRecoveryStrategy = 'retry' | 'fallback' | 'reload' | 'redirect' | 'ignore' | 'escalate';
|
|
52
|
-
/**
|
|
53
|
-
* Error recovery configuration
|
|
54
|
-
*/
|
|
55
|
-
export interface ErrorRecoveryConfig {
|
|
56
|
-
strategy: ErrorRecoveryStrategy;
|
|
57
|
-
maxRetries?: number;
|
|
58
|
-
retryDelay?: number;
|
|
59
|
-
fallbackComponent?: ComponentInstance;
|
|
60
|
-
onRecovery?: (error: TachUIError) => void;
|
|
61
|
-
condition?: (error: TachUIError) => boolean;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Error boundary props
|
|
65
|
-
*/
|
|
66
|
-
export interface ErrorBoundaryProps extends ComponentProps {
|
|
67
|
-
fallback?: ComponentInstance | ((error: TachUIError, retry: () => void) => ComponentInstance);
|
|
68
|
-
onError?: (error: TachUIError, errorInfo: ErrorBoundaryState['errorInfo']) => void;
|
|
69
|
-
recovery?: ErrorRecoveryConfig[];
|
|
70
|
-
isolate?: boolean;
|
|
71
|
-
resetOnPropsChange?: boolean;
|
|
72
|
-
resetKeys?: string[];
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Error reporter interface
|
|
76
|
-
*/
|
|
77
|
-
export interface ErrorReporter {
|
|
78
|
-
report(error: TachUIError): void | Promise<void>;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Error handler function type
|
|
82
|
-
*/
|
|
83
|
-
export type ErrorHandler = (error: TachUIError) => void | Promise<void>;
|
|
84
|
-
/**
|
|
85
|
-
* Global error handling configuration
|
|
86
|
-
*/
|
|
87
|
-
export interface ErrorHandlingConfig {
|
|
88
|
-
enabled: boolean;
|
|
89
|
-
captureConsoleErrors: boolean;
|
|
90
|
-
captureUnhandledPromises: boolean;
|
|
91
|
-
captureReactiveErrors: boolean;
|
|
92
|
-
captureComponentErrors: boolean;
|
|
93
|
-
maxErrorsPerSession: number;
|
|
94
|
-
maxErrorAge: number;
|
|
95
|
-
reportingThrottle: number;
|
|
96
|
-
enableStackTrace: boolean;
|
|
97
|
-
enableSourceMap: boolean;
|
|
98
|
-
development: boolean;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Error boundary component implementation
|
|
102
|
-
*/
|
|
103
|
-
export declare class ErrorBoundary {
|
|
104
|
-
private state;
|
|
105
|
-
private props;
|
|
106
|
-
private children;
|
|
107
|
-
private errorManager;
|
|
108
|
-
private stateSignal;
|
|
109
|
-
private setState;
|
|
110
|
-
constructor(props: ErrorBoundaryProps, children: ComponentInstance[], errorManager: ErrorManager);
|
|
111
|
-
/**
|
|
112
|
-
* Catch and handle errors in child components
|
|
113
|
-
*/
|
|
114
|
-
componentDidCatch(error: Error, errorInfo: any): void;
|
|
115
|
-
/**
|
|
116
|
-
* Handle error and determine recovery strategy
|
|
117
|
-
*/
|
|
118
|
-
private handleError;
|
|
119
|
-
/**
|
|
120
|
-
* Attempt error recovery based on configured strategies
|
|
121
|
-
*/
|
|
122
|
-
private attemptRecovery;
|
|
123
|
-
/**
|
|
124
|
-
* Retry failed operation with configuration
|
|
125
|
-
*/
|
|
126
|
-
private retryWithConfig;
|
|
127
|
-
/**
|
|
128
|
-
* Retry the failed operation
|
|
129
|
-
*/
|
|
130
|
-
retry(): void;
|
|
131
|
-
/**
|
|
132
|
-
* Reset error boundary to normal state
|
|
133
|
-
*/
|
|
134
|
-
resetErrorBoundary(): void;
|
|
135
|
-
/**
|
|
136
|
-
* Reload the component
|
|
137
|
-
*/
|
|
138
|
-
private reloadComponent;
|
|
139
|
-
/**
|
|
140
|
-
* Setup props watcher for error boundary reset
|
|
141
|
-
*/
|
|
142
|
-
private setupPropsWatcher;
|
|
143
|
-
/**
|
|
144
|
-
* Check if error boundary should reset based on props
|
|
145
|
-
*/
|
|
146
|
-
private shouldResetOnProps;
|
|
147
|
-
/**
|
|
148
|
-
* Render error boundary content
|
|
149
|
-
*/
|
|
150
|
-
render(): DOMNode[];
|
|
151
|
-
/**
|
|
152
|
-
* Render default error UI
|
|
153
|
-
*/
|
|
154
|
-
private renderDefaultErrorUI;
|
|
155
|
-
/**
|
|
156
|
-
* Get current error boundary state
|
|
157
|
-
*/
|
|
158
|
-
getState(): ErrorBoundaryState;
|
|
159
|
-
/**
|
|
160
|
-
* Get reactive state signal
|
|
161
|
-
*/
|
|
162
|
-
getStateSignal(): () => ErrorBoundaryState;
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Global error manager
|
|
166
|
-
*/
|
|
167
|
-
export declare class ErrorManager {
|
|
168
|
-
private static instance;
|
|
169
|
-
private config;
|
|
170
|
-
private errors;
|
|
171
|
-
private reporters;
|
|
172
|
-
private handlers;
|
|
173
|
-
private throttleMap;
|
|
174
|
-
private errorsSignal;
|
|
175
|
-
private setErrors;
|
|
176
|
-
constructor();
|
|
177
|
-
static getInstance(): ErrorManager;
|
|
178
|
-
/**
|
|
179
|
-
* Configure error handling
|
|
180
|
-
*/
|
|
181
|
-
configure(config: Partial<ErrorHandlingConfig>): void;
|
|
182
|
-
/**
|
|
183
|
-
* Setup global error handlers
|
|
184
|
-
*/
|
|
185
|
-
private setupGlobalErrorHandlers;
|
|
186
|
-
/**
|
|
187
|
-
* Create standardized TachUI error
|
|
188
|
-
*/
|
|
189
|
-
createTachUIError(error: Error, options?: {
|
|
190
|
-
category?: ErrorCategory;
|
|
191
|
-
severity?: ErrorSeverity;
|
|
192
|
-
componentId?: string;
|
|
193
|
-
componentName?: string;
|
|
194
|
-
phase?: string;
|
|
195
|
-
context?: Record<string, any>;
|
|
196
|
-
}): TachUIError;
|
|
197
|
-
/**
|
|
198
|
-
* Report error to all registered reporters
|
|
199
|
-
*/
|
|
200
|
-
reportError(error: TachUIError): void;
|
|
201
|
-
/**
|
|
202
|
-
* Clean old errors based on max age
|
|
203
|
-
*/
|
|
204
|
-
private cleanOldErrors;
|
|
205
|
-
/**
|
|
206
|
-
* Add error reporter
|
|
207
|
-
*/
|
|
208
|
-
addReporter(reporter: ErrorReporter): () => void;
|
|
209
|
-
/**
|
|
210
|
-
* Add error handler
|
|
211
|
-
*/
|
|
212
|
-
addHandler(handler: ErrorHandler): () => void;
|
|
213
|
-
/**
|
|
214
|
-
* Get all errors
|
|
215
|
-
*/
|
|
216
|
-
getErrors(): TachUIError[];
|
|
217
|
-
/**
|
|
218
|
-
* Get errors signal
|
|
219
|
-
*/
|
|
220
|
-
getErrorsSignal(): () => TachUIError[];
|
|
221
|
-
/**
|
|
222
|
-
* Get errors by category
|
|
223
|
-
*/
|
|
224
|
-
getErrorsByCategory(category: ErrorCategory): TachUIError[];
|
|
225
|
-
/**
|
|
226
|
-
* Get errors by severity
|
|
227
|
-
*/
|
|
228
|
-
getErrorsBySeverity(severity: ErrorSeverity): TachUIError[];
|
|
229
|
-
/**
|
|
230
|
-
* Get errors by component
|
|
231
|
-
*/
|
|
232
|
-
getErrorsByComponent(componentId: string): TachUIError[];
|
|
233
|
-
/**
|
|
234
|
-
* Mark error as recovered
|
|
235
|
-
*/
|
|
236
|
-
markErrorRecovered(errorId: string): void;
|
|
237
|
-
/**
|
|
238
|
-
* Clear all errors
|
|
239
|
-
*/
|
|
240
|
-
clear(): void;
|
|
241
|
-
/**
|
|
242
|
-
* Get error statistics
|
|
243
|
-
*/
|
|
244
|
-
getStatistics(): {
|
|
245
|
-
totalErrors: number;
|
|
246
|
-
errorsByCategory: Record<ErrorCategory, number>;
|
|
247
|
-
errorsBySeverity: Record<ErrorSeverity, number>;
|
|
248
|
-
recoveredErrors: number;
|
|
249
|
-
recentErrors: number;
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Global error manager instance
|
|
254
|
-
*/
|
|
255
|
-
export declare const globalErrorManager: ErrorManager;
|
|
256
|
-
/**
|
|
257
|
-
* Create error boundary component
|
|
258
|
-
*/
|
|
259
|
-
export declare function createErrorBoundary(props: ErrorBoundaryProps, children: ComponentInstance[]): ErrorBoundary;
|
|
260
|
-
/**
|
|
261
|
-
* Built-in error reporters
|
|
262
|
-
*/
|
|
263
|
-
export declare const errorReporters: {
|
|
264
|
-
/**
|
|
265
|
-
* Console reporter
|
|
266
|
-
*/
|
|
267
|
-
console: ErrorReporter;
|
|
268
|
-
/**
|
|
269
|
-
* Local storage reporter
|
|
270
|
-
*/
|
|
271
|
-
localStorage: ErrorReporter;
|
|
272
|
-
/**
|
|
273
|
-
* Remote API reporter
|
|
274
|
-
*/
|
|
275
|
-
createRemoteReporter(endpoint: string, apiKey?: string): ErrorReporter;
|
|
276
|
-
};
|
|
277
|
-
/**
|
|
278
|
-
* Error handling utilities
|
|
279
|
-
*/
|
|
280
|
-
export declare const errorUtils: {
|
|
281
|
-
/**
|
|
282
|
-
* Wrap function with error handling
|
|
283
|
-
*/
|
|
284
|
-
withErrorHandling<T extends (...args: any[]) => any>(fn: T, options?: {
|
|
285
|
-
category?: ErrorCategory;
|
|
286
|
-
onError?: (error: TachUIError) => void;
|
|
287
|
-
fallback?: ReturnType<T>;
|
|
288
|
-
}): T;
|
|
289
|
-
/**
|
|
290
|
-
* Wrap async function with error handling
|
|
291
|
-
*/
|
|
292
|
-
withAsyncErrorHandling<T extends (...args: any[]) => Promise<any>>(fn: T, options?: {
|
|
293
|
-
category?: ErrorCategory;
|
|
294
|
-
onError?: (error: TachUIError) => void;
|
|
295
|
-
fallback?: Awaited<ReturnType<T>>;
|
|
296
|
-
}): T;
|
|
297
|
-
/**
|
|
298
|
-
* Create error boundary with common configurations
|
|
299
|
-
*/
|
|
300
|
-
createSimpleErrorBoundary(fallbackMessage?: string): (children: ComponentInstance[]) => ErrorBoundary;
|
|
301
|
-
};
|
|
302
|
-
//# sourceMappingURL=error-boundary.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../src/runtime/error-boundary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,267 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-recovery.d.ts","sourceRoot":"","sources":["../../src/runtime/error-recovery.ts"],"names":[],"mappings":"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"}
|