connectLlm method
Future<LlmDelegation>
connectLlm({
- required String projectId,
- required AccessSubject subject,
- required String maxBudget,
- List<
LlmProvider> ? providers, - List<
String> ? models, - int? expiresInSeconds,
Implementation
Future<LlmDelegation> connectLlm({
required String projectId,
required AccessSubject subject,
required String maxBudget,
List<LlmProvider>? providers,
List<String>? models,
int? expiresInSeconds,
}) async {
final uri = Uri.parse('$baseUrl/llm/connect');
final providerNames = providers?.map((provider) => provider.wireName).toList();
final response = await httpClient.post(
uri,
headers: {'Meshagent-Project-Id': projectId, 'Content-Type': 'application/json'},
body: jsonEncode({
'subject': subject.toJson(),
'max_budget': maxBudget,
'providers': ?providerNames,
'models': ?models,
'expires_in_seconds': ?expiresInSeconds,
}),
);
if (response.statusCode >= 400) {
throw MeshagentException(
'Failed to connect LLM delegation. '
'Status code: ${response.statusCode}, body: ${response.body}',
);
}
return LlmDelegation.fromJson((jsonDecode(response.body) as Map).cast<String, dynamic>());
}