fix(sse): pin the ok variant of the non-streaming leg result in chatCore - #12963
Merged
diegosouzapw merged 2 commits intoSep 8, 2026
Merged
diegosouzapw merged 2 commits into
diegosouzapw merged 2 commits into
Conversation
This was referenced Sep 7, 2026
Contributor
|
Verified locally on the current tip — the gate goes green with this PR.
Node v26.4.0. This is the red every open PR against the branch currently inherits under |
diegosouzapw
added a commit
that referenced
this pull request
Sep 8, 2026
…sion fixes (#13045) Cap de arquivo estourado por mim: mergeei o #12963 e o #12990 sem rebaselinar o `chatCore.ts`, que ambos fazem crescer. Cada um passou no próprio gate porque mediu contra o tip de onde saiu — o cap só estoura no conjunto, que é o padrão registrado sete vezes no handoff da campanha anterior. 5984 → 6021, +37 linhas, irredutíveis nos chokepoints existentes: cada edição fica onde o `chatCore` já toma a decisão, e os helpers estão sob o cap. Coberto por `chatcore-translation-paths` (72/74; as 2 abertas são a issue #13043).
This was referenced Sep 8, 2026
This was referenced Sep 9, 2026
Closed
Merged
8 tasks done
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…ore (diegosouzapw#12963) Base-red: `API Route Typecheck` falhava no tip com 13 TS2339 novos em `chatCore.ts`, vindos do diegosouzapw#12867 — que eu mergeei validando só com `typecheck:core`, que não cobre esse arquivo. Causa: `legResult` é a união `NonStreamingProviderLegResult`; o guard de erro estreita para a variante `ok`, mas a reatribuição condicional do tool loop devolve o tipo declarado e as 13 leituras seguintes perdem a narrowing. Corrigido fixando a variante num binding próprio — `loopApply.leg` já é `& { kind: "ok" }`, então sem cast. Gate: 302 erros com 13 novos → **289, todos dentro da baseline congelada**. `typecheck:core` limpo, ESLint 0 no arquivo. Dois commits: o primeiro é Prettier puro sobre o arquivo do tip (que chegou fora do padrão pelo diegosouzapw#12867), verificado byte a byte contra `prettier(tip)`; o segundo é a mudança semântica, 39 linhas. Os demais vermelhos deste PR são herdados e cobertos por diegosouzapw#12990, diegosouzapw#12964 e diegosouzapw#12970.
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…sion fixes (diegosouzapw#13045) Cap de arquivo estourado por mim: mergeei o diegosouzapw#12963 e o diegosouzapw#12990 sem rebaselinar o `chatCore.ts`, que ambos fazem crescer. Cada um passou no próprio gate porque mediu contra o tip de onde saiu — o cap só estoura no conjunto, que é o padrão registrado sete vezes no handoff da campanha anterior. 5984 → 6021, +37 linhas, irredutíveis nos chokepoints existentes: cada edição fica onde o `chatCore` já toma a decisão, e os helpers estão sob o cap. Coberto por `chatcore-translation-paths` (72/74; as 2 abertas são a issue diegosouzapw#13043).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Base-red vivo
API Route Typecheckfalha no tip derelease/v3.8.51:Introduzido pelo #12867, que eu mergeei. Erro meu: validei a leva com
typecheck:coree dei por coberto. Otsconfig.typecheck-core.jsonnão puxa ochatCore.ts; otsconfig.typecheck-api.jsonpuxa, através da rota. São dois escopos diferentes e eu só rodei um.Causa
legResulté declarado como a uniãoNonStreamingProviderLegResultinteira. O guardkind === "error"com return antecipado estreita para a varianteok, mas a reatribuição condicional logo abaixo devolve o tipo declarado — e as 13 leituras de campo seguintes (upstreamResponse,headers,providerRequest,requestUrl,providerBody,response, …) perdem a narrowing.Correção
loopApply.legjá é tipadoNonStreamingProviderLegResult & { kind: "ok" }, então basta fixar a variante num binding próprio. Sem cast, semas, semany.Também caiu o import morto de
ChatCoreErrorResult(ono-unused-varsque o pre-commit acusava) e a entrada de supressão dochatCore.tsnoeslint-suppressions.json, que declarava 26 violações quando restava 1 — resíduo do split do #12867. Entrada obsoleta suprime defeito futuro, então saiu.Dois commits, de propósito
O
chatCore.tschegou ao tip fora do padrão do Prettier: 4523 linhas divergem da saída do formatador. Qualquer PR que toque o arquivo carrega essa reformatação, porque o lint-staged formata no commit. Separei:style(sse)— Prettier puro sobre o arquivo do tip. Verifiquei que o resultado é byte-idêntico aprettier(tip)com a config do projeto: nenhuma edição minha nesse commit.fix(sse)— a mudança semântica, 39 linhas.Revise o segundo; o primeiro é mecânico.
Evidência
check-api-typechecktypecheck:corechatCore.tsAchado separado
O shard 1/4 de unit tests no tip puro tem 9 falhas; 5 são de tempo sob carga, 4 não são: uma chave Google não estava sendo redigida em corpos de erro. Tratado à parte em
fix/release-v3.8.51-google-key-redaction.