ibge-br-mcp 1.9.2 → 1.10.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 +74 -1
- package/README.pt-BR.md +76 -2
- package/dist/config.d.ts +52 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +108 -0
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +3 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +18 -3
- package/dist/errors.js.map +1 -1
- package/dist/index.js +6 -567
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +12 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +85 -0
- package/dist/prompts.js.map +1 -0
- package/dist/resources.d.ts +12 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +130 -0
- package/dist/resources.js.map +1 -0
- package/dist/retry.d.ts +10 -0
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +48 -4
- package/dist/retry.js.map +1 -1
- package/dist/server.d.ts +13 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +699 -0
- package/dist/server.js.map +1 -0
- package/dist/structured.d.ts +50 -0
- package/dist/structured.d.ts.map +1 -0
- package/dist/structured.js +85 -0
- package/dist/structured.js.map +1 -0
- package/dist/tools/bcb.d.ts +0 -24
- package/dist/tools/bcb.d.ts.map +1 -1
- package/dist/tools/bcb.js +20 -30
- package/dist/tools/bcb.js.map +1 -1
- package/dist/tools/calendario.d.ts +2 -29
- package/dist/tools/calendario.d.ts.map +1 -1
- package/dist/tools/calendario.js +44 -37
- package/dist/tools/calendario.js.map +1 -1
- package/dist/tools/censo.d.ts +31 -25
- package/dist/tools/censo.d.ts.map +1 -1
- package/dist/tools/censo.js +77 -48
- package/dist/tools/censo.js.map +1 -1
- package/dist/tools/cidades.d.ts +39 -25
- package/dist/tools/cidades.d.ts.map +1 -1
- package/dist/tools/cidades.js +112 -58
- package/dist/tools/cidades.js.map +1 -1
- package/dist/tools/cnae.d.ts +0 -21
- package/dist/tools/cnae.d.ts.map +1 -1
- package/dist/tools/cnae.js +0 -29
- package/dist/tools/cnae.js.map +1 -1
- package/dist/tools/comparar.d.ts +75 -19
- package/dist/tools/comparar.d.ts.map +1 -1
- package/dist/tools/comparar.js +106 -65
- package/dist/tools/comparar.js.map +1 -1
- package/dist/tools/datasaude.d.ts +28 -25
- package/dist/tools/datasaude.d.ts.map +1 -1
- package/dist/tools/datasaude.js +62 -38
- package/dist/tools/datasaude.js.map +1 -1
- package/dist/tools/estados.d.ts +2 -17
- package/dist/tools/estados.d.ts.map +1 -1
- package/dist/tools/estados.js +4 -18
- package/dist/tools/estados.js.map +1 -1
- package/dist/tools/geocodigo.d.ts +2 -20
- package/dist/tools/geocodigo.d.ts.map +1 -1
- package/dist/tools/geocodigo.js +11 -30
- package/dist/tools/geocodigo.js.map +1 -1
- package/dist/tools/index.d.ts +23 -27
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +23 -414
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/indicadores.d.ts +28 -28
- package/dist/tools/indicadores.d.ts.map +1 -1
- package/dist/tools/indicadores.js +67 -58
- package/dist/tools/indicadores.js.map +1 -1
- package/dist/tools/localidade.d.ts +0 -15
- package/dist/tools/localidade.d.ts.map +1 -1
- package/dist/tools/localidade.js +0 -18
- package/dist/tools/localidade.js.map +1 -1
- package/dist/tools/malhas-tema.d.ts +0 -24
- package/dist/tools/malhas-tema.d.ts.map +1 -1
- package/dist/tools/malhas-tema.js +1 -24
- package/dist/tools/malhas-tema.js.map +1 -1
- package/dist/tools/malhas.d.ts +0 -27
- package/dist/tools/malhas.d.ts.map +1 -1
- package/dist/tools/malhas.js +1 -38
- package/dist/tools/malhas.js.map +1 -1
- package/dist/tools/municipios.d.ts +0 -18
- package/dist/tools/municipios.d.ts.map +1 -1
- package/dist/tools/municipios.js +6 -22
- package/dist/tools/municipios.js.map +1 -1
- package/dist/tools/nomes.d.ts +0 -27
- package/dist/tools/nomes.d.ts.map +1 -1
- package/dist/tools/nomes.js +0 -26
- package/dist/tools/nomes.js.map +1 -1
- package/dist/tools/noticias.d.ts +2 -32
- package/dist/tools/noticias.d.ts.map +1 -1
- package/dist/tools/noticias.js +22 -28
- package/dist/tools/noticias.js.map +1 -1
- package/dist/tools/paises.d.ts +0 -24
- package/dist/tools/paises.d.ts.map +1 -1
- package/dist/tools/paises.js +0 -23
- package/dist/tools/paises.js.map +1 -1
- package/dist/tools/pesquisas.d.ts +0 -15
- package/dist/tools/pesquisas.d.ts.map +1 -1
- package/dist/tools/pesquisas.js +4 -28
- package/dist/tools/pesquisas.js.map +1 -1
- package/dist/tools/populacao.d.ts +39 -13
- package/dist/tools/populacao.d.ts.map +1 -1
- package/dist/tools/populacao.js +37 -23
- package/dist/tools/populacao.js.map +1 -1
- package/dist/tools/sidra-metadados.d.ts +0 -18
- package/dist/tools/sidra-metadados.d.ts.map +1 -1
- package/dist/tools/sidra-metadados.js +0 -23
- package/dist/tools/sidra-metadados.js.map +1 -1
- package/dist/tools/sidra-tabelas.d.ts +0 -18
- package/dist/tools/sidra-tabelas.d.ts.map +1 -1
- package/dist/tools/sidra-tabelas.js +1 -28
- package/dist/tools/sidra-tabelas.js.map +1 -1
- package/dist/tools/sidra.d.ts +59 -31
- package/dist/tools/sidra.d.ts.map +1 -1
- package/dist/tools/sidra.js +117 -99
- package/dist/tools/sidra.js.map +1 -1
- package/dist/tools/vizinhos.d.ts +0 -21
- package/dist/tools/vizinhos.d.ts.map +1 -1
- package/dist/tools/vizinhos.js +14 -30
- package/dist/tools/vizinhos.js.map +1 -1
- package/dist/types.d.ts +0 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/validation.d.ts +31 -3
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +55 -22
- package/dist/validation.js.map +1 -1
- package/package.json +4 -1
- package/.github/workflows/ci.yml +0 -91
- package/.github/workflows/publish.yml +0 -118
- package/CHANGELOG.md +0 -171
- package/CONTRIBUTING.md +0 -285
- package/server.json +0 -21
- package/smithery.yaml +0 -9
package/README.md
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
# ibge-br-mcp
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/ibge-br-mcp)
|
|
4
|
+
[](https://www.npmjs.com/package/ibge-br-mcp)
|
|
5
|
+
[](https://github.com/SidneyBissoli/ibge-br-mcp)
|
|
6
|
+
[](https://github.com/SidneyBissoli/ibge-br-mcp)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
3
8
|
[](https://smithery.ai/server/sidneybissoli/ibge-br-mcp)
|
|
9
|
+
[](https://glama.ai/mcp/servers/SidneyBissoli/ibge-br-mcp)
|
|
4
10
|
|
|
5
11
|
MCP Server for IBGE (Brazilian Institute of Geography and Statistics) APIs.
|
|
6
|
-
|
|
7
12
|
🇧🇷 [Leia em Português](README.pt-BR.md)
|
|
8
13
|
|
|
9
14
|
This server implements the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) to provide access to IBGE's public APIs, enabling AI assistants to query geographic, demographic, and statistical data from Brazil.
|
|
@@ -11,6 +16,8 @@ This server implements the [Model Context Protocol (MCP)](https://modelcontextpr
|
|
|
11
16
|
## Features
|
|
12
17
|
|
|
13
18
|
- **23 specialized tools** covering all major IBGE data domains
|
|
19
|
+
- **Reference resources & analysis prompts** (MCP catalogs + ready-made templates)
|
|
20
|
+
- **460 automated tests** with 97%+ core coverage
|
|
14
21
|
- **Automatic caching** with configurable TTL for optimal performance
|
|
15
22
|
- **Retry mechanism** with exponential backoff for network resilience
|
|
16
23
|
- **Comprehensive validation** for all input parameters
|
|
@@ -82,6 +89,49 @@ This server implements the [Model Context Protocol (MCP)](https://modelcontextpr
|
|
|
82
89
|
| `ibge_noticias` | IBGE news and press releases |
|
|
83
90
|
| `ibge_calendario` | IBGE release and collection calendar |
|
|
84
91
|
|
|
92
|
+
## Which tool should I use?
|
|
93
|
+
|
|
94
|
+
With 23 tools, several can touch the same topic. Quick guide for the common overlaps:
|
|
95
|
+
|
|
96
|
+
### Population & demographics
|
|
97
|
+
|
|
98
|
+
| You want… | Use |
|
|
99
|
+
|:----------|:----|
|
|
100
|
+
| Brazil's population right now (real-time) | `ibge_populacao` |
|
|
101
|
+
| A single municipality/state panel (population, HDI, GDP…) | `ibge_cidades` |
|
|
102
|
+
| Census data or historical series (1970–2022) | `ibge_censo` |
|
|
103
|
+
| Rank/compare 2–10 localities on one indicator | `ibge_comparar` |
|
|
104
|
+
| A macro indicator time series (GDP, IPCA, unemployment…) | `ibge_indicadores` |
|
|
105
|
+
| A specific SIDRA table / fine control | `ibge_sidra` |
|
|
106
|
+
|
|
107
|
+
### Economic indicators
|
|
108
|
+
|
|
109
|
+
| You want… | Use |
|
|
110
|
+
|:----------|:----|
|
|
111
|
+
| IPCA, INPC, GDP, unemployment (IBGE, primary source) | `ibge_indicadores` |
|
|
112
|
+
| SELIC, CDI, TR, dollar/euro exchange rates | `bcb` |
|
|
113
|
+
|
|
114
|
+
### Localities & codes
|
|
115
|
+
|
|
116
|
+
| You want… | Use |
|
|
117
|
+
|:----------|:----|
|
|
118
|
+
| List/search municipalities | `ibge_municipios` |
|
|
119
|
+
| List states | `ibge_estados` |
|
|
120
|
+
| Resolve a name→code at any level, or decode a code's structure | `ibge_geocodigo` |
|
|
121
|
+
| Full record of one locality you already have the code for | `ibge_localidade` |
|
|
122
|
+
| Neighboring municipalities | `ibge_vizinhos` |
|
|
123
|
+
|
|
124
|
+
### SIDRA workflow
|
|
125
|
+
|
|
126
|
+
Discover → inspect → query: `ibge_pesquisas` / `ibge_sidra_tabelas` (find a table) → `ibge_sidra_metadados` (its structure) → `ibge_sidra` (query). For common data, the wrappers above (`ibge_censo`, `ibge_indicadores`, `ibge_comparar`, `ibge_cidades`) are usually easier.
|
|
127
|
+
|
|
128
|
+
### Maps (meshes)
|
|
129
|
+
|
|
130
|
+
| You want… | Use |
|
|
131
|
+
|:----------|:----|
|
|
132
|
+
| Administrative outlines (Brazil/region/state/municipality) | `ibge_malhas` |
|
|
133
|
+
| Thematic areas (biomes, Legal Amazon, semi-arid, metro regions) | `ibge_malhas_tema` |
|
|
134
|
+
|
|
85
135
|
## Installation
|
|
86
136
|
|
|
87
137
|
### Prerequisites
|
|
@@ -485,6 +535,29 @@ The project includes a comprehensive test suite with 227 tests covering:
|
|
|
485
535
|
npm test
|
|
486
536
|
```
|
|
487
537
|
|
|
538
|
+
## Quality Assurance
|
|
539
|
+
|
|
540
|
+
This project maintains high code quality standards:
|
|
541
|
+
|
|
542
|
+
- **227 automated tests** covering validation, caching, retry logic, formatting, and integrations
|
|
543
|
+
- **97%+ test coverage** on core modules (cache, validation, errors, types)
|
|
544
|
+
- **ESLint** for code linting with zero warnings
|
|
545
|
+
- **Prettier** for consistent code formatting
|
|
546
|
+
- **TypeScript strict mode** for type safety
|
|
547
|
+
- **Automated CI/CD** via GitHub Actions
|
|
548
|
+
|
|
549
|
+
Run tests locally:
|
|
550
|
+
```bash
|
|
551
|
+
# Run all tests
|
|
552
|
+
npm test
|
|
553
|
+
|
|
554
|
+
# Run tests with coverage
|
|
555
|
+
npm run test:coverage
|
|
556
|
+
|
|
557
|
+
# Run linter
|
|
558
|
+
npm run lint
|
|
559
|
+
```
|
|
560
|
+
|
|
488
561
|
## License
|
|
489
562
|
|
|
490
563
|
MIT
|
package/README.pt-BR.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# ibge-br-mcp
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/ibge-br-mcp)
|
|
4
|
+
[](https://www.npmjs.com/package/ibge-br-mcp)
|
|
5
|
+
[](https://github.com/SidneyBissoli/ibge-br-mcp)
|
|
6
|
+
[](https://github.com/SidneyBissoli/ibge-br-mcp)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
3
8
|
[](https://smithery.ai/server/sidneybissoli/ibge-br-mcp)
|
|
9
|
+
[](https://glama.ai/mcp/servers/SidneyBissoli/ibge-br-mcp)
|
|
4
10
|
|
|
5
11
|
Servidor MCP para APIs do IBGE (Instituto Brasileiro de Geografia e Estatística).
|
|
6
12
|
|
|
@@ -8,10 +14,12 @@ Este servidor implementa o [Model Context Protocol (MCP)](https://modelcontextpr
|
|
|
8
14
|
|
|
9
15
|
🇺🇸 [Read in English](README.md)
|
|
10
16
|
|
|
11
|
-
##
|
|
17
|
+
## Recursos
|
|
12
18
|
|
|
13
19
|
- **23 ferramentas especializadas** cobrindo todos os principais domínios de dados do IBGE
|
|
14
|
-
- **
|
|
20
|
+
- **Resources de referência & prompts de análise** (catálogos MCP + templates prontos)
|
|
21
|
+
- **460 testes automatizados** com 97%+ de cobertura no core
|
|
22
|
+
- **Cache automático** com TTL configurável para performance otimizada
|
|
15
23
|
- **Mecanismo de retry** com backoff exponencial para resiliência de rede
|
|
16
24
|
- **Validação abrangente** para todos os parâmetros de entrada
|
|
17
25
|
- **Tratamento de erros padronizado** com sugestões úteis
|
|
@@ -82,6 +90,49 @@ Este servidor implementa o [Model Context Protocol (MCP)](https://modelcontextpr
|
|
|
82
90
|
| `ibge_noticias` | Notícias e releases do IBGE |
|
|
83
91
|
| `ibge_calendario` | Calendário de divulgações e coletas do IBGE |
|
|
84
92
|
|
|
93
|
+
## Qual ferramenta usar?
|
|
94
|
+
|
|
95
|
+
Com 23 ferramentas, várias podem tocar no mesmo assunto. Guia rápido para as sobreposições comuns:
|
|
96
|
+
|
|
97
|
+
### População e demografia
|
|
98
|
+
|
|
99
|
+
| Você quer… | Use |
|
|
100
|
+
|:-----------|:----|
|
|
101
|
+
| População do Brasil agora (tempo real) | `ibge_populacao` |
|
|
102
|
+
| Painel de um único município/UF (população, IDH, PIB…) | `ibge_cidades` |
|
|
103
|
+
| Dados censitários ou série histórica (1970–2022) | `ibge_censo` |
|
|
104
|
+
| Ranquear/comparar 2–10 localidades num indicador | `ibge_comparar` |
|
|
105
|
+
| Série temporal de indicador macro (PIB, IPCA, desemprego…) | `ibge_indicadores` |
|
|
106
|
+
| Uma tabela SIDRA específica / controle fino | `ibge_sidra` |
|
|
107
|
+
|
|
108
|
+
### Indicadores econômicos
|
|
109
|
+
|
|
110
|
+
| Você quer… | Use |
|
|
111
|
+
|:-----------|:----|
|
|
112
|
+
| IPCA, INPC, PIB, desemprego (IBGE, fonte primária) | `ibge_indicadores` |
|
|
113
|
+
| SELIC, CDI, TR, câmbio dólar/euro | `bcb` |
|
|
114
|
+
|
|
115
|
+
### Localidades e códigos
|
|
116
|
+
|
|
117
|
+
| Você quer… | Use |
|
|
118
|
+
|:-----------|:----|
|
|
119
|
+
| Listar/buscar municípios | `ibge_municipios` |
|
|
120
|
+
| Listar estados | `ibge_estados` |
|
|
121
|
+
| Resolver nome→código em qualquer nível, ou decodificar a estrutura de um código | `ibge_geocodigo` |
|
|
122
|
+
| Ficha completa de uma localidade da qual você já tem o código | `ibge_localidade` |
|
|
123
|
+
| Municípios vizinhos | `ibge_vizinhos` |
|
|
124
|
+
|
|
125
|
+
### Fluxo SIDRA
|
|
126
|
+
|
|
127
|
+
Descobrir → inspecionar → consultar: `ibge_pesquisas` / `ibge_sidra_tabelas` (achar a tabela) → `ibge_sidra_metadados` (sua estrutura) → `ibge_sidra` (consultar). Para dados comuns, os atalhos acima (`ibge_censo`, `ibge_indicadores`, `ibge_comparar`, `ibge_cidades`) costumam ser mais fáceis.
|
|
128
|
+
|
|
129
|
+
### Mapas (malhas)
|
|
130
|
+
|
|
131
|
+
| Você quer… | Use |
|
|
132
|
+
|:-----------|:----|
|
|
133
|
+
| Contornos administrativos (Brasil/região/UF/município) | `ibge_malhas` |
|
|
134
|
+
| Áreas temáticas (biomas, Amazônia Legal, semiárido, regiões metropolitanas) | `ibge_malhas_tema` |
|
|
135
|
+
|
|
85
136
|
## Instalação
|
|
86
137
|
|
|
87
138
|
### Pré-requisitos
|
|
@@ -488,6 +539,29 @@ O projeto inclui uma suíte de testes abrangente com 227 testes cobrindo:
|
|
|
488
539
|
npm test
|
|
489
540
|
```
|
|
490
541
|
|
|
542
|
+
## Garantia de Qualidade
|
|
543
|
+
|
|
544
|
+
Este projeto mantém altos padrões de qualidade de código:
|
|
545
|
+
|
|
546
|
+
- **227 testes automatizados** cobrindo validação, cache, retry, formatação e integrações
|
|
547
|
+
- **97%+ de cobertura de testes** nos módulos core (cache, validation, errors, types)
|
|
548
|
+
- **ESLint** para linting de código sem warnings
|
|
549
|
+
- **Prettier** para formatação consistente
|
|
550
|
+
- **TypeScript modo strict** para segurança de tipos
|
|
551
|
+
- **CI/CD automatizado** via GitHub Actions
|
|
552
|
+
|
|
553
|
+
Execute os testes localmente:
|
|
554
|
+
```bash
|
|
555
|
+
# Rodar todos os testes
|
|
556
|
+
npm test
|
|
557
|
+
|
|
558
|
+
# Rodar testes com cobertura
|
|
559
|
+
npm run test:coverage
|
|
560
|
+
|
|
561
|
+
# Rodar linter
|
|
562
|
+
npm run lint
|
|
563
|
+
```
|
|
564
|
+
|
|
491
565
|
## Licença
|
|
492
566
|
|
|
493
567
|
MIT
|
package/dist/config.d.ts
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
* Centralized configuration for IBGE MCP Server
|
|
3
3
|
* Contains all constants, mappings, and endpoint definitions
|
|
4
4
|
*/
|
|
5
|
+
/** Default per-request timeout in milliseconds (upstream APIs are usually fast). */
|
|
6
|
+
export declare const DEFAULT_REQUEST_TIMEOUT_MS = 30000;
|
|
7
|
+
/**
|
|
8
|
+
* Effective request timeout, overridable at startup via the
|
|
9
|
+
* `IBGE_MCP_TIMEOUT_MS` environment variable. Invalid or non-positive values
|
|
10
|
+
* fall back to the default. Used as the default `timeoutMs` for every fetch.
|
|
11
|
+
*/
|
|
12
|
+
export declare const REQUEST_TIMEOUT_MS: number;
|
|
5
13
|
export declare const API_ENDPOINTS: {
|
|
6
14
|
readonly IBGE: {
|
|
7
15
|
readonly LOCALIDADES: "https://servicodados.ibge.gov.br/api/v1/localidades";
|
|
@@ -75,6 +83,25 @@ export declare const TERRITORIAL_LEVELS: {
|
|
|
75
83
|
* Territorial level names (for display)
|
|
76
84
|
*/
|
|
77
85
|
export declare const TERRITORIAL_LEVEL_NAMES: Record<string, string>;
|
|
86
|
+
/**
|
|
87
|
+
* Short, agent-facing label for each territorial level code. Used to build the
|
|
88
|
+
* standardized `nivel_territorial` descriptions and error suggestions so the
|
|
89
|
+
* naming stays consistent across every tool (Brasil/Região/UF/Município ...).
|
|
90
|
+
*/
|
|
91
|
+
export declare const TERRITORIAL_LEVEL_LABELS: Record<string, string>;
|
|
92
|
+
/** All SIDRA territorial level codes, in canonical order. */
|
|
93
|
+
export declare const ALL_TERRITORIAL_LEVELS: string[];
|
|
94
|
+
/**
|
|
95
|
+
* Builds the standardized `nivel_territorial` field description from the level
|
|
96
|
+
* codes a tool supports, e.g. ["1","2","3","6"] ->
|
|
97
|
+
* "Nível territorial (código N): 1=Brasil, 2=Região, 3=UF, 6=Município".
|
|
98
|
+
*/
|
|
99
|
+
export declare function territorialLevelHint(codes: string[]): string;
|
|
100
|
+
/**
|
|
101
|
+
* Builds a "código (Label)" list for error suggestions, e.g.
|
|
102
|
+
* "1 (Brasil), 2 (Região), 3 (UF), 6 (Município)".
|
|
103
|
+
*/
|
|
104
|
+
export declare function territorialLevelList(codes: string[]): string;
|
|
78
105
|
export declare const BIOME_CODES: Record<string, number>;
|
|
79
106
|
export declare const BIOME_NAMES: Record<number, string>;
|
|
80
107
|
/**
|
|
@@ -137,6 +164,31 @@ export declare function getUfCode(uf: string): number | undefined;
|
|
|
137
164
|
* Get UF abbreviation from code
|
|
138
165
|
*/
|
|
139
166
|
export declare function getUfSigla(code: number): string | undefined;
|
|
167
|
+
/**
|
|
168
|
+
* Normalizes free text for matching: lowercased, trimmed, internal whitespace
|
|
169
|
+
* collapsed, and accents stripped (e.g. "São Paulo " -> "sao paulo").
|
|
170
|
+
*/
|
|
171
|
+
export declare function normalizeText(text: string): string;
|
|
172
|
+
/**
|
|
173
|
+
* Normalized state name -> sigla (e.g. "sao paulo" -> "SP").
|
|
174
|
+
*/
|
|
175
|
+
export declare const UF_NAME_TO_SIGLA: Record<string, string>;
|
|
176
|
+
export interface ResolvedUf {
|
|
177
|
+
code: number;
|
|
178
|
+
sigla: string;
|
|
179
|
+
nome: string;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Resolves a state (UF) from any of its three forms, interchangeably:
|
|
183
|
+
* - sigla: "SP" / "sp"
|
|
184
|
+
* - nome: "São Paulo" / "sao paulo" (accent- and case-insensitive)
|
|
185
|
+
* - código: "35" / 35
|
|
186
|
+
*
|
|
187
|
+
* Single source of truth for UF input resolution — tools should accept all
|
|
188
|
+
* three forms by routing user input through this helper. Returns null if the
|
|
189
|
+
* input matches none of them.
|
|
190
|
+
*/
|
|
191
|
+
export declare function resolveUf(input: string | number): ResolvedUf | null;
|
|
140
192
|
/**
|
|
141
193
|
* Get region code from state abbreviation
|
|
142
194
|
*/
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;CAqBhB,CAAC;AAMX;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiC3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4B3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAMrD,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;CAoBrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoB1D,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
* Contains all constants, mappings, and endpoint definitions
|
|
4
4
|
*/
|
|
5
5
|
// ============================================================================
|
|
6
|
+
// Request timeout
|
|
7
|
+
// ============================================================================
|
|
8
|
+
/** Default per-request timeout in milliseconds (upstream APIs are usually fast). */
|
|
9
|
+
export const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
|
|
10
|
+
/**
|
|
11
|
+
* Effective request timeout, overridable at startup via the
|
|
12
|
+
* `IBGE_MCP_TIMEOUT_MS` environment variable. Invalid or non-positive values
|
|
13
|
+
* fall back to the default. Used as the default `timeoutMs` for every fetch.
|
|
14
|
+
*/
|
|
15
|
+
export const REQUEST_TIMEOUT_MS = (() => {
|
|
16
|
+
const raw = process.env.IBGE_MCP_TIMEOUT_MS;
|
|
17
|
+
if (!raw)
|
|
18
|
+
return DEFAULT_REQUEST_TIMEOUT_MS;
|
|
19
|
+
const parsed = Number(raw);
|
|
20
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_REQUEST_TIMEOUT_MS;
|
|
21
|
+
})();
|
|
22
|
+
// ============================================================================
|
|
6
23
|
// API Endpoints
|
|
7
24
|
// ============================================================================
|
|
8
25
|
export const API_ENDPOINTS = {
|
|
@@ -185,6 +202,50 @@ export const TERRITORIAL_LEVEL_NAMES = {
|
|
|
185
202
|
"127": "Amazônia Legal",
|
|
186
203
|
"128": "Semiárido",
|
|
187
204
|
};
|
|
205
|
+
/**
|
|
206
|
+
* Short, agent-facing label for each territorial level code. Used to build the
|
|
207
|
+
* standardized `nivel_territorial` descriptions and error suggestions so the
|
|
208
|
+
* naming stays consistent across every tool (Brasil/Região/UF/Município ...).
|
|
209
|
+
*/
|
|
210
|
+
export const TERRITORIAL_LEVEL_LABELS = {
|
|
211
|
+
"1": "Brasil",
|
|
212
|
+
"2": "Região",
|
|
213
|
+
"3": "UF",
|
|
214
|
+
"6": "Município",
|
|
215
|
+
"7": "Região Metropolitana",
|
|
216
|
+
"8": "Mesorregião",
|
|
217
|
+
"9": "Microrregião",
|
|
218
|
+
"10": "Distrito",
|
|
219
|
+
"11": "Subdistrito",
|
|
220
|
+
"13": "RM/RIDE",
|
|
221
|
+
"14": "RIDE",
|
|
222
|
+
"15": "Aglomeração Urbana",
|
|
223
|
+
"17": "Região Geográfica Imediata",
|
|
224
|
+
"18": "Região Geográfica Intermediária",
|
|
225
|
+
"105": "Macrorregião de Saúde",
|
|
226
|
+
"106": "Região de Saúde",
|
|
227
|
+
"114": "Aglomerado Subnormal",
|
|
228
|
+
"127": "Amazônia Legal",
|
|
229
|
+
"128": "Semiárido",
|
|
230
|
+
};
|
|
231
|
+
/** All SIDRA territorial level codes, in canonical order. */
|
|
232
|
+
export const ALL_TERRITORIAL_LEVELS = Object.keys(TERRITORIAL_LEVEL_LABELS);
|
|
233
|
+
/**
|
|
234
|
+
* Builds the standardized `nivel_territorial` field description from the level
|
|
235
|
+
* codes a tool supports, e.g. ["1","2","3","6"] ->
|
|
236
|
+
* "Nível territorial (código N): 1=Brasil, 2=Região, 3=UF, 6=Município".
|
|
237
|
+
*/
|
|
238
|
+
export function territorialLevelHint(codes) {
|
|
239
|
+
const list = codes.map((c) => `${c}=${TERRITORIAL_LEVEL_LABELS[c] ?? c}`).join(", ");
|
|
240
|
+
return `Nível territorial (código N): ${list}`;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Builds a "código (Label)" list for error suggestions, e.g.
|
|
244
|
+
* "1 (Brasil), 2 (Região), 3 (UF), 6 (Município)".
|
|
245
|
+
*/
|
|
246
|
+
export function territorialLevelList(codes) {
|
|
247
|
+
return codes.map((c) => `${c} (${TERRITORIAL_LEVEL_LABELS[c] ?? c})`).join(", ");
|
|
248
|
+
}
|
|
188
249
|
// ============================================================================
|
|
189
250
|
// Biome Codes
|
|
190
251
|
// ============================================================================
|
|
@@ -287,6 +348,53 @@ export function getUfCode(uf) {
|
|
|
287
348
|
export function getUfSigla(code) {
|
|
288
349
|
return UF_SIGLAS[code];
|
|
289
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* Normalizes free text for matching: lowercased, trimmed, internal whitespace
|
|
353
|
+
* collapsed, and accents stripped (e.g. "São Paulo " -> "sao paulo").
|
|
354
|
+
*/
|
|
355
|
+
export function normalizeText(text) {
|
|
356
|
+
return text
|
|
357
|
+
.toLowerCase()
|
|
358
|
+
.trim()
|
|
359
|
+
.replace(/\s+/g, " ")
|
|
360
|
+
.normalize("NFD")
|
|
361
|
+
.replace(/[\u0300-\u036f]/g, "");
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Normalized state name -> sigla (e.g. "sao paulo" -> "SP").
|
|
365
|
+
*/
|
|
366
|
+
export const UF_NAME_TO_SIGLA = Object.fromEntries(Object.entries(UF_NAMES).map(([sigla, nome]) => [normalizeText(nome), sigla]));
|
|
367
|
+
/**
|
|
368
|
+
* Resolves a state (UF) from any of its three forms, interchangeably:
|
|
369
|
+
* - sigla: "SP" / "sp"
|
|
370
|
+
* - nome: "São Paulo" / "sao paulo" (accent- and case-insensitive)
|
|
371
|
+
* - código: "35" / 35
|
|
372
|
+
*
|
|
373
|
+
* Single source of truth for UF input resolution — tools should accept all
|
|
374
|
+
* three forms by routing user input through this helper. Returns null if the
|
|
375
|
+
* input matches none of them.
|
|
376
|
+
*/
|
|
377
|
+
export function resolveUf(input) {
|
|
378
|
+
const raw = String(input).trim();
|
|
379
|
+
if (!raw)
|
|
380
|
+
return null;
|
|
381
|
+
let sigla;
|
|
382
|
+
if (/^\d+$/.test(raw)) {
|
|
383
|
+
// Numeric IBGE code (e.g. "35")
|
|
384
|
+
sigla = UF_SIGLAS[parseInt(raw, 10)];
|
|
385
|
+
}
|
|
386
|
+
else if (raw.length === 2 && raw.toUpperCase() in UF_CODES) {
|
|
387
|
+
// Sigla (e.g. "SP")
|
|
388
|
+
sigla = raw.toUpperCase();
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
// State name (e.g. "São Paulo")
|
|
392
|
+
sigla = UF_NAME_TO_SIGLA[normalizeText(raw)];
|
|
393
|
+
}
|
|
394
|
+
if (!sigla)
|
|
395
|
+
return null;
|
|
396
|
+
return { code: UF_CODES[sigla], sigla, nome: UF_NAMES[sigla] };
|
|
397
|
+
}
|
|
290
398
|
/**
|
|
291
399
|
* Get region code from state abbreviation
|
|
292
400
|
*/
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -28,13 +28,14 @@ export declare const ValidationErrors: {
|
|
|
28
28
|
invalidCode: (code: string, tool: string, validFormats: string) => string;
|
|
29
29
|
notFound: (item: string, tool: string, searchTool?: string) => string;
|
|
30
30
|
emptyResult: (tool: string, suggestion?: string) => string;
|
|
31
|
+
invalidDate: (value: string, tool: string) => string;
|
|
31
32
|
invalidPeriod: (period: string, tool: string, validPeriods?: string) => string;
|
|
32
|
-
invalidTerritory: (level: string, tool: string) => string;
|
|
33
|
+
invalidTerritory: (level: string, tool: string, validLevels?: string) => string;
|
|
33
34
|
};
|
|
34
35
|
/**
|
|
35
36
|
* Timeout error handler
|
|
36
37
|
*/
|
|
37
|
-
export declare function timeoutError(tool: string, timeoutMs: number): string;
|
|
38
|
+
export declare function timeoutError(tool: string, timeoutMs: number, relatedTools?: string[]): string;
|
|
38
39
|
/**
|
|
39
40
|
* Network error handler
|
|
40
41
|
*/
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAqBpF,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAkCpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,MAAM,CAiBR;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;wBACP,MAAM,QAAQ,MAAM,gBAAgB,MAAM,KAAG,MAAM;qBAOtD,MAAM,QAAQ,MAAM,eAAe,MAAM,KAAG,MAAM;wBAS/C,MAAM,eAAe,MAAM,KAAG,MAAM;yBAOnC,MAAM,QAAQ,MAAM,KAAG,MAAM;4BAQ1B,MAAM,QAAQ,MAAM,iBAAiB,MAAM,KAAG,MAAM;8BASlD,MAAM,QAAQ,MAAM,gBAAgB,MAAM,KAAG,MAAM;CAU9E,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAQ7F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOjD"}
|
package/dist/errors.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Standardized error handling for IBGE MCP Server
|
|
3
3
|
*/
|
|
4
|
+
import { TimeoutError } from "./retry.js";
|
|
4
5
|
// Common IBGE API error codes and their meanings
|
|
5
6
|
export const IBGE_ERROR_CODES = {
|
|
6
7
|
400: {
|
|
@@ -59,6 +60,10 @@ export function formatError(error) {
|
|
|
59
60
|
* Parse HTTP error and return formatted message
|
|
60
61
|
*/
|
|
61
62
|
export function parseHttpError(error, tool, params, relatedTools) {
|
|
63
|
+
// A timed-out request gets a dedicated, actionable message.
|
|
64
|
+
if (error instanceof TimeoutError) {
|
|
65
|
+
return timeoutError(tool, error.timeoutMs, relatedTools);
|
|
66
|
+
}
|
|
62
67
|
// Extract HTTP code from error message if present
|
|
63
68
|
const httpMatch = error.message.match(/HTTP (\d+)/);
|
|
64
69
|
const code = httpMatch ? parseInt(httpMatch[1]) : undefined;
|
|
@@ -91,6 +96,12 @@ export const ValidationErrors = {
|
|
|
91
96
|
tool,
|
|
92
97
|
suggestion: suggestion || "Tente ajustar os parâmetros de busca.",
|
|
93
98
|
}),
|
|
99
|
+
invalidDate: (value, tool) => formatError({
|
|
100
|
+
message: `Data inválida: "${value}"`,
|
|
101
|
+
tool,
|
|
102
|
+
suggestion: `Use o formato brasileiro DD/MM/AAAA (ex: 31/12/2024).
|
|
103
|
+
Também são aceitos DD-MM-AAAA e o formato ISO AAAA-MM-DD.`,
|
|
104
|
+
}),
|
|
94
105
|
invalidPeriod: (period, tool, validPeriods) => formatError({
|
|
95
106
|
message: `Período inválido: "${period}"`,
|
|
96
107
|
tool,
|
|
@@ -98,22 +109,26 @@ export const ValidationErrors = {
|
|
|
98
109
|
? `Períodos válidos: ${validPeriods}`
|
|
99
110
|
: "Use 'last' para o último período disponível ou especifique um ano.",
|
|
100
111
|
}),
|
|
101
|
-
invalidTerritory: (level, tool) => formatError({
|
|
112
|
+
invalidTerritory: (level, tool, validLevels) => formatError({
|
|
102
113
|
message: `Nível territorial inválido: "${level}"`,
|
|
103
114
|
tool,
|
|
104
|
-
suggestion:
|
|
115
|
+
suggestion: validLevels
|
|
116
|
+
? `Níveis válidos: ${validLevels}.
|
|
117
|
+
Use ibge_sidra_metadados para ver os níveis disponíveis para cada tabela.`
|
|
118
|
+
: `Níveis válidos: 1 (Brasil), 2 (Região), 3 (UF), 6 (Município), etc.
|
|
105
119
|
Use ibge_sidra_metadados para ver os níveis disponíveis para cada tabela.`,
|
|
106
120
|
}),
|
|
107
121
|
};
|
|
108
122
|
/**
|
|
109
123
|
* Timeout error handler
|
|
110
124
|
*/
|
|
111
|
-
export function timeoutError(tool, timeoutMs) {
|
|
125
|
+
export function timeoutError(tool, timeoutMs, relatedTools) {
|
|
112
126
|
return formatError({
|
|
113
127
|
message: "Tempo de resposta excedido",
|
|
114
128
|
tool,
|
|
115
129
|
suggestion: `A requisição demorou mais de ${timeoutMs / 1000} segundos.
|
|
116
130
|
Tente novamente ou reduza o escopo da consulta (menos localidades ou períodos).`,
|
|
131
|
+
relatedTools,
|
|
117
132
|
});
|
|
118
133
|
}
|
|
119
134
|
/**
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,iDAAiD;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAA4D;IACvF,GAAG,EAAE;QACH,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EAAE,sDAAsD;KACnE;IACD,GAAG,EAAE;QACH,OAAO,EAAE,wBAAwB;QACjC,UAAU,EAAE,gDAAgD;KAC7D;IACD,GAAG,EAAE;QACH,OAAO,EAAE,+BAA+B;QACxC,UAAU,EAAE,oCAAoC;KACjD;IACD,GAAG,EAAE;QACH,OAAO,EAAE,2CAA2C;QACpD,UAAU,EAAE,oCAAoC;KACjD;IACD,GAAG,EAAE;QACH,OAAO,EAAE,4BAA4B;QACrC,UAAU,EAAE,6BAA6B;KAC1C;CACF,CAAC;AAWF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnE,IAAI,MAAM,GAAG,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC;IAE1C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,iBAAiB,SAAS,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,MAAM,CAAC;IAErE,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,+BAA+B,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC;YACvC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,IAAI,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,SAAS,EAAE,UAAU,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,mBAAmB,UAAU,MAAM,CAAC;IAChD,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,kCAAkC,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,IAAI,OAAO,IAAI,MAAM,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAY,EACZ,IAAY,EACZ,MAAgC,EAChC,YAAuB;IAEvB,4DAA4D;IAC5D,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,kDAAkD;IAClD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5D,OAAO,WAAW,CAAC;QACjB,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI;QACJ,MAAM;QACN,YAAY;KACb,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,YAAoB,EAAU,EAAE,CACxE,WAAW,CAAC;QACV,OAAO,EAAE,qBAAqB,IAAI,GAAG;QACrC,IAAI;QACJ,UAAU,EAAE,sBAAsB,YAAY,EAAE;KACjD,CAAC;IAEJ,QAAQ,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,UAAmB,EAAU,EAAE,CACpE,WAAW,CAAC;QACV,OAAO,EAAE,GAAG,IAAI,iBAAiB;QACjC,IAAI;QACJ,UAAU,EAAE,UAAU;YACpB,CAAC,CAAC,OAAO,UAAU,8BAA8B;YACjD,CAAC,CAAC,4CAA4C;KACjD,CAAC;IAEJ,WAAW,EAAE,CAAC,IAAY,EAAE,UAAmB,EAAU,EAAE,CACzD,WAAW,CAAC;QACV,OAAO,EAAE,wBAAwB;QACjC,IAAI;QACJ,UAAU,EAAE,UAAU,IAAI,uCAAuC;KAClE,CAAC;IAEJ,WAAW,EAAE,CAAC,KAAa,EAAE,IAAY,EAAU,EAAE,CACnD,WAAW,CAAC;QACV,OAAO,EAAE,mBAAmB,KAAK,GAAG;QACpC,IAAI;QACJ,UAAU,EAAE;0DACwC;KACrD,CAAC;IAEJ,aAAa,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,YAAqB,EAAU,EAAE,CAC7E,WAAW,CAAC;QACV,OAAO,EAAE,sBAAsB,MAAM,GAAG;QACxC,IAAI;QACJ,UAAU,EAAE,YAAY;YACtB,CAAC,CAAC,qBAAqB,YAAY,EAAE;YACrC,CAAC,CAAC,oEAAoE;KACzE,CAAC;IAEJ,gBAAgB,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,WAAoB,EAAU,EAAE,CAC9E,WAAW,CAAC;QACV,OAAO,EAAE,gCAAgC,KAAK,GAAG;QACjD,IAAI;QACJ,UAAU,EAAE,WAAW;YACrB,CAAC,CAAC,mBAAmB,WAAW;0EACkC;YAClE,CAAC,CAAC;0EACgE;KACrE,CAAC;CACL,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,SAAiB,EAAE,YAAuB;IACnF,OAAO,WAAW,CAAC;QACjB,OAAO,EAAE,4BAA4B;QACrC,IAAI;QACJ,UAAU,EAAE,gCAAgC,SAAS,GAAG,IAAI;gFACgB;QAC5E,YAAY;KACb,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,WAAW,CAAC;QACjB,OAAO,EAAE,iBAAiB;QAC1B,IAAI;QACJ,UAAU,EAAE;wDACwC;KACrD,CAAC,CAAC;AACL,CAAC"}
|