Foundry Toolkit Copilot model provider drops token usage and always reports zero context tokens
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- github, javascript, vscode
Línea de trabajo
The report identifies provideTokenCount() and provideLanguageModelResponse in the bundled dist/extension.js, and mentions convertOpenAIChunkToChatChunk as the usage conversion point. Start by locating these in the unminified extension source and tracing how response chunks reach Copilot. Done means actual input, output, and cached token usage is forwarded and token counting no longer always returns zero; the issue names no tests to run.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Title: Foundry Toolkit Copilot model provider drops token usage and always reports zero context tokens
Environment
- VS Code: 1.142.0
- Integrated Copilot extension: 0.70.0
- Microsoft Foundry Toolkit: 1.6.19
- OS: Windows x64
- Model: Azure Foundry deployment
gpt-5.6-sol - Integration: Foundry Toolkit language model provider in VS Code Copilot Chat
Problem
When using an Azure Foundry model through Foundry Toolkit in GitHub Copilot Chat, token usage is not reported correctly.
Observed behavior:
- Context window indicator always displays
0 / 1M tokens. - Agent Debug Logs report 0 input and output tokens.
- Copilot
/usagereports AI Units but no Azure API token usage. - OpenTelemetry file export is enabled, but no chat token usage metrics are recorded.
Azure Foundry itself processes and bills the model requests normally. A separate direct API test confirms that the service returns valid usage information, including prompt_tokens, completion_tokens, and total_tokens.
Root cause identified through local extension analysis
1. Token counting always returns zero
In the installed Foundry Toolkit bundle:
dist/extension.js, around line 2520:
async provideTokenCount(i,a,o){return 0}
This explains why the Copilot context window indicator always displays zero.
2. API usage is not forwarded to Copilot
The internal response conversion handles the API usage information:
convertOpenAIChunkToChatChunk, around line 4988.
However, the language model provider implementation:
provideLanguageModelResponse, around line 2517
appears to forward text and tool-call content without forwarding the token usage data.
In the integrated Copilot extension, around line 7013, the consumer expects usage information as a LanguageModelDataPart. When it is missing, input, output, and cache token counts are set to zero.
These findings are based on inspection of the installed, bundled JavaScript code and have not been independently validated against the unminified source.
Expected behavior
- Forward actual API input, output, and cached token usage to VS Code Copilot.
- Implement meaningful token counting instead of returning zero.
- Make token usage available to the Agent Debug Logs and supported telemetry consumers.
- Allow developers using Azure Foundry BYOK deployments to monitor token consumption per model request.
Additional observation
OpenTelemetry file export works and produces telemetry data, but the inspected file contains no model-request token usage metrics. The missing model-turn spans may require separate investigation.
Impact
Without reliable token reporting, developers cannot monitor or optimize API token consumption within Copilot Chat.
In our environment, 296 Azure requests consumed approximately 3.28 million tokens, while the Copilot UI continued displaying zero usage.
Request
Could you confirm whether forwarding token usage from Foundry Toolkit language model providers to Copilot is currently supported?
If supported, please investigate the missing usage forwarding and the provideTokenCount() implementation.
If not yet supported, please consider implementing it so that users of Azure Foundry BYOK models can monitor their actual token consumption.
- Lenguaje dominante
- JavaScript
- Estrellas
- 2.1k
- Forks
- 260
- Merge medio
- 3 h 18 min
- PR fusionados (30 d)
- 43
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 microsoft/foundry-dev-tools
-
I can not deploy it.Abiertoneeds attention
Dificultad 3/5 Medio día Aptitud para principiantes 34/100
microsoft/foundry-dev-tools#944 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
needs attention
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
microsoft/foundry-dev-tools#943 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
needs attention
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
microsoft/foundry-dev-tools#942 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Foundry Toolkit: GPT-6 luna tool calls fail in VS Code Chat because Chat Completions is used with reasoningPosiblemente ocupada @a1exwang la tomó hace 3 días. Abiertoneeds attention
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
microsoft/foundry-dev-tools#924 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
error while deploying modelPosiblemente ocupada @JerryYangKai la tomó hace 10 días. Abiertoinvestigating
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
microsoft/foundry-dev-tools#899 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de microsoft/foundry-dev-tools
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Fei-Away/Codex-Dream-Skin#449 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
outline/outline#14489 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Claude Code plugin does not wire the edit-time Floor hookPosiblemente ocupada @dgr8akki la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
Administration: required plugin configuration field stays invalid after restoring its saved valueAbiertoneeds-triage Platform(Default)
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día