SyniRuntimeCapabilities.fromJson constructor
SyniRuntimeCapabilities.fromJson(
- String json
Implementation
factory SyniRuntimeCapabilities.fromJson(String json) {
final decoded = jsonDecode(json);
if (decoded is! Map) {
throw SyniRuntimeError.protocol(
'runtime capabilities were not an object');
}
final versions = decoded['api_versions'];
final roles = decoded['roles'];
final generation = decoded['generation'];
final streaming = decoded['streaming'];
return SyniRuntimeCapabilities(
apiVersions: versions is List
? versions.whereType<String>().toList(growable: false)
: const [],
backend: _asString(decoded['backend']) ?? 'unknown',
accelerator: _asString(decoded['accelerator']) ?? 'unknown',
supportsSystemRole: roles is Map && roles['system'] == true,
generationControls: generation is Map
? generation.entries
.where((entry) => entry.value == true)
.map((entry) => entry.key.toString())
.toSet()
: const {},
supportsStructuredDecoding: decoded['structured_decoding'] == true,
supportsStreaming: streaming is Map && streaming['supported'] == true,
streamsDisplayText:
streaming is Map && streaming['display_text_deltas'] == true,
supportsProvenance: decoded['provenance'] == true,
isLegacy: false,
);
}