@sbissoli/mcp-surface 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,28 @@ seguinte — cada servidor faz bump explícito).
8
8
  e, pela regra da trava, obrigaria cada servidor a subir de versão sem ter mudado nada.
9
9
  Mudança de normalização é major (ou minor em 0.x), com nota de migração.
10
10
 
11
+ ## [0.2.1] — 2026-10-04
12
+
13
+ A normalização NÃO muda. Patch: a API de `/cliente` é a mesma; os controles negativos
14
+ ficam mais fortes, e os servidores herdam isso pelo caret `^0.2.0`.
15
+
16
+ ### Corrigido
17
+
18
+ - **A troca de tipo cobria UM campo só.** `quebrasDoSchema` trocava o tipo do primeiro
19
+ obrigatório tipado. No ilo-mcp-server esse campo era um objeto (`dataflow`), e os
20
+ escalares ficavam sem prova, o que obrigou a escrever `rows_count` como quebra extra à
21
+ mão. Agora a troca vale para CADA obrigatório com `type` declarado.
22
+ - **O campo anulável não era trocado.** `type: ["string", "null"]` (lista) não gerava
23
+ quebra, e é justamente a classe do defeito que o circuito existe para pegar. O valor
24
+ errado agora é o primeiro de texto, número, booleano, lista e objeto que nenhum dos tipos
25
+ declarados aceita.
26
+ - **As quebras rodam em paralelo.** Com uma troca por obrigatório, em série,
27
+ `loinc_details` do medical-terminologies-mcp passava dos 5 s do vitest sob a carga da
28
+ suíte. Cada quebra já tinha servidor e conexão próprios. A ordem dos vereditos não muda,
29
+ e a armadilha continua sendo o último.
30
+
31
+ Conferido contra os sete servidores com o build local antes de publicar: todos verdes.
32
+
11
33
  ## [0.2.0] — 2026-10-04
12
34
 
13
35
  A normalização NÃO muda: todo `surface.lock.json` continua conferindo. Minor porque a
package/README.md CHANGED
@@ -94,7 +94,9 @@ for (const v of vs) expect(v.obtido, `${v.descricao}: ${v.mensagem ?? ""}`).toBe
94
94
  isso, o `Client` (2.0 a 2.2) devolve o resultado sem validar.
95
95
  - `controlesNegativos` adultera o resultado entre servidor e cliente, com quebras
96
96
  **derivadas do schema listado**: `structuredContent` ausente, cada obrigatório ausente e
97
- o primeiro obrigatório de tipo errado. Cada quebra tem de fazer a chamada falhar. O
97
+ cada obrigatório com `type` declarado recebendo um valor que nenhum tipo dele aceita (o
98
+ anulável `["string", "null"]` recebe `0`). As quebras rodam em paralelo, cada uma com
99
+ servidor próprio. Cada quebra tem de fazer a chamada falhar. O
98
100
  último veredito é a armadilha (sem `tools/list`, a quebra passa calada); se o SDK mudar,
99
101
  ele acusa. Quebras do próprio servidor, como campo a mais onde o schema fecha o objeto,
100
102
  entram pelo 4º argumento.
package/dist/cliente.d.ts CHANGED
@@ -146,8 +146,10 @@ export interface Quebra {
146
146
  }
147
147
  /**
148
148
  * As quebras genéricas, DERIVADAS do schema listado (não de nomes escritos à
149
- * mão): `structuredContent` ausente, cada campo obrigatório ausente, o primeiro
150
- * obrigatório com tipo declarado trocado de tipo.
149
+ * mão): `structuredContent` ausente, cada campo obrigatório ausente, e cada
150
+ * obrigatório com tipo declarado trocado de tipo. Cada um, não o primeiro: até a
151
+ * 0.2.0 só o primeiro tipado era trocado, e no ilo esse caía num objeto
152
+ * (`dataflow`) e deixava os escalares sem prova.
151
153
  */
152
154
  export declare function quebrasDoSchema(outputSchema: Record<string, unknown>): Quebra[];
153
155
  export interface Veredito {
@@ -1 +1 @@
1
- {"version":3,"file":"cliente.d.ts","sourceRoot":"","sources":["../src/cliente.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,6EAA6E;AAC7E,MAAM,MAAM,cAAc,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1H,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CACzC;AAID,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYjH;AAWD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOvG;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CACxC;AASD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAoB/E;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,4EAA4E;IAC5E,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,EAC/D,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,MAAM,GAAE,MAAM,EAAO,GACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAoCrB"}
1
+ {"version":3,"file":"cliente.d.ts","sourceRoot":"","sources":["../src/cliente.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,6EAA6E;AAC7E,MAAM,MAAM,cAAc,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1H,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CACzC;AAID,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYjH;AAWD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOvG;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CACxC;AAsBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAqB/E;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,4EAA4E;IAC5E,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,EAC/D,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,MAAM,GAAE,MAAM,EAAO,GACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAuCrB"}
package/dist/cliente.js CHANGED
@@ -57,18 +57,31 @@ export async function chamarComoCliente(client, nome, args = {}) {
57
57
  }
58
58
  return r;
59
59
  }
60
- /** Um valor do tipo errado para o tipo JSON Schema declarado. */
60
+ /** Candidatos a valor errado, com os tipos JSON Schema que cada um satisfaz. */
61
+ const CANDIDATOS = [
62
+ ["valor-de-tipo-errado", ["string"]],
63
+ [0, ["number", "integer"]],
64
+ [true, ["boolean"]],
65
+ [[], ["array"]],
66
+ [{}, ["object"]],
67
+ ];
68
+ /**
69
+ * Um valor que NENHUM dos tipos declarados aceita — `type` simples ou lista
70
+ * (`["string", "null"]`, o campo anulável, que é onde o defeito mora). Sem
71
+ * `type` declarado não há o que trocar: `undefined`.
72
+ */
61
73
  function tipoErrado(tipo) {
62
- if (tipo === "string")
63
- return 0;
64
- if (typeof tipo === "string")
65
- return "valor-de-tipo-errado";
66
- return undefined;
74
+ const tipos = typeof tipo === "string" ? [tipo] : Array.isArray(tipo) ? tipo : [];
75
+ if (tipos.length === 0)
76
+ return undefined;
77
+ return CANDIDATOS.find(([, aceitos]) => !aceitos.some(t => tipos.includes(t)))?.[0];
67
78
  }
68
79
  /**
69
80
  * As quebras genéricas, DERIVADAS do schema listado (não de nomes escritos à
70
- * mão): `structuredContent` ausente, cada campo obrigatório ausente, o primeiro
71
- * obrigatório com tipo declarado trocado de tipo.
81
+ * mão): `structuredContent` ausente, cada campo obrigatório ausente, e cada
82
+ * obrigatório com tipo declarado trocado de tipo. Cada um, não o primeiro: até a
83
+ * 0.2.0 só o primeiro tipado era trocado, e no ilo esse caía num objeto
84
+ * (`dataflow`) e deixava os escalares sem prova.
72
85
  */
73
86
  export function quebrasDoSchema(outputSchema) {
74
87
  const obrigatorios = Array.isArray(outputSchema.required) ? outputSchema.required : [];
@@ -80,13 +93,15 @@ export function quebrasDoSchema(outputSchema) {
80
93
  adulterar: (r) => void delete r.structuredContent?.[campo],
81
94
  })),
82
95
  ];
83
- const tipado = obrigatorios.find(c => tipoErrado(props[c]?.type) !== undefined);
84
- if (tipado) {
96
+ for (const campo of obrigatorios) {
97
+ const errado = tipoErrado(props[campo]?.type);
98
+ if (errado === undefined)
99
+ continue;
85
100
  quebras.push({
86
- descricao: `campo de tipo errado (${tipado})`,
101
+ descricao: `campo de tipo errado (${campo})`,
87
102
  adulterar: r => {
88
103
  if (r.structuredContent)
89
- r.structuredContent[tipado] = tipoErrado(props[tipado]?.type);
104
+ r.structuredContent[campo] = structuredClone(errado);
90
105
  },
91
106
  });
92
107
  }
@@ -133,15 +148,17 @@ export async function controlesNegativos(fabrica, nome, args = {}, extras = [])
133
148
  await client.close();
134
149
  }
135
150
  };
136
- const vereditos = [];
137
- for (const q of quebras)
138
- vereditos.push({ descricao: q.descricao, esperado: "reprova", ...(await rodar(q, true)) });
151
+ // Em paralelo: cada quebra tem servidor e conexão próprios. Desde a 0.2.1 há
152
+ // uma troca de tipo por obrigatório, e em série o medical (`loinc_details`,
153
+ // muitos obrigatórios) passava dos 5 s do vitest sob a carga da suíte.
139
154
  const armadilha = quebras[1] ?? quebras[0];
140
- vereditos.push({
141
- descricao: `a armadilha: sem tools/list antes, "${armadilha.descricao}" passa calada`,
142
- esperado: "passa",
143
- ...(await rodar(armadilha, false)),
144
- });
145
- return vereditos;
155
+ return Promise.all([
156
+ ...quebras.map(async (q) => ({ descricao: q.descricao, esperado: "reprova", ...(await rodar(q, true)) })),
157
+ rodar(armadilha, false).then(r => ({
158
+ descricao: `a armadilha: sem tools/list antes, "${armadilha.descricao}" passa calada`,
159
+ esperado: "passa",
160
+ ...r,
161
+ })),
162
+ ]);
146
163
  }
147
164
  //# sourceMappingURL=cliente.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cliente.js","sourceRoot":"","sources":["../src/cliente.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliente.js","sourceRoot":"","sources":["../src/cliente.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sbissoli/mcp-surface",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Impressão digital da superfície de um servidor MCP: initialize (instructions + capabilities) + tools/resources/prompts + quem responde sem token, travados ao lado da versão — mudou sem subir a versão = build vermelho e deploy recusado; mais a conferência do endpoint no ar e o replay das versões publicadas",
5
5
  "repository": {
6
6
  "type": "git",