import { Logger } from '../utils/logger.util.js'; import { ControllerResponse } from '../types/common.types.js'; import postHogLlmService from '../services/posthog-llm.service.js'; import { PostHogLlmInputSchemaType } from '../types/posthog-llm.types.js'; /** * Controller for PostHog LLM observability */ export class PostHogController { /** * Capture LLM observability data */ static async capture( data: PostHogLlmInputSchemaType, ): Promise { const logger = Logger.forContext('posthog-llm.controller', 'capture'); logger.debug('Capturing LLM observability data', data); try { await postHogLlmService.capture(data); return { content: 'Event captured successfully.', }; } catch (error) { logger.error('Error capturing event:', error); const errorMessage = error instanceof Error ? error.message : 'Unknown error'; logger.error('Error capturing event:', errorMessage); return { content: `Failed to capture event: ${errorMessage}`, }; } } }