Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

fix(session): `flattenToolParts` has no size bound of its own for inlined tool output

Aberta
#1,324 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
typescript
Domínio
ai, backend

Direção de pesquisa

Read packages/opencode/src/provider/transform.ts and compaction.ts, starting with flattenToolParts and fitHead, and measure how rendered tool results compare with real compaction budgets. Add bounded rendering with an elision marker, then add tests covering multi-megabyte output and marker-lookalike text; done means flattened requests stay within the intended budget without treating output text as structure.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

ProviderTransform.flattenToolParts (packages/opencode/src/provider/transform.ts) rewrites tool-call/tool-result parts into text for toolless requests (compaction, title, summary). It relies on compaction.ts's fitHead having budgeted the unflattened messages; the flattened text is not re-checked against the context window. In practice the flattened text is about the same size, but nothing guarantees it, and a tool output that itself contains text shaped like [tool result: X] is fed to the summarizer as if it were structure.

Proposed: cap each rendered tool result (with an elision marker) and add a test with an adversarial multi-megabyte output and a marker-lookalike output.

Found during the v0.12.0 release review (support-engineer persona). Deferred because: needs measurement against real compaction budgets before choosing a cap.

🤖 Generated with Claude Code

https://claude.ai/code/session_012Q51zFUmPg1WwtS5CrGJE6

Linguagem predominante
TypeScript
Estrelas
812
Forks
123
Merge médio
1d 16h
PRs com merge (30d)
85

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de AltimateAI/altimate-code

Todas as issues de AltimateAI/altimate-code

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.