register static method
Register the RAG backend with the C++ service registry.
Calls rac_backend_rag_register() to register the RAG service provider.
Safe to call multiple times — subsequent calls are no-ops.
Implementation
static Future<void> register() async {
if (_isRegistered) {
_logger.debug('RAGModule already registered');
return;
}
_logger.info('Registering RAG backend with C++ registry...');
try {
final result = DartBridgeRAG.registerBackend();
_logger.info(
'rac_backend_rag_register() returned: $result (${RacResultCode.getMessage(result)})',
);
if (result != RacResultCode.success &&
result != RacResultCode.errorModuleAlreadyRegistered) {
_logger.error('RAG backend registration FAILED with code: $result');
throw SDKError.frameworkNotAvailable(
'RAG backend registration failed with code: $result (${RacResultCode.getMessage(result)})',
);
}
_isRegistered = true;
_logger.info('RAG backend registered successfully');
} catch (e) {
_logger.error('RAG backend not available: $e');
rethrow;
}
}