@auto-engineer/frontend-checks 0.14.0 → 0.16.0

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 CHANGED
@@ -1,5 +1,23 @@
1
1
  # @auto-engineer/frontend-checks
2
2
 
3
+ ## 0.16.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies []:
8
+ - @auto-engineer/message-bus@0.16.0
9
+
10
+ ## 0.15.0
11
+
12
+ ### Minor Changes
13
+
14
+ - version bump
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies []:
19
+ - @auto-engineer/message-bus@0.15.0
20
+
3
21
  ## 0.14.0
4
22
 
5
23
  ### Minor Changes
package/README.md CHANGED
@@ -1,371 +1,212 @@
1
1
  # @auto-engineer/frontend-checks
2
2
 
3
- Frontend validation and quality assurance plugin for the Auto Engineer CLI. This plugin provides testing and validation for React applications, ensuring code quality, performance, and user experience standards are met.
3
+ Automated frontend validation for TypeScript errors, build errors, and runtime console errors.
4
4
 
5
- ## Installation
6
-
7
- This is a plugin for the Auto Engineer CLI. Install both the CLI and this plugin:
8
-
9
- ```bash
10
- npm install -g @auto-engineer/cli
11
- npm install @auto-engineer/frontend-checks
12
- ```
13
-
14
- ## Configuration
15
-
16
- Add this plugin to your `auto.config.ts`:
17
-
18
- ```typescript
19
- export default {
20
- plugins: [
21
- '@auto-engineer/frontend-checks',
22
- // ... other plugins
23
- ],
24
- };
25
- ```
26
-
27
- ## Commands
28
-
29
- This plugin provides the following commands:
30
-
31
- - `check:client` - Check the client code for issues
32
-
33
- ## What does this plugin do?
5
+ ---
34
6
 
35
- The Frontend Checks plugin performs validation of React applications, including unit testing, integration testing, accessibility auditing, performance analysis, and code quality checks. It ensures that frontend applications meet standards.
7
+ ## Purpose
36
8
 
37
- ## Key Features
9
+ Without `@auto-engineer/frontend-checks`, you would have to manually run TypeScript compilation, trigger builds, launch browsers, and inspect console output to validate frontend code quality.
38
10
 
39
- ### Testing
11
+ This package provides automated checking of frontend projects using Playwright for browser automation. It validates TypeScript compilation, Vite builds, and captures runtime console errors in a single command.
40
12
 
41
- - Unit Testing: Component-level testing with React Testing Library
42
- - Integration Testing: Page and feature-level testing
43
- - End-to-End Testing: User workflow validation with Playwright
44
- - Visual Regression Testing: UI consistency checks across changes
13
+ ---
45
14
 
46
- ### Code Quality Assurance
47
-
48
- - TypeScript Validation: Type safety and compilation checks
49
- - ESLint Analysis: Code style and best practice enforcement
50
- - Bundle Analysis: Performance and size optimization checks
51
- - Accessibility Auditing: WCAG compliance and a11y best practices
52
-
53
- ### Performance Monitoring
54
-
55
- - Lighthouse Audits: Performance, accessibility, and SEO scoring
56
- - Core Web Vitals: Loading, interactivity, and visual stability metrics
57
- - Bundle Size Analysis: JavaScript and CSS optimization recommendations
58
- - Runtime Performance: Memory usage and rendering optimization
59
-
60
- ### User Experience Validation
15
+ ## Installation
61
16
 
62
- - Responsive Design Testing: Multi-device and screen size compatibility
63
- - Cross-Browser Testing: Compatibility across different browsers
64
- - Accessibility Testing: Screen reader and keyboard navigation support
65
- - Usability Heuristics: User interface and interaction pattern validation
17
+ ```bash
18
+ pnpm add @auto-engineer/frontend-checks
19
+ ```
66
20
 
67
- ## Testing Infrastructure
21
+ ## Quick Start
68
22
 
69
- ### Unit and Component Testing
23
+ Register the handler and check a frontend project:
70
24
 
71
- Validates individual components and hooks:
25
+ ### 1. Register the handlers
72
26
 
73
27
  ```typescript
74
- // Example test that would be run by the checker
75
- describe('ProductCard Component', () => {
76
- it('renders product information correctly', () => {
77
- const mockProduct = {
78
- id: '1',
79
- name: 'Test Product',
80
- price: 29.99,
81
- imageUrl: '/test-image.jpg'
82
- };
83
-
84
- render(<ProductCard product={mockProduct} />);
85
-
86
- expect(screen.getByText('Test Product')).toBeInTheDocument();
87
- expect(screen.getByText('$29.99')).toBeInTheDocument();
88
- expect(screen.getByRole('img')).toHaveAttribute('src', '/test-image.jpg');
89
- });
90
-
91
- it('handles add to cart interaction', async () => {
92
- const mockOnAddToCart = vi.fn();
93
- const mockProduct = createMockProduct();
94
-
95
- render(<ProductCard product={mockProduct} onAddToCart={mockOnAddToCart} />);
96
-
97
- const addButton = screen.getByRole('button', { name: /add to cart/i });
98
- await user.click(addButton);
99
-
100
- expect(mockOnAddToCart).toHaveBeenCalledWith(mockProduct.id);
101
- });
102
- });
103
- ```
28
+ import { COMMANDS } from '@auto-engineer/frontend-checks';
29
+ import { createMessageBus } from '@auto-engineer/message-bus';
104
30
 
105
- ### Integration Testing
31
+ const bus = createMessageBus();
32
+ COMMANDS.forEach(cmd => bus.registerCommand(cmd));
33
+ ```
106
34
 
107
- Tests complete user workflows:
35
+ ### 2. Send a command
108
36
 
109
37
  ```typescript
110
- // Example integration test
111
- describe('Product Purchase Flow', () => {
112
- it('allows user to complete a purchase', async () => {
113
- // Mock GraphQL responses
114
- const mocks = [
115
- createProductListMock(),
116
- createAddToCartMock(),
117
- createCheckoutMock()
118
- ];
119
-
120
- render(
121
- <MockedProvider mocks={mocks}>
122
- <App />
123
- </MockedProvider>
124
- );
125
-
126
- // Navigate to products
127
- await user.click(screen.getByText('Products'));
128
-
129
- // Add product to cart
130
- const addButton = await screen.findByText('Add to Cart');
131
- await user.click(addButton);
132
-
133
- // Proceed to checkout
134
- await user.click(screen.getByText('Checkout'));
135
-
136
- // Complete purchase
137
- await user.click(screen.getByText('Complete Order'));
138
-
139
- // Verify success
140
- expect(await screen.findByText('Order Confirmed')).toBeInTheDocument();
141
- });
38
+ const result = await bus.dispatch({
39
+ type: 'CheckClient',
40
+ data: {
41
+ clientDirectory: './client',
42
+ },
43
+ requestId: 'req-123',
142
44
  });
143
- ```
144
-
145
- ### End-to-End Testing
146
45
 
147
- Full application testing with Playwright:
46
+ console.log(result);
47
+ // → { type: 'ClientChecked', data: { tsErrors: 0, buildErrors: 0, consoleErrors: 0, allChecksPassed: true } }
48
+ ```
148
49
 
149
- ```typescript
150
- // Example E2E test
151
- test('complete user registration and login flow', async ({ page }) => {
152
- await page.goto('/register');
50
+ The command runs TypeScript checks, build validation, and browser console error detection.
153
51
 
154
- // Fill registration form
155
- await page.fill('[data-testid=name-input]', 'John Doe');
156
- await page.fill('[data-testid=email-input]', 'john@example.com');
157
- await page.fill('[data-testid=password-input]', 'securepassword');
52
+ ---
158
53
 
159
- // Submit registration
160
- await page.click('[data-testid=register-button]');
54
+ ## How-to Guides
161
55
 
162
- // Verify redirect to dashboard
163
- await expect(page).toHaveURL('/dashboard');
56
+ ### Run via CLI
164
57
 
165
- // Verify welcome message
166
- await expect(page.locator('[data-testid=welcome-message]')).toContainText('Welcome, John');
167
- });
58
+ ```bash
59
+ auto check:client --client-directory=./client
168
60
  ```
169
61
 
170
- ## Quality Checks
62
+ ### Skip Browser Checks
171
63
 
172
- ### Accessibility Auditing
64
+ ```bash
65
+ auto check:client --client-directory=./client --skip-browser-checks
66
+ ```
173
67
 
174
- A11y validation:
68
+ ### Run Programmatically
175
69
 
176
- - ARIA Compliance: ARIA labels, roles, and properties
177
- - Keyboard Navigation: Tab order and keyboard accessibility
178
- - Screen Reader Support: Semantic HTML and assistive technology compatibility
179
- - Color Contrast: WCAG AA/AAA contrast ratio compliance
180
- - Focus Management: Focus indicators and logical focus flow
70
+ ```typescript
71
+ import { getTsErrors, getBuildErrors, getConsoleErrors } from '@auto-engineer/frontend-checks';
181
72
 
182
- ### Performance Analysis
73
+ const tsErrors = await getTsErrors('./client');
74
+ const buildErrors = await getBuildErrors('./client');
75
+ const consoleErrors = await getConsoleErrors('http://localhost:3000');
76
+ ```
183
77
 
184
- Performance metrics:
78
+ ### Handle Errors
185
79
 
186
- - Core Web Vitals:
187
- - Largest Contentful Paint (LCP) < 2.5s
188
- - First Input Delay (FID) < 100ms
189
- - Cumulative Layout Shift (CLS) < 0.1
190
- - Bundle Size: JavaScript and CSS optimization recommendations
191
- - Runtime Performance: Component re-render optimization
192
- - Network Efficiency: Resource loading and caching strategies
80
+ ```typescript
81
+ if (result.type === 'ClientCheckFailed') {
82
+ console.error(result.data.error);
83
+ }
84
+
85
+ if (!result.data.allChecksPassed) {
86
+ console.log('TS errors:', result.data.tsErrorDetails);
87
+ console.log('Build errors:', result.data.buildErrorDetails);
88
+ console.log('Console errors:', result.data.consoleErrorDetails);
89
+ }
90
+ ```
193
91
 
194
- ### Code Quality Standards
92
+ ### Enable Debug Logging
195
93
 
196
- Best practices:
94
+ ```bash
95
+ DEBUG=frontend-checks:* auto check:client --client-directory=./client
96
+ ```
197
97
 
198
- - TypeScript: Type checking and compilation
199
- - ESLint: Code style, React hooks rules, accessibility rules
200
- - Prettier: Code formatting
201
- - Import Organization: Import structure and unused import detection
202
- - Component Architecture: Props validation and component composition patterns
98
+ ---
203
99
 
204
- ## Configuration Options
100
+ ## API Reference
205
101
 
206
- Customize checking behavior:
102
+ ### Exports
207
103
 
208
104
  ```typescript
209
- // auto.config.ts
210
- export default {
211
- plugins: [
212
- [
213
- '@auto-engineer/frontend-checks',
214
- {
215
- // Testing configuration
216
- testTimeout: 10000,
217
- testCoverage: 80,
218
- runE2ETests: true,
219
-
220
- // Performance thresholds
221
- performanceThresholds: {
222
- lcp: 2500,
223
- fid: 100,
224
- cls: 0.1,
225
- bundleSize: 1024 * 1024, // 1MB
226
- },
227
-
228
- // Accessibility standards
229
- accessibilityLevel: 'WCAG_AA',
230
-
231
- // Browser testing
232
- browsers: ['chromium', 'firefox', 'safari'],
233
-
234
- // Device testing
235
- devices: ['Desktop', 'Mobile Chrome', 'Mobile Safari'],
236
- },
237
- ],
238
- ],
239
- };
105
+ import {
106
+ COMMANDS,
107
+ checkClientCommandHandler,
108
+ BrowserManager,
109
+ getTsErrors,
110
+ getBuildErrors,
111
+ getConsoleErrors,
112
+ getPageScreenshot,
113
+ closeBrowser,
114
+ } from '@auto-engineer/frontend-checks';
115
+
116
+ import type {
117
+ CheckClientCommand,
118
+ ClientCheckedEvent,
119
+ ClientCheckFailedEvent,
120
+ } from '@auto-engineer/frontend-checks';
240
121
  ```
241
122
 
242
- ## Check Results and Reporting
123
+ ### Commands
243
124
 
244
- ### Test Results
125
+ | Command | CLI Alias | Description |
126
+ |---------|-----------|-------------|
127
+ | `CheckClient` | `check:client` | Run full frontend validation suite |
245
128
 
246
- Test reporting:
129
+ ### CheckClientCommand
247
130
 
248
- ```bash
249
- Frontend Checks Results
250
- =======================
251
-
252
- ✅ Unit Tests: 45/45 passed (100%)
253
- Integration Tests: 12/12 passed (100%)
254
- ✅ E2E Tests: 8/8 passed (100%)
255
-
256
- ✅ TypeScript: No errors
257
- ✅ ESLint: No issues found
258
- ⚠️ Bundle Size: 1.2MB (exceeds 1MB threshold)
259
-
260
- ✅ Accessibility: WCAG AA compliant
261
- ✅ Performance: All Core Web Vitals passed
262
- - LCP: 1.8s ✅
263
- - FID: 45ms ✅
264
- - CLS: 0.05 ✅
265
-
266
- Cross-Browser Results:
267
- ✅ Chrome: All tests passed
268
- ✅ Firefox: All tests passed
269
- ✅ Safari: All tests passed
131
+ ```typescript
132
+ type CheckClientCommand = Command<
133
+ 'CheckClient',
134
+ {
135
+ clientDirectory: string;
136
+ skipBrowserChecks?: boolean;
137
+ }
138
+ >;
270
139
  ```
271
140
 
272
- ### Detailed Reports
141
+ ### ClientCheckedEvent
273
142
 
274
- Generate reports:
143
+ ```typescript
144
+ type ClientCheckedEvent = Event<
145
+ 'ClientChecked',
146
+ {
147
+ clientDirectory: string;
148
+ tsErrors: number;
149
+ buildErrors: number;
150
+ consoleErrors: number;
151
+ allChecksPassed: boolean;
152
+ tsErrorDetails?: string[];
153
+ buildErrorDetails?: string[];
154
+ consoleErrorDetails?: string[];
155
+ }
156
+ >;
157
+ ```
275
158
 
276
- - HTML Test Reports: Interactive test results with screenshots
277
- - Coverage Reports: Line-by-line code coverage analysis
278
- - Performance Reports: Lighthouse audit results and recommendations
279
- - Accessibility Reports: A11y violation reports with remediation guidance
280
- - Bundle Analysis: Visual bundle composition and optimization suggestions
159
+ ### Functions
281
160
 
282
- ## Integration with CI/CD
161
+ #### `getTsErrors(projectPath: string): Promise<string[]>`
283
162
 
284
- The frontend checks integrate with continuous integration:
163
+ Runs `tsc --noEmit` and returns TypeScript compilation errors.
285
164
 
286
- ```bash
287
- # Run all frontend checks
288
- auto check:client
165
+ #### `getBuildErrors(projectPath: string): Promise<string[]>`
289
166
 
290
- # Exit codes:
291
- # 0 - All checks passed
292
- # 1 - Some checks failed
293
- # 2 - Critical failures (build errors, etc.)
294
- ```
295
-
296
- ### GitHub Actions Integration
297
-
298
- ```yaml
299
- name: Frontend Quality Checks
300
- on: [push, pull_request]
301
-
302
- jobs:
303
- frontend-checks:
304
- runs-on: ubuntu-latest
305
- steps:
306
- - uses: actions/checkout@v3
307
- - uses: actions/setup-node@v3
308
- with:
309
- node-version: '18'
310
-
311
- - name: Install dependencies
312
- run: npm ci
313
-
314
- - name: Run frontend checks
315
- run: auto check:client
316
-
317
- - name: Upload test reports
318
- if: always()
319
- uses: actions/upload-artifact@v3
320
- with:
321
- name: test-reports
322
- path: reports/
323
- ```
167
+ Runs `pnpm exec vite build` and returns build errors.
324
168
 
325
- ## Integration with Other Plugins
169
+ #### `getConsoleErrors(url: string): Promise<string[]>`
326
170
 
327
- Works with the Auto Engineer ecosystem:
171
+ Navigates to URL using Playwright and captures console errors.
328
172
 
329
- - @auto-engineer/frontend-generator-react-graphql: Validates generated React applications
330
- - @auto-engineer/frontend-implementer: Checks AI-implemented code quality
331
- - @auto-engineer/design-system-importer: Validates design system usage consistency
332
- - @auto-engineer/information-architect: Validates implementation against IA specifications
173
+ #### `getPageScreenshot(url: string): Promise<string>`
333
174
 
334
- ## Advanced Features
175
+ Takes a screenshot and returns base64-encoded string.
335
176
 
336
- ### Custom Test Patterns
177
+ ---
337
178
 
338
- Define project-specific testing patterns:
179
+ ## Architecture
339
180
 
340
- ```typescript
341
- // Custom test utilities
342
- export const createTestUtils = () => ({
343
- renderWithProviders: (component: React.ReactElement) => {
344
- return render(
345
- <MockedProvider>
346
- <BrowserRouter>
347
- <ThemeProvider>
348
- {component}
349
- </ThemeProvider>
350
- </BrowserRouter>
351
- </MockedProvider>
352
- );
353
- },
354
-
355
- mockGraphQLOperation: (operation: string, variables: any, result: any) => ({
356
- request: { query: operation, variables },
357
- result: { data: result }
358
- })
359
- });
181
+ ```
182
+ src/
183
+ ├── index.ts
184
+ ├── browser-manager.ts
185
+ └── commands/
186
+ └── check-client.ts
360
187
  ```
361
188
 
362
- ### Visual Regression Testing
189
+ The following diagram shows the check flow:
190
+
191
+ ```mermaid
192
+ flowchart TB
193
+ A[CheckClient] --> B[Validate Directory]
194
+ B --> C[Run tsc --noEmit]
195
+ C --> D[Run vite build]
196
+ D --> E{Skip Browser?}
197
+ E -->|No| F[Start Dev Server]
198
+ F --> G[Capture Console Errors]
199
+ G --> H[ClientCheckedEvent]
200
+ E -->|Yes| H
201
+ ```
363
202
 
364
- Automated UI consistency validation:
203
+ *Flow: Command validates directory, runs TypeScript and build checks, optionally captures browser console errors.*
365
204
 
366
- - Screenshot Comparison: UI change detection
367
- - Component Visual Tests: Component appearance validation
368
- - Cross-Browser Visual Consistency: UI consistency across browsers
369
- - Responsive Design Validation: Layout consistency across screen sizes
205
+ ### Dependencies
370
206
 
371
- The Frontend Checks plugin ensures that React applications meet standards of quality, performance, accessibility, and user experience, providing confidence in production deployments.
207
+ | Package | Usage |
208
+ |---------|-------|
209
+ | `@auto-engineer/message-bus` | Command/event infrastructure |
210
+ | `playwright` | Browser automation |
211
+ | `typescript` | TypeScript compiler |
212
+ | `debug` | Debug logging |
@@ -1 +1 @@
1
- {"version":3,"file":"check-client.d.ts","sourceRoot":"","sources":["../../../src/commands/check-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAU5F,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,aAAa,EACb;IACE,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CACF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,KAAK,CACpC,eAAe,EACf;IACE,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,KAAK,CACxC,mBAAmB,EACnB;IACE,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,sBAAsB,CAAC;AAE5E,eAAO,MAAM,yBAAyB;;;;;;GA2CpC,CAAC;AA8IH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,kBAAkB,GAAG,sBAAsB,CAAC,CAqEtD;AAED,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"check-client.d.ts","sourceRoot":"","sources":["../../../src/commands/check-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAU5F,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,aAAa,EACb;IACE,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CACF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,KAAK,CACpC,eAAe,EACf;IACE,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,KAAK,CACxC,mBAAmB,EACnB;IACE,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,sBAAsB,CAAC;AAE5E,eAAO,MAAM,yBAAyB;;;;;;GA+CpC,CAAC;AA8IH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,kBAAkB,GAAG,sBAAsB,CAAC,CAqEtD;AAED,eAAe,yBAAyB,CAAC"}
@@ -11,6 +11,7 @@ const debugChecks = createDebug('frontend-checks:command:checks');
11
11
  const debugResult = createDebug('frontend-checks:command:result');
12
12
  export const checkClientCommandHandler = defineCommandHandler({
13
13
  name: 'CheckClient',
14
+ displayName: 'Check Client',
14
15
  alias: 'check:client',
15
16
  description: 'Full frontend validation suite',
16
17
  category: 'validation',
@@ -26,7 +27,10 @@ export const checkClientCommandHandler = defineCommandHandler({
26
27
  },
27
28
  },
28
29
  examples: ['$ auto check:client --client-directory=./client'],
29
- events: ['ClientChecked', 'ClientCheckFailed'],
30
+ events: [
31
+ { name: 'ClientChecked', displayName: 'Client Checked' },
32
+ { name: 'ClientCheckFailed', displayName: 'Client Check Failed' },
33
+ ],
30
34
  handle: async (command) => {
31
35
  const typedCommand = command;
32
36
  debug('CommandHandler executing for CheckClient');
@@ -1 +1 @@
1
- {"version":3,"file":"check-client.js","sourceRoot":"","sources":["../../../src/commands/check-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-client.js","sourceRoot":"","sources":["../../../src/commands/check-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAgB,oBAAoB,EAAc,MAAM,4BAA4B,CAAC;AAC5F,OAAO,WAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvF,MAAM,KAAK,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;AACrD,MAAM,YAAY,GAAG,WAAW,CAAC,iCAAiC,CAAC,CAAC;AACpE,MAAM,WAAW,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAClE,MAAM,WAAW,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAClE,MAAM,WAAW,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAiClE,MAAM,CAAC,MAAM,yBAAyB,GAAG,oBAAoB,CAAC;IAC5D,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,cAAc;IAC3B,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,gCAAgC;IAC7C,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE;QACN,eAAe,EAAE;YACf,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf;QACD,iBAAiB,EAAE;YACjB,WAAW,EAAE,sCAAsC;YACnD,IAAI,EAAE,IAAI;SACX;KACF;IAED,QAAQ,EAAE,CAAC,iDAAiD,CAAC;IAE7D,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE;QACxD,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE;KAClE;IAED,MAAM,EAAE,KAAK,EAAE,OAAgB,EAAwD,EAAE;QACvF,MAAM,YAAY,GAAG,OAA6B,CAAC;QACnD,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACpC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;YAE9E,IAAI,eAAe,EAAE,CAAC;gBACpB,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACvD,KAAK,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;gBACzC,KAAK,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;gBACvC,KAAK,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,yCAAyC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC,CAAC;AAEH,KAAK,UAAU,cAAc,CAAC,SAAiB;IAC7C,WAAW,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;IAErD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE;YACxC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE;SACjD,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACpE,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAEpD,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACnE,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxB,WAAW,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;gBACpD,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YAC5C,WAAW,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,eAAuB,EACvB,QAAkB,EAClB,WAAqB,EACrB,aAAuB,EACvB,OAA2B;IAE3B,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;IAExG,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACjC,WAAW,CAAC,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,WAAW,CAAC,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtD,WAAW,CAAC,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1D,WAAW,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;IAExD,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE;YACJ,eAAe;YACf,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,WAAW,EAAE,WAAW,CAAC,MAAM;YAC/B,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,eAAe;YACf,cAAc,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC1D,iBAAiB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACnE,mBAAmB,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;SAC1E;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,eAAuB;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACjD,YAAY,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;IAErD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,YAAY,CAAC,yCAAyC,EAAE,UAAU,CAAC,CAAC;QACpE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,kCAAkC,UAAU,EAAE;SACtD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,UAAU;KACX,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,WAAW,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;IAC/C,WAAW,CAAC,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,UAAkB;IAC9C,WAAW,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IACrD,WAAW,CAAC,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,UAAkB;IAElB,WAAW,CAAC,2CAA2C,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;QAChD,WAAW,CAAC,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAErD,gDAAgD;QAChD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1D,WAAW,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC;QAC/C,WAAW,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAC;QAE3D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACvD,WAAW,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QAChE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA2B;IAE3B,MAAM,EAAE,eAAe,EAAE,iBAAiB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACrC,KAAK,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;IACjD,KAAK,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,CAAC;IACtD,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC;IAE/D,IAAI,SAAS,GAAkD,IAAI,CAAC;IAEpE,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,UAAU,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE;oBACJ,eAAe;oBACf,KAAK,EAAE,UAAU,CAAC,KAAM;iBACzB;gBACD,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,UAAW,CAAC;QAE1C,aAAa;QACb,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;QAErD,IAAI,aAAa,GAAa,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACzD,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;YAC5C,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,sCAAsC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACxG,WAAW,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAEvF,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE;gBACJ,eAAe;gBACf,KAAK,EAAE,YAAY;aACpB;YACD,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,yCAAyC;QACzC,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;YACvB,WAAW,CAAC,6BAA6B,CAAC,CAAC;YAC3C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAClC,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,eAAe,yBAAyB,CAAC"}