auroq-os 2.4.15 → 2.4.16

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.
@@ -1,7 +1,7 @@
1
1
  project:
2
2
  name: "Auroq OS"
3
3
  type: greenfield
4
- version: 2.4.15
4
+ version: 2.4.16
5
5
  installedAt: '2026-03-16'
6
6
 
7
7
  ide:
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.4.16] — 2026-09-04
4
+
5
+ ### Codex no Windows: conteudo ao vivo abria, mas "Sem conexao com o servidor da Arcane" (EMB-028)
6
+ Aluna no Windows, depois do 2.4.15, entrou no Codex sem timeout — e ao chamar o Ops leu "Sem
7
+ conexao com o servidor da Arcane" com internet normal. Causa: o Codex abre o MCP com um ambiente
8
+ minimo (so PATH, PATHEXT, USERNAME, USERDOMAIN, USERPROFILE, TEMP, TMP) e deixa de fora
9
+ `SystemRoot`, `APPDATA`, `COMSPEC`... Sem `SystemRoot` o Node no Windows pode nao resolver DNS
10
+ (openai/codex#4180, #3311). Hipotese: o runner do CI nao reproduziu a falha. Por isso o pacote
11
+ tambem passa a MOSTRAR o motivo tecnico — e o que fecha o diagnostico.
12
+
13
+ - **Registro do Codex** passa os valores reais da maquina (`SystemRoot`, `windir`, `COMSPEC`,
14
+ `APPDATA`, `LOCALAPPDATA`, `ProgramData`, `ProgramFiles`, `HOMEDRIVE`, `HOMEPATH`,
15
+ `USERPROFILE`, `TEMP`, `TMP`) no bloco `[mcp_servers.arcane]`; so no Windows.
16
+ - **`arcane-mcp@0.4.1`** (pin novo): a falha de rede diz o motivo tecnico (ex.: `EAI_FAIL`) e
17
+ ganhou `npx -y arcane-mcp@0.4.1 verify`, que prova a conexao a partir do mesmo programa que o
18
+ Codex abre.
19
+ - Quem ja instalou: "atualiza o sistema" pelo Ops, ou `npx auroq-os@latest register-mcp` na pasta,
20
+ e FECHAR e abrir o Codex.
21
+
3
22
  ## [2.4.15] — 2026-09-03
4
23
 
5
24
  ### Aluno antigo migrado cai pro disco quando o servidor recusa (EMB-019, conserto)
package/bin/auroq-os.js CHANGED
@@ -409,23 +409,46 @@ async function runDoctor(targetDir) {
409
409
  // (rede domestica + antivirus) a aluna viu timeout em todas as que fez. Por isso:
410
410
  // (1) o registro do Codex pede mais tempo, (2) instalacao/atualizacao ja baixam o
411
411
  // pacote, (3) o doctor mede o arranque de verdade em vez de so olhar o registro.
412
- const ARCANE_MCP_PIN = 'arcane-mcp@0.4.0';
412
+ const ARCANE_MCP_PIN = 'arcane-mcp@0.4.1';
413
413
  const CODEX_MCP_STARTUP_SEC = 120;
414
414
  const MCP_ARRANQUE_LIMITE_MS = 9000; // abaixo do que o Codex tolera (10s)
415
415
 
416
- function blocoCodexArcane(pin) {
416
+ // No Windows o Codex abre o MCP com um ambiente minimo (PATH, USERNAME, USERPROFILE,
417
+ // TEMP...) e deixa de fora SystemRoot, APPDATA, COMSPEC etc. Sem SystemRoot o Node nao
418
+ // resolve DNS (EAI_FAIL) e o aluno le "Sem conexao com o servidor da Arcane" mesmo com
419
+ // internet — openai/codex#4180 e #3311. Passamos os valores reais da maquina no registro.
420
+ const CODEX_ENV_WINDOWS = [
421
+ 'SystemRoot', 'windir', 'COMSPEC', 'SystemDrive', 'APPDATA', 'LOCALAPPDATA',
422
+ 'ProgramData', 'ProgramFiles', 'HOMEDRIVE', 'HOMEPATH', 'USERPROFILE', 'TEMP', 'TMP',
423
+ ];
424
+
425
+ function envCodexArcane({ plataforma = process.platform, env = process.env } = {}) {
426
+ if (plataforma !== 'win32') return null;
427
+ const pares = [];
428
+ for (const nome of CODEX_ENV_WINDOWS) {
429
+ const chave = Object.keys(env).find(k => k.toLowerCase() === nome.toLowerCase());
430
+ const valor = chave ? env[chave] : '';
431
+ if (!valor || valor.includes("'") || /[\r\n]/.test(valor)) continue;
432
+ pares.push(`${nome} = '${valor}'`); // string literal do TOML: barra invertida sem escape
433
+ }
434
+ return pares.length ? `env = { ${pares.join(', ')} }` : null;
435
+ }
436
+
437
+ function blocoCodexArcane(pin, opcoes) {
438
+ const env = envCodexArcane(opcoes);
417
439
  return [
418
440
  '[mcp_servers.arcane]',
419
441
  'command = "npx"',
420
442
  `args = ["-y", "${pin}"]`,
421
443
  '# Primeira abertura baixa o pacote (ate 1-2 min no Windows); o padrao do Codex sao 10s.',
422
444
  `startup_timeout_sec = ${CODEX_MCP_STARTUP_SEC}`,
445
+ ...(env ? ['# Codex no Windows abre o MCP sem as variaveis basicas do sistema; sem elas nao ha DNS.', env] : []),
423
446
  '',
424
447
  ].join('\n');
425
448
  }
426
449
 
427
450
  // Baixa o pacote do conteudo ao vivo com o MESMO nome que o registro usa (o cache do
428
- // npx e por nome+versao: `arcane-mcp` e `arcane-mcp@0.4.0` sao caches diferentes).
451
+ // npx e por nome+versao: `arcane-mcp` e `arcane-mcp@0.4.1` sao caches diferentes).
429
452
  function aquecerArcaneMcp() {
430
453
  if (process.env.NODE_ENV === 'test' && process.env.AUROQ_SKIP_AUTH === '1') return true;
431
454
  try {
@@ -1386,3 +1409,5 @@ if (command === 'init' || command === 'install') {
1386
1409
  log(`${DIM}Uso: npx auroq-os init${RESET}`);
1387
1410
  log('');
1388
1411
  }
1412
+
1413
+ if (process.env.AUROQ_EXPORTA_INTERNOS === '1') module.exports = { blocoCodexArcane, envCodexArcane };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auroq-os",
3
- "version": "2.4.15",
3
+ "version": "2.4.16",
4
4
  "description": "Auroq OS — Sistema Operacional de IA para Experts",
5
5
  "bin": {
6
6
  "auroq-os": "bin/auroq-os.js"