@danhachuel/pandanews 0.4.7 → 0.4.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/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  Todas as versões publicadas são registradas aqui antes do publish (regra em AGENTS.md). A etiqueta visual usa PATCH de dois dígitos (ex.: 0.1.00); o registry npm normaliza para a versão canônica (ex.: 0.1.0).
4
4
 
5
+ ## 0.4.08 (2026-11-08)
6
+
7
+ - **Mantém o rótulo `gemini` em `noticias.llm_provider`**: a reescrita do router (0.4.07) devolvia o id interno `google`, o que regrediria o alinhamento banco/UI feito na 0.4.05/0.4.06. `gerar_texto` volta a devolver `"gemini"` quando o provedor do Google responde — Dashboards, filtros e exibição continuam consistentes
8
+ - Nenhuma outra mudança funcional
9
+
5
10
  ## 0.4.07 (2026-11-08)
6
11
 
7
12
  - **CORREÇÃO DEFINITIVA da NVIDIA NIM — réplica do Thunderbolt**: `backend/core/llm_router.py` reescrito para falar com provedores OpenAI-compatible por **HTTP direto** (`POST {base_url}/chat/completions`, `Authorization: Bearer`, `Content-Type: application/json`, `Accept: application/json`), a mesma estrutura que funciona no projeto Thunderbolt — `requests` trocado por `httpx`, já dependência do projeto
@@ -31,7 +31,7 @@ async def lifespan(_: FastAPI):
31
31
  scheduler.parar()
32
32
 
33
33
 
34
- app = FastAPI(title="PandaNews API", version="0.4.7", lifespan=lifespan)
34
+ app = FastAPI(title="PandaNews API", version="0.4.8", lifespan=lifespan)
35
35
 
36
36
  app.add_middleware(
37
37
  CORSMiddleware,
@@ -160,7 +160,9 @@ def gerar_texto(db, prompt: str, max_tokens: int = 1024) -> tuple[str, str]:
160
160
  try:
161
161
  texto, modelo = chamar_provedor(db, provider, prompt, max_tokens)
162
162
  logger.info("LLM: %s respondeu (modelo %s)", nome, modelo)
163
- return texto, provider
163
+ # Banco/UI rotulam o provedor do Gemini como "gemini" (id de exibição,
164
+ # não o id interno "google") — mantido desde a 0.4.05.
165
+ return texto, "gemini" if provider == "google" else provider
164
166
 
165
167
  except Exception as exc: # noqa: BLE001 — fallback implacável: TUDO troca de provedor
166
168
  ultimo_erro = exc
@@ -105,7 +105,7 @@ llm_router.logger.setLevel(logging.INFO)
105
105
 
106
106
  texto, provedor = llm_router.gerar_texto(_db_com_chaves(), "escreva uma noticia")
107
107
 
108
- check(provedor == "google", "NVIDIA com 410 -> o Gemini assume (provedor devolvido: google)")
108
+ check(provedor == "gemini", "NVIDIA com 410 -> o Gemini assume (provedor devolvido: gemini)")
109
109
  check("noticia gerada pelo gemini" in texto, "o texto devolvido é o do Gemini, não uma exceção")
110
110
 
111
111
  mensagem_esperada = "Erro na NVIDIA (410 Gone"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danhachuel/pandanews",
3
- "version": "0.4.7",
3
+ "version": "0.4.8",
4
4
  "description": "SaaS local de criação e automação de múltiplos blogs de notícias com IA (FastAPI + React + Tailwind).",
5
5
  "license": "MIT",
6
6
  "type": "module",