@aifabrix/miso-client 3.5.0 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +263 -0
- package/dist/api/auth-cache.api.d.ts.map +1 -1
- package/dist/api/auth-cache.api.js +27 -5
- package/dist/api/auth-cache.api.js.map +1 -1
- package/dist/api/auth-login.api.d.ts.map +1 -1
- package/dist/api/auth-login.api.js +49 -6
- package/dist/api/auth-login.api.js.map +1 -1
- package/dist/api/auth-token.api.d.ts.map +1 -1
- package/dist/api/auth-token.api.js +99 -7
- package/dist/api/auth-token.api.js.map +1 -1
- package/dist/api/auth-user.api.d.ts.map +1 -1
- package/dist/api/auth-user.api.js +22 -4
- package/dist/api/auth-user.api.js.map +1 -1
- package/dist/api/auth.api.d.ts +2 -9
- package/dist/api/auth.api.d.ts.map +1 -1
- package/dist/api/auth.api.js +1 -66
- package/dist/api/auth.api.js.map +1 -1
- package/dist/api/logs-create.api.d.ts.map +1 -1
- package/dist/api/logs-create.api.js +57 -4
- package/dist/api/logs-create.api.js.map +1 -1
- package/dist/api/logs-export.api.d.ts.map +1 -1
- package/dist/api/logs-export.api.js +7 -1
- package/dist/api/logs-export.api.js.map +1 -1
- package/dist/api/logs-list.api.d.ts.map +1 -1
- package/dist/api/logs-list.api.js +32 -6
- package/dist/api/logs-list.api.js.map +1 -1
- package/dist/api/logs-stats.api.d.ts.map +1 -1
- package/dist/api/logs-stats.api.js +22 -4
- package/dist/api/logs-stats.api.js.map +1 -1
- package/dist/api/permissions.api.d.ts +2 -1
- package/dist/api/permissions.api.d.ts.map +1 -1
- package/dist/api/permissions.api.js +16 -5
- package/dist/api/permissions.api.js.map +1 -1
- package/dist/api/roles.api.d.ts +2 -1
- package/dist/api/roles.api.d.ts.map +1 -1
- package/dist/api/roles.api.js +16 -5
- package/dist/api/roles.api.js.map +1 -1
- package/dist/api/types/logs.types.d.ts +44 -7
- package/dist/api/types/logs.types.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.js +42 -5
- package/dist/express/client-token-endpoint.js.map +1 -1
- package/dist/express/error-handler.d.ts.map +1 -1
- package/dist/express/error-handler.js +32 -8
- package/dist/express/error-handler.js.map +1 -1
- package/dist/express/index.d.ts +1 -0
- package/dist/express/index.d.ts.map +1 -1
- package/dist/express/index.js +4 -1
- package/dist/express/index.js.map +1 -1
- package/dist/express/logger-context.middleware.d.ts +46 -0
- package/dist/express/logger-context.middleware.d.ts.map +1 -0
- package/dist/express/logger-context.middleware.js +99 -0
- package/dist/express/logger-context.middleware.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -5
- package/dist/index.js.map +1 -1
- package/dist/services/application-context.service.d.ts +48 -0
- package/dist/services/application-context.service.d.ts.map +1 -0
- package/dist/services/application-context.service.js +141 -0
- package/dist/services/application-context.service.js.map +1 -0
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +97 -8
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/browser-permission.service.d.ts +5 -0
- package/dist/services/browser-permission.service.d.ts.map +1 -1
- package/dist/services/browser-permission.service.js +39 -2
- package/dist/services/browser-permission.service.js.map +1 -1
- package/dist/services/browser-role.service.d.ts +5 -0
- package/dist/services/browser-role.service.d.ts.map +1 -1
- package/dist/services/browser-role.service.js +45 -2
- package/dist/services/browser-role.service.js.map +1 -1
- package/dist/services/logger/index.d.ts +10 -0
- package/dist/services/logger/index.d.ts.map +1 -0
- package/dist/services/logger/index.js +22 -0
- package/dist/services/logger/index.js.map +1 -0
- package/dist/services/logger/logger-chain.d.ts +90 -0
- package/dist/services/logger/logger-chain.d.ts.map +1 -0
- package/dist/services/logger/logger-chain.js +169 -0
- package/dist/services/logger/logger-chain.js.map +1 -0
- package/dist/services/logger/logger-context-storage.d.ts +73 -0
- package/dist/services/logger/logger-context-storage.d.ts.map +1 -0
- package/dist/services/logger/logger-context-storage.js +86 -0
- package/dist/services/logger/logger-context-storage.js.map +1 -0
- package/dist/services/logger/logger-context.d.ts +89 -0
- package/dist/services/logger/logger-context.d.ts.map +1 -0
- package/dist/services/logger/logger-context.js +208 -0
- package/dist/services/logger/logger-context.js.map +1 -0
- package/dist/services/logger/logger.service.d.ts +186 -0
- package/dist/services/logger/logger.service.d.ts.map +1 -0
- package/dist/services/logger/logger.service.js +423 -0
- package/dist/services/logger/logger.service.js.map +1 -0
- package/dist/services/logger/unified-logger.factory.d.ts +87 -0
- package/dist/services/logger/unified-logger.factory.d.ts.map +1 -0
- package/dist/services/logger/unified-logger.factory.js +120 -0
- package/dist/services/logger/unified-logger.factory.js.map +1 -0
- package/dist/services/logger/unified-logger.service.d.ts +89 -0
- package/dist/services/logger/unified-logger.service.d.ts.map +1 -0
- package/dist/services/logger/unified-logger.service.js +186 -0
- package/dist/services/logger/unified-logger.service.js.map +1 -0
- package/dist/services/permission.service.d.ts +1 -0
- package/dist/services/permission.service.d.ts.map +1 -1
- package/dist/services/permission.service.js +10 -2
- package/dist/services/permission.service.js.map +1 -1
- package/dist/services/role.service.d.ts +1 -0
- package/dist/services/role.service.d.ts.map +1 -1
- package/dist/services/role.service.js +10 -2
- package/dist/services/role.service.js.map +1 -1
- package/dist/types/filter.types.d.ts +6 -6
- package/dist/types/filter.types.d.ts.map +1 -1
- package/dist/types/filter.types.js +14 -5
- package/dist/types/filter.types.js.map +1 -1
- package/dist/utils/console-logger.d.ts +21 -0
- package/dist/utils/console-logger.d.ts.map +1 -0
- package/dist/utils/console-logger.js +58 -0
- package/dist/utils/console-logger.js.map +1 -0
- package/dist/utils/controller-url-resolver.d.ts.map +1 -1
- package/dist/utils/controller-url-resolver.js +5 -0
- package/dist/utils/controller-url-resolver.js.map +1 -1
- package/dist/utils/data-client-auth.d.ts.map +1 -1
- package/dist/utils/data-client-auth.js +34 -2
- package/dist/utils/data-client-auth.js.map +1 -1
- package/dist/utils/data-client-auto-init.d.ts.map +1 -1
- package/dist/utils/data-client-auto-init.js +59 -3
- package/dist/utils/data-client-auto-init.js.map +1 -1
- package/dist/utils/data-client-request.d.ts.map +1 -1
- package/dist/utils/data-client-request.js +78 -2
- package/dist/utils/data-client-request.js.map +1 -1
- package/dist/utils/data-client.d.ts.map +1 -1
- package/dist/utils/data-client.js +10 -7
- package/dist/utils/data-client.js.map +1 -1
- package/dist/utils/environment-token.d.ts.map +1 -1
- package/dist/utils/environment-token.js +37 -57
- package/dist/utils/environment-token.js.map +1 -1
- package/dist/utils/error-extractor.d.ts +52 -0
- package/dist/utils/error-extractor.d.ts.map +1 -0
- package/dist/utils/error-extractor.js +136 -0
- package/dist/utils/error-extractor.js.map +1 -0
- package/dist/utils/filter.utils.d.ts +115 -3
- package/dist/utils/filter.utils.d.ts.map +1 -1
- package/dist/utils/filter.utils.js +298 -27
- package/dist/utils/filter.utils.js.map +1 -1
- package/dist/utils/http-client-audit.d.ts +1 -1
- package/dist/utils/http-client-audit.d.ts.map +1 -1
- package/dist/utils/http-client.d.ts +1 -1
- package/dist/utils/http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.d.ts +4 -0
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +190 -11
- package/dist/utils/internal-http-client.js.map +1 -1
- package/dist/utils/response-validator.d.ts.map +1 -1
- package/dist/utils/response-validator.js +2 -4
- package/dist/utils/response-validator.js.map +1 -1
- package/dist/utils/token-utils.d.ts.map +1 -1
- package/dist/utils/token-utils.js +75 -4
- package/dist/utils/token-utils.js.map +1 -1
- package/package.json +2 -1
- package/dist/services/logger.service.d.ts +0 -191
- package/dist/services/logger.service.d.ts.map +0 -1
- package/dist/services/logger.service.js +0 -488
- package/dist/services/logger.service.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,269 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.8.1] - 2026-01-10
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **Unified Application Context Service** - Centralized application and environment extraction
|
|
13
|
+
- New `ApplicationContextService` class to extract `application`, `applicationId`, and `environment` with consistent fallback logic
|
|
14
|
+
- Extracts from client token first (if available), then falls back to parsing `miso-controller-{environment}-{application}` format from clientId
|
|
15
|
+
- RoleService, PermissionService, LoggerService, and UnifiedLoggerService now use the unified service
|
|
16
|
+
- Reduces code duplication and ensures consistent behavior across all services
|
|
17
|
+
- Caches parsed results to avoid repeated extraction
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- **Logger Context Application Fallback** - Fixed application fallback to use clientId when parsing fails
|
|
22
|
+
- Logger getter methods (`getLogWithRequest`, `getWithContext`, `getWithToken`) now properly fall back to `clientId` when `application` cannot be extracted from client token or parsed from clientId format
|
|
23
|
+
- Ensures application field is always populated in log entries, even when clientId format doesn't match expected pattern
|
|
24
|
+
|
|
25
|
+
### Technical
|
|
26
|
+
|
|
27
|
+
- **New service**: `src/services/application-context.service.ts` - Unified application context extraction (175 lines)
|
|
28
|
+
- **Test coverage**: Comprehensive tests in `tests/unit/application-context.service.test.ts` (323 lines, 100% coverage)
|
|
29
|
+
- **Code quality**: All services updated to use ApplicationContextService, reducing code duplication by ~50 lines
|
|
30
|
+
|
|
31
|
+
## [3.8.0] - 2026-01-10
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
- **Unified Logging Interface**: New minimal API with automatic context extraction
|
|
36
|
+
- `getLogger()` factory function for automatic context detection from AsyncLocalStorage
|
|
37
|
+
- `setLoggerContext()` and `clearLoggerContext()` for manual context management
|
|
38
|
+
- `loggerContextMiddleware` Express middleware helper for automatic request context extraction
|
|
39
|
+
- AsyncLocalStorage-based context propagation across async boundaries
|
|
40
|
+
- Simplified API: `logger.info(message)`, `logger.error(message, error?)`, `logger.audit(action, resource, entityId?, oldValues?, newValues?)`
|
|
41
|
+
- Automatic context extraction from AsyncLocalStorage (set by Express middleware or manually)
|
|
42
|
+
- Works seamlessly in Express routes, service layers, and background jobs
|
|
43
|
+
- Zero configuration required when middleware is used
|
|
44
|
+
|
|
45
|
+
### Documentation
|
|
46
|
+
|
|
47
|
+
- Added unified logging examples and guides (`docs/examples/unified-logging.md`)
|
|
48
|
+
- Updated Express middleware examples with unified logging pattern
|
|
49
|
+
- Added background job logging examples with unified interface
|
|
50
|
+
- Comprehensive API reference for UnifiedLogger interface in `docs/reference-services.md`
|
|
51
|
+
|
|
52
|
+
## [3.7.2] - 2026-01-10
|
|
53
|
+
|
|
54
|
+
### Added
|
|
55
|
+
|
|
56
|
+
- **Comprehensive Integration Tests** - Full end-to-end integration tests for Auth and Logs API endpoints
|
|
57
|
+
- New `tests/integration/api-endpoints.integration.test.ts` with comprehensive endpoint coverage
|
|
58
|
+
- Tests all Auth and Logs endpoints against real controller using credentials from `.env`
|
|
59
|
+
- Validates endpoint paths, HTTP methods, request bodies, and response structures against OpenAPI specs
|
|
60
|
+
- Tests error cases (invalid tokens, missing params, etc.) with proper status code verification
|
|
61
|
+
- Gracefully skips tests if controller is unavailable (CI/CD friendly)
|
|
62
|
+
- New npm script `test:integration:api` for running integration tests
|
|
63
|
+
|
|
64
|
+
### Changed
|
|
65
|
+
|
|
66
|
+
- **Logger Service Refactoring** - Improved code organization and maintainability
|
|
67
|
+
- Moved logger service to modular structure in `src/services/logger/` directory
|
|
68
|
+
- Split `LoggerService` into focused modules: `logger-chain.ts`, `logger-context.ts`, `logger.service.ts`
|
|
69
|
+
- New barrel export `src/services/logger/index.ts` for cleaner imports
|
|
70
|
+
- Maintains backward compatibility (no breaking changes to public API)
|
|
71
|
+
|
|
72
|
+
- **Error Handling Improvements** - Enhanced error handling across API layer
|
|
73
|
+
- Updated error handling in integration tests to gracefully skip unavailable controllers
|
|
74
|
+
- Improved error reporting and logging throughout API files
|
|
75
|
+
- Enhanced user information retrieval functionality
|
|
76
|
+
|
|
77
|
+
- **Code Quality Improvements** - Refactoring for better readability and maintainability
|
|
78
|
+
- Updated various components for improved logging and error reporting
|
|
79
|
+
- Enhanced API response handling and validation
|
|
80
|
+
- Improved code organization and structure
|
|
81
|
+
|
|
82
|
+
### Fixed
|
|
83
|
+
|
|
84
|
+
- **Linting Issues** - Fixed ESLint errors in internal HTTP client
|
|
85
|
+
- Converted `require()` statements to use ESLint disable comments for Node.js-only code
|
|
86
|
+
- Fixed `@typescript-eslint/no-var-requires` errors in `src/utils/internal-http-client.ts`
|
|
87
|
+
|
|
88
|
+
### Technical
|
|
89
|
+
|
|
90
|
+
- **New test infrastructure**:
|
|
91
|
+
- Comprehensive integration test suite (`tests/integration/api-endpoints.integration.test.ts` - 554 lines)
|
|
92
|
+
- New npm script: `test:integration:api` for running integration tests
|
|
93
|
+
- Enhanced validation plans and summaries for API calls
|
|
94
|
+
|
|
95
|
+
- **Code organization**:
|
|
96
|
+
- Logger service modularized into `src/services/logger/` directory structure
|
|
97
|
+
- Improved separation of concerns with focused modules
|
|
98
|
+
- Better code maintainability and testability
|
|
99
|
+
|
|
100
|
+
- **Documentation**:
|
|
101
|
+
- Added endpoint validation summary documentation
|
|
102
|
+
- Updated validation plans for API calls
|
|
103
|
+
|
|
104
|
+
## [3.7.1] - 2026-01-09
|
|
105
|
+
|
|
106
|
+
### Added
|
|
107
|
+
|
|
108
|
+
- **Enhanced Error Logging with Correlation IDs** - Comprehensive error logging system with structured error extraction
|
|
109
|
+
- New `extractErrorInfo()` utility in `src/utils/error-extractor.ts` for structured error information extraction
|
|
110
|
+
- New `logErrorWithContext()` utility in `src/utils/console-logger.ts` for enhanced console logging with correlation ID prefixes
|
|
111
|
+
- Supports all error types: `MisoClientError`, `ApiError`, `AuthenticationError`, `NetworkError`, `TimeoutError`, and generic `Error`
|
|
112
|
+
- Automatic correlation ID extraction from error responses or auto-generation when missing
|
|
113
|
+
- Enhanced error context includes endpoint, method, status codes, response bodies, and stack traces
|
|
114
|
+
- All API files updated with structured error logging (11 API files enhanced)
|
|
115
|
+
- DataClient and Express error handlers updated with enhanced logging
|
|
116
|
+
|
|
117
|
+
- **Logger Service Getter Methods** - Public methods for external logger integration
|
|
118
|
+
- New `getLogWithRequest()` method - Extracts IP, method, path, userAgent, correlationId, userId from Express Request
|
|
119
|
+
- New `getWithContext()` method - Returns LogEntry with provided context and auto-generated correlation ID
|
|
120
|
+
- New `getWithToken()` method - Extracts userId, sessionId, applicationId from JWT token
|
|
121
|
+
- New `getForRequest()` method - Alias for `getLogWithRequest()` for consistency
|
|
122
|
+
- All methods return complete `LogEntry` objects for integration with external logger tables
|
|
123
|
+
- `generateCorrelationId()` method made public for consistent correlation ID generation
|
|
124
|
+
|
|
125
|
+
- **Unified JSON Filter Model** - Standardized JSON format for all filter representations
|
|
126
|
+
- New filter operators: `isNull` and `isNotNull` for null/undefined checks
|
|
127
|
+
- JSON format parser supports multiple input formats: direct object, JSON string, URL-encoded JSON, array of filters
|
|
128
|
+
- Operator normalization (e.g., `equals` → `eq`, `>` → `gt`)
|
|
129
|
+
- Comprehensive validation with clear error messages and examples
|
|
130
|
+
- Filter conversion utilities: `filterQueryToJson()` and `jsonToFilterQuery()`
|
|
131
|
+
- Query string builder outputs URL-encoded JSON format
|
|
132
|
+
- Local filtering supports null checks with `isNull` and `isNotNull` operators
|
|
133
|
+
|
|
134
|
+
- **Server Code Improvements** - Enhanced Express server error handling and logging
|
|
135
|
+
- Replaced all `console.log/error/warn` with MisoClient logger service
|
|
136
|
+
- All route handlers wrapped with `asyncHandler()` wrapper for automatic error handling
|
|
137
|
+
- Error middleware uses `handleRouteError()` from SDK for RFC 7807 compliance
|
|
138
|
+
- Error logger configured with MisoClient logger via `setErrorLogger()`
|
|
139
|
+
- All business logic errors use `AppError` for consistent error formatting
|
|
140
|
+
- Automatic correlation ID extraction and error logging with full context
|
|
141
|
+
|
|
142
|
+
- **Frontend Code Improvements** - Enhanced React application error handling and code quality
|
|
143
|
+
- Centralized error handling utilities (`src/utils/error-handler.ts`)
|
|
144
|
+
- Centralized type definitions (`src/types/errors.ts`, `src/types/api.ts`)
|
|
145
|
+
- Input validation utilities (`src/utils/validation.ts`) for role names, permission names, endpoints
|
|
146
|
+
- Component refactoring: ApiTestingPage reduced from 589 to 79 lines (87% reduction)
|
|
147
|
+
- New custom hooks: `useApiTesting` for API testing logic, `useLoadingState` for loading state management
|
|
148
|
+
- Improved DataClientContext with retry logic and exponential backoff
|
|
149
|
+
- Simplified ErrorDetailsDialog component (115 lines, reduced from 193)
|
|
150
|
+
|
|
151
|
+
- **Comprehensive Integration Tests** - Real integration tests for all auth and logs endpoints
|
|
152
|
+
- New `tests/integration/api-endpoints.integration.test.ts` with comprehensive endpoint coverage
|
|
153
|
+
- Tests all 24 auth endpoints against real controller using credentials from `.env`
|
|
154
|
+
- Tests all 15 logs endpoints with proper request/response validation
|
|
155
|
+
- Validates endpoint paths, HTTP methods, request bodies, and response structures against OpenAPI specs
|
|
156
|
+
- Tests error cases (invalid tokens, missing params, etc.) with proper status code verification
|
|
157
|
+
- Gracefully skips tests if controller is unavailable (CI/CD friendly)
|
|
158
|
+
- New npm script `test:integration:api` for running integration tests
|
|
159
|
+
|
|
160
|
+
- **Logger Service Refactoring** - Improved code organization and maintainability
|
|
161
|
+
- Split `LoggerService` into modular structure following API layer pattern
|
|
162
|
+
- New `src/services/logger/logger-chain.ts` - LoggerChain class for method chaining
|
|
163
|
+
- New `src/services/logger/logger-context.ts` - Context extraction utilities (JWT, metadata, request)
|
|
164
|
+
- New `src/services/logger/index.ts` - Barrel export for logger modules
|
|
165
|
+
- Reduced main `logger.service.ts` from 866 lines to under 500 lines (code size compliance)
|
|
166
|
+
- Maintains backward compatibility (no breaking changes to public API)
|
|
167
|
+
|
|
168
|
+
### Changed
|
|
169
|
+
|
|
170
|
+
- **Error Logging** - Enhanced error logging across all API layer files
|
|
171
|
+
- All API files now use `extractErrorInfo()` and `logErrorWithContext()` for structured error logging
|
|
172
|
+
- Error logs include correlation ID prefixes: `[MisoClient] [correlation-id] Error details`
|
|
173
|
+
- Authentication errors have special handling with detailed context (authFlow: 'token_validation_failed')
|
|
174
|
+
- Enhanced audit logs include structured error info (errorType, errorCategory, httpStatusCategory)
|
|
175
|
+
|
|
176
|
+
- **Filter Parsing** - Unified JSON format replaces colon-separated format
|
|
177
|
+
- Filter parser now accepts JSON format only: `{"field": {"op": value}}`
|
|
178
|
+
- Supports 12 operators: `eq`, `neq`, `in`, `nin`, `gt`, `lt`, `gte`, `lte`, `contains`, `like`, `isNull`, `isNotNull`
|
|
179
|
+
- FilterBuilder outputs JSON format (URL-encoded) in query strings
|
|
180
|
+
- Comprehensive validation with helpful error messages including examples
|
|
181
|
+
|
|
182
|
+
- **Server Error Handling** - Standardized error handling patterns
|
|
183
|
+
- All route handlers use `asyncHandler()` wrapper (no manual try-catch needed)
|
|
184
|
+
- All errors automatically formatted as RFC 7807 Problem Details
|
|
185
|
+
- Error logger uses MisoClient logger with `forRequest()` for automatic context extraction
|
|
186
|
+
- Consistent error responses across all routes with correlation IDs
|
|
187
|
+
|
|
188
|
+
- **Frontend Error Handling** - Centralized error handling patterns
|
|
189
|
+
- All components use shared error handling utilities
|
|
190
|
+
- RFC 7807 compliant error parsing with `parseError()` utility
|
|
191
|
+
- Consistent error message extraction with `getErrorMessage()` and `getErrorStatus()`
|
|
192
|
+
- Input validation integrated into authorization testing hooks
|
|
193
|
+
|
|
194
|
+
- **API Layer Cleanup** - Removed duplicate code and improved code quality
|
|
195
|
+
- Removed duplicate roles/permissions methods from `AuthApi` class
|
|
196
|
+
- Removed `getRoles()`, `refreshRoles()`, `getPermissions()`, `refreshPermissions()` from `AuthApi`
|
|
197
|
+
- Services now use dedicated `RolesApi` and `PermissionsApi` classes (DRY principle)
|
|
198
|
+
- Removed unused endpoint constants and type imports from `AuthApi`
|
|
199
|
+
- Updated class JSDoc to reflect removed methods
|
|
200
|
+
|
|
201
|
+
- **Error Handling Improvements** - Fixed duplicate throw statements across API layer
|
|
202
|
+
- Removed duplicate `throw error;` statements from `auth.api.ts`, `roles.api.ts`, `permissions.api.ts`
|
|
203
|
+
- Fixed duplicate throws in `logs-create.api.ts` and `logs-list.api.ts`
|
|
204
|
+
- Improved error handling consistency across all API files
|
|
205
|
+
|
|
206
|
+
### Fixed
|
|
207
|
+
|
|
208
|
+
- **Server Error Handling** - Fixed logic bug in server.ts (dead code removed)
|
|
209
|
+
- **Server Logging** - Fixed inconsistent logging format (now uses MisoClient logger)
|
|
210
|
+
- **Server Error Responses** - Fixed non-RFC 7807 error responses (now uses `handleRouteError()`)
|
|
211
|
+
- **Frontend Component Size** - Fixed large component files exceeding 500-line limit
|
|
212
|
+
- ApiTestingPage: 589 → 79 lines (87% reduction)
|
|
213
|
+
- ConfigurationPage: 382 → 283 lines (26% reduction)
|
|
214
|
+
- **Frontend Error Handling** - Fixed duplicate error handling logic across components
|
|
215
|
+
- **Frontend Type Safety** - Fixed loose error typing with centralized type definitions
|
|
216
|
+
- **Code Size Compliance** - Fixed logger service file size violation
|
|
217
|
+
- Refactored `LoggerService` from 866 lines to under 500 lines
|
|
218
|
+
- Split into focused modules: logger-chain.ts, logger-context.ts, index.ts
|
|
219
|
+
- Maintains all functionality while improving maintainability
|
|
220
|
+
- **API Endpoint Validation** - Validated all endpoints against OpenAPI specifications
|
|
221
|
+
- Verified all 24 auth endpoints match OpenAPI spec paths and HTTP methods
|
|
222
|
+
- Verified all 15 logs endpoints match OpenAPI spec with proper request/response structures
|
|
223
|
+
- Confirmed audit logs include required fields (entityType, entityId, action) in data object
|
|
224
|
+
- Validated client token endpoints use correct paths (`/api/v1/auth/token` for legacy, `/api/v1/auth/client-token` for frontend)
|
|
225
|
+
|
|
226
|
+
### Technical
|
|
227
|
+
|
|
228
|
+
- **New utility files**:
|
|
229
|
+
- `src/utils/error-extractor.ts` - Error extraction utility (172 lines)
|
|
230
|
+
- `src/utils/console-logger.ts` - Enhanced console logger (72 lines)
|
|
231
|
+
- `src/utils/error-handler.ts` - Frontend error handling utilities (175 lines)
|
|
232
|
+
- `src/utils/validation.ts` - Frontend input validation utilities (139 lines)
|
|
233
|
+
- `src/types/errors.ts` - Frontend error type definitions (25 lines)
|
|
234
|
+
- `src/types/api.ts` - Frontend API type definitions (63 lines)
|
|
235
|
+
|
|
236
|
+
- **Test coverage**:
|
|
237
|
+
- Error extraction utility: 18 tests (`tests/unit/utils/error-extractor.test.ts`)
|
|
238
|
+
- Console logger utility: 12 tests (`tests/unit/utils/console-logger.test.ts`)
|
|
239
|
+
- Logger getter methods: 31 tests (`tests/unit/services/logger-getter-methods.test.ts`)
|
|
240
|
+
- Filter utilities: 68 tests (`tests/unit/filter.utils.test.ts`)
|
|
241
|
+
- Frontend error handler: 21 tests (`server/frontend/src/utils/__tests__/error-handler.test.ts`)
|
|
242
|
+
- Frontend validation: 43 tests (`server/frontend/src/utils/__tests__/validation.test.ts`)
|
|
243
|
+
- Integration tests: Comprehensive tests for all 39 endpoints (`tests/integration/api-endpoints.integration.test.ts`)
|
|
244
|
+
- Total: 193+ new tests added, all passing
|
|
245
|
+
|
|
246
|
+
- **New logger module structure**:
|
|
247
|
+
- `src/services/logger/logger-chain.ts` - LoggerChain class (method chaining support)
|
|
248
|
+
- `src/services/logger/logger-context.ts` - Context extraction utilities
|
|
249
|
+
- `src/services/logger/index.ts` - Barrel export
|
|
250
|
+
- `src/services/logger.service.ts` - Core LoggerService class (reduced to <500 lines)
|
|
251
|
+
|
|
252
|
+
- **Code quality**:
|
|
253
|
+
- All new utilities follow camelCase naming convention
|
|
254
|
+
- All public methods have JSDoc comments with parameter types, return types, and examples
|
|
255
|
+
- File sizes within limits (all files ≤500 lines)
|
|
256
|
+
- Method sizes within limits (all methods ≤30 lines)
|
|
257
|
+
- Zero linting errors or warnings
|
|
258
|
+
- Proper error handling with try-catch for all async operations
|
|
259
|
+
- Removed duplicate code (roles/permissions methods from AuthApi)
|
|
260
|
+
- Fixed duplicate throw statements across API layer
|
|
261
|
+
- All endpoints validated against OpenAPI specs
|
|
262
|
+
|
|
263
|
+
- **Documentation**:
|
|
264
|
+
- Updated `docs/reference-services.md` with logger getter methods documentation
|
|
265
|
+
- Updated `docs/reference-utilities.md` with filter JSON format examples
|
|
266
|
+
- Updated `server/README.md` with factory function pattern and error logger configuration
|
|
267
|
+
- Updated `docs/examples/express-middleware.md` with error logger configuration examples
|
|
268
|
+
- Updated `AuthApi` class JSDoc to remove references to removed methods
|
|
269
|
+
- Added integration test documentation explaining test structure and requirements
|
|
270
|
+
|
|
8
271
|
## [3.6.0] - 2024-12-31
|
|
9
272
|
|
|
10
273
|
### Added
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-cache.api.d.ts","sourceRoot":"","sources":["../../src/api/auth-cache.api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-cache.api.d.ts","sourceRoot":"","sources":["../../src/api/auth-cache.api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAI5B;;;GAGG;AACH,qBAAa,YAAY;IAQX,OAAO,CAAC,UAAU;IAN9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAoC;IACtF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAmC;IACpF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAmC;gBAEhE,UAAU,EAAE,UAAU;IAE1C;;;;OAIG;IACG,aAAa,CACjB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAiC9B;;;;OAIG;IACG,mBAAmB,CACvB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,wBAAwB,CAAC;IAiCpC;;;;OAIG;IACG,kBAAkB,CACtB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,uBAAuB,CAAC;IAiCnC;;;;OAIG;IACG,UAAU,CACd,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAiC9B;;;;;OAKG;IACG,eAAe,CACnB,MAAM,EAAE,sBAAsB,EAC9B,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,uBAAuB,CAAC;CAkCpC"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.AuthCacheApi = void 0;
|
|
8
|
+
const error_extractor_1 = require("../utils/error-extractor");
|
|
9
|
+
const console_logger_1 = require("../utils/console-logger");
|
|
8
10
|
/**
|
|
9
11
|
* Auth Cache API class
|
|
10
12
|
* Handles cache-related endpoints
|
|
@@ -29,7 +31,11 @@ class AuthCacheApi {
|
|
|
29
31
|
return await this.httpClient.request('GET', AuthCacheApi.CACHE_STATS_ENDPOINT);
|
|
30
32
|
}
|
|
31
33
|
catch (error) {
|
|
32
|
-
|
|
34
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
35
|
+
endpoint: AuthCacheApi.CACHE_STATS_ENDPOINT,
|
|
36
|
+
method: 'GET',
|
|
37
|
+
});
|
|
38
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[AuthCacheApi]');
|
|
33
39
|
throw error;
|
|
34
40
|
}
|
|
35
41
|
}
|
|
@@ -49,7 +55,11 @@ class AuthCacheApi {
|
|
|
49
55
|
return await this.httpClient.request('GET', AuthCacheApi.CACHE_PERFORMANCE_ENDPOINT);
|
|
50
56
|
}
|
|
51
57
|
catch (error) {
|
|
52
|
-
|
|
58
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
59
|
+
endpoint: AuthCacheApi.CACHE_PERFORMANCE_ENDPOINT,
|
|
60
|
+
method: 'GET',
|
|
61
|
+
});
|
|
62
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[AuthCacheApi]');
|
|
53
63
|
throw error;
|
|
54
64
|
}
|
|
55
65
|
}
|
|
@@ -69,7 +79,11 @@ class AuthCacheApi {
|
|
|
69
79
|
return await this.httpClient.request('GET', AuthCacheApi.CACHE_EFFICIENCY_ENDPOINT);
|
|
70
80
|
}
|
|
71
81
|
catch (error) {
|
|
72
|
-
|
|
82
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
83
|
+
endpoint: AuthCacheApi.CACHE_EFFICIENCY_ENDPOINT,
|
|
84
|
+
method: 'GET',
|
|
85
|
+
});
|
|
86
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[AuthCacheApi]');
|
|
73
87
|
throw error;
|
|
74
88
|
}
|
|
75
89
|
}
|
|
@@ -89,7 +103,11 @@ class AuthCacheApi {
|
|
|
89
103
|
return await this.httpClient.request('POST', AuthCacheApi.CACHE_CLEAR_ENDPOINT);
|
|
90
104
|
}
|
|
91
105
|
catch (error) {
|
|
92
|
-
|
|
106
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
107
|
+
endpoint: AuthCacheApi.CACHE_CLEAR_ENDPOINT,
|
|
108
|
+
method: 'POST',
|
|
109
|
+
});
|
|
110
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[AuthCacheApi]');
|
|
93
111
|
throw error;
|
|
94
112
|
}
|
|
95
113
|
}
|
|
@@ -110,7 +128,11 @@ class AuthCacheApi {
|
|
|
110
128
|
return await this.httpClient.request('POST', AuthCacheApi.CACHE_INVALIDATE_ENDPOINT, params);
|
|
111
129
|
}
|
|
112
130
|
catch (error) {
|
|
113
|
-
|
|
131
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
132
|
+
endpoint: AuthCacheApi.CACHE_INVALIDATE_ENDPOINT,
|
|
133
|
+
method: 'POST',
|
|
134
|
+
});
|
|
135
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[AuthCacheApi]');
|
|
114
136
|
throw error;
|
|
115
137
|
}
|
|
116
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-cache.api.js","sourceRoot":"","sources":["../../src/api/auth-cache.api.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"auth-cache.api.js","sourceRoot":"","sources":["../../src/api/auth-cache.api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-login.api.d.ts","sourceRoot":"","sources":["../../src/api/auth-login.api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-login.api.d.ts","sourceRoot":"","sources":["../../src/api/auth-login.api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,qBAAa,YAAY;IAOX,OAAO,CAAC,UAAU;IAL9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAqC;IACvF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAuC;IAC3F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAoC;gBAElE,UAAU,EAAE,UAAU;IAE1C;;;;;OAKG;IACG,KAAK,CACT,MAAM,EAAE,YAAY,EACpB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,aAAa,CAAC;IA2BzB;;;;;OAKG;IACG,kBAAkB,CACtB,MAAM,EAAE,iBAAiB,EACzB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAyB9B;;;;OAIG;IACG,mBAAmB,CACvB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,uBAAuB,CAAC;IAiBnC;;;;OAIG;IACG,sBAAsB,CAC1B,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,uBAAuB,CAAC;IAiBnC;;;;OAIG;IACG,mBAAmB,CACvB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC;CAwChC"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.AuthLoginApi = void 0;
|
|
8
|
+
const console_logger_1 = require("../utils/console-logger");
|
|
9
|
+
const error_extractor_1 = require("../utils/error-extractor");
|
|
8
10
|
/**
|
|
9
11
|
* Auth Login API class
|
|
10
12
|
* Handles login-related endpoints
|
|
@@ -27,7 +29,11 @@ class AuthLoginApi {
|
|
|
27
29
|
return await this.httpClient.request('GET', AuthLoginApi.LOGIN_ENDPOINT, undefined, { params });
|
|
28
30
|
}
|
|
29
31
|
catch (error) {
|
|
30
|
-
|
|
32
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
33
|
+
endpoint: AuthLoginApi.LOGIN_ENDPOINT,
|
|
34
|
+
method: 'GET',
|
|
35
|
+
});
|
|
36
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[AuthLoginApi]');
|
|
31
37
|
throw error;
|
|
32
38
|
}
|
|
33
39
|
}
|
|
@@ -45,7 +51,11 @@ class AuthLoginApi {
|
|
|
45
51
|
return await this.httpClient.request('POST', AuthLoginApi.LOGIN_ENDPOINT, params);
|
|
46
52
|
}
|
|
47
53
|
catch (error) {
|
|
48
|
-
|
|
54
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
55
|
+
endpoint: AuthLoginApi.LOGIN_ENDPOINT,
|
|
56
|
+
method: 'POST',
|
|
57
|
+
});
|
|
58
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[AuthLoginApi]');
|
|
49
59
|
throw error;
|
|
50
60
|
}
|
|
51
61
|
}
|
|
@@ -59,7 +69,11 @@ class AuthLoginApi {
|
|
|
59
69
|
return await this.httpClient.request('POST', AuthLoginApi.DEVICE_CODE_TOKEN_ENDPOINT, params);
|
|
60
70
|
}
|
|
61
71
|
catch (error) {
|
|
62
|
-
|
|
72
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
73
|
+
endpoint: AuthLoginApi.DEVICE_CODE_TOKEN_ENDPOINT,
|
|
74
|
+
method: 'POST',
|
|
75
|
+
});
|
|
76
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[AuthLoginApi]');
|
|
63
77
|
throw error;
|
|
64
78
|
}
|
|
65
79
|
}
|
|
@@ -73,7 +87,11 @@ class AuthLoginApi {
|
|
|
73
87
|
return await this.httpClient.request('POST', AuthLoginApi.DEVICE_CODE_REFRESH_ENDPOINT, params);
|
|
74
88
|
}
|
|
75
89
|
catch (error) {
|
|
76
|
-
|
|
90
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
91
|
+
endpoint: AuthLoginApi.DEVICE_CODE_REFRESH_ENDPOINT,
|
|
92
|
+
method: 'POST',
|
|
93
|
+
});
|
|
94
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[AuthLoginApi]');
|
|
77
95
|
throw error;
|
|
78
96
|
}
|
|
79
97
|
}
|
|
@@ -85,10 +103,35 @@ class AuthLoginApi {
|
|
|
85
103
|
async getLoginDiagnostics(environment) {
|
|
86
104
|
try {
|
|
87
105
|
const params = environment ? { environment } : undefined;
|
|
88
|
-
|
|
106
|
+
const response = await this.httpClient.request('GET', AuthLoginApi.LOGIN_DIAGNOSTICS_ENDPOINT, undefined, { params });
|
|
107
|
+
// Transform response to match DiagnosticsResponse format
|
|
108
|
+
// Handle both formats: {success: true, data: {...}} and {data: {...}}
|
|
109
|
+
if (response.success !== undefined) {
|
|
110
|
+
return response;
|
|
111
|
+
}
|
|
112
|
+
else if (response.data && typeof response.data === 'object') {
|
|
113
|
+
// New format without success field - add it
|
|
114
|
+
const data = response.data;
|
|
115
|
+
return {
|
|
116
|
+
success: true,
|
|
117
|
+
data: {
|
|
118
|
+
database: data.database || {},
|
|
119
|
+
controller: data.controller || {},
|
|
120
|
+
environment: data.environment || {},
|
|
121
|
+
keycloak: data.keycloak || {},
|
|
122
|
+
},
|
|
123
|
+
timestamp: typeof response.timestamp === 'string' ? response.timestamp : new Date().toISOString(),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
// If we get here, response format is unexpected
|
|
127
|
+
throw new Error(`Unexpected response format from login diagnostics endpoint: ${JSON.stringify(response)}`);
|
|
89
128
|
}
|
|
90
129
|
catch (error) {
|
|
91
|
-
|
|
130
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
131
|
+
endpoint: AuthLoginApi.LOGIN_DIAGNOSTICS_ENDPOINT,
|
|
132
|
+
method: 'GET',
|
|
133
|
+
});
|
|
134
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[AuthLoginApi]');
|
|
92
135
|
throw error;
|
|
93
136
|
}
|
|
94
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-login.api.js","sourceRoot":"","sources":["../../src/api/auth-login.api.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"auth-login.api.js","sourceRoot":"","sources":["../../src/api/auth-login.api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-token.api.d.ts","sourceRoot":"","sources":["../../src/api/auth-token.api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"auth-token.api.d.ts","sourceRoot":"","sources":["../../src/api/auth-token.api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAEL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAI5B;;;GAGG;AACH,qBAAa,YAAY;IAOX,OAAO,CAAC,UAAU;IAL9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAwB;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;gBAE9C,UAAU,EAAE,UAAU;IAE1C;;;;OAIG;IACG,cAAc,CAClB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IA0D/B;;;;OAIG;IACG,mBAAmB,CACvB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,yBAAyB,CAAC;IAiErC;;;;;OAKG;IACG,aAAa,CACjB,MAAM,EAAE,oBAAoB,EAC5B,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,qBAAqB,CAAC;IAoBjC;;;;;OAKG;IACG,YAAY,CAChB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,oBAAoB,CAAC;CAwBjC"}
|