ibge-br-mcp 5.4.0 → 5.5.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/dist/call-shape.d.ts +27 -0
- package/dist/call-shape.d.ts.map +1 -1
- package/dist/call-shape.js +48 -0
- package/dist/call-shape.js.map +1 -1
- package/dist/errors.d.ts +67 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +82 -0
- package/dist/errors.js.map +1 -1
- package/dist/retry.d.ts +26 -0
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +40 -5
- package/dist/retry.js.map +1 -1
- package/dist/server.d.ts +5 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +13 -5
- package/dist/server.js.map +1 -1
- package/dist/stats.d.ts +9 -0
- package/dist/stats.d.ts.map +1 -1
- package/dist/stats.js +4 -0
- package/dist/stats.js.map +1 -1
- package/dist/structured.d.ts +7 -0
- package/dist/structured.d.ts.map +1 -1
- package/dist/structured.js +7 -1
- package/dist/structured.js.map +1 -1
- package/dist/tools/calendario.d.ts.map +1 -1
- package/dist/tools/calendario.js +6 -15
- package/dist/tools/calendario.js.map +1 -1
- package/dist/tools/censo.d.ts.map +1 -1
- package/dist/tools/censo.js +15 -32
- package/dist/tools/censo.js.map +1 -1
- package/dist/tools/cidades.d.ts.map +1 -1
- package/dist/tools/cidades.js +14 -38
- package/dist/tools/cidades.js.map +1 -1
- package/dist/tools/cnae.d.ts.map +1 -1
- package/dist/tools/cnae.js +17 -29
- package/dist/tools/cnae.js.map +1 -1
- package/dist/tools/comparar.d.ts.map +1 -1
- package/dist/tools/comparar.js +9 -17
- package/dist/tools/comparar.js.map +1 -1
- package/dist/tools/datasaude.d.ts.map +1 -1
- package/dist/tools/datasaude.js +9 -21
- package/dist/tools/datasaude.js.map +1 -1
- package/dist/tools/deep-research.d.ts.map +1 -1
- package/dist/tools/deep-research.js +7 -2
- package/dist/tools/deep-research.js.map +1 -1
- package/dist/tools/estados.d.ts.map +1 -1
- package/dist/tools/estados.js +5 -11
- package/dist/tools/estados.js.map +1 -1
- package/dist/tools/geocodigo.d.ts.map +1 -1
- package/dist/tools/geocodigo.js +35 -50
- package/dist/tools/geocodigo.js.map +1 -1
- package/dist/tools/indicadores.d.ts.map +1 -1
- package/dist/tools/indicadores.js +11 -22
- package/dist/tools/indicadores.js.map +1 -1
- package/dist/tools/localidade.d.ts.map +1 -1
- package/dist/tools/localidade.js +13 -30
- package/dist/tools/localidade.js.map +1 -1
- package/dist/tools/malhas-tema.d.ts.map +1 -1
- package/dist/tools/malhas-tema.js +8 -12
- package/dist/tools/malhas-tema.js.map +1 -1
- package/dist/tools/malhas.d.ts.map +1 -1
- package/dist/tools/malhas.js +9 -20
- package/dist/tools/malhas.js.map +1 -1
- package/dist/tools/municipios.d.ts.map +1 -1
- package/dist/tools/municipios.js +9 -21
- package/dist/tools/municipios.js.map +1 -1
- package/dist/tools/nomes.d.ts.map +1 -1
- package/dist/tools/nomes.js +10 -30
- package/dist/tools/nomes.js.map +1 -1
- package/dist/tools/noticias.d.ts.map +1 -1
- package/dist/tools/noticias.js +7 -24
- package/dist/tools/noticias.js.map +1 -1
- package/dist/tools/paises.d.ts.map +1 -1
- package/dist/tools/paises.js +13 -29
- package/dist/tools/paises.js.map +1 -1
- package/dist/tools/pesquisas.d.ts.map +1 -1
- package/dist/tools/pesquisas.js +9 -21
- package/dist/tools/pesquisas.js.map +1 -1
- package/dist/tools/sidra-metadados.d.ts.map +1 -1
- package/dist/tools/sidra-metadados.js +7 -15
- package/dist/tools/sidra-metadados.js.map +1 -1
- package/dist/tools/sidra-tabelas.d.ts.map +1 -1
- package/dist/tools/sidra-tabelas.js +14 -23
- package/dist/tools/sidra-tabelas.js.map +1 -1
- package/dist/tools/sidra.d.ts.map +1 -1
- package/dist/tools/sidra.js +11 -28
- package/dist/tools/sidra.js.map +1 -1
- package/dist/tools/vizinhos.d.ts.map +1 -1
- package/dist/tools/vizinhos.js +67 -89
- package/dist/tools/vizinhos.js.map +1 -1
- package/package.json +4 -2
package/dist/call-shape.d.ts
CHANGED
|
@@ -89,6 +89,33 @@ export declare function errorText(result: unknown): string;
|
|
|
89
89
|
* do erro que NÓS escrevemos.
|
|
90
90
|
*/
|
|
91
91
|
export declare function classifyThrown(error: unknown): ErrorClass;
|
|
92
|
+
/**
|
|
93
|
+
* A classe com que o erro NASCEU (`TimeoutError`, `UpstreamError`,
|
|
94
|
+
* `RecursoAusenteError`, `ErroDaOrigem` em retry.ts), ou `undefined` quando ele
|
|
95
|
+
* não declara nenhuma — aí vale a frase, como sempre.
|
|
96
|
+
*/
|
|
97
|
+
export declare function classeDeclarada(error: unknown): ErrorClass | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Onde um resultado de erro leva a classe decidida pelo TIPO da exceção.
|
|
100
|
+
*
|
|
101
|
+
* Por que existe. Medido em 30/09/2026, rodando este classificador sobre o
|
|
102
|
+
* texto que `parseHttpError` monta: falha de rede ("fetch failed") e abort
|
|
103
|
+
* ("This operation was aborted") caíam em `outro`; 403 e corpo HTML em 200
|
|
104
|
+
* ("não é JSON válido") também; e o 429 caía em `contrato` — "HTTP 429: Too
|
|
105
|
+
* Many Requests" casa "too many", instrução ao chamador, e `contrato` é a
|
|
106
|
+
* classe que o painel EXCLUI da taxa de erro. O tipo da falha existia em
|
|
107
|
+
* retry.ts e morria no `catch` de cada tool, que achata o erro em Markdown.
|
|
108
|
+
*
|
|
109
|
+
* O mesmo defeito de fundo foi consertado no bcb-br-mcp (#45), no
|
|
110
|
+
* ilo-mcp-server (#24) e no uis-mcp-server (#22). O conserto não reescreve
|
|
111
|
+
* frase nem mexe em regex: a classe viaja AO LADO do texto, nesta
|
|
112
|
+
* chave-símbolo, que `toMcpResult` copia para o resultado como propriedade não
|
|
113
|
+
* enumerável — o que o cliente recebe não muda. O hook do `registerAll` a lê
|
|
114
|
+
* antes de cair na frase.
|
|
115
|
+
*/
|
|
116
|
+
export declare const CLASSE_DO_ERRO: unique symbol;
|
|
117
|
+
/** A classe anexada a um resultado de erro, ou `undefined` quando não há. */
|
|
118
|
+
export declare function classeAnexada(result: unknown): ErrorClass | undefined;
|
|
92
119
|
/**
|
|
93
120
|
* Classe de um erro JSON-RPC do PROTOCOLO, pelo código antes da mensagem.
|
|
94
121
|
*
|
package/dist/call-shape.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-shape.d.ts","sourceRoot":"","sources":["../src/call-shape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,qEAAqE;AACrE,MAAM,MAAM,UAAU;AACpB,gHAAgH;AAC9G,UAAU;AACZ,gFAAgF;GAC9E,gBAAgB;AAClB,sEAAsE;GACpE,OAAO;AACT,mFAAmF;GACjF,SAAS;AACX,yFAAyF;GACvF,OAAO,CAAC;AAEZ;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAmEzD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAOhD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAiBjD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"call-shape.d.ts","sourceRoot":"","sources":["../src/call-shape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,qEAAqE;AACrE,MAAM,MAAM,UAAU;AACpB,gHAAgH;AAC9G,UAAU;AACZ,gFAAgF;GAC9E,gBAAgB;AAClB,sEAAsE;GACpE,OAAO;AACT,mFAAmF;GACjF,SAAS;AACX,yFAAyF;GACvF,OAAO,CAAC;AAEZ;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAmEzD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAOhD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAiBjD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAYzD;AAcD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAGtE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,MAA8D,CAAC;AAEnG,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAIrE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAIrF"}
|
package/dist/call-shape.js
CHANGED
|
@@ -163,8 +163,56 @@ export function classifyThrown(error) {
|
|
|
163
163
|
error instanceof SyntaxError) {
|
|
164
164
|
return "defeito";
|
|
165
165
|
}
|
|
166
|
+
const declarada = classeDeclarada(error);
|
|
167
|
+
if (declarada)
|
|
168
|
+
return declarada;
|
|
166
169
|
return classifyError(error instanceof Error ? error.message : String(error));
|
|
167
170
|
}
|
|
171
|
+
const CLASSES = new Set([
|
|
172
|
+
"contrato",
|
|
173
|
+
"nao_encontrado",
|
|
174
|
+
"fonte",
|
|
175
|
+
"defeito",
|
|
176
|
+
"outro",
|
|
177
|
+
]);
|
|
178
|
+
function ehClasse(x) {
|
|
179
|
+
return typeof x === "string" && CLASSES.has(x);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* A classe com que o erro NASCEU (`TimeoutError`, `UpstreamError`,
|
|
183
|
+
* `RecursoAusenteError`, `ErroDaOrigem` em retry.ts), ou `undefined` quando ele
|
|
184
|
+
* não declara nenhuma — aí vale a frase, como sempre.
|
|
185
|
+
*/
|
|
186
|
+
export function classeDeclarada(error) {
|
|
187
|
+
const c = error?.classe;
|
|
188
|
+
return ehClasse(c) ? c : undefined;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Onde um resultado de erro leva a classe decidida pelo TIPO da exceção.
|
|
192
|
+
*
|
|
193
|
+
* Por que existe. Medido em 30/09/2026, rodando este classificador sobre o
|
|
194
|
+
* texto que `parseHttpError` monta: falha de rede ("fetch failed") e abort
|
|
195
|
+
* ("This operation was aborted") caíam em `outro`; 403 e corpo HTML em 200
|
|
196
|
+
* ("não é JSON válido") também; e o 429 caía em `contrato` — "HTTP 429: Too
|
|
197
|
+
* Many Requests" casa "too many", instrução ao chamador, e `contrato` é a
|
|
198
|
+
* classe que o painel EXCLUI da taxa de erro. O tipo da falha existia em
|
|
199
|
+
* retry.ts e morria no `catch` de cada tool, que achata o erro em Markdown.
|
|
200
|
+
*
|
|
201
|
+
* O mesmo defeito de fundo foi consertado no bcb-br-mcp (#45), no
|
|
202
|
+
* ilo-mcp-server (#24) e no uis-mcp-server (#22). O conserto não reescreve
|
|
203
|
+
* frase nem mexe em regex: a classe viaja AO LADO do texto, nesta
|
|
204
|
+
* chave-símbolo, que `toMcpResult` copia para o resultado como propriedade não
|
|
205
|
+
* enumerável — o que o cliente recebe não muda. O hook do `registerAll` a lê
|
|
206
|
+
* antes de cair na frase.
|
|
207
|
+
*/
|
|
208
|
+
export const CLASSE_DO_ERRO = Symbol.for("br.com.sidneybissoli.mcp/classe-do-erro");
|
|
209
|
+
/** A classe anexada a um resultado de erro, ou `undefined` quando não há. */
|
|
210
|
+
export function classeAnexada(result) {
|
|
211
|
+
if (!result || typeof result !== "object")
|
|
212
|
+
return undefined;
|
|
213
|
+
const c = result[CLASSE_DO_ERRO];
|
|
214
|
+
return ehClasse(c) ? c : undefined;
|
|
215
|
+
}
|
|
168
216
|
/**
|
|
169
217
|
* Classe de um erro JSON-RPC do PROTOCOLO, pelo código antes da mensagem.
|
|
170
218
|
*
|
package/dist/call-shape.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-shape.js","sourceRoot":"","sources":["../src/call-shape.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"call-shape.js","sourceRoot":"","sources":["../src/call-shape.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,6 +1,73 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Standardized error handling for IBGE MCP Server
|
|
3
3
|
*/
|
|
4
|
+
import { CLASSE_DO_ERRO, type ErrorClass } from "./call-shape.js";
|
|
5
|
+
/**
|
|
6
|
+
* A classe com que o erro nasceu, pronta para espalhar num resultado de erro
|
|
7
|
+
* (`{ markdown, isError: true, ...comClasse(error) }`). Vazio quando o erro não
|
|
8
|
+
* declara classe nem é bug nosso — aí a telemetria classifica pela frase.
|
|
9
|
+
*
|
|
10
|
+
* Bug nosso (`TypeError` & cia.) é `defeito` pelo TIPO, como em
|
|
11
|
+
* `classifyThrown`. Medido em 30/09/2026 na varredura da frota: os 24 `catch`
|
|
12
|
+
* de tool engolem a exceção antes do hook, e um "Cannot read properties of
|
|
13
|
+
* undefined" saía `outro` — ou `contrato`, quando o bloco "Parâmetros
|
|
14
|
+
* utilizados" ecoava uma palavra como "inválido".
|
|
15
|
+
*/
|
|
16
|
+
export declare function comClasse(error: unknown): {
|
|
17
|
+
[CLASSE_DO_ERRO]?: ErrorClass;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* `parseHttpError` com a classe do erro ao lado: o Markdown de sempre, e a
|
|
21
|
+
* classe pelo TIPO para a telemetria. É o que o `catch` de cada tool espalha
|
|
22
|
+
* no resultado — ver `CLASSE_DO_ERRO` em call-shape.ts.
|
|
23
|
+
*/
|
|
24
|
+
export declare function erroDaFonte(error: Error, tool: string, params?: Record<string, unknown>, relatedTools?: string[]): {
|
|
25
|
+
markdown: string;
|
|
26
|
+
[CLASSE_DO_ERRO]?: ErrorClass;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Resultado de erro de tool. O ÚNICO lugar de `src/` (fora de structured.ts,
|
|
30
|
+
* que monta o fio) onde se escreve `isError: true` é este arquivo — a guarda
|
|
31
|
+
* `tests/sem-iserror-literal.test.ts` reprova o literal em qualquer outro.
|
|
32
|
+
*
|
|
33
|
+
* Por que existe. Varredura de 30/09/2026: de ~118 resultados de erro nas
|
|
34
|
+
* tools, só ~24 (os `catch` com `erroDaFonte`) levavam a classe; o resto a
|
|
35
|
+
* deixava para a FRASE, e a frase ecoa argumento do chamador. No medical, o
|
|
36
|
+
* código ecoado "INVALID" casou `\binvalid` e um não-encontrado saiu
|
|
37
|
+
* `contrato`. Aqui a classe é parâmetro OBRIGATÓRIO (ou o nome do helper), e
|
|
38
|
+
* o compilador pega quem esquecer.
|
|
39
|
+
*/
|
|
40
|
+
export interface ResultadoDeErro {
|
|
41
|
+
markdown: string;
|
|
42
|
+
isError: true;
|
|
43
|
+
[CLASSE_DO_ERRO]?: ErrorClass;
|
|
44
|
+
}
|
|
45
|
+
/** Erro com a classe decidida por quem conhece a situação. */
|
|
46
|
+
export declare function erroComClasse(markdown: string, classe: ErrorClass): ResultadoDeErro;
|
|
47
|
+
/** Culpa da chamada: argumento inválido, faltando, ambíguo ou fora do catálogo local. */
|
|
48
|
+
export declare function erroContrato(markdown: string): ResultadoDeErro;
|
|
49
|
+
/** A origem respondeu, e respondeu que não existe / veio vazio legitimamente. */
|
|
50
|
+
export declare function erroNaoEncontrado(markdown: string): ResultadoDeErro;
|
|
51
|
+
/** A origem falhou ou respondeu o que não devia (vazio onde não pode haver vazio). */
|
|
52
|
+
export declare function erroFonte(markdown: string): ResultadoDeErro;
|
|
53
|
+
/** Bug ou configuração nossa. */
|
|
54
|
+
export declare function erroDefeito(markdown: string): ResultadoDeErro;
|
|
55
|
+
/**
|
|
56
|
+
* Texto próprio da tool para uma EXCEÇÃO: a classe vem do tipo do erro
|
|
57
|
+
* (`comClasse`). É o único caminho em que a classe pode faltar — exceção
|
|
58
|
+
* `Error` sem tipo conhecido —, e aí a telemetria cai na frase, como último
|
|
59
|
+
* recurso. Valor lançado que nem `Error` é vira `defeito`.
|
|
60
|
+
*/
|
|
61
|
+
export declare function erroDaExcecao(markdown: string, error: unknown): ResultadoDeErro;
|
|
62
|
+
/**
|
|
63
|
+
* O `catch` padrão de tool: `Error` vira o Markdown de `parseHttpError` com a
|
|
64
|
+
* classe pelo tipo; o que nem `Error` é (o ramo "Erro desconhecido") é bug
|
|
65
|
+
* nosso — `defeito` — com o texto de sempre (`emptyResult` da tool, ou o
|
|
66
|
+
* `semErro` que a tool já usava).
|
|
67
|
+
*/
|
|
68
|
+
export declare function erroDoCatch(error: unknown, tool: string, params?: Record<string, unknown>, relatedTools?: string[], semErro?: string): ResultadoDeErro;
|
|
69
|
+
/** A ausência que a origem RESPONDEU: `[]` em 200 (`RecursoAusenteError`) ou 404. */
|
|
70
|
+
export declare function ehAusencia(error: unknown): boolean;
|
|
4
71
|
export declare const IBGE_ERROR_CODES: Record<number, {
|
|
5
72
|
message: string;
|
|
6
73
|
suggestion: string;
|
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":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -2,6 +2,88 @@
|
|
|
2
2
|
* Standardized error handling for IBGE MCP Server
|
|
3
3
|
*/
|
|
4
4
|
import { RecursoAusenteError, TimeoutError, UpstreamError } from "./retry.js";
|
|
5
|
+
import { CLASSE_DO_ERRO, classeDeclarada } from "./call-shape.js";
|
|
6
|
+
/**
|
|
7
|
+
* A classe com que o erro nasceu, pronta para espalhar num resultado de erro
|
|
8
|
+
* (`{ markdown, isError: true, ...comClasse(error) }`). Vazio quando o erro não
|
|
9
|
+
* declara classe nem é bug nosso — aí a telemetria classifica pela frase.
|
|
10
|
+
*
|
|
11
|
+
* Bug nosso (`TypeError` & cia.) é `defeito` pelo TIPO, como em
|
|
12
|
+
* `classifyThrown`. Medido em 30/09/2026 na varredura da frota: os 24 `catch`
|
|
13
|
+
* de tool engolem a exceção antes do hook, e um "Cannot read properties of
|
|
14
|
+
* undefined" saía `outro` — ou `contrato`, quando o bloco "Parâmetros
|
|
15
|
+
* utilizados" ecoava uma palavra como "inválido".
|
|
16
|
+
*/
|
|
17
|
+
export function comClasse(error) {
|
|
18
|
+
const classe = classeDeclarada(error) ?? (ehBugNosso(error) ? "defeito" : undefined);
|
|
19
|
+
return classe ? { [CLASSE_DO_ERRO]: classe } : {};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Erro do motor de JS no NOSSO código. A falha de rede da undici também é um
|
|
23
|
+
* `TypeError` ("fetch failed"); todo `fetch` daqui passa por retry.ts, que a
|
|
24
|
+
* tipa como `fonte` antes de chegar a um `catch` — a exclusão é guarda, para
|
|
25
|
+
* uma ida crua futura não virar `defeito`.
|
|
26
|
+
*/
|
|
27
|
+
function ehBugNosso(error) {
|
|
28
|
+
if (error instanceof TypeError)
|
|
29
|
+
return error.message !== "fetch failed";
|
|
30
|
+
return (error instanceof RangeError || error instanceof ReferenceError || error instanceof SyntaxError);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* `parseHttpError` com a classe do erro ao lado: o Markdown de sempre, e a
|
|
34
|
+
* classe pelo TIPO para a telemetria. É o que o `catch` de cada tool espalha
|
|
35
|
+
* no resultado — ver `CLASSE_DO_ERRO` em call-shape.ts.
|
|
36
|
+
*/
|
|
37
|
+
export function erroDaFonte(error, tool, params, relatedTools) {
|
|
38
|
+
return { markdown: parseHttpError(error, tool, params, relatedTools), ...comClasse(error) };
|
|
39
|
+
}
|
|
40
|
+
/** Erro com a classe decidida por quem conhece a situação. */
|
|
41
|
+
export function erroComClasse(markdown, classe) {
|
|
42
|
+
return { markdown, isError: true, [CLASSE_DO_ERRO]: classe };
|
|
43
|
+
}
|
|
44
|
+
/** Culpa da chamada: argumento inválido, faltando, ambíguo ou fora do catálogo local. */
|
|
45
|
+
export function erroContrato(markdown) {
|
|
46
|
+
return erroComClasse(markdown, "contrato");
|
|
47
|
+
}
|
|
48
|
+
/** A origem respondeu, e respondeu que não existe / veio vazio legitimamente. */
|
|
49
|
+
export function erroNaoEncontrado(markdown) {
|
|
50
|
+
return erroComClasse(markdown, "nao_encontrado");
|
|
51
|
+
}
|
|
52
|
+
/** A origem falhou ou respondeu o que não devia (vazio onde não pode haver vazio). */
|
|
53
|
+
export function erroFonte(markdown) {
|
|
54
|
+
return erroComClasse(markdown, "fonte");
|
|
55
|
+
}
|
|
56
|
+
/** Bug ou configuração nossa. */
|
|
57
|
+
export function erroDefeito(markdown) {
|
|
58
|
+
return erroComClasse(markdown, "defeito");
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Texto próprio da tool para uma EXCEÇÃO: a classe vem do tipo do erro
|
|
62
|
+
* (`comClasse`). É o único caminho em que a classe pode faltar — exceção
|
|
63
|
+
* `Error` sem tipo conhecido —, e aí a telemetria cai na frase, como último
|
|
64
|
+
* recurso. Valor lançado que nem `Error` é vira `defeito`.
|
|
65
|
+
*/
|
|
66
|
+
export function erroDaExcecao(markdown, error) {
|
|
67
|
+
if (!(error instanceof Error))
|
|
68
|
+
return erroDefeito(markdown);
|
|
69
|
+
return { markdown, isError: true, ...comClasse(error) };
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* O `catch` padrão de tool: `Error` vira o Markdown de `parseHttpError` com a
|
|
73
|
+
* classe pelo tipo; o que nem `Error` é (o ramo "Erro desconhecido") é bug
|
|
74
|
+
* nosso — `defeito` — com o texto de sempre (`emptyResult` da tool, ou o
|
|
75
|
+
* `semErro` que a tool já usava).
|
|
76
|
+
*/
|
|
77
|
+
export function erroDoCatch(error, tool, params, relatedTools, semErro) {
|
|
78
|
+
if (error instanceof Error) {
|
|
79
|
+
return { ...erroDaFonte(error, tool, params, relatedTools), isError: true };
|
|
80
|
+
}
|
|
81
|
+
return erroDefeito(semErro ?? ValidationErrors.emptyResult(tool));
|
|
82
|
+
}
|
|
83
|
+
/** A ausência que a origem RESPONDEU: `[]` em 200 (`RecursoAusenteError`) ou 404. */
|
|
84
|
+
export function ehAusencia(error) {
|
|
85
|
+
return (error instanceof RecursoAusenteError || (error instanceof UpstreamError && error.status === 404));
|
|
86
|
+
}
|
|
5
87
|
// Common IBGE API error codes and their meanings
|
|
6
88
|
export const IBGE_ERROR_CODES = {
|
|
7
89
|
400: {
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/retry.d.ts
CHANGED
|
@@ -38,12 +38,28 @@
|
|
|
38
38
|
* e a proveniência degrada para `retrieval: null` ("não medido"), nunca quebra.
|
|
39
39
|
*/
|
|
40
40
|
import { type RetryContext } from "@sbissoli/mcp-upstream";
|
|
41
|
+
import type { ErrorClass } from "./call-shape.js";
|
|
42
|
+
/**
|
|
43
|
+
* Falha da origem sem classe própria acima — rede, abort, corpo que não é
|
|
44
|
+
* JSON — com a classe já decidida. A `message` é a de sempre (a do `fetch`,
|
|
45
|
+
* no caso de rede): o texto ao chamador não muda, só deixa de ser a ÚNICA
|
|
46
|
+
* pista da classe. Antes disto a rede chegava como o próprio `TypeError` do
|
|
47
|
+
* fetch, que pela frase dava `outro` e, se escapasse, `defeito`.
|
|
48
|
+
*/
|
|
49
|
+
export declare class ErroDaOrigem extends Error {
|
|
50
|
+
readonly classe: ErrorClass;
|
|
51
|
+
constructor(message: string, classe: ErrorClass, options?: {
|
|
52
|
+
cause?: unknown;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
41
55
|
/**
|
|
42
56
|
* Thrown when a request exceeds its configured timeout. Carries the limit so
|
|
43
57
|
* callers (e.g. `parseHttpError`) can render a precise, user-facing message.
|
|
44
58
|
*/
|
|
45
59
|
export declare class TimeoutError extends Error {
|
|
46
60
|
readonly timeoutMs: number;
|
|
61
|
+
/** Classe pelo TIPO (ver `CLASSE_DO_ERRO` em call-shape.ts). */
|
|
62
|
+
readonly classe: ErrorClass;
|
|
47
63
|
constructor(timeoutMs: number);
|
|
48
64
|
}
|
|
49
65
|
/**
|
|
@@ -67,6 +83,14 @@ export declare class UpstreamError extends Error {
|
|
|
67
83
|
readonly statusText: string;
|
|
68
84
|
/** O que a fonte respondeu no corpo, já limpo e cortado. Vazio quando não há. */
|
|
69
85
|
readonly detalhe?: string | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Classe pelo TIPO (ver `CLASSE_DO_ERRO` em call-shape.ts). O 400 é
|
|
88
|
+
* `contrato` porque aqui ele É recusa da chamada: o SIDRA responde 400 a
|
|
89
|
+
* parâmetro incompatível e diz qual no corpo. 404 é ausência respondida.
|
|
90
|
+
* Todo o resto — 429 inclusive, que pela frase ("Too Many Requests") caía
|
|
91
|
+
* em `contrato` — é a fonte recusando ou falhando.
|
|
92
|
+
*/
|
|
93
|
+
readonly classe: ErrorClass;
|
|
70
94
|
constructor(status: number, statusText: string,
|
|
71
95
|
/** O que a fonte respondeu no corpo, já limpo e cortado. Vazio quando não há. */
|
|
72
96
|
detalhe?: string | undefined, sufixo?: string);
|
|
@@ -112,6 +136,8 @@ export declare class RecursoAusenteError extends Error {
|
|
|
112
136
|
readonly recurso: string;
|
|
113
137
|
/** O identificador pedido, como foi montado na URL. */
|
|
114
138
|
readonly id: string;
|
|
139
|
+
/** Classe pelo TIPO (ver `CLASSE_DO_ERRO` em call-shape.ts). */
|
|
140
|
+
readonly classe: ErrorClass;
|
|
115
141
|
constructor(
|
|
116
142
|
/** O que se procurava, em português, para a mensagem ao chamador. Ex.: "Classe CNAE". */
|
|
117
143
|
recurso: string,
|
package/dist/retry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAGL,KAAK,YAAY,EAIlB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"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"}
|
package/dist/retry.js
CHANGED
|
@@ -40,12 +40,29 @@
|
|
|
40
40
|
import { createUpstream, UpstreamError as ErroDaIda, } from "@sbissoli/mcp-upstream";
|
|
41
41
|
import { currentCall, withCall } from "@sbissoli/mcp-upstream/als";
|
|
42
42
|
import { REQUEST_TIMEOUT_MS } from "./config.js";
|
|
43
|
+
/**
|
|
44
|
+
* Falha da origem sem classe própria acima — rede, abort, corpo que não é
|
|
45
|
+
* JSON — com a classe já decidida. A `message` é a de sempre (a do `fetch`,
|
|
46
|
+
* no caso de rede): o texto ao chamador não muda, só deixa de ser a ÚNICA
|
|
47
|
+
* pista da classe. Antes disto a rede chegava como o próprio `TypeError` do
|
|
48
|
+
* fetch, que pela frase dava `outro` e, se escapasse, `defeito`.
|
|
49
|
+
*/
|
|
50
|
+
export class ErroDaOrigem extends Error {
|
|
51
|
+
classe;
|
|
52
|
+
constructor(message, classe, options) {
|
|
53
|
+
super(message, options);
|
|
54
|
+
this.classe = classe;
|
|
55
|
+
this.name = "ErroDaOrigem";
|
|
56
|
+
}
|
|
57
|
+
}
|
|
43
58
|
/**
|
|
44
59
|
* Thrown when a request exceeds its configured timeout. Carries the limit so
|
|
45
60
|
* callers (e.g. `parseHttpError`) can render a precise, user-facing message.
|
|
46
61
|
*/
|
|
47
62
|
export class TimeoutError extends Error {
|
|
48
63
|
timeoutMs;
|
|
64
|
+
/** Classe pelo TIPO (ver `CLASSE_DO_ERRO` em call-shape.ts). */
|
|
65
|
+
classe = "fonte";
|
|
49
66
|
constructor(timeoutMs) {
|
|
50
67
|
super(`Request timeout after ${timeoutMs}ms`);
|
|
51
68
|
this.timeoutMs = timeoutMs;
|
|
@@ -72,6 +89,14 @@ export class UpstreamError extends Error {
|
|
|
72
89
|
status;
|
|
73
90
|
statusText;
|
|
74
91
|
detalhe;
|
|
92
|
+
/**
|
|
93
|
+
* Classe pelo TIPO (ver `CLASSE_DO_ERRO` em call-shape.ts). O 400 é
|
|
94
|
+
* `contrato` porque aqui ele É recusa da chamada: o SIDRA responde 400 a
|
|
95
|
+
* parâmetro incompatível e diz qual no corpo. 404 é ausência respondida.
|
|
96
|
+
* Todo o resto — 429 inclusive, que pela frase ("Too Many Requests") caía
|
|
97
|
+
* em `contrato` — é a fonte recusando ou falhando.
|
|
98
|
+
*/
|
|
99
|
+
classe;
|
|
75
100
|
constructor(status, statusText,
|
|
76
101
|
/** O que a fonte respondeu no corpo, já limpo e cortado. Vazio quando não há. */
|
|
77
102
|
detalhe, sufixo = "") {
|
|
@@ -80,6 +105,7 @@ export class UpstreamError extends Error {
|
|
|
80
105
|
this.statusText = statusText;
|
|
81
106
|
this.detalhe = detalhe;
|
|
82
107
|
this.name = "UpstreamError";
|
|
108
|
+
this.classe = status === 400 ? "contrato" : status === 404 ? "nao_encontrado" : "fonte";
|
|
83
109
|
}
|
|
84
110
|
}
|
|
85
111
|
/**
|
|
@@ -121,6 +147,8 @@ export class UpstreamError extends Error {
|
|
|
121
147
|
export class RecursoAusenteError extends Error {
|
|
122
148
|
recurso;
|
|
123
149
|
id;
|
|
150
|
+
/** Classe pelo TIPO (ver `CLASSE_DO_ERRO` em call-shape.ts). */
|
|
151
|
+
classe = "nao_encontrado";
|
|
124
152
|
constructor(
|
|
125
153
|
/** O que se procurava, em português, para a mensagem ao chamador. Ex.: "Classe CNAE". */
|
|
126
154
|
recurso,
|
|
@@ -358,12 +386,19 @@ async function traduzirErro(erro, o) {
|
|
|
358
386
|
return new TimeoutError(o.timeoutMs);
|
|
359
387
|
case "network":
|
|
360
388
|
case "aborted":
|
|
361
|
-
//
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
389
|
+
// Rejeição que NÃO é rede (um `Error` de outra camada, que `repetir` já
|
|
390
|
+
// não repetiu) sobe como veio: não é falha da origem e não ganha classe.
|
|
391
|
+
if (erro.kind === "network" && erro.cause instanceof Error && !isNetworkError(erro.cause)) {
|
|
392
|
+
return erro.cause;
|
|
393
|
+
}
|
|
394
|
+
// A mensagem do que o fetch lançou é o que o servidor sempre mostrou; o
|
|
395
|
+
// tipo é que agora diz a classe.
|
|
396
|
+
return new ErroDaOrigem(erro.cause instanceof Error ? erro.cause.message : erro.message, "fonte", { cause: erro.cause });
|
|
365
397
|
case "malformed_body":
|
|
366
|
-
|
|
398
|
+
// HTML em 200 é página de erro da borda, não resposta: a fonte falhou.
|
|
399
|
+
return new ErroDaOrigem(`Resposta da API do IBGE não é JSON válido${sufixo}`, "fonte", {
|
|
400
|
+
cause: erro.cause,
|
|
401
|
+
});
|
|
367
402
|
default: {
|
|
368
403
|
// Um status chegou: http_4xx, http_5xx, rate_limited, not_found. O corpo
|
|
369
404
|
// vai junto — é nele que a fonte diz QUAL parâmetro recusou e por quê.
|
package/dist/retry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,IAAI,SAAS,GAK3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,IAAI,SAAS,GAK3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD;;;;;;GAMG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGnB,MAAM;IAFxB,YACE,OAAe,EACC,MAAkB,EAClC,OAA6B;QAE7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;sBAHR,MAAM;QAItB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAIT,SAAS;IAHrC,gEAAgE;IACvD,MAAM,GAAe,OAAO,CAAC;IAEtC,YAA4B,SAAiB;QAC3C,KAAK,CAAC,yBAAyB,SAAS,IAAI,CAAC,CAAC;yBADpB,SAAS;QAEnC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAWpB,MAAM;IACN,UAAU;IAEV,OAAO;IAbzB;;;;;;OAMG;IACM,MAAM,CAAa;IAE5B,YACkB,MAAc,EACd,UAAkB;IAClC,iFAAiF;IACjE,OAAgB,EAChC,MAAM,GAAG,EAAE;QAEX,KAAK,CAAC,QAAQ,MAAM,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;sBANjE,MAAM;0BACN,UAAU;uBAEV,OAAO;QAIvB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1F,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAM1B,OAAO;IAEP,EAAE;IAPpB,gEAAgE;IACvD,MAAM,GAAe,gBAAgB,CAAC;IAE/C;IACE,yFAAyF;IACzE,OAAe;IAC/B,uDAAuD;IACvC,EAAU;QAE1B,KAAK,CAAC,GAAG,OAAO,KAAK,EAAE,wCAAwC,CAAC,CAAC;uBAJjD,OAAO;kBAEP,EAAE;QAGlB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAkB;IACrD,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,wEAAwE;IACxE,0EAA0E;IAC1E,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;YACvE,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,KAAK,GAAG,CAAC,CAAC,KAAK,CAAW,CAAC;gBAC3B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AAClE,CAAC;AAeD,MAAM,eAAe,GAA2B;IAC9C,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,KAAK;IACjB,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC/C,SAAS,EAAE,kBAAkB;CAC9B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,sCAAsC;IACtC,OAAO,EAAE;QACP,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,IAAI;KACL;IAEjB,oFAAoF;IACpF,KAAK,EAAE;QACL,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,GAAG;QACnB,UAAU,EAAE,IAAI;KACD;IAEjB,eAAe;IACf,IAAI,EAAE;QACJ,UAAU,EAAE,CAAC;KACE;CACT,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,MAAM,oBAAoB,GAAG;QAC3B,cAAc;QACd,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAW;QACX,cAAc;QACd,aAAa;QACb,cAAc;QACd,eAAe;QACf,wBAAwB;QACxB,gBAAgB;QAChB,kBAAkB;QAClB,oBAAoB;QACpB,SAAS;KACV,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,oBAAoB,CAAC,IAAI,CAC9B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAC/E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAC,GAA2B,eAAe;IAC1E,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,GAAiB,EAAE,CAAyB;IAClE,mEAAmE;IACnE,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,2EAA2E;IAC3E,+EAA+E;IAC/E,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3F,gFAAgF;IAChF,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAChD,oDAAoD;IACpD,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY;IACnB,OAAO,cAAc,CAAC;QACpB,SAAS,EAAE,eAAe,CAAC,SAAS;QACpC,OAAO,EAAE,eAAe,CAAC,UAAU;QACnC,QAAQ,EAAE,gBAAgB,EAAE;QAC5B,OAAO,EAAE;YACP,MAAM,EAAE,eAAe,CAAC,cAAc;YACtC,KAAK,EAAE,eAAe,CAAC,UAAU;YACjC,QAAQ,EAAE,CAAC;SACZ;QACD,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;QAC/C,SAAS,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAI,EAAoB;IACtD,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,6FAA6F;AAC7F,SAAS,OAAO;IACd,OAAO,WAAW,EAAE,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC;AAChD,CAAC;AAED,sEAAsE;AACtE,SAAS,aAAa,CAAC,CAAyB,EAAE,IAAkB;IAClE,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,SAAS;QACjC,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,UAAU;QACrB,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE;QAC1D,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,GAAW,EAAE,OAAsB;IACpE,MAAM,CAAC,GAA2B,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;IACrE,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,EAAE,CAAC,IAAI,CAAI,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,IAAI,EAAE,CAAC;QACd,MAAM,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,IAAkB,EAClB,OAAsB;IAEtB,MAAM,CAAC,GAA2B,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;IACrE,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,IAAI,EAAE,CAAC;QACd,MAAM,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,6GAA6G;AAC7G,MAAM,WAAW,GAA2B;IAC1C,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,gBAAgB;IACrB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,uBAAuB;IAC5B,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,iBAAiB;CACvB,CAAC;AAEF;;;;GAIG;AACH,KAAK,UAAU,YAAY,CAAC,IAAa,EAAE,CAAyB;IAClE,IAAI,CAAC,CAAC,IAAI,YAAY,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,QAAQ,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvC,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACZ,wEAAwE;YACxE,yEAAyE;YACzE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,YAAY,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1F,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YACD,wEAAwE;YACxE,iCAAiC;YACjC,OAAO,IAAI,YAAY,CACrB,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAC/D,OAAO,EACP,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CACtB,CAAC;QACJ,KAAK,gBAAgB;YACnB,uEAAuE;YACvE,OAAO,IAAI,YAAY,CAAC,4CAA4C,MAAM,EAAE,EAAE,OAAO,EAAE;gBACrF,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,SAAS,CAAC;YACR,yEAAyE;YACzE,uEAAuE;YACvE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;gBAC3B,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACrC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1E,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -35,9 +35,11 @@ export declare const SERVER_INSTRUCTIONS: string;
|
|
|
35
35
|
* não aparece na telemetria. Troca-se visibilidade por prevenção, como em
|
|
36
36
|
* `ilo_get_data`.
|
|
37
37
|
*
|
|
38
|
-
* `search`/`fetch`
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* `search`/`fetch` (contrato Deep Research da OpenAI) são registrados por
|
|
39
|
+
* `@sbissoli/mcp-search`, que desde a 0.9.0 publica os dois esquemas como
|
|
40
|
+
* `z.strictObject` — a mesma recusa chega a eles pelo pacote, sem exceção
|
|
41
|
+
* aqui. `tests/server.test.ts` é a guarda — ele varre TODAS as tools
|
|
42
|
+
* anunciadas e reprova a que aceitar parâmetro desconhecido.
|
|
41
43
|
*/
|
|
42
44
|
/**
|
|
43
45
|
* Builds and configures the IBGE MCP Server with all tools, resources, and
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,8BAA8B,CAAC;AA8F/E,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAC9C,eAAO,MAAM,kBAAkB,mCAAmC,CAAC;AACnE,eAAO,MAAM,cAAc,QAAc,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,QAYpB,CAAC;AAgBb;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAsBxC;AAED;;;;;;GAMG;AACH;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,IAAI,EAAE,WAAW,GAAG,YAAY,EAChC,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,cAAc,KACnB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CA0zB/E"}
|
package/dist/server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/server";
|
|
2
|
-
import { classifyError, classifyThrown, errorText, paramNames } from "./call-shape.js";
|
|
2
|
+
import { classeAnexada, classifyError, classifyThrown, errorText, paramNames, } from "./call-shape.js";
|
|
3
3
|
// Version sourced from package.json (single source of truth — avoids drift).
|
|
4
4
|
// Node ESM reads it via the import attribute; esbuild inlines it for the Worker build.
|
|
5
5
|
import pkg from "../package.json" with { type: "json" };
|
|
@@ -80,9 +80,11 @@ const READ_ONLY = {
|
|
|
80
80
|
* não aparece na telemetria. Troca-se visibilidade por prevenção, como em
|
|
81
81
|
* `ilo_get_data`.
|
|
82
82
|
*
|
|
83
|
-
* `search`/`fetch`
|
|
84
|
-
*
|
|
85
|
-
*
|
|
83
|
+
* `search`/`fetch` (contrato Deep Research da OpenAI) são registrados por
|
|
84
|
+
* `@sbissoli/mcp-search`, que desde a 0.9.0 publica os dois esquemas como
|
|
85
|
+
* `z.strictObject` — a mesma recusa chega a eles pelo pacote, sem exceção
|
|
86
|
+
* aqui. `tests/server.test.ts` é a guarda — ele varre TODAS as tools
|
|
87
|
+
* anunciadas e reprova a que aceitar parâmetro desconhecido.
|
|
86
88
|
*/
|
|
87
89
|
/**
|
|
88
90
|
* Builds and configures the IBGE MCP Server with all tools, resources, and
|
|
@@ -126,7 +128,10 @@ export function registerAll(server, record) {
|
|
|
126
128
|
const forma = { params: paramNames(args), classe: "" };
|
|
127
129
|
record?.("tool_call", name, forma);
|
|
128
130
|
if (result.isError === true) {
|
|
129
|
-
|
|
131
|
+
// A classe que a tool anexou pelo TIPO do erro vence a frase; a frase
|
|
132
|
+
// fica para o erro que nasceu sem tipo. Ver CLASSE_DO_ERRO.
|
|
133
|
+
const classe = classeAnexada(result) ?? classifyError(errorText(result));
|
|
134
|
+
record?.("tool_error", name, { ...forma, classe });
|
|
130
135
|
}
|
|
131
136
|
return result;
|
|
132
137
|
}
|
|
@@ -824,6 +829,9 @@ Behavior: read-only and idempotent — a live GET against the public IBGE APIs (
|
|
|
824
829
|
// Sem ele o pacote grava os nomes dos parâmetros e deixa a classe
|
|
825
830
|
// vazia, que foi o que a produção mostrou antes da 0.4.0.
|
|
826
831
|
classifyError,
|
|
832
|
+
// A classe de uma EXCEÇÃO pelo tipo (mcp-search 0.8.0); a declarada
|
|
833
|
+
// (`error.classe`) o pacote lê antes deste e da frase.
|
|
834
|
+
classifyThrown,
|
|
827
835
|
...(record !== undefined ? { record } : {}),
|
|
828
836
|
});
|
|
829
837
|
// Reference catalogs (roadmap 1.6) and analysis templates
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,8BAA8B,CAAC;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|