telemetry: share tool approval classification metadata #336746

Merged
dmitrivMS opened 4:10am on September 18, 2026 wanted to merge 27 Ξ” into microsoft/vscode main from
agents/align-tool-approval-telemetry

Pull Request Overview

  • Opened on September 18, 2026
  • Status Merged
  • Commit count 1 with first commit September 18, 2026

Total Delta

27 Total Diff Delta

Open Days

Open 0 weekdays

Test Delta

0 Diff Delta in Test Files
Breakdown by Phase

How long has this pull request spent in each phase of its lifecycle?

Fraction of total time Business days Phase
 
0.0 days Authoring 1 commit before pull request opened for review
 
0.0 days Awaiting first review
 
0.7 days Merge to deploy (still awaiting deployment)

Total time for pull request 0.0 business days from first commit authored to merge
Still awaiting deployment

Author avatar

telemetry: share tool approval classification metadata

Summary

Share the existing workbench chat.toolApproval classification with Agent Host through the platform telemetry module. Both emitters use the same event name, so their overlapping declaration metadata must agree.

The newly published @vscode/[email protected] compares all overlapping declaration fields, exposing differing owners and descriptions in these two declarations. This prevents a dependency-only pickup from passing telemetry extraction.


  • Move the workbench classification verbatim into LanguageModelToolApprovalClassification.

  • Reuse it in both emitters, retaining the existing canonical owner (chrmarti) and descriptions.

  • Keep Agent Host-specific metadata and all event payloads unchanged.

  • No dependency bump, new telemetry fields, classification/purpose changes, privacy changes, or disabled validation.

Validation

Using the actual published 1.20.5 tarball on VS Code baseline cd6d024b513eaa67a3217741ba323460bc55490e, Node 24.18.0 / Windows x64 and the existing 4096 MiB setting:


  • Before: core extraction fails on conflicting chat.toolApproval declarations.

  • After: core extraction succeeds with 485 events and 34 common properties.

  • Extension/helper config extraction also succeeds with 72 events and 14 common properties.

  • All three changed TypeScript files compile to byte-identical runtime JavaScript before/after.

  • The shared classification matches the original workbench type verbatim after line-ending normalization.

  • Targeted repository hygiene and git diff --check pass.

This uses existing dependencies read-only, not a full CI filesystem/agent reproduction. No pipeline was queued or rerun.

Coordination

Prerequisite for the separate 1.20.5 dependency pickup. Refs #336369 and microsoft/vscode-telemetry-extractor#80.

Related #336653 adds explicit measurement annotations to the two Agent Host sandbox flags. Those flags move into the shared classification here, so that follow-up should target the shared declaration. Its annotation change is not folded into this PR.

PR was closed without comments.