auroq-os 2.5.7 → 2.5.8
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/.auroq-core/core-config.yaml +1 -1
- package/CHANGELOG.md +8 -0
- package/README.md +4 -4
- package/bin/auroq-os.js +18 -3
- package/installer/README.md +1 -1
- package/installer/install.ps1 +2 -2
- package/installer/install.sh +2 -2
- package/package.json +3 -2
- package/scripts/assert-mcp-pin.mjs +31 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## 2.5.8 — 2026-09-14
|
|
2
|
+
|
|
3
|
+
### Doctor reescreve o pin MCP que nao existe no npm
|
|
4
|
+
|
|
5
|
+
- Quem ficou com `arcane-mcp@0.6.0` nas 2.5.4/2.5.5 (Connection closed) tem o registro reescrito pra `0.5.0` no `doctor`, nao so na manutencao/`register-mcp`.
|
|
6
|
+
- Publicacao recusa pin que o npm nao resolve, pra nao repetir o 0.6.0.
|
|
7
|
+
- Instaladores fixam esta versao.
|
|
8
|
+
|
|
1
9
|
## 2.5.7 — 2026-09-14
|
|
2
10
|
|
|
3
11
|
### Doctor do Codex sem falso negativo
|
package/README.md
CHANGED
|
@@ -168,12 +168,12 @@ agents/ → Seu exercito (companion, workers, minds, squads)
|
|
|
168
168
|
|
|
169
169
|
## Observabilidade do motor (candidato 2.5.2)
|
|
170
170
|
|
|
171
|
-
Apos publicacao, `npx -y auroq-os@2.5.
|
|
172
|
-
manutencao/diagnostico. `npx -y auroq-os@2.5.
|
|
171
|
+
Apos publicacao, `npx -y auroq-os@2.5.8 doctor` mostra a fila local segura e os comandos pinados de
|
|
172
|
+
manutencao/diagnostico. `npx -y auroq-os@2.5.8 manutencao` preserva o caminho existente
|
|
173
173
|
de consentimento legado, studentFiles, customizacoes e dados do negocio. Nao ha
|
|
174
174
|
migracao forcada. O registro MCP aponta para `arcane-mcp@0.5.0`, publicado e validado.
|
|
175
|
-
O hotfix 2.5.
|
|
176
|
-
Os instaladores oficiais devem fixar 2.5.
|
|
175
|
+
O hotfix 2.5.8 restaura a conexao enquanto o candidato 0.6.0 passa por validacao separada.
|
|
176
|
+
Os instaladores oficiais devem fixar 2.5.8 depois da publicacao e da verificacao do tarball.
|
|
177
177
|
|
|
178
178
|
O CLI inicia captura antes das dependencias pesadas e registra resultado ao sair.
|
|
179
179
|
Eventos com identidade ja existente podem seguir pela rota autenticada na proxima
|
package/bin/auroq-os.js
CHANGED
|
@@ -28,7 +28,7 @@ async function observedMain() {
|
|
|
28
28
|
telemetry.runtimeReady=()=>{importing=false;};
|
|
29
29
|
runRuntime(telemetry);
|
|
30
30
|
} catch {
|
|
31
|
-
console.error('[auroq-os] '+(importing?'BOOTSTRAP_IMPORT':'RUNTIME_FAILURE')+'. Rode: npx -y auroq-os@2.5.
|
|
31
|
+
console.error('[auroq-os] '+(importing?'BOOTSTRAP_IMPORT':'RUNTIME_FAILURE')+'. Rode: npx -y auroq-os@2.5.8 doctor');
|
|
32
32
|
process.exitCode=1;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -363,6 +363,17 @@ async function runDoctor(targetDir) {
|
|
|
363
363
|
pin = json?.mcpServers?.arcane?.args?.find(a => String(a).startsWith('arcane-mcp@')) || null;
|
|
364
364
|
} catch { /* arquivo corrompido cai no erro abaixo */ }
|
|
365
365
|
}
|
|
366
|
+
if (pin && pinNaoPublicado(pin)) {
|
|
367
|
+
const pinMorto = pin;
|
|
368
|
+
try {
|
|
369
|
+
await writeArcaneMcpConfig(targetDir);
|
|
370
|
+
pin = ARCANE_MCP_PIN;
|
|
371
|
+
warn(`O registro apontava pra ${pinMorto}, que nao existe no npm. Reescrevi pra ${pin}. Feche e abra o Claude Code e o Codex.`);
|
|
372
|
+
} catch (e) {
|
|
373
|
+
error(`O registro aponta pra ${pinMorto}, que nao existe no npm, e nao consegui reescrever (${e.code || e.message})`);
|
|
374
|
+
problemas.push('Rode: npx auroq-os@latest register-mcp na pasta. Depois feche e abra o Claude Code e o Codex.');
|
|
375
|
+
}
|
|
376
|
+
}
|
|
366
377
|
if (pin) {
|
|
367
378
|
success(`MCP arcane registrado no Claude Code (${pin})`);
|
|
368
379
|
let espera = NaN;
|
|
@@ -511,6 +522,10 @@ async function runDoctor(targetDir) {
|
|
|
511
522
|
// (1) o registro do Codex pede mais tempo, (2) instalacao/atualizacao ja baixam o
|
|
512
523
|
// pacote, (3) o doctor mede o arranque de verdade em vez de so olhar o registro.
|
|
513
524
|
const ARCANE_MCP_PIN = 'arcane-mcp@0.5.0';
|
|
525
|
+
// 2.5.4/2.5.5 pinaram 0.6.0 sem o pacote existir no npm. Quando 0.6.0 sair de verdade, tire daqui.
|
|
526
|
+
function pinNaoPublicado(pin) {
|
|
527
|
+
return pin === 'arcane-mcp@0.6.0';
|
|
528
|
+
}
|
|
514
529
|
const CODEX_MCP_STARTUP_SEC = 120;
|
|
515
530
|
// O Claude Code tambem desistia aos 30s (MCP_TIMEOUT) e o aluno via CONNECT_TIMEOUT com o
|
|
516
531
|
// servidor no ar e nenhum pedido chegando nele (11/09, EMB-041). Ele le o tempo do `env` das
|
|
@@ -1774,7 +1789,7 @@ if (['init', 'install', 'update'].includes(command)) {
|
|
|
1774
1789
|
error('Comando aposentado. Nada foi instalado ou alterado.');
|
|
1775
1790
|
error('Primeira instalacao: https://arcane.arka.education/auroq');
|
|
1776
1791
|
error('No negocio existente, peca ao Ops: manutencao do motor. Conteudo chega pelo MCP.');
|
|
1777
|
-
error('Diagnostico: npx -y auroq-os@2.5.
|
|
1792
|
+
error('Diagnostico: npx -y auroq-os@2.5.8 doctor. Manutencao: npx -y auroq-os@2.5.8 manutencao.');
|
|
1778
1793
|
process.exitCode = 1;
|
|
1779
1794
|
} else if (command === 'instalar' || command === 'manutencao') {
|
|
1780
1795
|
// `--pasta <nome>`: o instalador manda o CLI criar e entrar na pasta do negocio,
|
|
@@ -1901,6 +1916,6 @@ if (['init', 'install', 'update'].includes(command)) {
|
|
|
1901
1916
|
log('');
|
|
1902
1917
|
}
|
|
1903
1918
|
|
|
1904
|
-
if (process.env.AUROQ_EXPORTA_INTERNOS === '1') module.exports = { blocoCodexArcane, envCodexArcane, lerBlocoArcane, lerEnvDoBloco, limparArcaneDoGlobal, envComoCodex, argumentosCodexSmoke, avaliarEventosCodex };
|
|
1919
|
+
if (process.env.AUROQ_EXPORTA_INTERNOS === '1') module.exports = { blocoCodexArcane, envCodexArcane, lerBlocoArcane, lerEnvDoBloco, limparArcaneDoGlobal, envComoCodex, argumentosCodexSmoke, avaliarEventosCodex, pinNaoPublicado, ARCANE_MCP_PIN };
|
|
1905
1920
|
|
|
1906
1921
|
}
|
package/installer/README.md
CHANGED
|
@@ -114,7 +114,7 @@ Limites: 200 slots por formato, sem captura antes
|
|
|
114
114
|
do download do proprio script, sem garantia de reconexao/adocao. Fonte oficial segue
|
|
115
115
|
neste diretorio; `plataforma-arcane/npm run sync:installer` sincroniza as duas copias.
|
|
116
116
|
|
|
117
|
-
Pins oficiais usam `auroq-os@2.5.
|
|
117
|
+
Pins oficiais usam `auroq-os@2.5.8`, hotfix que registra a versao publicada
|
|
118
118
|
`arcane-mcp@0.5.0`.
|
|
119
119
|
Candidato cliente 0.6.0 segue separado ate concluir os gates. O runtime Windows
|
|
120
120
|
faz fail-closed ate dispor de ACL/no-follow seguros; spool PowerShell permanece local.
|
package/installer/install.ps1
CHANGED
|
@@ -589,7 +589,7 @@ function Invoke-AuroqLogin {
|
|
|
589
589
|
# sucesso. Usado como pergunta de sim/nao, ele dizia "voce ja estava logado"
|
|
590
590
|
# pra quem nunca logou, pulava o portao e deixava a conta sem acesso chegar ate
|
|
591
591
|
# a criacao da pasta.
|
|
592
|
-
& (Get-AuroqNpx) -y auroq-os@2.5.
|
|
592
|
+
& (Get-AuroqNpx) -y auroq-os@2.5.8 check-access
|
|
593
593
|
if ($LASTEXITCODE -ne 0) {
|
|
594
594
|
Write-AuroqLog 'login' 'recusado'
|
|
595
595
|
Write-Host ''
|
|
@@ -677,7 +677,7 @@ function Invoke-AuroqInit {
|
|
|
677
677
|
if ($env:AUROQ_INSTALL_DRY_RUN) { Write-AuroqOk 'Sistema - seria montado aqui'; return }
|
|
678
678
|
|
|
679
679
|
Set-Location $script:AuroqPastaAlvo
|
|
680
|
-
& (Get-AuroqNpx) -y auroq-os@2.5.
|
|
680
|
+
& (Get-AuroqNpx) -y auroq-os@2.5.8 instalar
|
|
681
681
|
if ($LASTEXITCODE -ne 0) {
|
|
682
682
|
Write-AuroqLog 'init' 'falhou'
|
|
683
683
|
Write-AuroqErro 'A montagem do sistema parou no meio.' 'Rode o mesmo comando de novo. Se repetir, mande pro suporte o arquivo install.log da pasta .auroq.'
|
package/installer/install.sh
CHANGED
|
@@ -219,9 +219,9 @@ auroq_tem_terminal() {
|
|
|
219
219
|
# recebem pedaco do script no lugar da resposta dele.
|
|
220
220
|
auroq_npx_aluno() {
|
|
221
221
|
if [ -t 0 ]; then
|
|
222
|
-
npx -y auroq-os@2.5.
|
|
222
|
+
npx -y auroq-os@2.5.8 "$@"
|
|
223
223
|
else
|
|
224
|
-
npx -y auroq-os@2.5.
|
|
224
|
+
npx -y auroq-os@2.5.8 "$@" < /dev/tty
|
|
225
225
|
fi
|
|
226
226
|
}
|
|
227
227
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "auroq-os",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.8",
|
|
4
4
|
"description": "Auroq OS — Sistema Operacional de IA para Experts",
|
|
5
5
|
"bin": {
|
|
6
6
|
"auroq-os": "bin/auroq-os.js"
|
|
@@ -18,9 +18,10 @@
|
|
|
18
18
|
"auroq:sync:codex:check": "npm run sync:codex:check",
|
|
19
19
|
"auroq:validate": "npm run validate:hybrid",
|
|
20
20
|
"validate:hybrid": "node scripts/validate-hybrid.mjs",
|
|
21
|
-
"lint": "node --check bin/auroq-os.js && node --check lib/auth.js && node --check lib/diagnostico.js && node --check lib/credentials.js && node --check lib/onepassword.js && node --check lib/supabase.js && node --check scripts/sync-codex-skills.mjs && node --check scripts/validate-hybrid.mjs && node --check scripts/prepack-casca.mjs && node --check scripts/postpack-casca.mjs && node --check lib/telemetry.mjs && node --check scripts/synapse-hashes.mjs && node --check lib/ahi/historico.mjs && node --check .claude/hooks/ahi-capture.cjs",
|
|
21
|
+
"lint": "node --check bin/auroq-os.js && node --check lib/auth.js && node --check lib/diagnostico.js && node --check lib/credentials.js && node --check lib/onepassword.js && node --check lib/supabase.js && node --check scripts/sync-codex-skills.mjs && node --check scripts/validate-hybrid.mjs && node --check scripts/prepack-casca.mjs && node --check scripts/postpack-casca.mjs && node --check scripts/assert-mcp-pin.mjs && node --check lib/telemetry.mjs && node --check scripts/synapse-hashes.mjs && node --check lib/ahi/historico.mjs && node --check .claude/hooks/ahi-capture.cjs",
|
|
22
22
|
"typecheck": "npm run validate:hybrid",
|
|
23
23
|
"test": "node --test tests/*.test.mjs",
|
|
24
|
+
"prepublishOnly": "node scripts/assert-mcp-pin.mjs",
|
|
24
25
|
"prepack": "node scripts/prepack-casca.mjs",
|
|
25
26
|
"postpack": "node scripts/postpack-casca.mjs",
|
|
26
27
|
"build": "npm pack --dry-run --json > /dev/null"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Recusa publicar auroq-os pinando um arcane-mcp que o npm nao resolve.
|
|
4
|
+
* Foi assim que 2.5.4/2.5.5 sairam com arcane-mcp@0.6.0.
|
|
5
|
+
*/
|
|
6
|
+
import { execFileSync } from 'node:child_process';
|
|
7
|
+
import fs from 'node:fs';
|
|
8
|
+
import path from 'node:path';
|
|
9
|
+
import { fileURLToPath } from 'node:url';
|
|
10
|
+
|
|
11
|
+
const root = path.join(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
12
|
+
const src = fs.readFileSync(path.join(root, 'bin/auroq-os.js'), 'utf8');
|
|
13
|
+
const m = src.match(/const ARCANE_MCP_PIN = '([^']+)'/);
|
|
14
|
+
if (!m) {
|
|
15
|
+
console.error('assert-mcp-pin: nao achei ARCANE_MCP_PIN em bin/auroq-os.js');
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
18
|
+
const pin = m[1];
|
|
19
|
+
if (!/^arcane-mcp@\d+\.\d+\.\d+$/.test(pin)) {
|
|
20
|
+
console.error(`assert-mcp-pin: pin invalido: ${pin}`);
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const v = execFileSync('npm', ['view', pin, 'version'], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] }).trim();
|
|
25
|
+
if (!v) throw new Error('vazio');
|
|
26
|
+
console.log(`assert-mcp-pin: ${pin} existe (${v})`);
|
|
27
|
+
} catch (e) {
|
|
28
|
+
const detalhe = e.stderr ? String(e.stderr).split('\n').find(Boolean) : e.message;
|
|
29
|
+
console.error(`assert-mcp-pin: ${pin} nao existe no npm. ${detalhe || ''}`.trim());
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|