source dump of claude code
at main 39 lines 1.3 kB view raw
1import { 2 type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, 3 logEvent, 4} from 'src/services/analytics/index.js' 5 6export type CompletionType = 7 | 'str_replace_single' 8 | 'str_replace_multi' 9 | 'write_file_single' 10 | 'tool_use_single' 11 12type LogEvent = { 13 completion_type: CompletionType 14 event: 'accept' | 'reject' | 'response' 15 metadata: { 16 language_name: string | Promise<string> 17 message_id: string 18 platform: string 19 hasFeedback?: boolean 20 } 21} 22 23export async function logUnaryEvent(event: LogEvent): Promise<void> { 24 logEvent('tengu_unary_event', { 25 event: 26 event.event as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, 27 completion_type: 28 event.completion_type as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, 29 language_name: (await event.metadata 30 .language_name) as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, 31 message_id: event.metadata 32 .message_id as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, 33 platform: event.metadata 34 .platform as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, 35 ...(event.metadata.hasFeedback !== undefined && { 36 hasFeedback: event.metadata.hasFeedback, 37 }), 38 }) 39}