Skip to content

chore(upstream): sincronizar melhorias da v1.18.34 (headers de sessão, TUI status Windows e macOS build) #253

Description

@alltomatos

1. Contexto da Revisão

  • Repositório Upstream: anomalyco/opencode (branch dev)
  • Range Analisado: 2fa3363c92..907b3bc518 (versão upstream v1.18.34)
  • Repositório do Fork: alltomatos/opencode (branch dev)
  • Ambientes Locais: D:\dev\opencode-ori\opencode e D:\dev\ori\opencode sincronizados com origin/dev.

2. Critérios de Avaliação e Adoção

Critério Classificação Ação no Fork
A. Correções Multiplataforma (Windows/macOS) Prioridade Alta Importar imediatamente. Garante funcionamento idêntico e sem bugs no Windows (path.sep) e no macOS (re-assinatura local).
B. Protocolos e Headers de Sessão Prioridade Alta Importar. Padroniza headers x-opencode-session-id e x-opencode-parent-session-id para rastreamento de subagentes/sessões.
C. Estatísticas / S3 Lake Interno Anomaly Descarte Justificado Descartar (packages/stats e infra/lake.ts referem-se à infraestrutura de telemetria interna da Anomaly).

3. Avaliação de Impacto das Modificações Identificadas

🪟 1. Compatibilidade Windows no TUI Status Dialog (fix(tui): #52328)

  • Commit: 97a86b7677
  • Arquivo: packages/tui/src/component/dialog-status.tsx
  • Impacto no Fork: Positivo Alto. No Windows, o split de URLs de arquivo de plugins com / quebrava a extração do nome do plugin. O uso de path.sep corrige a exibição no diálogo de status. Risco de regressão zero.

🆔 2. Headers Padronizados de Identidade de Sessão (fix(opencode): #52370)

  • Commit: e9f8a210b9
  • Arquivos: packages/core/src/session/runner/llm.ts, packages/opencode/src/session/llm/request.ts
  • Impacto no Fork: Positivo Alto. Envia explicitamente os headers x-opencode-session-id e x-opencode-parent-session-id nas requisições HTTP para provedores e proxies, melhorando rastreabilidade e afinidade de subagentes. Risco de regressão zero.

🍏 3. Re-assinatura Ad-hoc em Builds Locais macOS (fix(opencode): #52183)

  • Commit: 9b4882db54
  • Arquivo: packages/opencode/script/build.ts
  • Impacto no Fork: Positivo Médio. No macOS 27+, binários compilados localmente com bundles embutidos podiam receber SIGKILL por assinatura inválida. Adiciona codesign --force --sign - após o build. Risco de regressão zero.

4. Plano de Ação Recomendado

  1. Aplicar correção do path.sep em packages/tui/src/component/dialog-status.tsx.
  2. Aplicar headers namespaced de sessão em packages/core/src/session/runner/llm.ts e packages/opencode/src/session/llm/request.ts.
  3. Atualizar packages/opencode/script/build.ts com o hook de ad-hoc codesign.
  4. Validar com bun typecheck e testes de suite (session-runner.test.ts, llm.test.ts).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentScoped and ready for an agent to pick uptech-debtRefactors, cleanup, architectural debt

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions