@mcp-graph-workflow/mcp-graph 5.27.0 → 5.28.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 +10 -9
- package/dist/api/router.d.ts.map +1 -1
- package/dist/api/router.js +2 -0
- package/dist/api/router.js.map +1 -1
- package/dist/api/routes/docs-reference.d.ts +7 -0
- package/dist/api/routes/docs-reference.d.ts.map +1 -0
- package/dist/api/routes/docs-reference.js +136 -0
- package/dist/api/routes/docs-reference.js.map +1 -0
- package/dist/api/routes/knowledge.d.ts.map +1 -1
- package/dist/api/routes/knowledge.js +90 -8
- package/dist/api/routes/knowledge.js.map +1 -1
- package/dist/cli/commands/update.js +1 -1
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/core/config/ai-memory-generator.d.ts +2 -2
- package/dist/core/config/ai-memory-generator.d.ts.map +1 -1
- package/dist/core/config/ai-memory-generator.js +33 -176
- package/dist/core/config/ai-memory-generator.js.map +1 -1
- package/dist/core/config/ignore-templates.d.ts +20 -0
- package/dist/core/config/ignore-templates.d.ts.map +1 -0
- package/dist/core/config/ignore-templates.js +176 -0
- package/dist/core/config/ignore-templates.js.map +1 -0
- package/dist/core/config/reference-content.d.ts +35 -0
- package/dist/core/config/reference-content.d.ts.map +1 -0
- package/dist/core/config/reference-content.js +449 -0
- package/dist/core/config/reference-content.js.map +1 -0
- package/dist/core/deployer/deploy-readiness.d.ts +12 -0
- package/dist/core/deployer/deploy-readiness.d.ts.map +1 -0
- package/dist/core/deployer/deploy-readiness.js +102 -0
- package/dist/core/deployer/deploy-readiness.js.map +1 -0
- package/dist/core/docs/doc-generator.d.ts +23 -0
- package/dist/core/docs/doc-generator.d.ts.map +1 -0
- package/dist/core/docs/doc-generator.js +86 -0
- package/dist/core/docs/doc-generator.js.map +1 -0
- package/dist/core/docs/doc-updater.d.ts +10 -0
- package/dist/core/docs/doc-updater.d.ts.map +1 -0
- package/dist/core/docs/doc-updater.js +27 -0
- package/dist/core/docs/doc-updater.js.map +1 -0
- package/dist/core/docs/route-introspector.d.ts +19 -0
- package/dist/core/docs/route-introspector.d.ts.map +1 -0
- package/dist/core/docs/route-introspector.js +60 -0
- package/dist/core/docs/route-introspector.js.map +1 -0
- package/dist/core/docs/tool-introspector.d.ts +17 -0
- package/dist/core/docs/tool-introspector.d.ts.map +1 -0
- package/dist/core/docs/tool-introspector.js +82 -0
- package/dist/core/docs/tool-introspector.js.map +1 -0
- package/dist/core/planner/lifecycle-phase.d.ts +1 -1
- package/dist/core/planner/lifecycle-phase.d.ts.map +1 -1
- package/dist/core/planner/lifecycle-phase.js +52 -0
- package/dist/core/planner/lifecycle-phase.js.map +1 -1
- package/dist/core/rag/phase-metadata.d.ts.map +1 -1
- package/dist/core/rag/phase-metadata.js +5 -0
- package/dist/core/rag/phase-metadata.js.map +1 -1
- package/dist/core/store/knowledge-store.d.ts +7 -0
- package/dist/core/store/knowledge-store.d.ts.map +1 -1
- package/dist/core/store/knowledge-store.js +15 -0
- package/dist/core/store/knowledge-store.js.map +1 -1
- package/dist/mcp/init-project.d.ts.map +1 -1
- package/dist/mcp/init-project.js +68 -8
- package/dist/mcp/init-project.js.map +1 -1
- package/dist/mcp/tools/analyze.d.ts.map +1 -1
- package/dist/mcp/tools/analyze.js +40 -1
- package/dist/mcp/tools/analyze.js.map +1 -1
- package/dist/mcp/tools/help.d.ts +3 -0
- package/dist/mcp/tools/help.d.ts.map +1 -0
- package/dist/mcp/tools/help.js +74 -0
- package/dist/mcp/tools/help.js.map +1 -0
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +2 -0
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/list-skills.js +1 -1
- package/dist/mcp/tools/list-skills.js.map +1 -1
- package/dist/mcp/tools/manage-skill.js +1 -1
- package/dist/mcp/tools/manage-skill.js.map +1 -1
- package/dist/mcp/tools/set-phase.js +1 -1
- package/dist/mcp/tools/set-phase.js.map +1 -1
- package/dist/schemas/deployer-schema.d.ts +34 -0
- package/dist/schemas/deployer-schema.d.ts.map +1 -0
- package/dist/schemas/deployer-schema.js +17 -0
- package/dist/schemas/deployer-schema.js.map +1 -0
- package/dist/schemas/skill.schema.d.ts +3 -0
- package/dist/schemas/skill.schema.d.ts.map +1 -1
- package/dist/schemas/skill.schema.js +1 -1
- package/dist/schemas/skill.schema.js.map +1 -1
- package/dist/web/dashboard/dist/assets/{benchmark-tab-ChRIBQcA.js → benchmark-tab-Dx9G7cqf.js} +1 -1
- package/dist/web/dashboard/dist/assets/{circle-alert-CDZ2Oz9A.js → circle-alert-B17sfIdw.js} +1 -1
- package/dist/web/dashboard/dist/assets/constants-Dd6A34aQ.js +1 -0
- package/dist/web/dashboard/dist/assets/{context-tab-ClyJEQyQ.js → context-tab-BX2hlI9H.js} +1 -1
- package/dist/web/dashboard/dist/assets/docs-tab-sxC7Gxc7.js +1 -0
- package/dist/web/dashboard/dist/assets/{gitnexus-tab-uG_IXJAC.js → gitnexus-tab-DEcNhLvY.js} +1 -1
- package/dist/web/dashboard/dist/assets/{graph-section-BfAmG5lE.js → graph-section-CsHifp70.js} +1 -1
- package/dist/web/dashboard/dist/assets/{graph-tab-CG9ZAKno.js → graph-tab-D8ZSUyGR.js} +1 -1
- package/dist/web/dashboard/dist/assets/{graph-utils-_5ZIVYpg.js → graph-utils-D10A5HwE.js} +1 -1
- package/dist/web/dashboard/dist/assets/{index-jFrjjy9L.js → index-07Y4UWP1.js} +1 -1
- package/dist/web/dashboard/dist/assets/{index-CaC7cmzW.js → index-CVRN6scU.js} +1 -1
- package/dist/web/dashboard/dist/assets/index-DVIgWBT4.css +1 -0
- package/dist/web/dashboard/dist/assets/{index-BaFYAVmk.js → index-Dbaws8C6.js} +46 -41
- package/dist/web/dashboard/dist/assets/{insights-tab-EnTEAW50.js → insights-tab-DJAtypOr.js} +1 -1
- package/dist/web/dashboard/dist/assets/{journey-tab-Ba2R4l8c.js → journey-tab-CXtDFeGm.js} +1 -1
- package/dist/web/dashboard/dist/assets/{languages-tab-BOZaQLA6.js → languages-tab-03j3C58E.js} +25 -30
- package/dist/web/dashboard/dist/assets/{loader-circle-DIYk9wxS.js → loader-circle-BNEIXs1s.js} +1 -1
- package/dist/web/dashboard/dist/assets/{logs-tab-ZWCruIzU.js → logs-tab-D3BE923P.js} +1 -1
- package/dist/web/dashboard/dist/assets/{lsp-tab-B_xnLDB4.js → lsp-tab-cac4ysh4.js} +1 -1
- package/dist/web/dashboard/dist/assets/memories-tab-BPJTM45d.js +1 -0
- package/dist/web/dashboard/dist/assets/{prd-backlog-tab-BByZFrjw.js → prd-backlog-tab-5PCpKm0j.js} +1 -1
- package/dist/web/dashboard/dist/assets/{refresh-cw-Ds0I1g9D.js → refresh-cw-CI2U4FGa.js} +1 -1
- package/dist/web/dashboard/dist/assets/{siebel-tab-BndR6AA4.js → siebel-tab-BuhOpZO3.js} +3 -3
- package/dist/web/dashboard/dist/assets/{skills-tab-DT6taugG.js → skills-tab-BHWwOBtm.js} +1 -1
- package/dist/web/dashboard/dist/assets/{style-C5z-qKN9.js → style-BPgBTbDw.js} +1 -1
- package/dist/web/dashboard/dist/assets/{triangle-alert-DA1VDEuy.js → triangle-alert-aqoYdsgW.js} +1 -1
- package/dist/web/dashboard/dist/index.html +2 -2
- package/package.json +15 -2
- package/dist/web/dashboard/dist/assets/constants-lq4BIQN3.js +0 -1
- package/dist/web/dashboard/dist/assets/index-C4f-Fp0Q.css +0 -1
- package/dist/web/dashboard/dist/assets/memories-tab-EeBOo09e.js +0 -1
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reference content extracted from ai-memory-generator.ts.
|
|
3
|
+
* Shared between the generator (full mode) and the help MCP tool (on-demand).
|
|
4
|
+
*/
|
|
5
|
+
export const TOOL_TABLE_FULL = `### Ferramentas MCP disponíveis (46 tools + 6 deprecated)
|
|
6
|
+
|
|
7
|
+
#### Projeto & Grafo
|
|
8
|
+
|
|
9
|
+
| Tool | Quando usar |
|
|
10
|
+
|------|-------------|
|
|
11
|
+
| \`init\` | Inicializar grafo do projeto (cria DB, AI memory files, detecta MCPs) |
|
|
12
|
+
| \`list\` | Listar nodes do grafo (filtrar por tipo/status/parent) |
|
|
13
|
+
| \`show\` | Ver detalhes de um node específico (metadata, deps, knowledge) |
|
|
14
|
+
| \`search\` | Busca full-text no grafo (FTS5 + BM25 ranking) |
|
|
15
|
+
| \`export\` | Exportar grafo (JSON completo ou Mermaid diagram) |
|
|
16
|
+
| \`snapshot\` | Criar/restaurar snapshots do grafo (backup/rollback) |
|
|
17
|
+
| \`metrics\` | Estatísticas do grafo (\`stats\`) ou velocidade por sprint (\`velocity\`) |
|
|
18
|
+
|
|
19
|
+
#### Nodes & Edges
|
|
20
|
+
|
|
21
|
+
| Tool | Quando usar |
|
|
22
|
+
|------|-------------|
|
|
23
|
+
| \`node\` | CRUD de nodes: action \`add\` (criar), \`update\` (atualizar), \`delete\` (remover) |
|
|
24
|
+
| \`move_node\` | Mover node para outro parent |
|
|
25
|
+
| \`clone_node\` | Clonar node com filhos (deep copy) |
|
|
26
|
+
| \`edge\` | Criar/remover relações entre nodes (depends_on, blocks, related_to) |
|
|
27
|
+
| \`update_status\` | Mudar status de um node (backlog→ready→in_progress→done) |
|
|
28
|
+
| \`bulk_update_status\` | Atualizar status de múltiplos nodes de uma vez |
|
|
29
|
+
|
|
30
|
+
#### PRD & Planejamento
|
|
31
|
+
|
|
32
|
+
| Tool | Quando usar |
|
|
33
|
+
|------|-------------|
|
|
34
|
+
| \`import_prd\` | Importar PRD → segmentar → classificar → extrair → inferir deps → criar grafo + indexar knowledge |
|
|
35
|
+
| \`plan_sprint\` | Gerar relatório de planejamento de sprint (capacity, velocity, recomendações) |
|
|
36
|
+
| \`analyze\` | 24 modos de análise por fase do lifecycle (ver modos abaixo) |
|
|
37
|
+
| \`set_phase\` | Forçar/resetar fase do lifecycle (strict/advisory, gate checks) + Code Intelligence mode (strict/advisory/off) + Tool Prerequisites mode (strict/advisory/off) |
|
|
38
|
+
|
|
39
|
+
#### Contexto & RAG
|
|
40
|
+
|
|
41
|
+
| Tool | Quando usar |
|
|
42
|
+
|------|-------------|
|
|
43
|
+
| \`next\` | Próxima task recomendada (prioridade + deps + knowledge coverage 0-1 + TDD hints + velocity) |
|
|
44
|
+
| \`context\` | Contexto comprimido da task (token-efficient, ~73% redução) |
|
|
45
|
+
| \`rag_context\` | Contexto RAG phase-aware (tiers: summary/standard/deep, budget 60/30/10) |
|
|
46
|
+
| \`reindex_knowledge\` | Rebuild completo do índice de knowledge (BM25 + TF-IDF) |
|
|
47
|
+
| \`sync_stack_docs\` | Sincronizar docs das libs do projeto via Context7 |
|
|
48
|
+
|
|
49
|
+
#### Memórias do Projeto
|
|
50
|
+
|
|
51
|
+
| Tool | Quando usar |
|
|
52
|
+
|------|-------------|
|
|
53
|
+
| \`write_memory\` | Escrever memória em workflow-graph/memories/{name}.md (auto-indexa no RAG) |
|
|
54
|
+
| \`read_memory\` | Ler conteúdo de uma memória específica |
|
|
55
|
+
| \`list_memories\` | Listar todas as memórias disponíveis |
|
|
56
|
+
| \`delete_memory\` | Remover memória do filesystem e do knowledge store |
|
|
57
|
+
|
|
58
|
+
#### Validação
|
|
59
|
+
|
|
60
|
+
| Tool | Quando usar |
|
|
61
|
+
|------|-------------|
|
|
62
|
+
| \`validate\` | Validação: action \`task\` (browser A/B com Playwright) ou \`ac\` (critérios de aceitação) |
|
|
63
|
+
|
|
64
|
+
#### Skills
|
|
65
|
+
|
|
66
|
+
| Tool | Quando usar |
|
|
67
|
+
|------|-------------|
|
|
68
|
+
| \`manage_skill\` | Gerenciar skills: action \`list\` (listar/filtrar por fase), \`enable\`/\`disable\`, CRUD de custom skills |
|
|
69
|
+
|
|
70
|
+
#### Utilitários
|
|
71
|
+
|
|
72
|
+
| Tool | Quando usar |
|
|
73
|
+
|------|-------------|
|
|
74
|
+
| \`help\` | Referência on-demand de tools, analyze modes, skills, CLI, workflow (este tool) |
|
|
75
|
+
| \`journey\` | Gerenciar journey maps de websites (list, get, search, index para RAG) |
|
|
76
|
+
| \`import_graph\` | Importar/merge grafo JSON exportado (local wins, dry_run disponível) |
|
|
77
|
+
|
|
78
|
+
#### Code Intelligence (LSP)
|
|
79
|
+
|
|
80
|
+
| Tool | Quando usar |
|
|
81
|
+
|------|-------------|
|
|
82
|
+
| \`code_intelligence\` | Análise semântica via LSP: definition, references, hover, rename, call_hierarchy, diagnostics, symbols. Multi-language (TS, Python, Rust, Go, Java, C/C++, Ruby, PHP, Kotlin, Swift, C#, Lua) |
|
|
83
|
+
|
|
84
|
+
#### Knowledge Avançado
|
|
85
|
+
|
|
86
|
+
| Tool | Quando usar |
|
|
87
|
+
|------|-------------|
|
|
88
|
+
| \`knowledge_feedback\` | Feedback em docs do knowledge store (helpful/unhelpful/outdated) para melhorar RAG |
|
|
89
|
+
| \`knowledge_stats\` | Estatísticas do knowledge store: contagem por source, qualidade, docs mais acessados |
|
|
90
|
+
| \`export_knowledge\` | Export/import/preview de knowledge packages para colaboração entre projetos |
|
|
91
|
+
|
|
92
|
+
#### Siebel CRM (8 tools)
|
|
93
|
+
|
|
94
|
+
| Tool | Quando usar |
|
|
95
|
+
|------|-------------|
|
|
96
|
+
| \`siebel_import_sif\` | Importar .SIF (XML Siebel) — parse, extrai objetos, mapeia no grafo, indexa no knowledge |
|
|
97
|
+
| \`siebel_analyze\` | Analisar objetos Siebel: impact, dependencies, circular, diff, refactor_script, troubleshoot |
|
|
98
|
+
| \`siebel_composer\` | Automação do Siebel Composer via Playwright: navigate, import_sif, edit, publish, capture |
|
|
99
|
+
| \`siebel_env\` | Gerenciar ambientes Siebel CRM: list, add, remove |
|
|
100
|
+
| \`siebel_validate\` | Validar .SIF: full, naming, security, performance, migration_ready, code_review |
|
|
101
|
+
| \`siebel_search\` | Buscar objetos Siebel indexados no knowledge store (BCs, Applets, Views, Workflows) |
|
|
102
|
+
| \`siebel_generate_sif\` | Gerar SIF: prepare, finalize, templates, scaffold, clone_adapt, auto_wire, wsdl_to_sif |
|
|
103
|
+
| \`siebel_import_docs\` | Importar docs (Swagger/WSDL/PDF/HTML/DOCX/MD) no knowledge store para contexto Siebel |
|
|
104
|
+
|
|
105
|
+
#### Translation (3 tools)
|
|
106
|
+
|
|
107
|
+
| Tool | Quando usar |
|
|
108
|
+
|------|-------------|
|
|
109
|
+
| \`translate_code\` | Traduzir código entre linguagens — cria job, analisa constructs, gera prompt, finaliza com código |
|
|
110
|
+
| \`analyze_translation\` | Analisar código-fonte para prontidão de tradução (language, constructs, complexity, translatability) |
|
|
111
|
+
| \`translation_jobs\` | Gerenciar jobs de tradução: list, get, delete, stats |`;
|
|
112
|
+
export const DEPRECATED_TOOLS_SECTION = `#### Tools Deprecated (backward compat, removidos na v7.0)
|
|
113
|
+
|
|
114
|
+
| Tool antigo | Usar no lugar |
|
|
115
|
+
|-------------|---------------|
|
|
116
|
+
| \`add_node\` | \`node\` com action:\`add\` |
|
|
117
|
+
| \`update_node\` | \`node\` com action:\`update\` |
|
|
118
|
+
| \`delete_node\` | \`node\` com action:\`delete\` |
|
|
119
|
+
| \`validate_task\` | \`validate\` com action:\`task\` |
|
|
120
|
+
| \`validate_ac\` | \`validate\` com action:\`ac\` |
|
|
121
|
+
| \`list_skills\` | \`manage_skill\` com action:\`list\` |`;
|
|
122
|
+
export const ANALYZE_MODES_SECTION = `### Modos do analyze por fase
|
|
123
|
+
|
|
124
|
+
| Fase | Modo | O que verifica |
|
|
125
|
+
|------|------|----------------|
|
|
126
|
+
| ANALYZE | \`prd_quality\` | Qualidade do PRD (completude, user stories, AC) |
|
|
127
|
+
| ANALYZE | \`scope\` | Escopo do grafo (tipos, distribuição, cobertura) |
|
|
128
|
+
| ANALYZE | \`ready\` | Definition of Ready (bloqueios, dependências, AC) |
|
|
129
|
+
| ANALYZE | \`risk\` | Riscos (complexidade, deps, tamanho, AC faltantes) |
|
|
130
|
+
| ANALYZE | \`blockers\` | Bloqueios transitivos de um node |
|
|
131
|
+
| ANALYZE | \`cycles\` | Ciclos de dependência no grafo |
|
|
132
|
+
| ANALYZE | \`critical_path\` | Caminho crítico (sequência mais longa de deps) |
|
|
133
|
+
| PLAN | \`decompose\` | Tasks grandes que precisam ser decompostas |
|
|
134
|
+
| DESIGN | \`adr\` | Validação de ADRs (Architecture Decision Records) |
|
|
135
|
+
| DESIGN | \`traceability\` | Matriz de rastreabilidade (req → task → test) |
|
|
136
|
+
| DESIGN | \`coupling\` | Acoplamento entre módulos |
|
|
137
|
+
| DESIGN | \`interfaces\` | Verificação de interfaces e contratos |
|
|
138
|
+
| DESIGN | \`tech_risk\` | Riscos técnicos (complexidade, stack, deps externas) |
|
|
139
|
+
| DESIGN | \`design_ready\` | Gate DESIGN→PLAN (pré-requisitos atendidos?) |
|
|
140
|
+
| IMPLEMENT | \`implement_done\` | Definition of Done (8 checks: 4 required + 4 recommended) |
|
|
141
|
+
| IMPLEMENT | \`tdd_check\` | Aderência TDD (specs sugeridos por AC) |
|
|
142
|
+
| IMPLEMENT | \`progress\` | Sprint burndown + velocity trend + blockers + ETA |
|
|
143
|
+
| VALIDATE | \`validate_ready\` | Gate IMPLEMENT→VALIDATE |
|
|
144
|
+
| VALIDATE | \`done_integrity\` | Integridade dos nodes marcados done |
|
|
145
|
+
| VALIDATE | \`status_flow\` | Fluxo de status válido (sem pulos) |
|
|
146
|
+
| REVIEW | \`review_ready\` | Gate VALIDATE→REVIEW |
|
|
147
|
+
| HANDOFF | \`handoff_ready\` | Gate REVIEW→HANDOFF |
|
|
148
|
+
| HANDOFF | \`doc_completeness\` | Completude de documentação |
|
|
149
|
+
| DEPLOY | \`deploy_ready\` | Gate HANDOFF→DEPLOY (snapshot, tasks done, no blocked) |
|
|
150
|
+
| DEPLOY | \`release_check\` | Validação de release readiness |
|
|
151
|
+
| LISTENING | \`listening_ready\` | Gate DEPLOY→LISTENING |
|
|
152
|
+
| LISTENING | \`backlog_health\` | Saúde do backlog (distribuição, aging) |`;
|
|
153
|
+
export const KNOWLEDGE_PIPELINE_SECTION = `### Pipeline de Conhecimento (Knowledge Store + RAG)
|
|
154
|
+
|
|
155
|
+
Fontes indexadas automaticamente:
|
|
156
|
+
- **Project memories** — ao escrever com \`write_memory\` (auto-indexa)
|
|
157
|
+
- **PRD imports** — ao importar com \`import_prd\`
|
|
158
|
+
- **Browser captures** — ao validar com \`validate_task\`
|
|
159
|
+
- **Stack docs** — ao sincronizar com \`sync_stack_docs\`
|
|
160
|
+
- **Sprint reports** — ao gerar com \`plan_sprint\`
|
|
161
|
+
|
|
162
|
+
Recuperação: \`rag_context\` monta contexto phase-aware com budget de tokens:
|
|
163
|
+
- 60% contexto do grafo (nodes, deps, status)
|
|
164
|
+
- 30% knowledge store (BM25 + TF-IDF)
|
|
165
|
+
- 10% metadata de fase
|
|
166
|
+
|
|
167
|
+
Manual: \`reindex_knowledge\` para rebuild completo do índice.`;
|
|
168
|
+
export const SKILLS_SECTION = `### Skills Built-in (40 skills)
|
|
169
|
+
|
|
170
|
+
40 skills mapeadas às fases do lifecycle. Use \`list_skills\` para descobrir por fase ou ver instruções completas.
|
|
171
|
+
|
|
172
|
+
#### Skills por fase
|
|
173
|
+
|
|
174
|
+
| Fase | Skills sugeridas |
|
|
175
|
+
|------|-----------------|
|
|
176
|
+
| ANALYZE | \`create-prd-chat-mode\`, \`business-analyst\`, \`product-manager\` |
|
|
177
|
+
| DESIGN | \`breakdown-epic-arch\`, \`context-architect\`, \`backend-architect\` |
|
|
178
|
+
| PLAN | \`breakdown-feature-prd\`, \`track-with-mcp-graph\` |
|
|
179
|
+
| IMPLEMENT | \`subagent-driven-development\`, \`xp-bootstrap\`, \`self-healing-awareness\` |
|
|
180
|
+
| VALIDATE | \`playwright-explore-website\`, \`playwright-generate-test\`, \`e2e-testing\` |
|
|
181
|
+
| REVIEW | \`code-reviewer\`, \`code-review-checklist\`, \`review-and-refactor\`, \`observability-engineer\` |
|
|
182
|
+
|
|
183
|
+
#### Categorias adicionais (multi-fase)
|
|
184
|
+
|
|
185
|
+
| Categoria | Skills |
|
|
186
|
+
|-----------|--------|
|
|
187
|
+
| software-design | SOLID, KISS, YAGNI, DRY, clean-architecture, composition-over-inheritance |
|
|
188
|
+
| security | \`owasp-web-security\`, \`auth-and-secrets\`, \`database-and-deps-security\` |
|
|
189
|
+
| ddd | \`domain-driven-design\` (DESIGN, PLAN) |
|
|
190
|
+
| testing | \`comprehensive-testing-reference\`, \`self-healing-awareness\` (IMPLEMENT, VALIDATE) |
|
|
191
|
+
| cost-reducer | \`cloud-infra-cost\`, \`code-level-savings\`, \`finops-services\` (DESIGN, REVIEW) |
|
|
192
|
+
| frontend-design | \`ui-ux-patterns\` (DESIGN, IMPLEMENT) |
|
|
193
|
+
|
|
194
|
+
#### Custom Skills
|
|
195
|
+
|
|
196
|
+
Crie skills específicas do projeto via \`manage_skill\` (create/enable/disable). Custom skills são armazenadas no grafo e aparecem junto com as built-in em \`list_skills\`.
|
|
197
|
+
|
|
198
|
+
#### Self-Healing Awareness
|
|
199
|
+
|
|
200
|
+
A skill \`self-healing-awareness\` monitora padrões de erro recorrentes e sugere correções automaticamente. Ativa nas fases IMPLEMENT e VALIDATE.`;
|
|
201
|
+
export const CLI_COMMANDS = `### Comandos essenciais
|
|
202
|
+
|
|
203
|
+
\`\`\`bash
|
|
204
|
+
npx mcp-graph stats # Estatísticas do grafo
|
|
205
|
+
npx mcp-graph list # Listar nodes
|
|
206
|
+
npx mcp-graph update # Atualizar configs para última versão
|
|
207
|
+
npx mcp-graph doctor # Validar ambiente de execução
|
|
208
|
+
npx mcp-graph doctor --json # Diagnóstico em JSON estruturado
|
|
209
|
+
npx mcp-graph serve --port 3000 # Dashboard visual
|
|
210
|
+
\`\`\``;
|
|
211
|
+
// ── Phase-to-tools mapping ──────────────────────────
|
|
212
|
+
const PHASE_TOOLS = {
|
|
213
|
+
ANALYZE: [
|
|
214
|
+
"import_prd",
|
|
215
|
+
"node",
|
|
216
|
+
"analyze",
|
|
217
|
+
"validate",
|
|
218
|
+
"search",
|
|
219
|
+
"list",
|
|
220
|
+
"show",
|
|
221
|
+
"help",
|
|
222
|
+
"knowledge_stats",
|
|
223
|
+
],
|
|
224
|
+
DESIGN: [
|
|
225
|
+
"node",
|
|
226
|
+
"edge",
|
|
227
|
+
"analyze",
|
|
228
|
+
"export",
|
|
229
|
+
"search",
|
|
230
|
+
"show",
|
|
231
|
+
"help",
|
|
232
|
+
"code_intelligence",
|
|
233
|
+
"siebel_analyze",
|
|
234
|
+
"siebel_import_sif",
|
|
235
|
+
"analyze_translation",
|
|
236
|
+
],
|
|
237
|
+
PLAN: [
|
|
238
|
+
"plan_sprint",
|
|
239
|
+
"analyze",
|
|
240
|
+
"sync_stack_docs",
|
|
241
|
+
"edge",
|
|
242
|
+
"node",
|
|
243
|
+
"search",
|
|
244
|
+
"help",
|
|
245
|
+
"import_graph",
|
|
246
|
+
],
|
|
247
|
+
IMPLEMENT: [
|
|
248
|
+
"next",
|
|
249
|
+
"context",
|
|
250
|
+
"rag_context",
|
|
251
|
+
"update_status",
|
|
252
|
+
"analyze",
|
|
253
|
+
"validate",
|
|
254
|
+
"write_memory",
|
|
255
|
+
"read_memory",
|
|
256
|
+
"help",
|
|
257
|
+
"code_intelligence",
|
|
258
|
+
"translate_code",
|
|
259
|
+
"siebel_generate_sif",
|
|
260
|
+
"siebel_composer",
|
|
261
|
+
"journey",
|
|
262
|
+
],
|
|
263
|
+
VALIDATE: [
|
|
264
|
+
"validate",
|
|
265
|
+
"metrics",
|
|
266
|
+
"analyze",
|
|
267
|
+
"export",
|
|
268
|
+
"next",
|
|
269
|
+
"update_status",
|
|
270
|
+
"help",
|
|
271
|
+
"siebel_validate",
|
|
272
|
+
"knowledge_feedback",
|
|
273
|
+
],
|
|
274
|
+
REVIEW: [
|
|
275
|
+
"export",
|
|
276
|
+
"metrics",
|
|
277
|
+
"analyze",
|
|
278
|
+
"search",
|
|
279
|
+
"show",
|
|
280
|
+
"help",
|
|
281
|
+
"code_intelligence",
|
|
282
|
+
"knowledge_stats",
|
|
283
|
+
"export_knowledge",
|
|
284
|
+
],
|
|
285
|
+
HANDOFF: [
|
|
286
|
+
"export",
|
|
287
|
+
"snapshot",
|
|
288
|
+
"analyze",
|
|
289
|
+
"write_memory",
|
|
290
|
+
"help",
|
|
291
|
+
"export_knowledge",
|
|
292
|
+
"translation_jobs",
|
|
293
|
+
],
|
|
294
|
+
DEPLOY: [
|
|
295
|
+
"export",
|
|
296
|
+
"snapshot",
|
|
297
|
+
"analyze",
|
|
298
|
+
"metrics",
|
|
299
|
+
"write_memory",
|
|
300
|
+
"help",
|
|
301
|
+
],
|
|
302
|
+
LISTENING: [
|
|
303
|
+
"node",
|
|
304
|
+
"import_prd",
|
|
305
|
+
"analyze",
|
|
306
|
+
"search",
|
|
307
|
+
"list",
|
|
308
|
+
"help",
|
|
309
|
+
"knowledge_stats",
|
|
310
|
+
"import_graph",
|
|
311
|
+
],
|
|
312
|
+
};
|
|
313
|
+
// ── Phase-to-analyze-modes mapping ──────────────────
|
|
314
|
+
const PHASE_ANALYZE_MODES = {
|
|
315
|
+
ANALYZE: [
|
|
316
|
+
"prd_quality",
|
|
317
|
+
"scope",
|
|
318
|
+
"ready",
|
|
319
|
+
"risk",
|
|
320
|
+
"blockers",
|
|
321
|
+
"cycles",
|
|
322
|
+
"critical_path",
|
|
323
|
+
],
|
|
324
|
+
PLAN: ["decompose"],
|
|
325
|
+
DESIGN: [
|
|
326
|
+
"adr",
|
|
327
|
+
"traceability",
|
|
328
|
+
"coupling",
|
|
329
|
+
"interfaces",
|
|
330
|
+
"tech_risk",
|
|
331
|
+
"design_ready",
|
|
332
|
+
],
|
|
333
|
+
IMPLEMENT: ["implement_done", "tdd_check", "progress"],
|
|
334
|
+
VALIDATE: ["validate_ready", "done_integrity", "status_flow"],
|
|
335
|
+
REVIEW: ["review_ready"],
|
|
336
|
+
HANDOFF: ["handoff_ready", "doc_completeness"],
|
|
337
|
+
DEPLOY: ["deploy_ready", "release_check"],
|
|
338
|
+
LISTENING: ["listening_ready", "backlog_health"],
|
|
339
|
+
};
|
|
340
|
+
// ── Phase-to-skills mapping ─────────────────────────
|
|
341
|
+
const PHASE_SKILLS = {
|
|
342
|
+
ANALYZE: ["create-prd-chat-mode", "business-analyst", "product-manager"],
|
|
343
|
+
DESIGN: ["breakdown-epic-arch", "context-architect", "backend-architect"],
|
|
344
|
+
PLAN: ["breakdown-feature-prd", "track-with-mcp-graph"],
|
|
345
|
+
IMPLEMENT: [
|
|
346
|
+
"subagent-driven-development",
|
|
347
|
+
"xp-bootstrap",
|
|
348
|
+
"self-healing-awareness",
|
|
349
|
+
],
|
|
350
|
+
VALIDATE: [
|
|
351
|
+
"playwright-explore-website",
|
|
352
|
+
"playwright-generate-test",
|
|
353
|
+
"e2e-testing",
|
|
354
|
+
],
|
|
355
|
+
REVIEW: [
|
|
356
|
+
"code-reviewer",
|
|
357
|
+
"code-review-checklist",
|
|
358
|
+
"review-and-refactor",
|
|
359
|
+
"observability-engineer",
|
|
360
|
+
],
|
|
361
|
+
DEPLOY: [
|
|
362
|
+
"deployment-engineer",
|
|
363
|
+
"devops-deploy",
|
|
364
|
+
"git-pushing",
|
|
365
|
+
],
|
|
366
|
+
};
|
|
367
|
+
// ── Getter functions ────────────────────────────────
|
|
368
|
+
/**
|
|
369
|
+
* Get tool reference, optionally filtered by lifecycle phase.
|
|
370
|
+
*/
|
|
371
|
+
export function getToolReference(phase) {
|
|
372
|
+
if (!phase)
|
|
373
|
+
return TOOL_TABLE_FULL;
|
|
374
|
+
const upper = phase.toUpperCase();
|
|
375
|
+
const tools = PHASE_TOOLS[upper];
|
|
376
|
+
if (!tools)
|
|
377
|
+
return TOOL_TABLE_FULL;
|
|
378
|
+
const lines = TOOL_TABLE_FULL.split("\n");
|
|
379
|
+
const filtered = lines.filter((line) => {
|
|
380
|
+
if (line.startsWith("#") || line.startsWith("|--") || line.trim() === "")
|
|
381
|
+
return true;
|
|
382
|
+
if (line.startsWith("| Tool") || line.startsWith("| `")) {
|
|
383
|
+
if (line.startsWith("| Tool"))
|
|
384
|
+
return true;
|
|
385
|
+
return tools.some((tool) => line.includes(`\`${tool}\``));
|
|
386
|
+
}
|
|
387
|
+
return true;
|
|
388
|
+
});
|
|
389
|
+
return `### Tools recomendadas para fase ${upper}\n\n${filtered.join("\n")}`;
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Get analyze modes, optionally filtered by lifecycle phase.
|
|
393
|
+
*/
|
|
394
|
+
export function getAnalyzeModes(phase) {
|
|
395
|
+
if (!phase)
|
|
396
|
+
return ANALYZE_MODES_SECTION;
|
|
397
|
+
const upper = phase.toUpperCase();
|
|
398
|
+
const modes = PHASE_ANALYZE_MODES[upper];
|
|
399
|
+
if (!modes)
|
|
400
|
+
return ANALYZE_MODES_SECTION;
|
|
401
|
+
const lines = ANALYZE_MODES_SECTION.split("\n");
|
|
402
|
+
const filtered = lines.filter((line) => {
|
|
403
|
+
if (line.startsWith("#") ||
|
|
404
|
+
line.startsWith("|--") ||
|
|
405
|
+
line.startsWith("| Fase") ||
|
|
406
|
+
line.trim() === "")
|
|
407
|
+
return true;
|
|
408
|
+
return modes.some((mode) => line.includes(`\`${mode}\``));
|
|
409
|
+
});
|
|
410
|
+
return `### Modos analyze para fase ${upper}\n\n${filtered.join("\n")}`;
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Get skills by lifecycle phase.
|
|
414
|
+
*/
|
|
415
|
+
export function getSkillsByPhase(phase) {
|
|
416
|
+
if (!phase)
|
|
417
|
+
return SKILLS_SECTION;
|
|
418
|
+
const upper = phase.toUpperCase();
|
|
419
|
+
const skills = PHASE_SKILLS[upper];
|
|
420
|
+
if (!skills)
|
|
421
|
+
return `### Skills para fase ${upper}\n\nNenhuma skill específica mapeada. Use \`manage_skill(list)\` para ver todas.`;
|
|
422
|
+
return `### Skills para fase ${upper}\n\n${skills.map((s) => `- \`${s}\``).join("\n")}`;
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Get CLI commands reference.
|
|
426
|
+
*/
|
|
427
|
+
export function getCliCommands() {
|
|
428
|
+
return CLI_COMMANDS;
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Get knowledge pipeline documentation.
|
|
432
|
+
*/
|
|
433
|
+
export function getKnowledgePipeline() {
|
|
434
|
+
return KNOWLEDGE_PIPELINE_SECTION;
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Get all reference content combined.
|
|
438
|
+
*/
|
|
439
|
+
export function getFullReference() {
|
|
440
|
+
return [
|
|
441
|
+
TOOL_TABLE_FULL,
|
|
442
|
+
DEPRECATED_TOOLS_SECTION,
|
|
443
|
+
ANALYZE_MODES_SECTION,
|
|
444
|
+
KNOWLEDGE_PIPELINE_SECTION,
|
|
445
|
+
SKILLS_SECTION,
|
|
446
|
+
CLI_COMMANDS,
|
|
447
|
+
].join("\n\n");
|
|
448
|
+
}
|
|
449
|
+
//# sourceMappingURL=reference-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-content.js","sourceRoot":"","sources":["../../../src/core/config/reference-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deploy Readiness — composite gate for HANDOFF→DEPLOY transition.
|
|
3
|
+
* Validates that the project is ready for release/deployment.
|
|
4
|
+
*/
|
|
5
|
+
import type { GraphDocument } from "../graph/graph-types.js";
|
|
6
|
+
import type { DeployReadinessReport } from "../../schemas/deployer-schema.js";
|
|
7
|
+
export interface DeployReadinessOptions {
|
|
8
|
+
hasSnapshots?: boolean;
|
|
9
|
+
knowledgeCount?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function checkDeployReadiness(doc: GraphDocument, opts?: DeployReadinessOptions): DeployReadinessReport;
|
|
12
|
+
//# sourceMappingURL=deploy-readiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-readiness.d.ts","sourceRoot":"","sources":["../../../src/core/deployer/deploy-readiness.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,kCAAkC,CAAC;AAOpG,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,aAAa,EAClB,IAAI,CAAC,EAAE,sBAAsB,GAC5B,qBAAqB,CA0GvB"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deploy Readiness — composite gate for HANDOFF→DEPLOY transition.
|
|
3
|
+
* Validates that the project is ready for release/deployment.
|
|
4
|
+
*/
|
|
5
|
+
import { detectCycles } from "../planner/dependency-chain.js";
|
|
6
|
+
import { scoreToGrade } from "../utils/grading.js";
|
|
7
|
+
import { TASK_TYPES } from "../utils/node-type-sets.js";
|
|
8
|
+
import { nodeHasAc } from "../utils/ac-helpers.js";
|
|
9
|
+
import { logger } from "../utils/logger.js";
|
|
10
|
+
export function checkDeployReadiness(doc, opts) {
|
|
11
|
+
const checks = [];
|
|
12
|
+
const tasks = doc.nodes.filter((n) => TASK_TYPES.has(n.type));
|
|
13
|
+
const doneTasks = tasks.filter((n) => n.status === "done");
|
|
14
|
+
// ── Required checks ──
|
|
15
|
+
// 1. all_tasks_done — 100% tasks done
|
|
16
|
+
const allDone = tasks.length > 0 && tasks.every((n) => n.status === "done");
|
|
17
|
+
checks.push({
|
|
18
|
+
name: "all_tasks_done",
|
|
19
|
+
passed: allDone,
|
|
20
|
+
details: allDone
|
|
21
|
+
? "Todas tasks done"
|
|
22
|
+
: `${doneTasks.length}/${tasks.length} tasks done (100% requerido)`,
|
|
23
|
+
severity: "required",
|
|
24
|
+
});
|
|
25
|
+
// 2. no_blocked_nodes — zero nodes with status=blocked
|
|
26
|
+
const statusBlockedCount = doc.nodes.filter((n) => n.status === "blocked").length;
|
|
27
|
+
const noBlocked = statusBlockedCount === 0;
|
|
28
|
+
checks.push({
|
|
29
|
+
name: "no_blocked_nodes",
|
|
30
|
+
passed: noBlocked,
|
|
31
|
+
details: noBlocked
|
|
32
|
+
? "Nenhum node bloqueado"
|
|
33
|
+
: `${statusBlockedCount} node(s) bloqueado(s)`,
|
|
34
|
+
severity: "required",
|
|
35
|
+
});
|
|
36
|
+
// 3. has_snapshot — snapshot must exist before deploying
|
|
37
|
+
const hasSnapshots = opts?.hasSnapshots ?? false;
|
|
38
|
+
checks.push({
|
|
39
|
+
name: "has_snapshot",
|
|
40
|
+
passed: hasSnapshots,
|
|
41
|
+
details: hasSnapshots
|
|
42
|
+
? "Snapshot do grafo existe"
|
|
43
|
+
: "Nenhum snapshot encontrado — criar snapshot antes de deploy",
|
|
44
|
+
severity: "required",
|
|
45
|
+
});
|
|
46
|
+
// 4. no_cycles — no dependency cycles
|
|
47
|
+
const cycles = detectCycles(doc);
|
|
48
|
+
const noCycles = cycles.length === 0;
|
|
49
|
+
checks.push({
|
|
50
|
+
name: "no_cycles",
|
|
51
|
+
passed: noCycles,
|
|
52
|
+
details: noCycles
|
|
53
|
+
? "Nenhum ciclo de dependência detectado"
|
|
54
|
+
: `${cycles.length} ciclo(s) detectado(s)`,
|
|
55
|
+
severity: "required",
|
|
56
|
+
});
|
|
57
|
+
// 5. no_in_progress — zero in_progress tasks
|
|
58
|
+
const inProgressTasks = tasks.filter((n) => n.status === "in_progress");
|
|
59
|
+
const noInProgress = inProgressTasks.length === 0;
|
|
60
|
+
checks.push({
|
|
61
|
+
name: "no_in_progress",
|
|
62
|
+
passed: noInProgress,
|
|
63
|
+
details: noInProgress
|
|
64
|
+
? "Nenhuma task in_progress"
|
|
65
|
+
: `${inProgressTasks.length} task(s) ainda in_progress`,
|
|
66
|
+
severity: "required",
|
|
67
|
+
});
|
|
68
|
+
// ── Recommended checks ──
|
|
69
|
+
// 6. ac_coverage — ≥80% tasks with AC
|
|
70
|
+
const tasksWithAC = tasks.filter((t) => nodeHasAc(doc, t.id));
|
|
71
|
+
const acCoverage = tasks.length > 0 ? Math.round((tasksWithAC.length / tasks.length) * 100) : 0;
|
|
72
|
+
const acPass = acCoverage >= 80;
|
|
73
|
+
checks.push({
|
|
74
|
+
name: "ac_coverage",
|
|
75
|
+
passed: acPass,
|
|
76
|
+
details: `${acCoverage}% tasks com AC (meta: 80%)`,
|
|
77
|
+
severity: "recommended",
|
|
78
|
+
});
|
|
79
|
+
// 7. knowledge_captured — knowledge count > 0
|
|
80
|
+
const knowledgeCount = opts?.knowledgeCount ?? 0;
|
|
81
|
+
const knowledgePass = knowledgeCount > 0;
|
|
82
|
+
checks.push({
|
|
83
|
+
name: "knowledge_captured",
|
|
84
|
+
passed: knowledgePass,
|
|
85
|
+
details: knowledgePass
|
|
86
|
+
? `${knowledgeCount} conhecimento(s) capturado(s)`
|
|
87
|
+
: "Nenhum conhecimento capturado no knowledge store",
|
|
88
|
+
severity: "recommended",
|
|
89
|
+
});
|
|
90
|
+
// ── Scoring ──
|
|
91
|
+
const totalChecks = checks.length;
|
|
92
|
+
const passedChecks = checks.filter((c) => c.passed).length;
|
|
93
|
+
const score = Math.round((passedChecks / totalChecks) * 100);
|
|
94
|
+
const grade = scoreToGrade(score);
|
|
95
|
+
const ready = checks.filter((c) => c.severity === "required").every((c) => c.passed);
|
|
96
|
+
const summary = ready
|
|
97
|
+
? `Deploy Ready (${grade}): ${passedChecks}/${totalChecks} checks passed, score ${score}`
|
|
98
|
+
: `Deploy Not Ready: ${checks.filter((c) => c.severity === "required" && !c.passed).map((c) => c.name).join(", ")} failed`;
|
|
99
|
+
logger.info("deploy-readiness", { ready, score, grade, passed: passedChecks, total: totalChecks });
|
|
100
|
+
return { checks, ready, score, grade, summary };
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=deploy-readiness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-readiness.js","sourceRoot":"","sources":["../../../src/core/deployer/deploy-readiness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Doc Generator — composes markdown sections from introspection data.
|
|
3
|
+
* Used by the auto-docs update step and the /docs API route.
|
|
4
|
+
*/
|
|
5
|
+
import type { ToolInfo } from "./tool-introspector.js";
|
|
6
|
+
import type { RouteInfo } from "./route-introspector.js";
|
|
7
|
+
/**
|
|
8
|
+
* Generate README stats table (tools, endpoints counts).
|
|
9
|
+
*/
|
|
10
|
+
export declare function generateReadmeStats(tools: ToolInfo[], routes: RouteInfo[]): string;
|
|
11
|
+
/**
|
|
12
|
+
* Generate architecture guide MCP tools section.
|
|
13
|
+
*/
|
|
14
|
+
export declare function generateArchToolSection(tools: ToolInfo[]): string;
|
|
15
|
+
/**
|
|
16
|
+
* Generate architecture guide REST API section.
|
|
17
|
+
*/
|
|
18
|
+
export declare function generateArchRouteSection(routes: RouteInfo[]): string;
|
|
19
|
+
/**
|
|
20
|
+
* Generate MCP-TOOLS-REFERENCE.md summary header and table.
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateToolRefSummary(tools: ToolInfo[]): string;
|
|
23
|
+
//# sourceMappingURL=doc-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-generator.d.ts","sourceRoot":"","sources":["../../../src/core/docs/doc-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CASlF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAgCjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAGpE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAgChE"}
|