getPrompt method
Get a prompt from the server
meta is positional because promptArguments already is (Dart does not
mix optional positional and named parameters).
Implementation
Future<GetPromptResult> getPrompt(
String name, [
Map<String, dynamic>? promptArguments,
Map<String, dynamic>? meta,
RequestOptions? options,
]) async {
if (!_initialized) {
throw McpError('Client is not initialized');
}
if (!_statelessMode && _serverCapabilities?.prompts != true) {
throw McpError('Server does not support prompts');
}
// Create a new map to hold params to avoid direct modification
final Map<String, dynamic> params = {'name': name};
// Only add arguments if provided, and ensure it's a proper Map<String, dynamic>
if (promptArguments != null) {
params['arguments'] = Map<String, dynamic>.from(promptArguments);
}
final request = _withMeta(params, meta);
final response = _statelessMode
? await _sendRequestWithMrtr('prompts/get', request, options)
: await _sendRequest('prompts/get', request, options);
return GetPromptResult.fromJson(response);
}