registerResourceTemplate
Result<
Register a resource template.
Returns Success with RegisteredResourceTemplate or Error.
Implementation
Result<RegisteredResourceTemplate, String> registerResourceTemplate(
String name,
ResourceTemplate template,
ResourceMetadata metadata,
ReadResourceTemplateCallback readCallback,
) {
try {
final jsTemplate = _resourceTemplateToJs(template);
final jsMetadata = _resourceMetadataToJs(metadata);
final jsCallback = _wrapReadResourceTemplateCallback(readCallback);
final registerResourceFn = _mcpServer['registerResource'] as JSFunction;
final jsResult =
registerResourceFn.callAsFunction(
_mcpServer,
name.toJS,
jsTemplate,
jsMetadata,
jsCallback,
)
as JSObject;
return Success(
_jsToRegisteredResourceTemplate(name, template.uriTemplate, jsResult),
);
} catch (e) {
return Error('Failed to register resource template "$name": $e');
}
}