@sbissoli/mcp-surface 0.1.0 → 0.1.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.1.1] — 2026-10-02
12
+
13
+ Achados da adoção nos irmãos, no mesmo dia. A normalização NÃO muda: todo
14
+ `surface.lock.json` travado com a 0.1.0 continua conferindo.
15
+
16
+ ### Adicionado
17
+
18
+ - `verificar --perfil <chave>` (`OpcoesVerificar.perfil`): servidor com uma superfície por
19
+ rota (senado-br-mcp: `full` em `/mcp`, `openai-app` em `/mcp/openai-app-v2`) trava a
20
+ `declarada` como mapa `{ perfil: superfície }`, e o endpoint é conferido contra a chave
21
+ que ele serve.
22
+ - `linhaDeCompatibilidade(versao)`.
23
+
24
+ ### Corrigido
25
+
26
+ - **O replay acusava como quebra fora de major uma mudança incompatível em minor de 0.x**,
27
+ que o semver permite (ilo-mcp-server 0.5.0 → 0.6.0, `filters` passou a obrigatório).
28
+ Em 0.x a linha de compatibilidade é o minor.
29
+ - O replay chamava `npm` com argumentos em array e `shell: true` no Windows — o DEP0190 do
30
+ Node 24 (argumentos concatenados sem escape). Agora a linha vai montada e citada.
31
+ - `bin` sem o `./`, que o npm corrigia sozinho a cada publicação com aviso.
32
+
11
33
  ## [0.1.0] — 2026-10-02
12
34
 
13
35
  Primeira versão, extraída do molde no bcb-br-mcp (PR #49, 1.15.1). A normalização é a do
package/dist/cli.d.ts CHANGED
@@ -9,9 +9,11 @@
9
9
  * "surface:lock": "npm run build && mcp-surface travar --cmd \"vitest run tests/surface-lock.test.ts\""
10
10
  *
11
11
  * mcp-surface verificar <endpoint> [--trava surface.lock.json] [--config apiKeyAusente]
12
- * [--rota "POST /mcp"] [--tool <nome>] [--args '<json>']
12
+ * [--rota "POST /mcp"] [--perfil <chave>] [--tool <nome>] [--args '<json>']
13
13
  * Confere o endpoint no ar contra a trava (superfície declarada + quem
14
- * responde sem token). Fim do deploy. Sai com 1 se divergir.
14
+ * responde sem token). Fim do deploy. Sai com 1 se divergir. `--perfil`:
15
+ * servidor com uma superfície por rota trava a `declarada` como mapa, e
16
+ * esta é a chave que o endpoint serve.
15
17
  *
16
18
  * mcp-surface replay [--pacote <nome npm>] [--registro <nome no MCP Registry>]
17
19
  * [--url <endpoint>] [--saida baselines]
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
package/dist/cli.js CHANGED
@@ -9,9 +9,11 @@
9
9
  * "surface:lock": "npm run build && mcp-surface travar --cmd \"vitest run tests/surface-lock.test.ts\""
10
10
  *
11
11
  * mcp-surface verificar <endpoint> [--trava surface.lock.json] [--config apiKeyAusente]
12
- * [--rota "POST /mcp"] [--tool <nome>] [--args '<json>']
12
+ * [--rota "POST /mcp"] [--perfil <chave>] [--tool <nome>] [--args '<json>']
13
13
  * Confere o endpoint no ar contra a trava (superfície declarada + quem
14
- * responde sem token). Fim do deploy. Sai com 1 se divergir.
14
+ * responde sem token). Fim do deploy. Sai com 1 se divergir. `--perfil`:
15
+ * servidor com uma superfície por rota trava a `declarada` como mapa, e
16
+ * esta é a chave que o endpoint serve.
15
17
  *
16
18
  * mcp-surface replay [--pacote <nome npm>] [--registro <nome no MCP Registry>]
17
19
  * [--url <endpoint>] [--saida baselines]
@@ -63,6 +65,7 @@ async function main() {
63
65
  caminhoDaTrava: opcao("trava") ?? "surface.lock.json",
64
66
  ...(opcao("config") ? { config: opcao("config") } : {}),
65
67
  ...(opcao("rota") ? { rota: opcao("rota") } : {}),
68
+ ...(opcao("perfil") ? { perfil: opcao("perfil") } : {}),
66
69
  ...(tool ? { chamada: { name: tool, arguments: JSON.parse(opcao("args") ?? "{}") } } : {}),
67
70
  log: linha => console.log(linha),
68
71
  });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,5 +4,5 @@ export { CABECALHOS_MCP, comHost, corpoDoPedido, ipDaSonda, lerCorpoJsonRpc, med
4
4
  export { VAR_ESCRITA, conferirSecao, lerTrava, modoEscrita, type NomeDaSecao, type Trava, type Veredito } from "./trava.js";
5
5
  export { capturarHttp, capturarStdio, pedirHttp } from "./remoto.js";
6
6
  export { verificarNoAr, type OpcoesVerificar } from "./verificar.js";
7
- export { diferenca, replay, type OpcoesReplay } from "./replay.js";
7
+ export { diferenca, linhaDeCompatibilidade, replay, type OpcoesReplay } from "./replay.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,OAAO,EACP,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,MAAM,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,OAAO,EACP,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,MAAM,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -4,5 +4,5 @@ export { CABECALHOS_MCP, comHost, corpoDoPedido, ipDaSonda, lerCorpoJsonRpc, med
4
4
  export { VAR_ESCRITA, conferirSecao, lerTrava, modoEscrita } from "./trava.js";
5
5
  export { capturarHttp, capturarStdio, pedirHttp } from "./remoto.js";
6
6
  export { verificarNoAr } from "./verificar.js";
7
- export { diferenca, replay } from "./replay.js";
7
+ export { diferenca, linhaDeCompatibilidade, replay } from "./replay.js";
8
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAA2B,MAAM,cAAc,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,OAAO,EACP,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,GAGd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAA+C,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,aAAa,EAAwB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAA2B,MAAM,cAAc,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,OAAO,EACP,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,GAGd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAA+C,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,aAAa,EAAwB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC"}
package/dist/replay.d.ts CHANGED
@@ -40,6 +40,13 @@ export declare function diferenca(antes: Item, depois: Item): {
40
40
  capabilities: boolean;
41
41
  identidade: boolean;
42
42
  };
43
+ /**
44
+ * A linha de compatibilidade da versão: o major — e, em 0.x, o minor, porque
45
+ * no semver de série 0 mudança incompatível em minor é permitida. Medido no
46
+ * replay do ilo-mcp-server (0.5.0 → 0.6.0 tornou `filters` obrigatório): a
47
+ * 0.1.0 do pacote listava isso como quebra fora de major.
48
+ */
49
+ export declare function linhaDeCompatibilidade(v: string): string;
43
50
  export declare function replay(o: OpcoesReplay): Promise<{
44
51
  markdown: string;
45
52
  json: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAWD,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAYpC,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;;QAEtC,IAAI,EAAQ,MAAM,EAAE;QAAE,KAAK,EAAQ,MAAM,EAAE;QAAE,KAAK,EAAQ,MAAM,EAAE;;;QAC9D,IAAI,EAAQ,MAAM,EAAE;QAAE,KAAK,EAAQ,MAAM,EAAE;;;QAC7C,IAAI,EAAQ,MAAM,EAAE;QAAE,KAAK,EAAQ,MAAM,EAAE;;aACvC,MAAM,EAAE;;;;EA2C1B;AAID,wBAAsB,MAAM,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CA8I1F"}
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAWD,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAYpC,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;;QAEtC,IAAI,EAAQ,MAAM,EAAE;QAAE,KAAK,EAAQ,MAAM,EAAE;QAAE,KAAK,EAAQ,MAAM,EAAE;;;QAC9D,IAAI,EAAQ,MAAM,EAAE;QAAE,KAAK,EAAQ,MAAM,EAAE;;;QAC7C,IAAI,EAAQ,MAAM,EAAE;QAAE,KAAK,EAAQ,MAAM,EAAE;;aACvC,MAAM,EAAE;;;;EA2C1B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAsB,MAAM,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAoJ1F"}
package/dist/replay.js CHANGED
@@ -15,9 +15,19 @@ import { tmpdir } from "node:os";
15
15
  import { join } from "node:path";
16
16
  import { capturarHttp, capturarStdio } from "./remoto.js";
17
17
  import { impressaoDigital } from "./superficie.js";
18
- const shell = process.platform === "win32";
18
+ /**
19
+ * `npm` como processo filho. No Windows o executável é `npm.cmd`, que o Node
20
+ * só roda com `shell: true` — e com shell os argumentos têm de ir JÁ numa
21
+ * linha de comando (passá-los em array é o DEP0190 do Node 24).
22
+ */
23
+ function rodarNpm(argv) {
24
+ if (process.platform !== "win32")
25
+ return spawnSync("npm", argv, { encoding: "utf8" });
26
+ const linha = ["npm", ...argv.map(a => (/[\s"&|<>^]/.test(a) ? `"${a.replaceAll('"', '\\"')}"` : a))].join(" ");
27
+ return spawnSync(linha, { encoding: "utf8", shell: true });
28
+ }
19
29
  function npmJson(...argv) {
20
- const r = spawnSync("npm", argv, { encoding: "utf8", shell });
30
+ const r = rodarNpm(argv);
21
31
  if (r.status !== 0)
22
32
  throw new Error(`npm ${argv.join(" ")}: ${r.stderr}`);
23
33
  return JSON.parse(r.stdout);
@@ -82,7 +92,16 @@ export function diferenca(antes, depois) {
82
92
  r.identidade = impressaoDigital(init(antes)["serverInfo"]) !== impressaoDigital(init(depois)["serverInfo"]);
83
93
  return r;
84
94
  }
85
- const major = (v) => Number(v.split(".")[0]);
95
+ /**
96
+ * A linha de compatibilidade da versão: o major — e, em 0.x, o minor, porque
97
+ * no semver de série 0 mudança incompatível em minor é permitida. Medido no
98
+ * replay do ilo-mcp-server (0.5.0 → 0.6.0 tornou `filters` obrigatório): a
99
+ * 0.1.0 do pacote listava isso como quebra fora de major.
100
+ */
101
+ export function linhaDeCompatibilidade(v) {
102
+ const [maior, menor] = v.split(".");
103
+ return maior === "0" ? `0.${menor}` : String(maior);
104
+ }
86
105
  export async function replay(o) {
87
106
  const log = o.log ?? (() => { });
88
107
  const versoes = npmJson("view", o.pacote, "versions", "--json");
@@ -103,7 +122,17 @@ export async function replay(o) {
103
122
  const base = { versao: v, data: datas[v]?.slice(0, 10), noRegistro: registro.has(v) };
104
123
  const dir = mkdtempSync(join(tmpdir(), "mcp-surface-replay-"));
105
124
  try {
106
- const inst = spawnSync("npm", ["install", `${o.pacote}@${v}`, "--prefix", dir, "--omit=dev", "--ignore-scripts", "--no-audit", "--no-fund", "--loglevel=error"], { encoding: "utf8", shell });
125
+ const inst = rodarNpm([
126
+ "install",
127
+ `${o.pacote}@${v}`,
128
+ "--prefix",
129
+ dir,
130
+ "--omit=dev",
131
+ "--ignore-scripts",
132
+ "--no-audit",
133
+ "--no-fund",
134
+ "--loglevel=error",
135
+ ]);
107
136
  if (inst.status !== 0)
108
137
  throw new Error(inst.stderr.trim().split("\n").pop());
109
138
  const pasta = join(dir, "node_modules", ...o.pacote.split("/"));
@@ -182,7 +211,7 @@ export async function replay(o) {
182
211
  if (d.identidade)
183
212
  partes.push("identidade");
184
213
  mudou = l.sha256 === anterior.sha256 ? "nada" : partes.join("; ") || "detalhe de normalização";
185
- if (d.quebras.length && major(l.versao) === major(anterior.versao)) {
214
+ if (d.quebras.length && linhaDeCompatibilidade(l.versao) === linhaDeCompatibilidade(anterior.versao)) {
186
215
  quebras.push({ de: anterior.versao, para: l.versao, itens: d.quebras });
187
216
  }
188
217
  }
@@ -190,7 +219,7 @@ export async function replay(o) {
190
219
  anterior = l;
191
220
  }
192
221
  md.push("", "## Remoções fora de versão major", "");
193
- md.push("Tool, resource ou prompt removido, parâmetro removido ou parâmetro que passou a obrigatório quebra o cliente que dependia dele; pela convenção de versão isso pede major. Listado sem julgamento — cada caso pode ter tido razão registrada no CHANGELOG.", "");
222
+ md.push("Tool, resource ou prompt removido, parâmetro removido ou parâmetro que passou a obrigatório quebra o cliente que dependia dele; pela convenção de versão isso pede major (em 0.x, minor). Listado sem julgamento — cada caso pode ter tido razão registrada no CHANGELOG.", "");
194
223
  if (!quebras.length)
195
224
  md.push("Nenhuma.");
196
225
  for (const q of quebras)
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,11 @@ export interface OpcoesVerificar {
10
10
  config?: string;
11
11
  /** Rota da seção `semToken` que corresponde a `url`. Padrão: `POST /mcp`. */
12
12
  rota?: string;
13
+ /**
14
+ * Servidor com mais de uma superfície (perfis por rota): a `declarada` é um
15
+ * mapa `{ perfil: superfície }` e esta é a chave que `url` serve.
16
+ */
17
+ perfil?: string;
13
18
  /** A mesma tool local que a trava sondou; sem ela, `tools/call` não é conferido. */
14
19
  chamada?: ChamadaLocal;
15
20
  tentativas?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"verificar.d.ts","sourceRoot":"","sources":["../src/verificar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAI9D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,+EAA+E;AAC/E,wBAAsB,aAAa,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqC9E"}
1
+ {"version":3,"file":"verificar.d.ts","sourceRoot":"","sources":["../src/verificar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAI9D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,+EAA+E;AAC/E,wBAAsB,aAAa,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2C9E"}
package/dist/verificar.js CHANGED
@@ -18,6 +18,13 @@ export async function verificarNoAr(o) {
18
18
  return `surface.lock.json incompleto: falta a seção declarada ou semToken["${config}"]["${rota}"].`;
19
19
  }
20
20
  const sonda = sondaSemToken(o.chamada).filter(p => p.method in semToken);
21
+ let esperado = declarada.sha256;
22
+ if (o.perfil !== undefined) {
23
+ const porPerfil = declarada.conteudo?.[o.perfil];
24
+ if (porPerfil === undefined)
25
+ return `surface.lock.json: a seção declarada não tem o perfil "${o.perfil}".`;
26
+ esperado = impressaoDigital(porPerfil);
27
+ }
21
28
  const tentativas = o.tentativas ?? 6;
22
29
  let ultimo = "";
23
30
  for (let t = 1; t <= tentativas; t++) {
@@ -29,13 +36,13 @@ export async function verificarNoAr(o) {
29
36
  if (responde !== semToken[pedido.method])
30
37
  divergentes.push(`${pedido.method} (no ar ${responde})`);
31
38
  }
32
- if (sha === declarada.sha256 && divergentes.length === 0) {
33
- log(`no ar = trava: declarada ${sha.slice(0, 12)} (travada em ${declarada.versao}); ` +
39
+ if (sha === esperado && divergentes.length === 0) {
40
+ log(`no ar = trava: declarada${o.perfil !== undefined ? ` [${o.perfil}]` : ""} ${sha.slice(0, 12)} (travada em ${declarada.versao}); ` +
34
41
  `sem token: ${config}/${rota} confere em ${sonda.length} métodos.`);
35
42
  return null;
36
43
  }
37
44
  ultimo =
38
- (sha !== declarada.sha256 ? `declarada no ar ${sha.slice(0, 12)} ≠ trava ${declarada.sha256.slice(0, 12)}. ` : "") +
45
+ (sha !== esperado ? `declarada no ar ${sha.slice(0, 12)} ≠ trava ${esperado.slice(0, 12)}. ` : "") +
39
46
  (divergentes.length ? `sem token diverge em: ${divergentes.join(", ")}.` : "");
40
47
  log(`tentativa ${t}: ${ultimo}`);
41
48
  // A Cloudflare serve isolates mistos por alguns segundos logo após o deploy.
@@ -1 +1 @@
1
- {"version":3,"file":"verificar.js","sourceRoot":"","sources":["../src/verificar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verificar.js","sourceRoot":"","sources":["../src/verificar.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.1.0",
3
+ "version": "0.1.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",
@@ -20,7 +20,7 @@
20
20
  }
21
21
  },
22
22
  "bin": {
23
- "mcp-surface": "./dist/cli.js"
23
+ "mcp-surface": "dist/cli.js"
24
24
  },
25
25
  "files": [
26
26
  "dist",