Rust: ElicitationRequest drops the tool call id from elicitation.requested

Aberta Para iniciantes
#2,900 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

  • #2910 de @FOWEPJF255 — fechado sem integrar

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
78/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
rust
Domínio
backend

Direção de pesquisa

Leia a definição de ElicitationRequest do SDK Rust e o código da sessão que converte elicitation.requested em uma solicitação para ElicitationHandler. Adicione o campo opcional tool_call_id e copie-o do evento; confira os testes Rust existentes para essa conversão e adicione cobertura tanto para um ID presente quanto para None. O trabalho estará concluído quando os handlers receberem o ID quando ele for fornecido e os formulários iniciados pelo agente permanecerem inalterados.

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

Descrição

The Rust SDK drops the tool call id when it hands an elicitation request to the session's ElicitationHandler, so a host can't tell which tool call raised a form.

What happens

The elicitation.requested session event carries an optional toolCallId (ElicitationRequestedData::tool_call_id, documented as "Tool call ID from the LLM completion; used to correlate with CompletionChunk.toolCall.id for remote UIs"). When the session converts that event into the ElicitationRequest it passes to ElicitationHandler, it copies message, requested_schema, mode, elicitation_source and url, but not the tool call id. ElicitationRequest has no field for it.

Why it matters

A host that draws tool calls in a transcript needs to know which call a pending form belongs to, for example to keep that call visible and marked as waiting on the user instead of collapsing it with finished work. Today the handler can only show the form on its own, unconnected to the call that raised it. Forms raised by MCP tools during a tool call are the common case.

Suggested change

Add tool_call_id: Option<String> to ElicitationRequest and fill it from the event's tool_call_id when building the request. It stays None for forms that aren't tied to a tool call, such as agent-initiated ones, so existing handlers are unaffected.

Linguagem predominante
Java
Estrelas
10.7k
Forks
1.5k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

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 github/copilot-sdk

Todas as issues de github/copilot-sdk

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

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