@girardelli/architect 1.2.1 → 2.1.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/README.md +111 -112
- package/dist/agent-generator.d.ts +95 -0
- package/dist/agent-generator.d.ts.map +1 -0
- package/dist/agent-generator.js +1295 -0
- package/dist/agent-generator.js.map +1 -0
- package/dist/cli.js +76 -2
- package/dist/cli.js.map +1 -1
- package/dist/html-reporter.d.ts +26 -4
- package/dist/html-reporter.d.ts.map +1 -1
- package/dist/html-reporter.js +832 -33
- package/dist/html-reporter.js.map +1 -1
- package/dist/index.d.ts +26 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -8
- package/dist/index.js.map +1 -1
- package/dist/refactor-engine.d.ts +18 -0
- package/dist/refactor-engine.d.ts.map +1 -0
- package/dist/refactor-engine.js +86 -0
- package/dist/refactor-engine.js.map +1 -0
- package/dist/refactor-reporter.d.ts +20 -0
- package/dist/refactor-reporter.d.ts.map +1 -0
- package/dist/refactor-reporter.js +389 -0
- package/dist/refactor-reporter.js.map +1 -0
- package/dist/rules/barrel-optimizer.d.ts +13 -0
- package/dist/rules/barrel-optimizer.d.ts.map +1 -0
- package/dist/rules/barrel-optimizer.js +77 -0
- package/dist/rules/barrel-optimizer.js.map +1 -0
- package/dist/rules/dead-code-detector.d.ts +21 -0
- package/dist/rules/dead-code-detector.d.ts.map +1 -0
- package/dist/rules/dead-code-detector.js +117 -0
- package/dist/rules/dead-code-detector.js.map +1 -0
- package/dist/rules/hub-splitter.d.ts +13 -0
- package/dist/rules/hub-splitter.d.ts.map +1 -0
- package/dist/rules/hub-splitter.js +110 -0
- package/dist/rules/hub-splitter.js.map +1 -0
- package/dist/rules/import-organizer.d.ts +13 -0
- package/dist/rules/import-organizer.d.ts.map +1 -0
- package/dist/rules/import-organizer.js +85 -0
- package/dist/rules/import-organizer.js.map +1 -0
- package/dist/rules/module-grouper.d.ts +13 -0
- package/dist/rules/module-grouper.d.ts.map +1 -0
- package/dist/rules/module-grouper.js +110 -0
- package/dist/rules/module-grouper.js.map +1 -0
- package/dist/scorer.d.ts +12 -0
- package/dist/scorer.d.ts.map +1 -1
- package/dist/scorer.js +61 -17
- package/dist/scorer.js.map +1 -1
- package/dist/types.d.ts +51 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agent-generator.ts +1401 -0
- package/src/cli.ts +83 -2
- package/src/html-reporter.ts +872 -35
- package/src/index.ts +108 -9
- package/src/refactor-engine.ts +117 -0
- package/src/refactor-reporter.ts +408 -0
- package/src/rules/barrel-optimizer.ts +97 -0
- package/src/rules/dead-code-detector.ts +132 -0
- package/src/rules/hub-splitter.ts +123 -0
- package/src/rules/import-organizer.ts +98 -0
- package/src/rules/module-grouper.ts +124 -0
- package/src/scorer.ts +63 -17
- package/src/types.ts +52 -0
package/README.md
CHANGED
|
@@ -1,32 +1,21 @@
|
|
|
1
1
|
# Architect
|
|
2
2
|
|
|
3
|
-
**AI-powered architecture analysis
|
|
3
|
+
**AI-powered architecture analysis, refactoring, and agent system generator**
|
|
4
4
|
|
|
5
5
|
[](https://www.typescriptlang.org/)
|
|
6
6
|
[](https://nodejs.org/)
|
|
7
|
+
[](https://www.npmjs.com/package/@girardelli/architect)
|
|
7
8
|
[](LICENSE)
|
|
8
9
|
|
|
9
|
-
Understand your codebase architecture in seconds. Detect anti-patterns,
|
|
10
|
+
Understand your codebase architecture in seconds. Detect anti-patterns, get refactoring plans, and generate AI agent configurations — all from a single command.
|
|
10
11
|
|
|
11
|
-
##
|
|
12
|
+
## What's New in v2.1
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- **
|
|
18
|
-
- **Premium HTML Reports** — Dark-themed visual reports with interactive Mermaid diagrams, score gauges, and responsive layout
|
|
19
|
-
- **Anti-Pattern Detection**
|
|
20
|
-
- God Class (excessive responsibilities and methods)
|
|
21
|
-
- Circular Dependencies (mutual dependencies creating tight coupling)
|
|
22
|
-
- Leaky Abstractions (internal implementation details exposed publicly)
|
|
23
|
-
- Feature Envy (classes excessively using other class methods)
|
|
24
|
-
- Shotgun Surgery (changes requiring scattered modifications)
|
|
25
|
-
- **Layer Detection** — Automatically identifies architectural layers (API, Service, Data, UI, Infrastructure)
|
|
26
|
-
- **Framework Detection** — Auto-detects NestJS, React, Angular, Vue.js, Express, Next.js, TypeORM, Prisma, Spring Boot, Django, and more
|
|
27
|
-
- **Multi-Language Support** — TypeScript, JavaScript, Python, Java, Go, Ruby, PHP, Rust, SQL, and more
|
|
28
|
-
- **Multiple Output Formats** — HTML, JSON, and Markdown
|
|
29
|
-
- **NestJS-Aware** — Calibrated thresholds for NestJS module architecture (entities, DTOs, guards, pipes, interceptors)
|
|
14
|
+
- 🔧 **Unified `analyze` command** — Architecture analysis + refactoring plan + agent system suggestions in one report
|
|
15
|
+
- 🤖 **AI Agent System Generator** — Suggests agents, rules, guards, workflows, and skills based on detected stack
|
|
16
|
+
- 🧠 **Skills from [skills.sh](https://skills.sh)** — Stack-specific skill recommendations with install commands
|
|
17
|
+
- 🎯 **Interactive UI** — Toggle cards with Select All/None, dynamic command builder, and copy-to-clipboard
|
|
18
|
+
- 📊 **Refactoring Plan** — Tier-based refactoring steps with score impact predictions
|
|
30
19
|
|
|
31
20
|
## Quick Start
|
|
32
21
|
|
|
@@ -39,90 +28,126 @@ npm install -g @girardelli/architect
|
|
|
39
28
|
architect analyze ./src
|
|
40
29
|
```
|
|
41
30
|
|
|
31
|
+
## Features
|
|
32
|
+
|
|
33
|
+
### 📊 Architecture Analysis
|
|
34
|
+
- **Quality Score** — 0-100 score with weighted breakdown (Modularity, Coupling, Cohesion, Layering)
|
|
35
|
+
- **Anti-Pattern Detection** — God Class, Circular Dependencies, Leaky Abstractions, Feature Envy, Shotgun Surgery
|
|
36
|
+
- **Layer Detection** — Automatically identifies API, Service, Data, UI, and Infrastructure layers
|
|
37
|
+
- **Dependency Graph** — Interactive D3.js force-directed graph visualization
|
|
38
|
+
- **Framework Detection** — NestJS, React, Angular, Vue, Next.js, Express, Django, Flask, Spring Boot, and more
|
|
39
|
+
- **Multi-Language** — TypeScript, JavaScript, Python, Java, Go, Ruby, PHP, Rust, SQL
|
|
40
|
+
|
|
41
|
+
### 🔧 Refactoring Plan
|
|
42
|
+
- **Tier 1 (Quick Wins)** — Low-risk improvements for immediate impact
|
|
43
|
+
- **Tier 2 (Strategic)** — Larger refactoring with architecture-level benefits
|
|
44
|
+
- **Score Impact** — Before/after predictions for each refactoring step
|
|
45
|
+
- **File Operations** — CREATE, MOVE, MODIFY, DELETE with detailed descriptions
|
|
46
|
+
|
|
47
|
+
### 🤖 AI Agent System
|
|
48
|
+
- **Stack Detection** — Identifies languages, frameworks, backend/frontend/mobile/database
|
|
49
|
+
- **Agent Suggestions** — Orchestrator, Backend Developer, Frontend Developer, Database Engineer, Security Auditor, QA, Tech Debt Controller
|
|
50
|
+
- **Rules & Guards** — Architecture rules, security rules, preflight checks, quality gates
|
|
51
|
+
- **Workflows** — Development, bug-fix, code review workflows
|
|
52
|
+
- **Skills** — [skills.sh](https://skills.sh) recommendations mapped to your stack (TDD, debugging, security, performance, etc.)
|
|
53
|
+
- **Audit Mode** — If `.agent/` exists, audits and suggests improvements
|
|
54
|
+
- **Interactive UI** — Toggle cards for selecting which items to generate
|
|
55
|
+
- **Command Builder** — Dynamic CLI command updates based on selection
|
|
56
|
+
|
|
57
|
+
### 📄 Premium HTML Report
|
|
58
|
+
- Dark-themed responsive design with Inter font
|
|
59
|
+
- Animated score gauge with gradient
|
|
60
|
+
- Interactive D3.js dependency graph
|
|
61
|
+
- Bubble chart for anti-pattern severity
|
|
62
|
+
- Collapsible refactoring steps with code previews
|
|
63
|
+
- Toggle cards for agent system selection
|
|
64
|
+
- Single self-contained HTML file (no external dependencies)
|
|
65
|
+
|
|
42
66
|
## CLI Commands
|
|
43
67
|
|
|
44
68
|
### `architect analyze [path]`
|
|
45
|
-
|
|
69
|
+
**The unified command** — runs architecture analysis, refactoring plan, and agent suggestions.
|
|
46
70
|
|
|
47
71
|
```bash
|
|
48
|
-
#
|
|
72
|
+
# Full analysis with HTML report (default)
|
|
49
73
|
architect analyze ./src
|
|
50
74
|
|
|
51
|
-
#
|
|
52
|
-
architect analyze ./src --
|
|
75
|
+
# Custom output path
|
|
76
|
+
architect analyze ./src --output docs/report.html
|
|
77
|
+
|
|
78
|
+
# JSON or Markdown output
|
|
53
79
|
architect analyze ./src --format json --output report.json
|
|
54
80
|
architect analyze ./src --format markdown --output report.md
|
|
55
81
|
```
|
|
56
82
|
|
|
57
|
-
### `architect
|
|
58
|
-
Generate
|
|
83
|
+
### `architect refactor [path]`
|
|
84
|
+
Generate a standalone refactoring plan.
|
|
59
85
|
|
|
60
86
|
```bash
|
|
61
|
-
architect
|
|
87
|
+
architect refactor ./src --output refactor-plan.html
|
|
62
88
|
```
|
|
63
89
|
|
|
64
|
-
### `architect
|
|
65
|
-
|
|
90
|
+
### `architect agents [path]`
|
|
91
|
+
Generate or audit the `.agent/` directory for AI coding assistants.
|
|
66
92
|
|
|
67
93
|
```bash
|
|
68
|
-
|
|
69
|
-
|
|
94
|
+
# Generate agent configuration files
|
|
95
|
+
architect agents ./
|
|
70
96
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
architect anti-patterns ./src
|
|
97
|
+
# With specific selections
|
|
98
|
+
architect agents ./ --agents ORCHESTRATOR,QA-TEST-ENGINEER --rules 00-general,01-architecture
|
|
76
99
|
```
|
|
77
100
|
|
|
78
|
-
### `architect
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
architect layers ./src
|
|
83
|
-
```
|
|
101
|
+
### `architect diagram [path]`
|
|
102
|
+
Generate architecture diagram in Mermaid format.
|
|
84
103
|
|
|
85
|
-
|
|
104
|
+
### `architect score [path]`
|
|
105
|
+
Calculate architecture quality score.
|
|
86
106
|
|
|
87
|
-
|
|
107
|
+
### `architect anti-patterns [path]`
|
|
108
|
+
Detect anti-patterns with severity levels.
|
|
88
109
|
|
|
89
|
-
|
|
110
|
+
### `architect layers [path]`
|
|
111
|
+
Analyze layer structure and distribution.
|
|
90
112
|
|
|
91
|
-
|
|
113
|
+
## Output Example
|
|
92
114
|
|
|
93
|
-
|
|
115
|
+
```
|
|
116
|
+
🏗️ Architect — Architecture Analysis
|
|
117
|
+
📂 Path: /path/to/project/src
|
|
118
|
+
📋 Command: analyze
|
|
119
|
+
📄 Format: html
|
|
94
120
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
121
|
+
✅ HTML report saved to: architect-report.html
|
|
122
|
+
📊 Score: 82/100
|
|
123
|
+
⚠️ Anti-patterns: 1
|
|
124
|
+
🔧 Refactoring steps: 2
|
|
125
|
+
🤖 Suggested agents: 6
|
|
100
126
|
|
|
101
|
-
|
|
127
|
+
═══════════════════════════════════════
|
|
128
|
+
SCORE: 82/100
|
|
129
|
+
═══════════════════════════════════════
|
|
130
|
+
├─ Modularity: 95
|
|
131
|
+
├─ Coupling: 50
|
|
132
|
+
├─ Cohesion: 95
|
|
133
|
+
└─ Layering: 85
|
|
134
|
+
|
|
135
|
+
📁 Files: 12 | 📝 Lines: 1,521
|
|
136
|
+
⚠️ Anti-patterns: 1
|
|
137
|
+
🤖 Agents: 6 suggested | No .agent/ found
|
|
138
|
+
```
|
|
102
139
|
|
|
103
140
|
## Configuration
|
|
104
141
|
|
|
105
|
-
Create
|
|
142
|
+
Create `.architect.json` in your project root:
|
|
106
143
|
|
|
107
144
|
```json
|
|
108
145
|
{
|
|
109
|
-
"ignore": [
|
|
110
|
-
|
|
111
|
-
"dist",
|
|
112
|
-
".git",
|
|
113
|
-
"coverage"
|
|
114
|
-
],
|
|
115
|
-
"frameworks": {
|
|
116
|
-
"detect": true
|
|
117
|
-
},
|
|
146
|
+
"ignore": ["node_modules", "dist", ".git", "coverage"],
|
|
147
|
+
"frameworks": { "detect": true },
|
|
118
148
|
"antiPatterns": {
|
|
119
|
-
"godClass": {
|
|
120
|
-
|
|
121
|
-
"methodsThreshold": 10
|
|
122
|
-
},
|
|
123
|
-
"shotgunSurgery": {
|
|
124
|
-
"changePropagationThreshold": 8
|
|
125
|
-
}
|
|
149
|
+
"godClass": { "linesThreshold": 500, "methodsThreshold": 10 },
|
|
150
|
+
"shotgunSurgery": { "changePropagationThreshold": 8 }
|
|
126
151
|
},
|
|
127
152
|
"score": {
|
|
128
153
|
"modularity": 0.40,
|
|
@@ -162,13 +187,11 @@ jobs:
|
|
|
162
187
|
npm install -D @girardelli/architect
|
|
163
188
|
```
|
|
164
189
|
|
|
165
|
-
Add to your `package.json` scripts:
|
|
166
|
-
|
|
167
190
|
```json
|
|
168
191
|
{
|
|
169
192
|
"scripts": {
|
|
170
|
-
"architect": "architect analyze ./src --
|
|
171
|
-
"architect:json": "architect analyze ./src --format json --output docs/
|
|
193
|
+
"architect": "architect analyze ./src --output docs/architect-report.html",
|
|
194
|
+
"architect:json": "architect analyze ./src --format json --output docs/report.json"
|
|
172
195
|
}
|
|
173
196
|
}
|
|
174
197
|
```
|
|
@@ -176,40 +199,22 @@ Add to your `package.json` scripts:
|
|
|
176
199
|
## Programmatic Usage
|
|
177
200
|
|
|
178
201
|
```typescript
|
|
179
|
-
import {
|
|
180
|
-
|
|
181
|
-
const report = await architect.analyze('./src');
|
|
202
|
+
import { Architect, HtmlReportGenerator } from '@girardelli/architect';
|
|
182
203
|
|
|
183
|
-
|
|
184
|
-
console.log(`Anti-patterns: ${report.antiPatterns.length}`);
|
|
185
|
-
console.log(`Frameworks: ${report.projectInfo.frameworks.join(', ')}`);
|
|
204
|
+
const architect = new Architect();
|
|
186
205
|
|
|
187
|
-
//
|
|
188
|
-
const
|
|
189
|
-
const html = htmlGenerator.generateHtml(report);
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
## Output Example
|
|
193
|
-
|
|
194
|
-
```
|
|
195
|
-
🏗️ Architect — Architecture Analysis
|
|
196
|
-
📂 Path: /path/to/project/src
|
|
197
|
-
📋 Command: analyze
|
|
198
|
-
📄 Format: html
|
|
206
|
+
// Full analysis
|
|
207
|
+
const report = await architect.analyze('./src');
|
|
199
208
|
|
|
200
|
-
|
|
201
|
-
|
|
209
|
+
// Refactoring plan
|
|
210
|
+
const plan = architect.refactor(report, './src');
|
|
202
211
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
═══════════════════════════════════════
|
|
206
|
-
├─ Modularity: 70
|
|
207
|
-
├─ Coupling: 85
|
|
208
|
-
├─ Cohesion: 30
|
|
209
|
-
└─ Layering: 25
|
|
212
|
+
// Agent suggestions (dry-run, no files created)
|
|
213
|
+
const agents = architect.suggestAgents('./');
|
|
210
214
|
|
|
211
|
-
|
|
212
|
-
|
|
215
|
+
// Generate unified HTML report
|
|
216
|
+
const htmlGenerator = new HtmlReportGenerator();
|
|
217
|
+
const html = htmlGenerator.generateHtml(report, plan, agents);
|
|
213
218
|
```
|
|
214
219
|
|
|
215
220
|
## Supported Frameworks
|
|
@@ -227,18 +232,12 @@ const html = htmlGenerator.generateHtml(report);
|
|
|
227
232
|
| Spring Boot | `spring-boot` in pom.xml |
|
|
228
233
|
| Django | `django` in requirements.txt |
|
|
229
234
|
| Flask | `flask` in requirements.txt |
|
|
230
|
-
|
|
231
|
-
## Installation
|
|
232
|
-
|
|
233
|
-
```bash
|
|
234
|
-
npm install
|
|
235
|
-
npm run build
|
|
236
|
-
npm test
|
|
237
|
-
```
|
|
235
|
+
| Flutter | `flutter` in pubspec.yaml |
|
|
238
236
|
|
|
239
237
|
## Development
|
|
240
238
|
|
|
241
239
|
```bash
|
|
240
|
+
npm install
|
|
242
241
|
npm run build # Compile TypeScript
|
|
243
242
|
npm run dev # Watch mode
|
|
244
243
|
npm test # Run tests
|
|
@@ -266,4 +265,4 @@ See [LICENSE](LICENSE) for details.
|
|
|
266
265
|
|
|
267
266
|
---
|
|
268
267
|
|
|
269
|
-
**Architect** —
|
|
268
|
+
**Architect** — Architecture analysis, refactoring plans, and AI agent generation for every developer.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { AnalysisReport, RefactoringPlan } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Stack detection result from project analysis.
|
|
4
|
+
*/
|
|
5
|
+
export interface StackInfo {
|
|
6
|
+
primary: string;
|
|
7
|
+
languages: string[];
|
|
8
|
+
frameworks: string[];
|
|
9
|
+
hasBackend: boolean;
|
|
10
|
+
hasFrontend: boolean;
|
|
11
|
+
hasMobile: boolean;
|
|
12
|
+
hasDatabase: boolean;
|
|
13
|
+
testFramework: string;
|
|
14
|
+
packageManager: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Audit finding for existing agent directories.
|
|
18
|
+
*/
|
|
19
|
+
export interface AgentAuditFinding {
|
|
20
|
+
type: 'MISSING' | 'OUTDATED' | 'IMPROVEMENT' | 'OK';
|
|
21
|
+
category: string;
|
|
22
|
+
file: string;
|
|
23
|
+
description: string;
|
|
24
|
+
suggestion?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Result from suggest() — no files written, just recommendations.
|
|
28
|
+
*/
|
|
29
|
+
export interface AgentSuggestion {
|
|
30
|
+
stack: StackInfo;
|
|
31
|
+
hasExistingAgents: boolean;
|
|
32
|
+
suggestedAgents: string[];
|
|
33
|
+
suggestedRules: string[];
|
|
34
|
+
suggestedGuards: string[];
|
|
35
|
+
suggestedWorkflows: string[];
|
|
36
|
+
suggestedSkills: {
|
|
37
|
+
name: string;
|
|
38
|
+
source: string;
|
|
39
|
+
description: string;
|
|
40
|
+
}[];
|
|
41
|
+
audit: AgentAuditFinding[];
|
|
42
|
+
command: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Agent Generator — Creates or audits .agent/ directories
|
|
46
|
+
* customized to the analyzed project's stack and architecture.
|
|
47
|
+
*/
|
|
48
|
+
export declare class AgentGenerator {
|
|
49
|
+
private stack;
|
|
50
|
+
private report;
|
|
51
|
+
private plan;
|
|
52
|
+
/**
|
|
53
|
+
* Suggest agents without writing files — for unified report.
|
|
54
|
+
*/
|
|
55
|
+
suggest(report: AnalysisReport, plan: RefactoringPlan, projectPath: string): AgentSuggestion;
|
|
56
|
+
/**
|
|
57
|
+
* Main entry: generate or audit .agent/ for a project.
|
|
58
|
+
*/
|
|
59
|
+
generate(report: AnalysisReport, plan: RefactoringPlan, projectPath: string, outputDir?: string): {
|
|
60
|
+
generated: string[];
|
|
61
|
+
audit: AgentAuditFinding[];
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Detect technology stack from the analysis report.
|
|
65
|
+
*/
|
|
66
|
+
private detectStack;
|
|
67
|
+
private auditExisting;
|
|
68
|
+
private findAgentByRole;
|
|
69
|
+
private generateMissing;
|
|
70
|
+
private generateFull;
|
|
71
|
+
private getTemplateFor;
|
|
72
|
+
private get projectName();
|
|
73
|
+
private get stackLabel();
|
|
74
|
+
private genIndex;
|
|
75
|
+
private genSchema;
|
|
76
|
+
private genOrchestrator;
|
|
77
|
+
private genBackendAgent;
|
|
78
|
+
private genFrontendAgent;
|
|
79
|
+
private genMobileAgent;
|
|
80
|
+
private genDatabaseAgent;
|
|
81
|
+
private genSecurityAgent;
|
|
82
|
+
private genQAAgent;
|
|
83
|
+
private genTechDebtAgent;
|
|
84
|
+
private genGeneralRules;
|
|
85
|
+
private genArchitectureRules;
|
|
86
|
+
private genSecurityRules;
|
|
87
|
+
private genStackRules;
|
|
88
|
+
private genPreflight;
|
|
89
|
+
private genQualityGates;
|
|
90
|
+
private genCodeReview;
|
|
91
|
+
private genDevelopWorkflow;
|
|
92
|
+
private genFixBugWorkflow;
|
|
93
|
+
private genReviewWorkflow;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=agent-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-generator.d.ts","sourceRoot":"","sources":["../src/agent-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,IAAI,CAAC;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,IAAI,CAAmB;IAE/B;;OAEG;IACH,OAAO,CACL,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,GAClB,eAAe;IA2FlB;;OAEG;IACH,QAAQ,CACN,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE;IAkBtD;;OAEG;IACH,OAAO,CAAC,WAAW;IAiEnB,OAAO,CAAC,aAAa;IAgFrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,YAAY;IAoDpB,OAAO,CAAC,cAAc;IAgBtB,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,UAAU,GAKrB;IAED,OAAO,CAAC,QAAQ;IAkDhB,OAAO,CAAC,SAAS;IAmCjB,OAAO,CAAC,eAAe;IAmHvB,OAAO,CAAC,eAAe;IAiFvB,OAAO,CAAC,gBAAgB;IAiDxB,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,UAAU;IAkElB,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,eAAe;IA2EvB,OAAO,CAAC,oBAAoB;IA0C5B,OAAO,CAAC,gBAAgB;IAsCxB,OAAO,CAAC,aAAa;IAuCrB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,kBAAkB;IA0C1B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,iBAAiB;CAqB1B"}
|