parche-cli 0.6.4 → 0.6.5

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,19 @@
2
2
 
3
3
  Todas las versiones de `parche-cli` (npm) y de la Action `Pepo08/parche@v0`.
4
4
 
5
+ ## 0.6.5 — 2026-10-19
6
+
7
+ Pack de IA con la Videos API de OpenAI, que cerró el 24/9/2026 junto con los modelos Sora 2 (página de deprecaciones verificada el 19/10; los métodos salen de la referencia oficial de la API y del SDK de Python). Hasta ahora solo se avisaban los modelos `sora-2*`; ahora también las llamadas que quedaron en el código sin un ID de modelo cerca (consultar el estado, bajar el video, listar, borrar). Como siempre, Parche avisa y no toca el código.
8
+
9
+ ### Nuevo
10
+ - **Videos API (cerrada el 24/9/2026, sin reemplazo):** los métodos del SDK de Node (`videos.create`, `retrieve`, `list`, `delete`, `remix`, `edit`, `extend`, `downloadContent`, `createCharacter`, `getCharacter`), los del SDK de Python (los mismos en snake_case, más `create_and_poll` y `poll`, también detrás de `with_raw_response` y `with_streaming_response`) y `/v1/videos` por HTTP. OpenAI no indica reemplazo (su referencia dice que no hay una API que la reemplace uno a uno), y el aviso lo dice así, sin inventar uno.
11
+ - **Menos falsos positivos:** como Evals y ChatKit, solo cuenta si el archivo importa el SDK oficial de OpenAI o nombra `api.openai.com`, porque api.video tiene `client.videos.create(` y otros proveedores usan `/v1/videos`. Además no se avisan los receptores de YouTube (`youtube.videos.list(`, `google.youtube('v3').videos.list(`), que conviven con el SDK de OpenAI en los resumidores de videos. En Azure OpenAI no se da por cerrada con la fecha de OpenAI.
12
+
13
+ ### Todavía no cubre
14
+ - Un archivo que importa el SDK de OpenAI y llama a otro cliente con `videos` (api.video, o YouTube con un nombre como `yt`): se avisa igual.
15
+ - Un cliente de OpenAI que llega de otro archivo (`import { openai } from './lib/openai'`) sin importar el SDK ni nombrar el host.
16
+ - Los SDKs de Go, Java, .NET y Ruby.
17
+
5
18
  ## 0.6.4 — 2026-10-18
6
19
 
7
20
  Pack de IA con los productos que OpenAI cierra y no son modelos (página de deprecaciones verificada el 18/10; cómo se usa cada uno, de la referencia oficial de la API y de los SDKs de Node y Python). Como siempre, Parche avisa con la fecha y el reemplazo oficial, y no toca el código.
package/README.md CHANGED
@@ -131,7 +131,7 @@ Con el tag, el workflow corre los tests, controla que la versión de `package.js
131
131
  |---|---|---|---|---|
132
132
  | `arca.wsfe.condicion-iva-receptor` | ARCA | rompe | 2026-12-01 | sí, en JS (`afip.js`) y PHP (`afipsdk/afip.php` y forks): consumidor final y DNI B/C; con `DocTipo` en una variable, consumidor final al ejecutarse (PR parcial) |
133
133
  | `mercadopago.payments-to-orders` | Mercado Pago | migración | — | sí (creación de pagos en SDK Node v2) |
134
- | `ai.model-retirements` | Anthropic, OpenAI | retiro | varias | solo detección (también modelos fine-tuned de OpenAI, `ft:…`). De OpenAI, los modelos que su página de deprecaciones apaga desde 2026: texto, código, imagen, video, voz, transcripción y realtime; y los productos que cierran: Assistants API, prompts reutilizables (`pmpt_…`, `v1/prompts`), la plataforma de Evals y ChatKit con un workflow de Agent Builder |
134
+ | `ai.model-retirements` | Anthropic, OpenAI | retiro | varias | solo detección (también modelos fine-tuned de OpenAI, `ft:…`). De OpenAI, los modelos que su página de deprecaciones apaga desde 2026: texto, código, imagen, video, voz, transcripción y realtime; y los productos que cierran: Assistants API, prompts reutilizables (`pmpt_…`, `v1/prompts`), la plataforma de Evals, ChatKit con un workflow de Agent Builder y la Videos API (cerrada el 24/9/2026) |
135
135
 
136
136
  ## Verificación
137
137
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parche-cli",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "description": "Dependabot para APIs: detecta cambios de APIs de terceros en tu código y abre el PR con el arreglo.",
5
5
  "keywords": [
6
6
  "api",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "id": "ai.model-retirements",
3
- "version": "2026.10.18",
3
+ "version": "2026.10.19",
4
4
  "provider": "Modelos de IA",
5
5
  "title": "Modelos y endpoints de IA retirados o por retirarse",
6
6
  "kind": "retirement",
7
7
  "severity": "high",
8
8
  "deadline": null,
9
- "last_verified": "2026-10-18",
9
+ "last_verified": "2026-10-19",
10
10
  "summary_es": "Tu código usa modelos o APIs de IA que ya no responden o tienen fecha de retiro.",
11
11
  "why_es": "Los proveedores de modelos retiran IDs de modelo y endpoints con algunas semanas o meses de aviso. Después de la fecha, las llamadas fallan. Parche no reemplaza el modelo automáticamente porque cambiar de modelo cambia el comportamiento: te avisa, te dice la fecha y el reemplazo que recomienda el proveedor.",
12
12
  "sources": [
@@ -18,7 +18,9 @@
18
18
  { "title": "OpenAI: Moving from OpenAI Evals to Promptfoo", "url": "https://developers.openai.com/cookbook/examples/evaluation/moving-from-openai-evals-to-promptfoo" },
19
19
  { "title": "OpenAI: API reference, Evals (métodos del SDK de Node y de Python)", "url": "https://developers.openai.com/api/reference/resources/evals" },
20
20
  { "title": "OpenAI: Migrate from Agent Builder", "url": "https://developers.openai.com/api/docs/guides/agent-builder/migrate-from-agent-builder" },
21
- { "title": "OpenAI: ChatKit (workflow alojado en Agent Builder; sessions.create exige un workflow)", "url": "https://developers.openai.com/api/docs/guides/chatkit" }
21
+ { "title": "OpenAI: ChatKit (workflow alojado en Agent Builder; sessions.create exige un workflow)", "url": "https://developers.openai.com/api/docs/guides/chatkit" },
22
+ { "title": "OpenAI: API reference, Videos (métodos del SDK de Node y de Python; sin reemplazo uno a uno)", "url": "https://developers.openai.com/api/reference/resources/videos" },
23
+ { "title": "OpenAI: SDK de Python, recurso videos (create_and_poll y poll)", "url": "https://github.com/openai/openai-python/blob/main/src/openai/resources/videos.py" }
22
24
  ],
23
25
  "detect": {
24
26
  "packages": ["@anthropic-ai/sdk", "openai"],
@@ -171,7 +173,9 @@
171
173
  { "regex": "\\.(evals(?:\\.runs(?:\\.(?:outputItems|output_items))?)?\\.(?:create|retrieve|update|list|delete|cancel))\\s*\\(", "openai_context": true, "retired": "2026-11-30", "milestones": [{ "date": "2026-10-31", "future_es": "las evals existentes pasan a solo lectura", "past_es": "las evals existentes están en solo lectura" }], "api_es": "plataforma de Evals", "replacement_es": "Promptfoo, que recomienda OpenAI (guía oficial \"Moving from OpenAI Evals to Promptfoo\")", "provider": "openai" },
172
174
  { "pattern": "/v1/evals", "openai_context": true, "retired": "2026-11-30", "milestones": [{ "date": "2026-10-31", "future_es": "las evals existentes pasan a solo lectura", "past_es": "las evals existentes están en solo lectura" }], "api_es": "plataforma de Evals", "replacement_es": "Promptfoo, que recomienda OpenAI (guía oficial \"Moving from OpenAI Evals to Promptfoo\")", "provider": "openai" },
173
175
  { "regex": "\\.(chatkit\\.sessions\\.create)\\s*\\(", "openai_context": true, "retired": "2026-11-30", "api_es": "integración de ChatKit con Agent Builder", "replacement_es": "exportar el workflow como código del Agents SDK y conectar ChatKit a tu propio servidor (guía oficial \"Migrate from Agent Builder\")", "note_es": "ChatKit sigue disponible; el workflow alojado en Agent Builder se puede usar solo durante la transición.", "provider": "openai" },
174
- { "pattern": "/v1/chatkit/sessions", "openai_context": true, "retired": "2026-11-30", "api_es": "integración de ChatKit con Agent Builder", "replacement_es": "exportar el workflow como código del Agents SDK y conectar ChatKit a tu propio servidor (guía oficial \"Migrate from Agent Builder\")", "note_es": "ChatKit sigue disponible; el workflow alojado en Agent Builder se puede usar solo durante la transición.", "provider": "openai" }
176
+ { "pattern": "/v1/chatkit/sessions", "openai_context": true, "retired": "2026-11-30", "api_es": "integración de ChatKit con Agent Builder", "replacement_es": "exportar el workflow como código del Agents SDK y conectar ChatKit a tu propio servidor (guía oficial \"Migrate from Agent Builder\")", "note_es": "ChatKit sigue disponible; el workflow alojado en Agent Builder se puede usar solo durante la transición.", "provider": "openai" },
177
+ { "regex": "(?<![Yy]ou[Tt]ube\\w*|[Yy]ou[Tt]ube\\([^)]*\\))\\.(videos\\.(?:with_(?:raw|streaming)_response\\.)?(?:create|createCharacter|create_character|create_and_poll|delete|downloadContent|download_content|edit|extend|getCharacter|get_character|list|poll|remix|retrieve))\\s*\\(", "openai_context": true, "retired": "2026-09-24", "api_es": "Videos API", "replacement_es": "OpenAI no indica ninguno (según su referencia, no hay una API que la reemplace uno a uno)", "note_es": "Ese mismo día cerraron los modelos `sora-2` y `sora-2-pro`: no alcanza con cambiar de modelo.", "provider": "openai" },
178
+ { "pattern": "/v1/videos", "openai_context": true, "retired": "2026-09-24", "api_es": "Videos API", "replacement_es": "OpenAI no indica ninguno (según su referencia, no hay una API que la reemplace uno a uno)", "note_es": "Ese mismo día cerraron los modelos `sora-2` y `sora-2-pro`: no alcanza con cambiar de modelo.", "provider": "openai" }
175
179
  ]
176
180
  },
177
181
  "codemod": null,
@@ -12,10 +12,11 @@ const AZURE = /azure|AzureOpenAI|openai\.azure\.com/i;
12
12
  // Se compara el modelo base entero, hasta el `:`, contra `bases` del pack: nunca un prefijo, porque
13
13
  // `ft:gpt-4o-mini-2024-07-18:...` no es un fine-tuned de `gpt-4` y se apaga en otra fecha.
14
14
  const FINE_TUNE = /["'`]ft:([\w.-]+):/g;
15
- // Productos de OpenAI que cierran y no son modelos (prompts reutilizables, Evals, ChatKit con Agent Builder). Un
16
- // endpoint del pack es un `pattern` (texto literal) o un `regex` (se muestra el grupo 1). Con `openai_context`, solo
17
- // cuenta si el archivo importa el SDK oficial (JS o Python) o nombra el host de la API: `.evals.create(` o
18
- // `/v1/evals` pueden ser de otra librería o de otra API.
15
+ // Productos de OpenAI que cierran y no son modelos (prompts reutilizables, Evals, ChatKit con Agent Builder, Videos API).
16
+ // Un endpoint del pack es un `pattern` (texto literal) o un `regex` (se muestra el grupo 1). Con `openai_context`, solo
17
+ // cuenta si el archivo importa el SDK oficial (JS o Python) o nombra el host de la API: `.evals.create(`,
18
+ // `.videos.list(` o `/v1/evals` pueden ser de otra librería o de otra API. El regex de la Videos API además descarta
19
+ // los receptores de YouTube (`youtube.videos.list(`), que conviven con el SDK de OpenAI en los resumidores de videos.
19
20
  const OPENAI_CONTEXT = /\b(?:from|import)\s+["']openai(?:\/[^"']*)?["']|\b(?:require|import)\(\s*["']openai(?:\/[^"']*)?["']\s*\)|^\s*(?:from\s+openai(?:\.\w+)*\s+import|import\s+openai)\b|api\.openai\.com/m;
20
21
 
21
22
  // Acepta el formato nuevo ({ date, replacement }) y el viejo (solo la fecha). `replacement` es un ID de modelo