mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-01 21:02:12 +03:00
* feat(homolog): scaffolding da suíte de homologação E2E (deps + npm run homolog) * feat(homolog): L0 avaliador de paridade de deploy (TDD) * feat(homolog): L1a ciclo de vida de API key efêmera (login admin -> create -> revoke) * feat(homolog): L1b suite httpYac de API (models, chat, auth de management, health) * feat(homolog): L1c checker SSE de streaming real (TDD no parser) * feat(homolog): L2 smoke de providers reais via promptfoo gerado do catálogo * feat(homolog): L4a Playwright homolog config + login storageState * feat(homolog): L4b smoke de todas as rotas do dashboard (descoberta via fs) * feat(homolog): L4c fluxo criar/revogar API key pela UI * fix(homolog): resiliencia real-environment — stream:false no smoke promptfoo, retry de socket keep-alive, key efemera com sufixo unico * feat(homolog): L5 orquestrador npm run homolog + relatorio CTRF unificado * docs(homolog): guia de operacao da suite + fragment de changelog + allowlist env-doc-sync * fix(homolog): paraleliza o sweep de rotas do dashboard (fullyParallel + 8 workers) * fix(homolog): isola outputs crus em homolog-report/raw para nao quebrar o ctrf merge * fix(homolog): outputDir absoluto do reporter CTRF da UI (path relativo escapava do worktree) * chore(quality): allowlist the 5 homolog-suite devDependencies (ctrf-io trio, httpyac, promptfoo) after registry verification * chore(quality): register the homolog Playwright suite as a test-discovery collector (run.mjs -> tests/homolog/ui)
25 lines
687 B
JavaScript
25 lines
687 B
JavaScript
export function promptfooToCtrf(output) {
|
|
const rows = output?.results?.results || [];
|
|
const tests = rows.map((r) => ({
|
|
name: `provider-smoke: ${r.provider?.label || r.provider?.id || "?"}`,
|
|
status: r.success ? "passed" : "failed",
|
|
duration: Math.round(r.latencyMs || 0),
|
|
...(r.error ? { message: String(r.error).slice(0, 300) } : {}),
|
|
}));
|
|
const passed = tests.filter((t) => t.status === "passed").length;
|
|
return {
|
|
results: {
|
|
tool: { name: "promptfoo" },
|
|
summary: {
|
|
tests: tests.length,
|
|
passed,
|
|
failed: tests.length - passed,
|
|
pending: 0,
|
|
skipped: 0,
|
|
other: 0,
|
|
},
|
|
tests,
|
|
},
|
|
};
|
|
}
|