fetchManifest method
Fetches the remote project manifest from an active Bloom dev server at host:port.
Implementation
Future<BloomProjectManifest> fetchManifest(String host, int port) async {
final url = Uri.parse('http://$host:$port/manifest');
final response = await _httpClient.get(url).timeout(const Duration(seconds: 5));
if (response.statusCode == 200) {
final json = jsonDecode(response.body) as Map<String, dynamic>;
return BloomProjectManifest.fromJson(json);
} else {
throw HttpException('Failed to fetch manifest: HTTP ${response.statusCode}');
}
}