ibge-br-mcp 1.9.2 → 2.0.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.
Files changed (143) hide show
  1. package/README.md +83 -29
  2. package/README.pt-BR.md +85 -31
  3. package/dist/config.d.ts +52 -5
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +108 -6
  6. package/dist/config.js.map +1 -1
  7. package/dist/errors.d.ts +3 -2
  8. package/dist/errors.d.ts.map +1 -1
  9. package/dist/errors.js +18 -3
  10. package/dist/errors.js.map +1 -1
  11. package/dist/index.js +6 -567
  12. package/dist/index.js.map +1 -1
  13. package/dist/prompts.d.ts +12 -0
  14. package/dist/prompts.d.ts.map +1 -0
  15. package/dist/prompts.js +64 -0
  16. package/dist/prompts.js.map +1 -0
  17. package/dist/resources.d.ts +12 -0
  18. package/dist/resources.d.ts.map +1 -0
  19. package/dist/resources.js +130 -0
  20. package/dist/resources.js.map +1 -0
  21. package/dist/retry.d.ts +10 -0
  22. package/dist/retry.d.ts.map +1 -1
  23. package/dist/retry.js +48 -4
  24. package/dist/retry.js.map +1 -1
  25. package/dist/server.d.ts +13 -0
  26. package/dist/server.d.ts.map +1 -0
  27. package/dist/server.js +659 -0
  28. package/dist/server.js.map +1 -0
  29. package/dist/structured.d.ts +50 -0
  30. package/dist/structured.d.ts.map +1 -0
  31. package/dist/structured.js +85 -0
  32. package/dist/structured.js.map +1 -0
  33. package/dist/tools/calendario.d.ts +2 -29
  34. package/dist/tools/calendario.d.ts.map +1 -1
  35. package/dist/tools/calendario.js +44 -37
  36. package/dist/tools/calendario.js.map +1 -1
  37. package/dist/tools/censo.d.ts +31 -25
  38. package/dist/tools/censo.d.ts.map +1 -1
  39. package/dist/tools/censo.js +77 -48
  40. package/dist/tools/censo.js.map +1 -1
  41. package/dist/tools/cidades.d.ts +39 -25
  42. package/dist/tools/cidades.d.ts.map +1 -1
  43. package/dist/tools/cidades.js +112 -58
  44. package/dist/tools/cidades.js.map +1 -1
  45. package/dist/tools/cnae.d.ts +0 -21
  46. package/dist/tools/cnae.d.ts.map +1 -1
  47. package/dist/tools/cnae.js +0 -29
  48. package/dist/tools/cnae.js.map +1 -1
  49. package/dist/tools/comparar.d.ts +75 -19
  50. package/dist/tools/comparar.d.ts.map +1 -1
  51. package/dist/tools/comparar.js +106 -65
  52. package/dist/tools/comparar.js.map +1 -1
  53. package/dist/tools/datasaude.d.ts +30 -26
  54. package/dist/tools/datasaude.d.ts.map +1 -1
  55. package/dist/tools/datasaude.js +64 -39
  56. package/dist/tools/datasaude.js.map +1 -1
  57. package/dist/tools/estados.d.ts +2 -17
  58. package/dist/tools/estados.d.ts.map +1 -1
  59. package/dist/tools/estados.js +4 -18
  60. package/dist/tools/estados.js.map +1 -1
  61. package/dist/tools/geocodigo.d.ts +2 -20
  62. package/dist/tools/geocodigo.d.ts.map +1 -1
  63. package/dist/tools/geocodigo.js +11 -30
  64. package/dist/tools/geocodigo.js.map +1 -1
  65. package/dist/tools/index.d.ts +22 -27
  66. package/dist/tools/index.d.ts.map +1 -1
  67. package/dist/tools/index.js +22 -414
  68. package/dist/tools/index.js.map +1 -1
  69. package/dist/tools/indicadores.d.ts +28 -28
  70. package/dist/tools/indicadores.d.ts.map +1 -1
  71. package/dist/tools/indicadores.js +67 -58
  72. package/dist/tools/indicadores.js.map +1 -1
  73. package/dist/tools/localidade.d.ts +0 -15
  74. package/dist/tools/localidade.d.ts.map +1 -1
  75. package/dist/tools/localidade.js +0 -18
  76. package/dist/tools/localidade.js.map +1 -1
  77. package/dist/tools/malhas-tema.d.ts +0 -24
  78. package/dist/tools/malhas-tema.d.ts.map +1 -1
  79. package/dist/tools/malhas-tema.js +1 -24
  80. package/dist/tools/malhas-tema.js.map +1 -1
  81. package/dist/tools/malhas.d.ts +0 -27
  82. package/dist/tools/malhas.d.ts.map +1 -1
  83. package/dist/tools/malhas.js +1 -38
  84. package/dist/tools/malhas.js.map +1 -1
  85. package/dist/tools/municipios.d.ts +0 -18
  86. package/dist/tools/municipios.d.ts.map +1 -1
  87. package/dist/tools/municipios.js +6 -22
  88. package/dist/tools/municipios.js.map +1 -1
  89. package/dist/tools/nomes.d.ts +0 -27
  90. package/dist/tools/nomes.d.ts.map +1 -1
  91. package/dist/tools/nomes.js +0 -26
  92. package/dist/tools/nomes.js.map +1 -1
  93. package/dist/tools/noticias.d.ts +2 -32
  94. package/dist/tools/noticias.d.ts.map +1 -1
  95. package/dist/tools/noticias.js +22 -28
  96. package/dist/tools/noticias.js.map +1 -1
  97. package/dist/tools/paises.d.ts +0 -24
  98. package/dist/tools/paises.d.ts.map +1 -1
  99. package/dist/tools/paises.js +0 -23
  100. package/dist/tools/paises.js.map +1 -1
  101. package/dist/tools/pesquisas.d.ts +0 -15
  102. package/dist/tools/pesquisas.d.ts.map +1 -1
  103. package/dist/tools/pesquisas.js +4 -28
  104. package/dist/tools/pesquisas.js.map +1 -1
  105. package/dist/tools/populacao.d.ts +39 -13
  106. package/dist/tools/populacao.d.ts.map +1 -1
  107. package/dist/tools/populacao.js +37 -23
  108. package/dist/tools/populacao.js.map +1 -1
  109. package/dist/tools/sidra-metadados.d.ts +0 -18
  110. package/dist/tools/sidra-metadados.d.ts.map +1 -1
  111. package/dist/tools/sidra-metadados.js +0 -23
  112. package/dist/tools/sidra-metadados.js.map +1 -1
  113. package/dist/tools/sidra-tabelas.d.ts +0 -18
  114. package/dist/tools/sidra-tabelas.d.ts.map +1 -1
  115. package/dist/tools/sidra-tabelas.js +1 -28
  116. package/dist/tools/sidra-tabelas.js.map +1 -1
  117. package/dist/tools/sidra.d.ts +59 -31
  118. package/dist/tools/sidra.d.ts.map +1 -1
  119. package/dist/tools/sidra.js +117 -99
  120. package/dist/tools/sidra.js.map +1 -1
  121. package/dist/tools/vizinhos.d.ts +0 -21
  122. package/dist/tools/vizinhos.d.ts.map +1 -1
  123. package/dist/tools/vizinhos.js +14 -30
  124. package/dist/tools/vizinhos.js.map +1 -1
  125. package/dist/types.d.ts +0 -8
  126. package/dist/types.d.ts.map +1 -1
  127. package/dist/types.js +0 -2
  128. package/dist/types.js.map +1 -1
  129. package/dist/validation.d.ts +27 -3
  130. package/dist/validation.d.ts.map +1 -1
  131. package/dist/validation.js +49 -22
  132. package/dist/validation.js.map +1 -1
  133. package/package.json +15 -3
  134. package/.github/workflows/ci.yml +0 -91
  135. package/.github/workflows/publish.yml +0 -118
  136. package/CHANGELOG.md +0 -171
  137. package/CONTRIBUTING.md +0 -285
  138. package/dist/tools/bcb.d.ts +0 -50
  139. package/dist/tools/bcb.d.ts.map +0 -1
  140. package/dist/tools/bcb.js +0 -298
  141. package/dist/tools/bcb.js.map +0 -1
  142. package/server.json +0 -21
  143. package/smithery.yaml +0 -9
package/README.md CHANGED
@@ -1,16 +1,28 @@
1
+ [![Verified on MseeP](https://mseep.net/pr/sidneybissoli-ibge-br-mcp-badge.png)](https://mseep.ai/app/b39475dc-331c-48ff-a0d9-441f6575598c)
2
+
1
3
  # ibge-br-mcp
2
4
 
5
+ [![npm version](https://img.shields.io/npm/v/ibge-br-mcp.svg)](https://www.npmjs.com/package/ibge-br-mcp)
6
+ [![npm downloads](https://img.shields.io/npm/dm/ibge-br-mcp.svg)](https://www.npmjs.com/package/ibge-br-mcp)
7
+ [![Tests](https://img.shields.io/badge/tests-460%20passed-brightgreen.svg)](https://github.com/SidneyBissoli/ibge-br-mcp)
8
+ [![Coverage](https://img.shields.io/badge/coverage-core%2097%25-brightgreen.svg)](https://github.com/SidneyBissoli/ibge-br-mcp)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
3
10
  [![smithery badge](https://smithery.ai/badge/sidneybissoli/ibge-br-mcp)](https://smithery.ai/server/sidneybissoli/ibge-br-mcp)
11
+ [![ibge-br-mcp MCP server](https://glama.ai/mcp/servers/SidneyBissoli/ibge-br-mcp/badges/score.svg)](https://glama.ai/mcp/servers/SidneyBissoli/ibge-br-mcp)
12
+
13
+ **Live, exact Brazilian public data for your AI assistant — with provenance, not guesswork.**
4
14
 
5
- MCP Server for IBGE (Brazilian Institute of Geography and Statistics) APIs.
15
+ Ask an LLM _"what was Belo Horizonte's population in the 2022 Census?"_ and you get a plausible number from its training data: maybe right, maybe outdated, with no source. `ibge-br-mcp` instead has your assistant query the official **IBGE** APIs in real time — returning the exact figure together with the table and period it came from.
6
16
 
7
17
  🇧🇷 [Leia em Português](README.pt-BR.md)
8
18
 
9
- 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.
19
+ This server implements the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) to give AI assistants live, structured access to Brazil's public geographic, demographic, economic, and health data — sourced from the IBGE APIs (including health indicators served through IBGE's SIDRA system).
10
20
 
11
21
  ## Features
12
22
 
13
- - **23 specialized tools** covering all major IBGE data domains
23
+ - **22 specialized tools** covering all major IBGE data domains
24
+ - **Reference resources & analysis prompts** (MCP catalogs + ready-made templates)
25
+ - **460 automated tests** with 97%+ core coverage
14
26
  - **Automatic caching** with configurable TTL for optimal performance
15
27
  - **Retry mechanism** with exponential backoff for network resilience
16
28
  - **Comprehensive validation** for all input parameters
@@ -70,11 +82,10 @@ This server implements the [Model Context Protocol (MCP)](https://modelcontextpr
70
82
  | `ibge_malhas` | Geographic meshes (GeoJSON, TopoJSON, SVG) |
71
83
  | `ibge_malhas_tema` | Thematic meshes (biomes, Legal Amazon, semi-arid) |
72
84
 
73
- ### External Data (BCB & Health)
85
+ ### Health
74
86
  | Tool | Description |
75
87
  |:-----|:------------|
76
- | `bcb` | Central Bank data (SELIC, IPCA, exchange rates) |
77
- | `datasaude` | Health indicators via IBGE/DataSUS |
88
+ | `datasaude` | Health indicators via IBGE's SIDRA |
78
89
 
79
90
  ### News & Calendar
80
91
  | Tool | Description |
@@ -82,6 +93,48 @@ This server implements the [Model Context Protocol (MCP)](https://modelcontextpr
82
93
  | `ibge_noticias` | IBGE news and press releases |
83
94
  | `ibge_calendario` | IBGE release and collection calendar |
84
95
 
96
+ ## Which tool should I use?
97
+
98
+ With 22 tools, several can touch the same topic. Quick guide for the common overlaps:
99
+
100
+ ### Population & demographics
101
+
102
+ | You want… | Use |
103
+ |:----------|:----|
104
+ | Brazil's population right now (real-time) | `ibge_populacao` |
105
+ | A single municipality/state panel (population, HDI, GDP…) | `ibge_cidades` |
106
+ | Census data or historical series (1970–2022) | `ibge_censo` |
107
+ | Rank/compare 2–10 localities on one indicator | `ibge_comparar` |
108
+ | A macro indicator time series (GDP, IPCA, unemployment…) | `ibge_indicadores` |
109
+ | A specific SIDRA table / fine control | `ibge_sidra` |
110
+
111
+ ### Economic indicators
112
+
113
+ | You want… | Use |
114
+ |:----------|:----|
115
+ | IPCA, INPC, GDP, unemployment (IBGE, primary source) | `ibge_indicadores` |
116
+
117
+ ### Localities & codes
118
+
119
+ | You want… | Use |
120
+ |:----------|:----|
121
+ | List/search municipalities | `ibge_municipios` |
122
+ | List states | `ibge_estados` |
123
+ | Resolve a name→code at any level, or decode a code's structure | `ibge_geocodigo` |
124
+ | Full record of one locality you already have the code for | `ibge_localidade` |
125
+ | Neighboring municipalities | `ibge_vizinhos` |
126
+
127
+ ### SIDRA workflow
128
+
129
+ 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.
130
+
131
+ ### Maps (meshes)
132
+
133
+ | You want… | Use |
134
+ |:----------|:----|
135
+ | Administrative outlines (Brazil/region/state/municipality) | `ibge_malhas` |
136
+ | Thematic areas (biomes, Legal Amazon, semi-arid, metro regions) | `ibge_malhas_tema` |
137
+
85
138
  ## Installation
86
139
 
87
140
  ### Prerequisites
@@ -343,26 +396,9 @@ ibge_malhas(localidade="BR", formato="svg")
343
396
  | 2 | States |
344
397
  | 5 | Municipalities |
345
398
 
346
- ### bcb
347
-
348
- Query Central Bank of Brazil data.
349
-
350
- ```
351
- # SELIC last 12 months
352
- bcb(indicador="selic", ultimos=12)
353
-
354
- # IPCA for 2023
355
- bcb(indicador="ipca", dataInicio="01/01/2023", dataFim="31/12/2023")
356
-
357
- # Dollar exchange rate last 30 days
358
- bcb(indicador="dolar_venda", ultimos=30)
359
- ```
360
-
361
- **Available indicators:** selic, cdi, tr, ipca, ipca_acum, igpm, inpc, dolar_compra, dolar_venda, euro, desemprego
362
-
363
399
  ### datasaude
364
400
 
365
- Query health indicators via IBGE/DataSUS.
401
+ Query Brazilian health indicators served through IBGE's SIDRA (some originally produced by DataSUS, e.g. mortality and births).
366
402
 
367
403
  ```
368
404
  # Infant mortality in Brazil
@@ -393,10 +429,6 @@ datasaude(indicador="listar")
393
429
  - **Countries**: `servicodados.ibge.gov.br/api/v1/paises`
394
430
  - **Research**: `servicodados.ibge.gov.br/api/v1/pesquisas`
395
431
 
396
- ### External APIs
397
-
398
- - **Central Bank (BCB)**: `api.bcb.gov.br/dados/serie/bcdata.sgs` - Interest rates, exchange rates, inflation
399
-
400
432
  ## Development
401
433
 
402
434
  ```bash
@@ -455,7 +487,6 @@ ibge-br-mcp/
455
487
  │ ├── malhas.ts # ibge_malhas
456
488
  │ ├── malhas-tema.ts # ibge_malhas_tema
457
489
  │ ├── vizinhos.ts # ibge_vizinhos
458
- │ ├── bcb.ts # bcb
459
490
  │ ├── datasaude.ts # datasaude
460
491
  │ ├── pesquisas.ts # ibge_pesquisas
461
492
  │ ├── nomes.ts # ibge_nomes
@@ -485,6 +516,29 @@ The project includes a comprehensive test suite with 227 tests covering:
485
516
  npm test
486
517
  ```
487
518
 
519
+ ## Quality Assurance
520
+
521
+ This project maintains high code quality standards:
522
+
523
+ - **227 automated tests** covering validation, caching, retry logic, formatting, and integrations
524
+ - **97%+ test coverage** on core modules (cache, validation, errors, types)
525
+ - **ESLint** for code linting with zero warnings
526
+ - **Prettier** for consistent code formatting
527
+ - **TypeScript strict mode** for type safety
528
+ - **Automated CI/CD** via GitHub Actions
529
+
530
+ Run tests locally:
531
+ ```bash
532
+ # Run all tests
533
+ npm test
534
+
535
+ # Run tests with coverage
536
+ npm run test:coverage
537
+
538
+ # Run linter
539
+ npm run lint
540
+ ```
541
+
488
542
  ## License
489
543
 
490
544
  MIT
package/README.pt-BR.md CHANGED
@@ -1,17 +1,29 @@
1
+ [![Verified on MseeP](https://mseep.net/pr/sidneybissoli-ibge-br-mcp-badge.png)](https://mseep.ai/app/b39475dc-331c-48ff-a0d9-441f6575598c)
2
+
1
3
  # ibge-br-mcp
2
4
 
5
+ [![npm version](https://img.shields.io/npm/v/ibge-br-mcp.svg)](https://www.npmjs.com/package/ibge-br-mcp)
6
+ [![npm downloads](https://img.shields.io/npm/dm/ibge-br-mcp.svg)](https://www.npmjs.com/package/ibge-br-mcp)
7
+ [![Tests](https://img.shields.io/badge/tests-460%20passed-brightgreen.svg)](https://github.com/SidneyBissoli/ibge-br-mcp)
8
+ [![Coverage](https://img.shields.io/badge/coverage-core%2097%25-brightgreen.svg)](https://github.com/SidneyBissoli/ibge-br-mcp)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
3
10
  [![smithery badge](https://smithery.ai/badge/sidneybissoli/ibge-br-mcp)](https://smithery.ai/server/sidneybissoli/ibge-br-mcp)
11
+ [![ibge-br-mcp MCP server](https://glama.ai/mcp/servers/SidneyBissoli/ibge-br-mcp/badges/score.svg)](https://glama.ai/mcp/servers/SidneyBissoli/ibge-br-mcp)
4
12
 
5
- Servidor MCP para APIs do IBGE (Instituto Brasileiro de Geografia e Estatística).
13
+ **Dados públicos brasileiros ao vivo e exatos para o seu assistente de IA com procedência, não chute.**
6
14
 
7
- Este servidor implementa o [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) para fornecer acesso às APIs públicas do IBGE, permitindo que assistentes de IA consultem dados geográficos, demográficos e estatísticos do Brasil.
15
+ Pergunte a um LLM _"qual era a população de Belo Horizonte no Censo 2022?"_ e você recebe um número plausível, tirado do treino: talvez certo, talvez desatualizado, sem fonte. O `ibge-br-mcp` faz o seu assistente consultar as APIs oficiais do **IBGE** em tempo real devolvendo o valor exato junto com a tabela e o período de onde ele veio.
8
16
 
9
17
  🇺🇸 [Read in English](README.md)
10
18
 
11
- ## Funcionalidades
19
+ Este servidor implementa o [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) para dar aos assistentes de IA acesso ao vivo e estruturado aos dados públicos geográficos, demográficos, econômicos e de saúde do Brasil — vindos das APIs do IBGE (inclusive os indicadores de saúde, servidos pelo SIDRA do IBGE).
20
+
21
+ ## Recursos
12
22
 
13
- - **23 ferramentas especializadas** cobrindo todos os principais domínios de dados do IBGE
14
- - **Cache automático** com TTL configurável para desempenho otimizado
23
+ - **22 ferramentas especializadas** cobrindo todos os principais domínios de dados do IBGE
24
+ - **Resources de referência & prompts de análise** (catálogos MCP + templates prontos)
25
+ - **460 testes automatizados** com 97%+ de cobertura no core
26
+ - **Cache automático** com TTL configurável para performance otimizada
15
27
  - **Mecanismo de retry** com backoff exponencial para resiliência de rede
16
28
  - **Validação abrangente** para todos os parâmetros de entrada
17
29
  - **Tratamento de erros padronizado** com sugestões úteis
@@ -70,11 +82,10 @@ Este servidor implementa o [Model Context Protocol (MCP)](https://modelcontextpr
70
82
  | `ibge_malhas` | Malhas geográficas (GeoJSON, TopoJSON, SVG) |
71
83
  | `ibge_malhas_tema` | Malhas temáticas (biomas, Amazônia Legal, semiárido) |
72
84
 
73
- ### Dados Externos (BCB e Saúde)
85
+ ### Saúde
74
86
  | Ferramenta | Descrição |
75
87
  |:-----------|:----------|
76
- | `bcb` | Dados do Banco Central (SELIC, IPCA, câmbio) |
77
- | `datasaude` | Indicadores de saúde via IBGE/DataSUS |
88
+ | `datasaude` | Indicadores de saúde via SIDRA do IBGE |
78
89
 
79
90
  ### Notícias e Calendário
80
91
  | Ferramenta | Descrição |
@@ -82,6 +93,48 @@ Este servidor implementa o [Model Context Protocol (MCP)](https://modelcontextpr
82
93
  | `ibge_noticias` | Notícias e releases do IBGE |
83
94
  | `ibge_calendario` | Calendário de divulgações e coletas do IBGE |
84
95
 
96
+ ## Qual ferramenta usar?
97
+
98
+ Com 22 ferramentas, várias podem tocar no mesmo assunto. Guia rápido para as sobreposições comuns:
99
+
100
+ ### População e demografia
101
+
102
+ | Você quer… | Use |
103
+ |:-----------|:----|
104
+ | População do Brasil agora (tempo real) | `ibge_populacao` |
105
+ | Painel de um único município/UF (população, IDH, PIB…) | `ibge_cidades` |
106
+ | Dados censitários ou série histórica (1970–2022) | `ibge_censo` |
107
+ | Ranquear/comparar 2–10 localidades num indicador | `ibge_comparar` |
108
+ | Série temporal de indicador macro (PIB, IPCA, desemprego…) | `ibge_indicadores` |
109
+ | Uma tabela SIDRA específica / controle fino | `ibge_sidra` |
110
+
111
+ ### Indicadores econômicos
112
+
113
+ | Você quer… | Use |
114
+ |:-----------|:----|
115
+ | IPCA, INPC, PIB, desemprego (IBGE, fonte primária) | `ibge_indicadores` |
116
+
117
+ ### Localidades e códigos
118
+
119
+ | Você quer… | Use |
120
+ |:-----------|:----|
121
+ | Listar/buscar municípios | `ibge_municipios` |
122
+ | Listar estados | `ibge_estados` |
123
+ | Resolver nome→código em qualquer nível, ou decodificar a estrutura de um código | `ibge_geocodigo` |
124
+ | Ficha completa de uma localidade da qual você já tem o código | `ibge_localidade` |
125
+ | Municípios vizinhos | `ibge_vizinhos` |
126
+
127
+ ### Fluxo SIDRA
128
+
129
+ 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.
130
+
131
+ ### Mapas (malhas)
132
+
133
+ | Você quer… | Use |
134
+ |:-----------|:----|
135
+ | Contornos administrativos (Brasil/região/UF/município) | `ibge_malhas` |
136
+ | Áreas temáticas (biomas, Amazônia Legal, semiárido, regiões metropolitanas) | `ibge_malhas_tema` |
137
+
85
138
  ## Instalação
86
139
 
87
140
  ### Pré-requisitos
@@ -343,26 +396,9 @@ ibge_malhas(localidade="BR", formato="svg")
343
396
  | 2 | Estados |
344
397
  | 5 | Municípios |
345
398
 
346
- ### bcb
347
-
348
- Consulta dados do Banco Central do Brasil.
349
-
350
- ```
351
- # SELIC últimos 12 meses
352
- bcb(indicador="selic", ultimos=12)
353
-
354
- # IPCA de 2023
355
- bcb(indicador="ipca", dataInicio="01/01/2023", dataFim="31/12/2023")
356
-
357
- # Cotação do dólar últimos 30 dias
358
- bcb(indicador="dolar_venda", ultimos=30)
359
- ```
360
-
361
- **Indicadores disponíveis:** selic, cdi, tr, ipca, ipca_acum, igpm, inpc, dolar_compra, dolar_venda, euro, desemprego
362
-
363
399
  ### datasaude
364
400
 
365
- Consulta indicadores de saúde via IBGE/DataSUS.
401
+ Consulta indicadores de saúde servidos pelo SIDRA do IBGE (alguns originalmente do DataSUS, ex.: óbitos e nascidos vivos).
366
402
 
367
403
  ```
368
404
  # Mortalidade infantil no Brasil
@@ -393,10 +429,6 @@ datasaude(indicador="listar")
393
429
  - **Países**: `servicodados.ibge.gov.br/api/v1/paises`
394
430
  - **Pesquisas**: `servicodados.ibge.gov.br/api/v1/pesquisas`
395
431
 
396
- ### APIs Externas
397
-
398
- - **Banco Central (BCB)**: `api.bcb.gov.br/dados/serie/bcdata.sgs` - Taxas de juros, câmbio, inflação
399
-
400
432
  ## Desenvolvimento
401
433
 
402
434
  ```bash
@@ -458,7 +490,6 @@ ibge-br-mcp/
458
490
  │ ├── malhas.ts # ibge_malhas
459
491
  │ ├── malhas-tema.ts # ibge_malhas_tema
460
492
  │ ├── vizinhos.ts # ibge_vizinhos
461
- │ ├── bcb.ts # bcb
462
493
  │ ├── datasaude.ts # datasaude
463
494
  │ ├── pesquisas.ts # ibge_pesquisas
464
495
  │ ├── nomes.ts # ibge_nomes
@@ -488,6 +519,29 @@ O projeto inclui uma suíte de testes abrangente com 227 testes cobrindo:
488
519
  npm test
489
520
  ```
490
521
 
522
+ ## Garantia de Qualidade
523
+
524
+ Este projeto mantém altos padrões de qualidade de código:
525
+
526
+ - **227 testes automatizados** cobrindo validação, cache, retry, formatação e integrações
527
+ - **97%+ de cobertura de testes** nos módulos core (cache, validation, errors, types)
528
+ - **ESLint** para linting de código sem warnings
529
+ - **Prettier** para formatação consistente
530
+ - **TypeScript modo strict** para segurança de tipos
531
+ - **CI/CD automatizado** via GitHub Actions
532
+
533
+ Execute os testes localmente:
534
+ ```bash
535
+ # Rodar todos os testes
536
+ npm test
537
+
538
+ # Rodar testes com cobertura
539
+ npm run test:coverage
540
+
541
+ # Rodar linter
542
+ npm run lint
543
+ ```
544
+
491
545
  ## Licença
492
546
 
493
547
  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";
@@ -16,11 +24,6 @@ export declare const API_ENDPOINTS: {
16
24
  readonly PESQUISAS: "https://servicodados.ibge.gov.br/api/v1/pesquisas";
17
25
  };
18
26
  readonly SIDRA: "https://apisidra.ibge.gov.br/values";
19
- readonly BCB: {
20
- readonly SGS: "https://api.bcb.gov.br/dados/serie/bcdata.sgs";
21
- readonly PTAX: "https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata";
22
- readonly EXPECTATIVAS: "https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata";
23
- };
24
27
  };
25
28
  /**
26
29
  * Brazilian states (UF) codes
@@ -75,6 +78,25 @@ export declare const TERRITORIAL_LEVELS: {
75
78
  * Territorial level names (for display)
76
79
  */
77
80
  export declare const TERRITORIAL_LEVEL_NAMES: Record<string, string>;
81
+ /**
82
+ * Short, agent-facing label for each territorial level code. Used to build the
83
+ * standardized `nivel_territorial` descriptions and error suggestions so the
84
+ * naming stays consistent across every tool (Brasil/Região/UF/Município ...).
85
+ */
86
+ export declare const TERRITORIAL_LEVEL_LABELS: Record<string, string>;
87
+ /** All SIDRA territorial level codes, in canonical order. */
88
+ export declare const ALL_TERRITORIAL_LEVELS: string[];
89
+ /**
90
+ * Builds the standardized `nivel_territorial` field description from the level
91
+ * codes a tool supports, e.g. ["1","2","3","6"] ->
92
+ * "Nível territorial (código N): 1=Brasil, 2=Região, 3=UF, 6=Município".
93
+ */
94
+ export declare function territorialLevelHint(codes: string[]): string;
95
+ /**
96
+ * Builds a "código (Label)" list for error suggestions, e.g.
97
+ * "1 (Brasil), 2 (Região), 3 (UF), 6 (Município)".
98
+ */
99
+ export declare function territorialLevelList(codes: string[]): string;
78
100
  export declare const BIOME_CODES: Record<string, number>;
79
101
  export declare const BIOME_NAMES: Record<number, string>;
80
102
  /**
@@ -137,6 +159,31 @@ export declare function getUfCode(uf: string): number | undefined;
137
159
  * Get UF abbreviation from code
138
160
  */
139
161
  export declare function getUfSigla(code: number): string | undefined;
162
+ /**
163
+ * Normalizes free text for matching: lowercased, trimmed, internal whitespace
164
+ * collapsed, and accents stripped (e.g. "São Paulo " -> "sao paulo").
165
+ */
166
+ export declare function normalizeText(text: string): string;
167
+ /**
168
+ * Normalized state name -> sigla (e.g. "sao paulo" -> "SP").
169
+ */
170
+ export declare const UF_NAME_TO_SIGLA: Record<string, string>;
171
+ export interface ResolvedUf {
172
+ code: number;
173
+ sigla: string;
174
+ nome: string;
175
+ }
176
+ /**
177
+ * Resolves a state (UF) from any of its three forms, interchangeably:
178
+ * - sigla: "SP" / "sp"
179
+ * - nome: "São Paulo" / "sao paulo" (accent- and case-insensitive)
180
+ * - código: "35" / 35
181
+ *
182
+ * Single source of truth for UF input resolution — tools should accept all
183
+ * three forms by routing user input through this helper. Returns null if the
184
+ * input matches none of them.
185
+ */
186
+ export declare function resolveUf(input: string | number): ResolvedUf | null;
140
187
  /**
141
188
  * Get region code from state abbreviation
142
189
  */
@@ -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;AAMF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAO9C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAO9C,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;CAmBf,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;CAStB,CAAC;AAMX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;CAgBX,CAAC;AAMX;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;IAC9C,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAoBA"}
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 = {
@@ -20,12 +37,6 @@ export const API_ENDPOINTS = {
20
37
  PESQUISAS: "https://servicodados.ibge.gov.br/api/v1/pesquisas",
21
38
  },
22
39
  SIDRA: "https://apisidra.ibge.gov.br/values",
23
- // External APIs
24
- BCB: {
25
- SGS: "https://api.bcb.gov.br/dados/serie/bcdata.sgs",
26
- PTAX: "https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata",
27
- EXPECTATIVAS: "https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata",
28
- },
29
40
  };
30
41
  // ============================================================================
31
42
  // Geographic Codes
@@ -185,6 +196,50 @@ export const TERRITORIAL_LEVEL_NAMES = {
185
196
  "127": "Amazônia Legal",
186
197
  "128": "Semiárido",
187
198
  };
199
+ /**
200
+ * Short, agent-facing label for each territorial level code. Used to build the
201
+ * standardized `nivel_territorial` descriptions and error suggestions so the
202
+ * naming stays consistent across every tool (Brasil/Região/UF/Município ...).
203
+ */
204
+ export const TERRITORIAL_LEVEL_LABELS = {
205
+ "1": "Brasil",
206
+ "2": "Região",
207
+ "3": "UF",
208
+ "6": "Município",
209
+ "7": "Região Metropolitana",
210
+ "8": "Mesorregião",
211
+ "9": "Microrregião",
212
+ "10": "Distrito",
213
+ "11": "Subdistrito",
214
+ "13": "RM/RIDE",
215
+ "14": "RIDE",
216
+ "15": "Aglomeração Urbana",
217
+ "17": "Região Geográfica Imediata",
218
+ "18": "Região Geográfica Intermediária",
219
+ "105": "Macrorregião de Saúde",
220
+ "106": "Região de Saúde",
221
+ "114": "Aglomerado Subnormal",
222
+ "127": "Amazônia Legal",
223
+ "128": "Semiárido",
224
+ };
225
+ /** All SIDRA territorial level codes, in canonical order. */
226
+ export const ALL_TERRITORIAL_LEVELS = Object.keys(TERRITORIAL_LEVEL_LABELS);
227
+ /**
228
+ * Builds the standardized `nivel_territorial` field description from the level
229
+ * codes a tool supports, e.g. ["1","2","3","6"] ->
230
+ * "Nível territorial (código N): 1=Brasil, 2=Região, 3=UF, 6=Município".
231
+ */
232
+ export function territorialLevelHint(codes) {
233
+ const list = codes.map((c) => `${c}=${TERRITORIAL_LEVEL_LABELS[c] ?? c}`).join(", ");
234
+ return `Nível territorial (código N): ${list}`;
235
+ }
236
+ /**
237
+ * Builds a "código (Label)" list for error suggestions, e.g.
238
+ * "1 (Brasil), 2 (Região), 3 (UF), 6 (Município)".
239
+ */
240
+ export function territorialLevelList(codes) {
241
+ return codes.map((c) => `${c} (${TERRITORIAL_LEVEL_LABELS[c] ?? c})`).join(", ");
242
+ }
188
243
  // ============================================================================
189
244
  // Biome Codes
190
245
  // ============================================================================
@@ -287,6 +342,53 @@ export function getUfCode(uf) {
287
342
  export function getUfSigla(code) {
288
343
  return UF_SIGLAS[code];
289
344
  }
345
+ /**
346
+ * Normalizes free text for matching: lowercased, trimmed, internal whitespace
347
+ * collapsed, and accents stripped (e.g. "São Paulo " -> "sao paulo").
348
+ */
349
+ export function normalizeText(text) {
350
+ return text
351
+ .toLowerCase()
352
+ .trim()
353
+ .replace(/\s+/g, " ")
354
+ .normalize("NFD")
355
+ .replace(/[\u0300-\u036f]/g, "");
356
+ }
357
+ /**
358
+ * Normalized state name -> sigla (e.g. "sao paulo" -> "SP").
359
+ */
360
+ export const UF_NAME_TO_SIGLA = Object.fromEntries(Object.entries(UF_NAMES).map(([sigla, nome]) => [normalizeText(nome), sigla]));
361
+ /**
362
+ * Resolves a state (UF) from any of its three forms, interchangeably:
363
+ * - sigla: "SP" / "sp"
364
+ * - nome: "São Paulo" / "sao paulo" (accent- and case-insensitive)
365
+ * - código: "35" / 35
366
+ *
367
+ * Single source of truth for UF input resolution — tools should accept all
368
+ * three forms by routing user input through this helper. Returns null if the
369
+ * input matches none of them.
370
+ */
371
+ export function resolveUf(input) {
372
+ const raw = String(input).trim();
373
+ if (!raw)
374
+ return null;
375
+ let sigla;
376
+ if (/^\d+$/.test(raw)) {
377
+ // Numeric IBGE code (e.g. "35")
378
+ sigla = UF_SIGLAS[parseInt(raw, 10)];
379
+ }
380
+ else if (raw.length === 2 && raw.toUpperCase() in UF_CODES) {
381
+ // Sigla (e.g. "SP")
382
+ sigla = raw.toUpperCase();
383
+ }
384
+ else {
385
+ // State name (e.g. "São Paulo")
386
+ sigla = UF_NAME_TO_SIGLA[normalizeText(raw)];
387
+ }
388
+ if (!sigla)
389
+ return null;
390
+ return { code: UF_CODES[sigla], sigla, nome: UF_NAMES[sigla] };
391
+ }
290
392
  /**
291
393
  * Get region code from state abbreviation
292
394
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,YAAY;IACZ,IAAI,EAAE;QACJ,WAAW,EAAE,qDAAqD;QAClE,KAAK,EAAE,sDAAsD;QAC7D,SAAS,EAAE,mDAAmD;QAC9D,MAAM,EAAE,gDAAgD;QACxD,QAAQ,EAAE,kDAAkD;QAC5D,SAAS,EAAE,6DAA6D;QACxE,IAAI,EAAE,8CAA8C;QACpD,UAAU,EAAE,oDAAoD;QAChE,MAAM,EAAE,gDAAgD;QACxD,SAAS,EAAE,mDAAmD;KAC/D;IACD,KAAK,EAAE,qCAAqC;IAC5C,gBAAgB;IAChB,GAAG,EAAE;QACH,GAAG,EAAE,+CAA+C;QACpD,IAAI,EAAE,+DAA+D;QACrE,YAAY,EAAE,uEAAuE;KACtF;CACO,CAAC;AAEX,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA2B;IAC9C,QAAQ;IACR,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,WAAW;IACX,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,UAAU;IACV,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,MAAM;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,eAAe;IACf,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;CACP,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAA2B,MAAM,CAAC,WAAW,CACjE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAC/D,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA2B;IAC9C,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,kBAAkB;IACtB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,qBAAqB;IACzB,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,CAAC,EAAE,CAAC,EAAE,QAAQ;IACd,EAAE,EAAE,CAAC,EAAE,WAAW;IAClB,EAAE,EAAE,CAAC,EAAE,UAAU;IACjB,CAAC,EAAE,CAAC,EAAE,MAAM;IACZ,EAAE,EAAE,CAAC,EAAE,eAAe;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,cAAc;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ;IACvD,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,WAAW;IACtE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU;IACvC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM;IAC7B,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,eAAe;CAC7C,CAAC;AAEF,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,EAAE,EAAE,GAAG;IACP,SAAS,EAAE,GAAG;IACd,oBAAoB,EAAE,GAAG;IACzB,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,IAAI;IACrB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,KAAK;IACzB,YAAY,EAAE,KAAK;IACnB,oBAAoB,EAAE,KAAK;IAC3B,cAAc,EAAE,KAAK;IACrB,SAAS,EAAE,KAAK;CACR,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,sBAAsB;IAC3B,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,sBAAsB;IAC3B,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,iCAAiC;IACvC,KAAK,EAAE,uBAAuB;IAC9B,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,sBAAsB;IAC7B,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,cAAc,EAAE,CAAC;IACjB,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,gBAAgB;IACnB,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,UAAU;CACd,CAAC;AAEF,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,aAAa;IACb,oBAAoB,EAAE,MAAM;IAC5B,oBAAoB,EAAE,MAAM;IAC5B,0BAA0B,EAAE,KAAK;IACjC,UAAU;IACV,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,MAAM;IACxB,qBAAqB,EAAE,MAAM;IAC7B,QAAQ;IACR,gBAAgB,EAAE,MAAM;IACxB,gBAAgB,EAAE,MAAM;IACxB,SAAS;IACT,WAAW,EAAE,MAAM;IACnB,cAAc,EAAE,MAAM;IACtB,gBAAgB;IAChB,aAAa,EAAE,MAAM;IACrB,UAAU,EAAE,MAAM;CACV,CAAC;AAEX,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mBAAmB,EAAE,SAAS;IAC9B,YAAY,EAAE,SAAS;IACvB,gBAAgB,EAAE,SAAS;IAC3B,kBAAkB,EAAE,SAAS;IAC7B,OAAO,EAAE,uBAAuB;IAChC,SAAS,EAAE,qBAAqB;IAChC,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,wBAAwB;CAC3B,CAAC;AAEX,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE;QACV,IAAI,EAAE,CAAC;QACP,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,GAAG;KACnB;IACD,SAAS,EAAE;QACT,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW;QAC5B,MAAM,EAAE,EAAE,EAAE,SAAS;QACrB,KAAK,EAAE,EAAE,EAAE,aAAa;QACxB,QAAQ,EAAE,CAAC,EAAE,WAAW;KACzB;IACD,OAAO,EAAE;QACP,YAAY,EAAE,GAAG;QACjB,eAAe,EAAE,GAAG;KACrB;CACO,CAAC;AAEX,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,OAAO,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpE,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAK3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAExC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,yBAAyB,IAAI,yFAAyF;KAChI,CAAC;AACJ,CAAC"}
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
  */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,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,CAYR;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;4BAOhC,MAAM,QAAQ,MAAM,iBAAiB,MAAM,KAAG,MAAM;8BASlD,MAAM,QAAQ,MAAM,KAAG,MAAM;CAOxD,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOjD"}
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"}