diff options
Diffstat (limited to 'packages/core/src/telemetry/loggers.ts')
| -rw-r--r-- | packages/core/src/telemetry/loggers.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/core/src/telemetry/loggers.ts b/packages/core/src/telemetry/loggers.ts index 3cf3794b..25a35b5d 100644 --- a/packages/core/src/telemetry/loggers.ts +++ b/packages/core/src/telemetry/loggers.ts @@ -25,6 +25,7 @@ import { ToolCallEvent, UserPromptEvent, FlashFallbackEvent, + LoopDetectedEvent, } from './types.js'; import { recordApiErrorMetrics, @@ -288,3 +289,23 @@ export function logApiResponse(config: Config, event: ApiResponseEvent): void { ); recordTokenUsageMetrics(config, event.model, event.tool_token_count, 'tool'); } + +export function logLoopDetected( + config: Config, + event: LoopDetectedEvent, +): void { + ClearcutLogger.getInstance(config)?.logLoopDetectedEvent(event); + if (!isTelemetrySdkInitialized()) return; + + const attributes: LogAttributes = { + ...getCommonAttributes(config), + ...event, + }; + + const logger = logs.getLogger(SERVICE_NAME); + const logRecord: LogRecord = { + body: `Loop detected. Type: ${event.loop_type}.`, + attributes, + }; + logger.emit(logRecord); +} |
