getGlobalContext method

Future<Map<String, dynamic>> getGlobalContext()

Get or rebuild the global context.

Implementation

Future<Map<String, dynamic>> getGlobalContext() async {
  if (!_globalDirty &&
      _globalCache != null &&
      !_globalCache!.isExpired(_globalTtl)) {
    AiLogger.log(
      'Global cache HIT (${_globalCache!.value.length} keys)',
      tag: 'Cache',
    );
    return _globalCache!.value;
  }

  AiLogger.log('Global cache MISS — rebuilding', tag: 'Cache');
  final context = await onCaptureGlobal?.call() ?? {};
  _globalCache = _CacheEntry(context);
  _globalDirty = false;
  AiLogger.log(
    'Global cache rebuilt with ${context.length} keys',
    tag: 'Cache',
  );
  return context;
}