packages/sdk/js v2 gen tree does not round-trip: build.ts regenerates ~12k lines of types.gen.ts on main
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- bun, typescript
- Área
- api, build-system, ci-cd
Línea de trabajo
Ejecuta packages/sdk/js/script/build.ts en un checkout limpio de main e inspecciona los cambios generados en src/v2/gen, especialmente types.gen.ts y sdk.gen.ts. Compara el árbol generado con los archivos confirmados y, después, revisa la comprobación de reproducibilidad existente del trabajo de respuesta no-JSON. Se considera terminado cuando el árbol v2 se regenera sin diferencias y el paso final de tsc se completa correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What
Running packages/sdk/js/script/build.ts on a clean checkout of main regenerates src/v2/gen/types.gen.ts with a ~12k-line diff (and sdk.gen.ts changes), then fails at its trailing tsc step. The committed v2 gen tree and the output of bun dev generate + codegen have drifted apart.
Why it matters
script/publish.ts runs build.ts inside prepareReleaseFiles() on every release, so what ships in @opencode-ai/sdk/v2 is the regenerated tree — not the reviewed, committed one. Any post-codegen patch (SseFn, and the JSON-parse guard being added in the non-JSON-response PR) is only as reproducible as this tree.
Evidence
Observed while adding a "SDK codegen is reproducible" CI check for the non-JSON-response PR: the patched client/client.gen.ts round-trips byte-for-byte, but types.gen.ts does not, so the check had to be scoped to the patched file. The build's final tsc fails on the regenerated types (e.g. FileSystemEntry no longer exported).
Suggested fix
Regenerate and commit the v2 gen tree from current main, then widen the CI check to git diff --exit-code -- src/v2/gen so it can never drift silently again.
- Lenguaje dominante
- TypeScript
- Estrellas
- 813
- Forks
- 134
- Merge medio
- 2 d 3 h
- PR fusionados (30 d)
- 65
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de AltimateAI/altimate-code
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
AltimateAI/altimate-code#1359 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
AltimateAI/altimate-code#1323 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
AltimateAI/altimate-code#1288 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
AltimateAI/altimate-code#1285 ·
-
privacy: Altimate Base consent dialog no longer discloses persistent per-installation identifier Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
AltimateAI/altimate-code#1284 ·
Todos los issues de AltimateAI/altimate-code
Issues similares
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Crush Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ElementsProject/cln-application#167 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Quantco/pnpm-licenses#17 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100