SIGN IN SIGN UP

[flutter_tools] Implement Diagnostics extension slice and doctor integration (#191162)

## Description

This PR implements Step 3 of Flutter Tools Extensibility: the
Diagnostics extension slice and doctor integration.

### Architectural Overview
1. **`package:flutter_tools_core`**:
- Defines core, platform-agnostic diagnostic models: `ValidationType`,
`ValidationMessage`, and `ValidationResult`.
2. **`package:flutter_tools_extension`**:
- Defines the `DiagnosticsExtension` interface and service contract
(`getTitle()`, `runDiagnostics()`).
3. **`package:flutter_tools_extension_linux_prototype`**:
- Implements `LinuxExtensionDiagnostics` validator in the Linux
prototype extension.
4. **`packages/flutter_tools`**:
- Implements `DiagnosticsExtensionClient` to query isolate extensions
over RPC.
- Introduces `ExtensionDoctorValidator` which adapts extension
diagnostic results into Flutter tool `DoctorValidator` instances.
- Wires `ExtensionDoctorValidator` into `Doctor.validators` via
`ExtensionManager`.
- Deprecates duplicate diagnostic types in `doctor_validator.dart` in
favor of `package:flutter_tools_core` exports.

## Related Issues
Part of https://github.com/flutter/flutter/issues/190692

## Tests
- Added
`packages/flutter_tools/packages/flutter_tools_core/test/diagnostics_test.dart`
- Added
`packages/flutter_tools/packages/flutter_tools_extension_linux_prototype/test/linux_diagnostics_test.dart`
- Added
`packages/flutter_tools/test/general.shard/extension_protocol/diagnostics_service_test.dart`
- Added
`packages/flutter_tools/test/commands.shard/hermetic/tool_extensions_integration_test.dart`
- Added
`packages/flutter_tools/test/integration.shard/tool_extensions_test.dart`
- Updated existing doctor and validator tests in `commands.shard` and
`general.shard`.
B
Ben Konyi committed
458c576ff8aefcfdc427d88addbaadb249a2c500
Parent: 47ec0eb
Committed by GitHub <noreply@github.com> on 8/20/2026, 6:02:59 PM