ai-first-cli 1.3.5 → 1.3.8
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 +186 -0
- package/README.es.md +68 -0
- package/README.md +53 -15
- package/ai/graph/knowledge-graph.json +1 -1
- package/ai-context/index-state.json +86 -2
- package/dist/analyzers/architecture.d.ts.map +1 -1
- package/dist/analyzers/architecture.js +72 -5
- package/dist/analyzers/architecture.js.map +1 -1
- package/dist/analyzers/entrypoints.d.ts.map +1 -1
- package/dist/analyzers/entrypoints.js +253 -0
- package/dist/analyzers/entrypoints.js.map +1 -1
- package/dist/analyzers/symbols.d.ts.map +1 -1
- package/dist/analyzers/symbols.js +47 -2
- package/dist/analyzers/symbols.js.map +1 -1
- package/dist/analyzers/techStack.d.ts.map +1 -1
- package/dist/analyzers/techStack.js +86 -0
- package/dist/analyzers/techStack.js.map +1 -1
- package/dist/commands/ai-first.d.ts.map +1 -1
- package/dist/commands/ai-first.js +78 -4
- package/dist/commands/ai-first.js.map +1 -1
- package/dist/config/configLoader.d.ts +6 -0
- package/dist/config/configLoader.d.ts.map +1 -0
- package/dist/config/configLoader.js +232 -0
- package/dist/config/configLoader.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +2 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/types.d.ts +101 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/core/content/contentProcessor.d.ts +4 -0
- package/dist/core/content/contentProcessor.d.ts.map +1 -0
- package/dist/core/content/contentProcessor.js +235 -0
- package/dist/core/content/contentProcessor.js.map +1 -0
- package/dist/core/content/index.d.ts +3 -0
- package/dist/core/content/index.d.ts.map +1 -0
- package/dist/core/content/index.js +2 -0
- package/dist/core/content/index.js.map +1 -0
- package/dist/core/content/types.d.ts +32 -0
- package/dist/core/content/types.d.ts.map +1 -0
- package/dist/core/content/types.js +2 -0
- package/dist/core/content/types.js.map +1 -0
- package/dist/core/gitAnalyzer.d.ts +14 -0
- package/dist/core/gitAnalyzer.d.ts.map +1 -1
- package/dist/core/gitAnalyzer.js +98 -0
- package/dist/core/gitAnalyzer.js.map +1 -1
- package/dist/core/multiRepo/index.d.ts +3 -0
- package/dist/core/multiRepo/index.d.ts.map +1 -0
- package/dist/core/multiRepo/index.js +2 -0
- package/dist/core/multiRepo/index.js.map +1 -0
- package/dist/core/multiRepo/multiRepoScanner.d.ts +18 -0
- package/dist/core/multiRepo/multiRepoScanner.d.ts.map +1 -0
- package/dist/core/multiRepo/multiRepoScanner.js +131 -0
- package/dist/core/multiRepo/multiRepoScanner.js.map +1 -0
- package/dist/core/rag/index.d.ts +3 -0
- package/dist/core/rag/index.d.ts.map +1 -0
- package/dist/core/rag/index.js +2 -0
- package/dist/core/rag/index.js.map +1 -0
- package/dist/core/rag/vectorIndex.d.ts +28 -0
- package/dist/core/rag/vectorIndex.d.ts.map +1 -0
- package/dist/core/rag/vectorIndex.js +71 -0
- package/dist/core/rag/vectorIndex.js.map +1 -0
- package/dist/mcp/index.d.ts +2 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +2 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +154 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/utils/fileUtils.d.ts.map +1 -1
- package/dist/utils/fileUtils.js +5 -0
- package/dist/utils/fileUtils.js.map +1 -1
- package/docs/planning/evaluator-v1.0.0/README.md +112 -0
- package/docs/planning/evaluator-v1.0.0/improvements_plan_2026-03-28.md +237 -0
- package/package.json +13 -3
- package/src/analyzers/architecture.ts +75 -6
- package/src/analyzers/entrypoints.ts +285 -0
- package/src/analyzers/symbols.ts +52 -2
- package/src/analyzers/techStack.ts +90 -0
- package/src/commands/ai-first.ts +83 -4
- package/src/config/configLoader.ts +274 -0
- package/src/config/index.ts +27 -0
- package/src/config/types.ts +117 -0
- package/src/core/content/contentProcessor.ts +292 -0
- package/src/core/content/index.ts +9 -0
- package/src/core/content/types.ts +35 -0
- package/src/core/gitAnalyzer.ts +130 -0
- package/src/core/multiRepo/index.ts +2 -0
- package/src/core/multiRepo/multiRepoScanner.ts +177 -0
- package/src/core/rag/index.ts +2 -0
- package/src/core/rag/vectorIndex.ts +105 -0
- package/src/mcp/index.ts +1 -0
- package/src/mcp/server.ts +179 -0
- package/src/utils/fileUtils.ts +5 -0
- package/tests/entrypoints-languages.test.ts +373 -0
- package/tests/framework-detection.test.ts +296 -0
- package/tests/v1.3.8-integration.test.ts +361 -0
- package/BETA_EVALUATION_REPORT.md +0 -151
- package/ai-context/context/flows/App.json +0 -17
- package/ai-context/context/flows/DashboardPage.json +0 -14
- package/ai-context/context/flows/LoginPage.json +0 -14
- package/ai-context/context/flows/admin.json +0 -10
- package/ai-context/context/flows/androidresources.json +0 -11
- package/ai-context/context/flows/authController.json +0 -14
- package/ai-context/context/flows/entrypoints.json +0 -9
- package/ai-context/context/flows/fastapiAdapter.json +0 -14
- package/ai-context/context/flows/fastapiadapter.json +0 -11
- package/ai-context/context/flows/index.json +0 -19
- package/ai-context/context/flows/indexer.json +0 -9
- package/ai-context/context/flows/indexstate.json +0 -9
- package/ai-context/context/flows/init.json +0 -22
- package/ai-context/context/flows/main.json +0 -18
- package/ai-context/context/flows/mainactivity.json +0 -9
- package/ai-context/context/flows/models.json +0 -15
- package/ai-context/context/flows/posts.json +0 -15
- package/ai-context/context/flows/repoMapper.json +0 -20
- package/ai-context/context/flows/repomapper.json +0 -11
- package/ai-context/context/flows/serializers.json +0 -10
- package/ai-context-evaluation-report-1774223059505.md +0 -206
- package/dist/scripts/ai-context-evaluator.js +0 -367
- package/quick-evaluation-report-1774396002305.md +0 -64
- package/quick-evaluator.ts +0 -200
- package/scripts/ai-context-evaluator.ts +0 -440
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,192 @@ All notable changes to `ai-first` will be documented in this file.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.3.8] - 2026-03-29
|
|
10
|
+
|
|
11
|
+
### 🚀 Major Features & Architecture Improvements
|
|
12
|
+
|
|
13
|
+
**Branch:** `feature/v1.3.8-improvements`
|
|
14
|
+
|
|
15
|
+
#### ✨ New Features
|
|
16
|
+
|
|
17
|
+
- **Configuration System** - Full support for `ai-first.config.json`
|
|
18
|
+
- Load and validate configuration from JSON files
|
|
19
|
+
- 4 built-in presets: `full`, `quick`, `api`, `docs`
|
|
20
|
+
- Custom preset support
|
|
21
|
+
- Configuration merging and validation
|
|
22
|
+
|
|
23
|
+
- **Library/API Mode** - Use ai-first as a Node.js library
|
|
24
|
+
- Full TypeScript support with exported types
|
|
25
|
+
- Programmatic access to all core functions
|
|
26
|
+
- Perfect for building tools on top of ai-first
|
|
27
|
+
|
|
28
|
+
- **Content Compression** - Reduce tokens by up to 70%
|
|
29
|
+
- **Inclusion Levels**: `full`, `compress`, `directory`, `exclude`
|
|
30
|
+
- **Detail Levels**: `full`, `signatures`, `skeleton`
|
|
31
|
+
- Smart content processing preserves imports, exports, and signatures
|
|
32
|
+
- Language-aware compression for TypeScript, Python, Go, Rust
|
|
33
|
+
|
|
34
|
+
- **Git Blame Integration** - Track code authorship
|
|
35
|
+
- Get blame information for any file
|
|
36
|
+
- Format options: `inline` (per line) or `block` (grouped by author)
|
|
37
|
+
- Shows author, date, and commit hash
|
|
38
|
+
- Helps identify who wrote what and when
|
|
39
|
+
|
|
40
|
+
- **MCP Server Support** - Model Context Protocol integration
|
|
41
|
+
- Native MCP server for AI agent integration
|
|
42
|
+
- 3 built-in tools:
|
|
43
|
+
- `generate_context` - Generate AI context for repository
|
|
44
|
+
- `query_symbols` - Search symbols in indexed repository
|
|
45
|
+
- `get_architecture` - Get architecture analysis
|
|
46
|
+
- Works with Cursor, Claude Code, and other MCP-compatible agents
|
|
47
|
+
|
|
48
|
+
- **RAG Vector Search** - Semantic search for your codebase
|
|
49
|
+
- Local vector index (no cloud required)
|
|
50
|
+
- Search with natural language queries
|
|
51
|
+
- Find related code by meaning, not just text matching
|
|
52
|
+
- Perfect for large codebases and onboarding
|
|
53
|
+
|
|
54
|
+
- **Multi-Repository Support** - Handle monorepos and microservices
|
|
55
|
+
- Scan multiple repositories in one command
|
|
56
|
+
- Git submodule detection and support
|
|
57
|
+
- Cross-repository dependency tracking
|
|
58
|
+
- Unified context across services
|
|
59
|
+
|
|
60
|
+
#### 🔧 Technical Improvements
|
|
61
|
+
|
|
62
|
+
- New modular architecture with separate packages:
|
|
63
|
+
- `src/config/` - Configuration management
|
|
64
|
+
- `src/core/content/` - Content processing and compression
|
|
65
|
+
- `src/core/rag/` - Vector search and semantic indexing
|
|
66
|
+
- `src/core/multiRepo/` - Multi-repository support
|
|
67
|
+
- `src/mcp/` - Model Context Protocol server
|
|
68
|
+
|
|
69
|
+
- Added `@modelcontextprotocol/sdk` dependency for MCP support
|
|
70
|
+
- Comprehensive test suite for configuration system
|
|
71
|
+
- Benchmark scripts for token reduction measurement
|
|
72
|
+
|
|
73
|
+
#### 📚 Documentation
|
|
74
|
+
|
|
75
|
+
- New "Programmatic API" section in README
|
|
76
|
+
- Complete FEATURES_GUIDE.md for developers
|
|
77
|
+
- Implementation planning documents
|
|
78
|
+
- Configuration file examples
|
|
79
|
+
|
|
80
|
+
#### 📦 New Dependencies
|
|
81
|
+
|
|
82
|
+
```json
|
|
83
|
+
"@modelcontextprotocol/sdk": "^1.0.4"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## [1.3.7] - 2026-03-28
|
|
87
|
+
|
|
88
|
+
### 🎯 AI Context Quality Evaluator
|
|
89
|
+
|
|
90
|
+
**Branch:** `feature/migrate-evaluator-to-private-repo`
|
|
91
|
+
|
|
92
|
+
#### Added
|
|
93
|
+
|
|
94
|
+
- **Context Quality Evaluation System**
|
|
95
|
+
- Built-in evaluator to measure AI context quality (score 0-5)
|
|
96
|
+
- Hierarchical evaluation in 3 levels: Structure, Content, AI Assessment
|
|
97
|
+
- Conditional scoring that doesn't penalize for optional features
|
|
98
|
+
- 100% cost savings when quality score ≥ 3.5 (skips AI evaluation)
|
|
99
|
+
- Categorized improvement suggestions: IMPLEMENTED, USER_ACTION, KNOWN_LIMITATION, IMPROVEMENT
|
|
100
|
+
|
|
101
|
+
- **New Evaluation Checks**
|
|
102
|
+
- Entry Point Documentation check (15 pts)
|
|
103
|
+
- Documentation Completeness check (15 pts)
|
|
104
|
+
- API Contracts validation (conditional)
|
|
105
|
+
- Framework Instructions validation (conditional)
|
|
106
|
+
- Freshness tracking check (conditional)
|
|
107
|
+
|
|
108
|
+
- **Evaluator Repository Migration**
|
|
109
|
+
- Extracted evaluator to private repository: `ai-first-evaluator`
|
|
110
|
+
- Integrated as dev dependency via npm
|
|
111
|
+
- Added evaluation scripts: `npm run evaluate`, `npm run evaluate:ci`, `npm run evaluate:quick`
|
|
112
|
+
- Post-install script to auto-build evaluator
|
|
113
|
+
|
|
114
|
+
#### Changed
|
|
115
|
+
|
|
116
|
+
- **Improved Scoring Logic**
|
|
117
|
+
- Fixed bug allowing scores > 5.0 (now properly capped)
|
|
118
|
+
- Better Spring Boot framework detection
|
|
119
|
+
- Content Quality scoring increased to 80 points (from 50)
|
|
120
|
+
|
|
121
|
+
#### Test Results
|
|
122
|
+
|
|
123
|
+
- **1041 Tests Passing** (+15 new evaluation tests)
|
|
124
|
+
- **31 Test Files**
|
|
125
|
+
- **100% Pass Rate**
|
|
126
|
+
- **11/11 Test Projects Passing**
|
|
127
|
+
- **Average Score: 3.88/5.0**
|
|
128
|
+
- **Cost Savings: 100%**
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## [1.3.6] - 2026-03-28
|
|
133
|
+
|
|
134
|
+
### 🎯 AI Recommendations Implementation
|
|
135
|
+
|
|
136
|
+
**Branch:** `feature/ai-recommendations-v1.3.6`
|
|
137
|
+
|
|
138
|
+
#### Added
|
|
139
|
+
|
|
140
|
+
- **Go Entrypoints Detection** (T1)
|
|
141
|
+
- Detect `main.go` with `func main()`
|
|
142
|
+
- Extract HTTP handlers (`http.HandleFunc`)
|
|
143
|
+
- Identify service ports (`:8080`, `:3000`)
|
|
144
|
+
- Parse structs and methods
|
|
145
|
+
- Read `go.mod` for module information
|
|
146
|
+
|
|
147
|
+
- **Rust Entrypoints Detection** (T2)
|
|
148
|
+
- Detect `main.rs` with `fn main()`
|
|
149
|
+
- Extract `Cargo.toml` configuration
|
|
150
|
+
- Identify structs and implementations
|
|
151
|
+
- Support for binary and library projects
|
|
152
|
+
|
|
153
|
+
- **PHP Entrypoints Detection** (T3)
|
|
154
|
+
- Detect `index.php` entrypoints
|
|
155
|
+
- Support Laravel convention (`public/index.php`)
|
|
156
|
+
- Parse `composer.json` dependencies
|
|
157
|
+
- Detect Laravel and Symfony frameworks
|
|
158
|
+
|
|
159
|
+
- **Comprehensive Test Suite** (T4, T8, T12)
|
|
160
|
+
- 16 tests for Go/Rust/PHP entrypoints
|
|
161
|
+
- 14 tests for framework detection
|
|
162
|
+
- All Apex class tests now passing (was 40/43, now 43/43)
|
|
163
|
+
|
|
164
|
+
#### Fixed
|
|
165
|
+
|
|
166
|
+
- **Framework Detection** (T5-T7)
|
|
167
|
+
- NestJS: Now correctly detects `@nestjs/*` packages
|
|
168
|
+
- Spring Boot: Parses `pom.xml` and `build.gradle`/`build.gradle.kts`
|
|
169
|
+
- Express: Shows "API Server" instead of "Microservices" for single services
|
|
170
|
+
|
|
171
|
+
- **Apex Parser Improvements** (T9)
|
|
172
|
+
- Handle multi-line annotations (`@AuraEnabled(cacheable=true)`)
|
|
173
|
+
- Support generic return types (`List<Account>`, `Map<String, Object>`)
|
|
174
|
+
- Detect `webservice` methods
|
|
175
|
+
- Fix method signature extraction with parameters
|
|
176
|
+
|
|
177
|
+
- **Architecture Descriptions** (T15)
|
|
178
|
+
- Replace "Contains X files" with functional descriptions
|
|
179
|
+
- Infer responsibility from file types (TypeScript, Python, Java, etc.)
|
|
180
|
+
- Language-specific descriptions (e.g., "JavaScript/TypeScript implementation")
|
|
181
|
+
|
|
182
|
+
- **Development Directory Filtering** (T14)
|
|
183
|
+
- Exclude `test-projects/` from analysis
|
|
184
|
+
- Exclude `.ai-dev/` and `.ai-dev-out/`
|
|
185
|
+
- Exclude `ai-context/` directory
|
|
186
|
+
- Prevent test artifacts from polluting results
|
|
187
|
+
|
|
188
|
+
#### Test Results
|
|
189
|
+
|
|
190
|
+
- 1026 tests passing (+30 new tests)
|
|
191
|
+
- 0 tests failing (100% pass rate!)
|
|
192
|
+
- Fixed 3 pre-existing Apex test failures
|
|
193
|
+
- All 11 test projects validated
|
|
194
|
+
|
|
9
195
|
## [1.3.5] - 2026-03-24
|
|
10
196
|
|
|
11
197
|
### 🧪 Comprehensive Testing Suite
|
package/README.es.md
CHANGED
|
@@ -21,6 +21,33 @@
|
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
+
## 🚀 Novedades en v1.3.7
|
|
25
|
+
|
|
26
|
+
**Evaluador de Calidad de Contexto IA**
|
|
27
|
+
|
|
28
|
+
- ✅ **Evaluación de Calidad**: Evaluador integrado para medir la calidad del contexto IA (score 0-5)
|
|
29
|
+
- ✅ **Evaluación Jerárquica**: Assessment en 3 niveles (Estructura, Contenido, Revisión IA)
|
|
30
|
+
- ✅ **Scoring Inteligente**: Scoring condicional que no penaliza por features opcionales
|
|
31
|
+
- ✅ **Optimización de Costos**: 100% de ahorro cuando el score de calidad ≥ 3.5 (evita evaluación IA)
|
|
32
|
+
- ✅ **Sugerencias de Mejora**: Recomendaciones categorizadas (IMPLEMENTED, USER_ACTION, IMPROVEMENT)
|
|
33
|
+
- ✅ **Nuevos Checks**: Documentación de entry points y completitud de documentación
|
|
34
|
+
- ✅ **Repo Privado del Evaluador**: Evaluador extraído a repositorio privado separado
|
|
35
|
+
- ✅ **Integración NPM**: Uso como dev dependency con `npm run evaluate`
|
|
36
|
+
|
|
37
|
+
### Anterior: v1.3.6
|
|
38
|
+
|
|
39
|
+
**Soporte de Lenguajes Mejorado y Detección de Frameworks**
|
|
40
|
+
|
|
41
|
+
- ✅ **Entrypoints Go**: Detección automática de `main.go`, handlers HTTP y puertos de servicio
|
|
42
|
+
- ✅ **Entrypoints Rust**: Soporte para `main.rs`, `Cargo.toml` e implementaciones de structs
|
|
43
|
+
- ✅ **Entrypoints PHP**: Detección de `index.php`, convenciones Laravel y dependencias Composer
|
|
44
|
+
- ✅ **Detección de Frameworks Mejorada**: NestJS (`@nestjs/*`), Spring Boot (pom.xml/build.gradle) y Express (API Server vs Microservices)
|
|
45
|
+
- ✅ **Parser Apex**: Parsing mejorado de firmas de métodos con soporte de genéricos (`List<Account>`) y anotaciones multi-línea
|
|
46
|
+
- ✅ **Descripciones de Arquitectura**: Descripciones funcionales en lugar de "Contiene X archivos" genérico
|
|
47
|
+
- ✅ **1026 Tests Pasando**: 100% de éxito con 30 tests nuevos agregados
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
24
51
|
## 📋 Tabla de Contenidos
|
|
25
52
|
|
|
26
53
|
- [Comandos](#-referencia-de-comandos)
|
|
@@ -377,6 +404,47 @@ Los flows representan cadenas de ejecución de negocio desde entrypoints.
|
|
|
377
404
|
|
|
378
405
|
---
|
|
379
406
|
|
|
407
|
+
## 🌍 Soporte Multi-Lenguaje y Frameworks
|
|
408
|
+
|
|
409
|
+
### Lenguajes Soportados
|
|
410
|
+
|
|
411
|
+
| Categoría | Lenguajes |
|
|
412
|
+
|-----------|-----------|
|
|
413
|
+
| **Web** | JavaScript, TypeScript, Python, **Go**, **Rust** |
|
|
414
|
+
| **Backend** | Java, C#, **PHP**, Ruby, **Go**, **Rust**, Kotlin, **Apex** |
|
|
415
|
+
| **Mobile** | Swift, Kotlin, Android |
|
|
416
|
+
| **Frontend** | Vue, Svelte, React, HTML, CSS, SCSS |
|
|
417
|
+
| **Testing** | Jest, Vitest, pytest, Mocha, RSpec |
|
|
418
|
+
|
|
419
|
+
**Nuevo en v1.3.6:** Detección completa de entrypoints para **Go** (handlers, puertos), **Rust** (Cargo.toml, binarios), y **PHP** (index.php, Laravel).
|
|
420
|
+
|
|
421
|
+
### Frameworks (Testeados)
|
|
422
|
+
|
|
423
|
+
| Framework | Lenguaje | Proyecto de Prueba | Estado |
|
|
424
|
+
|-----------|----------|-------------------|--------|
|
|
425
|
+
| **Django** | Python | `test-projects/django-app` | ✅ |
|
|
426
|
+
| **FastAPI** | Python | `test-projects/fastapi-app` | ✅ |
|
|
427
|
+
| **Flask** | Python | `test-projects/flask-app` | ✅ |
|
|
428
|
+
| **Laravel** | PHP | `test-projects/laravel-app` | ✅ |
|
|
429
|
+
| **Rails** | Ruby | `test-projects/rails-app` | ✅ |
|
|
430
|
+
| **Spring Boot** | Java | `test-projects/spring-boot-app` | ✅ Mejorado v1.3.6 |
|
|
431
|
+
| Express.js | JavaScript | `test-projects/express-api` | ✅ Corregido v1.3.6 |
|
|
432
|
+
| **NestJS** | TypeScript | `test-projects/nestjs-backend` | ✅ Corregido v1.3.6 |
|
|
433
|
+
| React | JavaScript | `test-projects/react-app` | ✅ |
|
|
434
|
+
| Python CLI | Python | `test-projects/python-cli` | ✅ |
|
|
435
|
+
| Salesforce DX | Apex | `test-projects/salesforce-cli` | ✅ Mejorado v1.3.6 |
|
|
436
|
+
| **Go** | Go | `test-projects/go-microservice` | ✅ **NUEVO v1.3.6** |
|
|
437
|
+
| **Rust** | Rust | `test-projects/rust-cli` | ✅ **NUEVO v1.3.6** |
|
|
438
|
+
| **PHP Vanilla** | PHP | `test-projects/php-vanilla` | ✅ **NUEVO v1.3.6** |
|
|
439
|
+
|
|
440
|
+
**Mejoras v1.3.6:**
|
|
441
|
+
- **NestJS**: Ahora detecta correctamente paquetes scoped `@nestjs/*`
|
|
442
|
+
- **Spring Boot**: Parsea `pom.xml` y `build.gradle`/`build.gradle.kts`
|
|
443
|
+
- **Express**: Muestra "API Server" en lugar de "Microservices" para directorios de servicio único
|
|
444
|
+
- **Apex**: Parser mejorado con soporte de genéricos (`List<Account>`, `Map<String, Object>`)
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
380
448
|
## 🤖 Soporte Android/Kotlin
|
|
381
449
|
|
|
382
450
|
af detecta e indexa automáticamente proyectos Android/Kotlin:
|
package/README.md
CHANGED
|
@@ -19,6 +19,33 @@
|
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
+
## 🚀 What's New in v1.3.7
|
|
23
|
+
|
|
24
|
+
**AI Context Quality Evaluator**
|
|
25
|
+
|
|
26
|
+
- ✅ **Context Quality Evaluation**: Built-in evaluator to measure AI context quality (score 0-5)
|
|
27
|
+
- ✅ **Hierarchical Evaluation**: 3-level assessment (Structure, Content, AI Review)
|
|
28
|
+
- ✅ **Smart Scoring**: Conditional scoring that doesn't penalize for optional features
|
|
29
|
+
- ✅ **Cost Optimization**: 100% cost savings when quality score ≥ 3.5 (skips AI evaluation)
|
|
30
|
+
- ✅ **Improvement Suggestions**: Categorized recommendations (IMPLEMENTED, USER_ACTION, IMPROVEMENT)
|
|
31
|
+
- ✅ **New Evaluation Checks**: Entry point documentation and documentation completeness
|
|
32
|
+
- ✅ **Private Evaluator Repo**: Evaluator extracted to separate private repository
|
|
33
|
+
- ✅ **NPM Integration**: Use as dev dependency with `npm run evaluate`
|
|
34
|
+
|
|
35
|
+
### Previous: v1.3.6
|
|
36
|
+
|
|
37
|
+
**Enhanced Language Support & Framework Detection**
|
|
38
|
+
|
|
39
|
+
- ✅ **Go Entrypoints**: Automatic detection of `main.go`, HTTP handlers, and service ports
|
|
40
|
+
- ✅ **Rust Entrypoints**: Support for `main.rs`, `Cargo.toml`, and struct implementations
|
|
41
|
+
- ✅ **PHP Entrypoints**: Detection of `index.php`, Laravel conventions, and Composer dependencies
|
|
42
|
+
- ✅ **Improved Framework Detection**: Fixed NestJS (`@nestjs/*`), Spring Boot (pom.xml/build.gradle), and Express (API Server vs Microservices)
|
|
43
|
+
- ✅ **Apex Parser**: Enhanced method signature parsing with generics support (`List<Account>`) and multi-line annotations
|
|
44
|
+
- ✅ **Architecture Descriptions**: Functional descriptions instead of generic "Contains X files"
|
|
45
|
+
- ✅ **1026 Tests Passing**: 100% success rate with 30 new tests added
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
22
49
|
## 📋 Table of Contents
|
|
23
50
|
|
|
24
51
|
- [Commands](#-commands-reference)
|
|
@@ -453,27 +480,38 @@ Flows represent business execution chains starting from entrypoints.
|
|
|
453
480
|
|
|
454
481
|
| Category | Languages |
|
|
455
482
|
|----------|-----------|
|
|
456
|
-
| **Web** | JavaScript, TypeScript, Python, Go
|
|
457
|
-
| **Backend** | Java, C#, PHP
|
|
483
|
+
| **Web** | JavaScript, TypeScript, Python, **Go**, **Rust** |
|
|
484
|
+
| **Backend** | Java, C#, **PHP**, Ruby, **Go**, **Rust**, Kotlin, **Apex** |
|
|
458
485
|
| **Mobile** | Swift, Kotlin, Android |
|
|
459
486
|
| **Frontend** | Vue, Svelte, React, HTML, CSS, SCSS |
|
|
460
487
|
| **Testing** | Jest, Vitest, pytest, Mocha, RSpec |
|
|
461
488
|
|
|
489
|
+
**New in v1.3.6:** Full entrypoint detection for **Go** (handlers, ports), **Rust** (Cargo.toml, binaries), and **PHP** (index.php, Laravel).
|
|
490
|
+
|
|
462
491
|
### Frameworks (Tested)
|
|
463
492
|
|
|
464
|
-
| Framework | Language | Test Project |
|
|
465
|
-
|
|
466
|
-
| **Django** | Python | `test-projects/django-app` |
|
|
467
|
-
| **FastAPI** | Python | `test-projects/fastapi-app` |
|
|
468
|
-
| **Flask** | Python | `test-projects/flask-app` |
|
|
469
|
-
| **Laravel** | PHP | `test-projects/laravel-app` |
|
|
470
|
-
| **Rails** | Ruby | `test-projects/rails-app` |
|
|
471
|
-
| **Spring Boot** | Java | `test-projects/spring-boot-app` |
|
|
472
|
-
| Express.js | JavaScript | `test-projects/express-api` |
|
|
473
|
-
| NestJS | TypeScript | `test-projects/nestjs-backend` |
|
|
474
|
-
| React | JavaScript | `test-projects/react-app` |
|
|
475
|
-
| Python CLI | Python | `test-projects/python-cli` |
|
|
476
|
-
| Salesforce DX | Apex | `test-projects/salesforce-cli` |
|
|
493
|
+
| Framework | Language | Test Project | Status |
|
|
494
|
+
|-----------|----------|-------------|--------|
|
|
495
|
+
| **Django** | Python | `test-projects/django-app` | ✅ |
|
|
496
|
+
| **FastAPI** | Python | `test-projects/fastapi-app` | ✅ |
|
|
497
|
+
| **Flask** | Python | `test-projects/flask-app` | ✅ |
|
|
498
|
+
| **Laravel** | PHP | `test-projects/laravel-app` | ✅ |
|
|
499
|
+
| **Rails** | Ruby | `test-projects/rails-app` | ✅ |
|
|
500
|
+
| **Spring Boot** | Java | `test-projects/spring-boot-app` | ✅ Improved v1.3.6 |
|
|
501
|
+
| Express.js | JavaScript | `test-projects/express-api` | ✅ Fixed v1.3.6 |
|
|
502
|
+
| **NestJS** | TypeScript | `test-projects/nestjs-backend` | ✅ Fixed v1.3.6 |
|
|
503
|
+
| React | JavaScript | `test-projects/react-app` | ✅ |
|
|
504
|
+
| Python CLI | Python | `test-projects/python-cli` | ✅ |
|
|
505
|
+
| Salesforce DX | Apex | `test-projects/salesforce-cli` | ✅ Enhanced v1.3.6 |
|
|
506
|
+
| **Go** | Go | `test-projects/go-microservice` | ✅ **NEW v1.3.6** |
|
|
507
|
+
| **Rust** | Rust | `test-projects/rust-cli` | ✅ **NEW v1.3.6** |
|
|
508
|
+
| **PHP Vanilla** | PHP | `test-projects/php-vanilla` | ✅ **NEW v1.3.6** |
|
|
509
|
+
|
|
510
|
+
**v1.3.6 Improvements:**
|
|
511
|
+
- **NestJS**: Now correctly detects `@nestjs/*` scoped packages
|
|
512
|
+
- **Spring Boot**: Parses `pom.xml` and `build.gradle`/`build.gradle.kts`
|
|
513
|
+
- **Express**: Shows "API Server" instead of "Microservices" for single service directories
|
|
514
|
+
- **Apex**: Enhanced parser with generics support (`List<Account>`, `Map<String, Object>`)
|
|
477
515
|
|
|
478
516
|
ai-first automatically detects and indexes Android/Kotlin projects:
|
|
479
517
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
|
-
"lastIndexed": "2026-03-
|
|
4
|
-
"totalFiles":
|
|
3
|
+
"lastIndexed": "2026-03-29T16:22:02.985Z",
|
|
4
|
+
"totalFiles": 39,
|
|
5
5
|
"files": {
|
|
6
6
|
"ai-context/ai_context.md": {
|
|
7
7
|
"path": "ai-context/ai_context.md",
|
|
@@ -191,6 +191,90 @@
|
|
|
191
191
|
"mtime": 1774223797696.0662,
|
|
192
192
|
"size": 22516,
|
|
193
193
|
"indexedAt": "2026-03-23T00:06:12.947Z"
|
|
194
|
+
},
|
|
195
|
+
"ai-context/index-state.json": {
|
|
196
|
+
"path": "ai-context/index-state.json",
|
|
197
|
+
"hash": "0d74158513149407f8d2045141feaf91",
|
|
198
|
+
"mtime": 1774801170286.9082,
|
|
199
|
+
"size": 9204,
|
|
200
|
+
"indexedAt": "2026-03-29T16:22:02.984Z"
|
|
201
|
+
},
|
|
202
|
+
"CHANGELOG.md": {
|
|
203
|
+
"path": "CHANGELOG.md",
|
|
204
|
+
"hash": "a99aa9ff95bb348d930c602ad9286d5a",
|
|
205
|
+
"mtime": 1774800256611.2012,
|
|
206
|
+
"size": 30812,
|
|
207
|
+
"indexedAt": "2026-03-29T16:10:02.228Z"
|
|
208
|
+
},
|
|
209
|
+
"dist/commands/ai-first.js": {
|
|
210
|
+
"path": "dist/commands/ai-first.js",
|
|
211
|
+
"hash": "9d2ea4f9697a0ba2b95a83d8bfcb4f48",
|
|
212
|
+
"mtime": 1774801303602.294,
|
|
213
|
+
"size": 61097,
|
|
214
|
+
"indexedAt": "2026-03-29T16:22:02.984Z"
|
|
215
|
+
},
|
|
216
|
+
"dist/commands/ai-first.js.map": {
|
|
217
|
+
"path": "dist/commands/ai-first.js.map",
|
|
218
|
+
"hash": "a0587b484fe51212a37ec8819c01d99b",
|
|
219
|
+
"mtime": 1774801303601.294,
|
|
220
|
+
"size": 50906,
|
|
221
|
+
"indexedAt": "2026-03-29T16:22:02.984Z"
|
|
222
|
+
},
|
|
223
|
+
"dist/core/gitAnalyzer.d.ts": {
|
|
224
|
+
"path": "dist/core/gitAnalyzer.d.ts",
|
|
225
|
+
"hash": "250a62200196c045bd6fbeaa2a4a1728",
|
|
226
|
+
"mtime": 1774800594072.5566,
|
|
227
|
+
"size": 2516,
|
|
228
|
+
"indexedAt": "2026-03-29T16:10:02.229Z"
|
|
229
|
+
},
|
|
230
|
+
"dist/core/gitAnalyzer.d.ts.map": {
|
|
231
|
+
"path": "dist/core/gitAnalyzer.d.ts.map",
|
|
232
|
+
"hash": "931e7ec9b582a69881d1f710120ed274",
|
|
233
|
+
"mtime": 1774800594071.5566,
|
|
234
|
+
"size": 2103,
|
|
235
|
+
"indexedAt": "2026-03-29T16:10:02.229Z"
|
|
236
|
+
},
|
|
237
|
+
"dist/core/gitAnalyzer.js": {
|
|
238
|
+
"path": "dist/core/gitAnalyzer.js",
|
|
239
|
+
"hash": "e5be2b391b7f13b2bd6154eb6ec2d798",
|
|
240
|
+
"mtime": 1774800594070.5566,
|
|
241
|
+
"size": 13007,
|
|
242
|
+
"indexedAt": "2026-03-29T16:10:02.229Z"
|
|
243
|
+
},
|
|
244
|
+
"dist/core/gitAnalyzer.js.map": {
|
|
245
|
+
"path": "dist/core/gitAnalyzer.js.map",
|
|
246
|
+
"hash": "9333c5a3f0f31e6a08d3046c394facd7",
|
|
247
|
+
"mtime": 1774800594070.5566,
|
|
248
|
+
"size": 12951,
|
|
249
|
+
"indexedAt": "2026-03-29T16:10:02.229Z"
|
|
250
|
+
},
|
|
251
|
+
"package.json": {
|
|
252
|
+
"path": "package.json",
|
|
253
|
+
"hash": "23c4a299913c43724593050a66348e37",
|
|
254
|
+
"mtime": 1774800203952.9775,
|
|
255
|
+
"size": 2471,
|
|
256
|
+
"indexedAt": "2026-03-29T16:10:02.229Z"
|
|
257
|
+
},
|
|
258
|
+
"src/commands/ai-first.ts": {
|
|
259
|
+
"path": "src/commands/ai-first.ts",
|
|
260
|
+
"hash": "f511373d2b4ff5a09a3d4f7e571714a6",
|
|
261
|
+
"mtime": 1774801296509.2107,
|
|
262
|
+
"size": 55577,
|
|
263
|
+
"indexedAt": "2026-03-29T16:22:02.985Z"
|
|
264
|
+
},
|
|
265
|
+
"src/core/gitAnalyzer.ts": {
|
|
266
|
+
"path": "src/core/gitAnalyzer.ts",
|
|
267
|
+
"hash": "19c44cdcef1a8ad0d4867f85b5c3c030",
|
|
268
|
+
"mtime": 1774800584963.2427,
|
|
269
|
+
"size": 13635,
|
|
270
|
+
"indexedAt": "2026-03-29T16:10:02.229Z"
|
|
271
|
+
},
|
|
272
|
+
"dist/commands/ai-first.d.ts.map": {
|
|
273
|
+
"path": "dist/commands/ai-first.d.ts.map",
|
|
274
|
+
"hash": "6f1ddd2700e9d1c6ddb19a6a896c1cf2",
|
|
275
|
+
"mtime": 1774801303603.294,
|
|
276
|
+
"size": 480,
|
|
277
|
+
"indexedAt": "2026-03-29T16:22:02.984Z"
|
|
194
278
|
}
|
|
195
279
|
}
|
|
196
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architecture.d.ts","sourceRoot":"","sources":["../../src/analyzers/architecture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsC,MAAM,wBAAwB,CAAC;AAItF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,EAAE,MAAM,GACd,oBAAoB,CAsBtB;
|
|
1
|
+
{"version":3,"file":"architecture.d.ts","sourceRoot":"","sources":["../../src/analyzers/architecture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsC,MAAM,wBAAwB,CAAC;AAItF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,EAAE,MAAM,GACd,oBAAoB,CAsBtB;AAmTD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAsB/E"}
|
|
@@ -6,7 +6,7 @@ export function analyzeArchitecture(files, rootDir) {
|
|
|
6
6
|
const directories = Array.from(groupByDirectory(files).keys());
|
|
7
7
|
const extensions = Array.from(groupByExtension(files).keys());
|
|
8
8
|
// Detect patterns based on directory structure
|
|
9
|
-
const patterns = detectPatterns(directories, extensions);
|
|
9
|
+
const patterns = detectPatterns(directories, extensions, files);
|
|
10
10
|
// Identify layers
|
|
11
11
|
const layers = detectLayers(directories);
|
|
12
12
|
// Identify modules
|
|
@@ -23,7 +23,7 @@ export function analyzeArchitecture(files, rootDir) {
|
|
|
23
23
|
/**
|
|
24
24
|
* Detect architecture patterns from directory structure
|
|
25
25
|
*/
|
|
26
|
-
function detectPatterns(directories, extensions) {
|
|
26
|
+
function detectPatterns(directories, extensions, files) {
|
|
27
27
|
const patterns = [];
|
|
28
28
|
const dirs = directories.filter(d => d && d !== "root");
|
|
29
29
|
// Check for common patterns
|
|
@@ -53,10 +53,38 @@ function detectPatterns(directories, extensions) {
|
|
|
53
53
|
if (hasPackages || hasApps) {
|
|
54
54
|
patterns.push("Monorepo");
|
|
55
55
|
}
|
|
56
|
-
// Microservices
|
|
57
|
-
|
|
56
|
+
// Microservices - check for multiple service subdirectories
|
|
57
|
+
const serviceSubdirs = new Set();
|
|
58
|
+
const apiSubdirs = new Set();
|
|
59
|
+
const versionPattern = /^v?\d+$/i;
|
|
60
|
+
for (const file of files) {
|
|
61
|
+
const parts = file.relativePath.split("/");
|
|
62
|
+
// Check for services/*/ pattern (must be an actual subdirectory, not a file)
|
|
63
|
+
const servicesIndex = parts.indexOf("services");
|
|
64
|
+
if (servicesIndex >= 0 && servicesIndex < parts.length - 2) {
|
|
65
|
+
// parts.length - 2 ensures there's at least one directory after 'services' before the file
|
|
66
|
+
const subdir = parts[servicesIndex + 1];
|
|
67
|
+
if (!versionPattern.test(subdir)) {
|
|
68
|
+
serviceSubdirs.add(subdir);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Check for api/*/ pattern at root level (must be an actual subdirectory)
|
|
72
|
+
if (parts[0] === "api" && parts.length > 2) {
|
|
73
|
+
// parts.length > 2 ensures there's at least one directory after 'api' before the file
|
|
74
|
+
const subdir = parts[1];
|
|
75
|
+
if (!versionPattern.test(subdir)) {
|
|
76
|
+
apiSubdirs.add(subdir);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (serviceSubdirs.size >= 2 || apiSubdirs.size >= 2) {
|
|
58
81
|
patterns.push("Microservices");
|
|
59
82
|
}
|
|
83
|
+
else if (dirs.some(d => d === "services" || d === "api") ||
|
|
84
|
+
files.some(f => f.relativePath.includes("/services/") || f.relativePath.includes("/api/")) ||
|
|
85
|
+
serviceSubdirs.size === 1 || apiSubdirs.size === 1) {
|
|
86
|
+
patterns.push("API Server");
|
|
87
|
+
}
|
|
60
88
|
// Serverless / Functions
|
|
61
89
|
if (dirs.some(d => d.includes("functions") || d.includes("handlers") || d.includes("lambda"))) {
|
|
62
90
|
patterns.push("Serverless / Functions");
|
|
@@ -166,7 +194,46 @@ function inferModuleResponsibility(dir, extensions) {
|
|
|
166
194
|
if (name.includes("auth") || name.includes("security") || name.includes("login")) {
|
|
167
195
|
return "Authentication and authorization";
|
|
168
196
|
}
|
|
169
|
-
|
|
197
|
+
// Infer from file types
|
|
198
|
+
const uniqueExts = [...new Set(extensions)];
|
|
199
|
+
if (uniqueExts.includes("ts") || uniqueExts.includes("tsx") || uniqueExts.includes("js") || uniqueExts.includes("jsx")) {
|
|
200
|
+
if (uniqueExts.includes("css") || uniqueExts.includes("scss") || uniqueExts.includes("less")) {
|
|
201
|
+
return "Frontend components and styling";
|
|
202
|
+
}
|
|
203
|
+
return "JavaScript/TypeScript implementation";
|
|
204
|
+
}
|
|
205
|
+
if (uniqueExts.includes("py")) {
|
|
206
|
+
return "Python implementation";
|
|
207
|
+
}
|
|
208
|
+
if (uniqueExts.includes("java")) {
|
|
209
|
+
return "Java implementation";
|
|
210
|
+
}
|
|
211
|
+
if (uniqueExts.includes("go")) {
|
|
212
|
+
return "Go implementation";
|
|
213
|
+
}
|
|
214
|
+
if (uniqueExts.includes("rs")) {
|
|
215
|
+
return "Rust implementation";
|
|
216
|
+
}
|
|
217
|
+
if (uniqueExts.includes("php")) {
|
|
218
|
+
return "PHP implementation";
|
|
219
|
+
}
|
|
220
|
+
if (uniqueExts.includes("rb")) {
|
|
221
|
+
return "Ruby implementation";
|
|
222
|
+
}
|
|
223
|
+
if (uniqueExts.includes("swift")) {
|
|
224
|
+
return "Swift implementation";
|
|
225
|
+
}
|
|
226
|
+
if (uniqueExts.includes("kt")) {
|
|
227
|
+
return "Kotlin implementation";
|
|
228
|
+
}
|
|
229
|
+
if (uniqueExts.includes("cls") || uniqueExts.includes("trigger")) {
|
|
230
|
+
return "Apex/Salesforce implementation";
|
|
231
|
+
}
|
|
232
|
+
// Fallback based on file count
|
|
233
|
+
if (extensions.length === 1) {
|
|
234
|
+
return "Single file module";
|
|
235
|
+
}
|
|
236
|
+
return `Module with ${extensions.length} source files`;
|
|
170
237
|
}
|
|
171
238
|
/**
|
|
172
239
|
* Infer module dependencies
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architecture.js","sourceRoot":"","sources":["../../src/analyzers/architecture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"architecture.js","sourceRoot":"","sources":["../../src/analyzers/architecture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entrypoints.d.ts","sourceRoot":"","sources":["../../src/analyzers/entrypoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;IAChI,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"entrypoints.d.ts","sourceRoot":"","sources":["../../src/analyzers/entrypoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;IAChI,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAkHpF;AAqbD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAiBzE"}
|