dd-harness 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +24 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -79,6 +79,22 @@ function argumento(argv, nome) {
79
79
  return i >= 0 ? argv[i + 1] : undefined;
80
80
  }
81
81
  const API_PADRAO = "https://dd-harness.vercel.app";
82
+ /**
83
+ * Forca o `npx` a baixar e cachear `dd-harness-mcp` AGORA, dentro do wizard — nunca na
84
+ * primeira conexao do Claude Code. Sem isto, a primeira instalacao acontecia so quando
85
+ * o host tentava conectar ao servidor MCP, e o handshake tem timeout curto demais para
86
+ * esperar o download: a sessao real via `CONNECTION_CLOSED` em vez de "instalando".
87
+ */
88
+ function instalaMcp() {
89
+ return new Promise((resolve) => {
90
+ const p = spawn("npx", ["-y", "dd-harness-mcp", "--help"], {
91
+ shell: process.platform === "win32",
92
+ stdio: "ignore",
93
+ });
94
+ p.on("exit", (code) => resolve(code === 0));
95
+ p.on("error", () => resolve(false));
96
+ });
97
+ }
82
98
  /**
83
99
  * Tenta abrir o navegador padrao. Nunca lanca — falhar em abrir nao pode travar o
84
100
  * wizard, so degrada para "aqui esta a URL, abra voce mesmo".
@@ -186,6 +202,14 @@ async function comandoStart() {
186
202
  acrescentado: "atualizado .mcp.json (servidor adicionado ao que já existia)",
187
203
  }[mcp.estado]);
188
204
  }
205
+ if (mcp.ok) {
206
+ console.log("\nInstalando o servidor dd-harness-mcp (primeira vez pode demorar um pouco)...");
207
+ const instalou = await instalaMcp();
208
+ console.log(instalou
209
+ ? "dd-harness-mcp instalado — a próxima sessão do Claude Code conecta na hora."
210
+ : "AVISO: não consegui pré-instalar dd-harness-mcp. A primeira conexão do Claude " +
211
+ "Code pode demorar ou falhar; se falhar, abra uma nova sessão e tente de novo.");
212
+ }
189
213
  // 6. AGENTS.md — so quem usa outra ferramenta alem do Claude Code precisa.
190
214
  const outraFerramenta = await pergunta("\nVai abrir este projeto em Codex, Cursor ou outra ferramenta além do Claude " +
191
215
  "Code? [s/N]: ");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dd-harness",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "type": "module",
5
5
  "description": "Cliente do dd-harness: politica no inicio da sessao, e memoria por busca — nada em disco. Sem dependencia: fetch, crypto e fs sao do Node.",
6
6
  "license": "UNLICENSED",