@posthog/ai 8.6.8 → 8.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/typeGuards.ts","../src/sanitization/base64_recognizer.ts","../src/sanitization/media_type_context.ts","../src/sanitization/binary_content_redactor.ts","../src/sanitization.ts","../src/utils.ts","../src/serializeError.ts","../src/gatewayWarning.ts","../src/captureAiGeneration.ts","../src/vercel/middleware.ts","../src/prompts.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["isString","value","isObject","Array","isArray","DATA_URL_PREFIX_RE","BASE64_ALPHABET_RE","Base64Recognizer","recognize","minLength","dataUrl","exec","kind","mediaType","length","confidencePrefix","slice","test","MIME_HINT_KEYS","STRONG_CONTEXT_KEYS","Set","STRONG_CONTEXT_TYPES","FILE_FAMILY_TYPES","KNOWN_AUDIO_FORMATS","MediaTypeContext","constructor","parent","key","explicitMediaType","inferMediaType","inferFromSiblingMime","inferFromSiblingFormat","inferFromParentType","inferFromKey","undefined","hint","v","fmt","format","has","toLowerCase","t","type","includes","hasExplicitBinaryMediaType","startsWith","signalsBinary","EMPTY","STRONG_CONTEXT_MIN_LENGTH","WEAK_CONTEXT_MIN_LENGTH","BinaryContentRedactor","recognizer","visited","WeakSet","redact","isMultimodalEnabled","walk","ctx","redactString","Uint8Array","placeholderFor","add","map","item","obj","out","k","Object","keys","recognitionValue","replace","Math","min","recognition","val","process","env","_INTERNAL_LLMA_MULTIMODAL","redactor","redactBase64DataUrl","str","sanitizeVercel","data","TOKEN_PROPERTY_KEYS","getTokensSource","posthogProperties","some","MAX_OUTPUT_SIZE","STRING_FORMAT","sharedTextEncoder","TextEncoder","sharedTextDecoder","TextDecoder","fatal","utf8ByteLength","encode","byteLength","toContentString","content","JSON","stringify","String","getModelParams","params","responseServiceTier","modelParams","paramKeys","withPrivacyMode","client","privacyMode","input","privacy_mode","toSafeString","console","warn","truncate","buffer","decode","truncatedBuffer","truncatedStr","endsWith","calculateWebSearchCount","result","output","count","citations","search_results","usage","search_context_size","choices","choice","message","delta","annotations","hasUrlCitation","ann","contentItem","candidates","candidate","grounding_metadata","extractAvailableToolCalls","provider","tools","AIEvent","sanitizeValues","jsonSafe","parse","fromEntries","entries","DEFAULT_MAX_DEPTH","MAX_STACK_LINES","serializeError","depth","Error","name","stack","truncateStack","cause","stringifyError","error","lines","split","join","POSTHOG_AI_GATEWAY_HOSTS","GATEWAY_DOCS_URL","extractHost","baseURL","hasScheme","URL","hostname","isPostHogAiGatewayUrl","host","warnIfPostHogAiGateway","captureAiGeneration","options","capture","traceId","uuidv4","eventType","Generation","shouldRedact","safeInput","toJsonSafeValue","safeOutput","httpStatus","errorData","status","statusCode","exceptionId","enableExceptionAutocapture","uuidv7","captureException","$ai_trace_id","__posthog_previously_captured_error","$ai_is_error","$ai_error","$exception_event_id","costOverrideData","costOverride","inputCostUSD","inputCost","inputTokens","outputCostUSD","outputCost","outputTokens","$ai_input_cost_usd","$ai_output_cost_usd","$ai_total_cost_usd","additionalTokenValues","reasoningTokens","$ai_reasoning_tokens","cacheReadInputTokens","$ai_cache_read_input_tokens","cacheCreationInputTokens","$ai_cache_creation_input_tokens","webSearchCount","$ai_web_search_count","rawUsage","$ai_usage","properties","$ai_lib","$ai_lib_version","version","$ai_provider","providerOverride","$ai_model","modelOverride","model","$ai_model_parameters","modelParameters","$ai_input","$ai_output_choices","$ai_http_status","$ai_input_tokens","$ai_output_tokens","latency","$ai_latency","timeToFirstToken","$ai_time_to_first_token","$ai_base_url","$ai_tokens_source","distinctId","$process_person_profile","stopReason","$ai_stop_reason","$ai_tools","completionId","$ai_completion_id","providerMetadata","$ai_provider_metadata","event","groups","captureImmediate","isV3Model","specificationVersion","redactFileData","toString","protocol","mapVercelParams","temperature","max_output_tokens","maxOutputTokens","top_p","topP","frequency_penalty","frequencyPenalty","presence_penalty","presencePenalty","stop","stopSequences","stream","mapVercelPrompt","messages","inputs","role","text","c","fileData","file","toolCallId","toolName","isError","messageSizes","m","totalBytes","max","size","removedCount","splice","unshift","mapVercelOutput","toolCall","rawArgs","args","arguments","id","function","sourceType","url","title","jsonOutput","extractProvider","providerName","extractBaseURL","config","urlFn","path","modelId","extractWebSearchCount","anthropic","serverToolUse","server_tool_use","web_search_requests","extractTokenCount","total","extractUsageToken","topLevelKey","nestedObjectKey","nestedValueKey","nestedTokens","extractReasoningTokens","extractCacheReadTokens","extractCacheWriteTokens","cacheWrite","extractAdditionalTokenValues","isAnthropicClaudeModel","adjustAnthropicV3CacheTokens","cacheReadTokens","cacheWriteTokens","cacheTokens","wrapVercelLanguageModel","phClient","posthogTraceId","mergedOptions","posthogDistinctId","$ai_framework","$ai_framework_version","baseOptions","posthogGroups","posthogPrivacyMode","posthogModelOverride","posthogProviderOverride","posthogCostOverride","posthogCaptureImmediate","wrappedModel","create","doGenerate","startTime","Date","now","mergedParams","availableTools","response","usageObj","rawUsageData","responseBody","body","rawResponse","usageMetadata","rawFinishReason","finishReason","finishReasonStr","unified","prompt","writable","configurable","enumerable","doStream","firstTokenTime","generatedText","reasoningText","toolCallsInProgress","Map","captureStreamGeneration","captureOptions","rest","reader","getReader","inBandError","hasInBandError","finalizationPromise","observeChunk","chunk","set","get","chunkUsage","finalize","terminalError","push","values","finalUsage","finishError","catch","instrumentedStream","ReadableStream","pull","controller","read","done","close","enqueue","cancel","reason","highWaterMark","DEFAULT_CACHE_TTL_SECONDS","DEFAULT_PROMPTS_HOST","normalizeApiKey","trim","normalizeHost","normalizedHost","extractConfig","cloneConfig","structuredClone","isPromptApiResponse","record","label","isPromptsWithPostHog","Prompts","cache","defaultCacheTtlSeconds","personalApiKey","posthog","projectApiKey","apiKey","getPromptCache","getOrCreatePromptCache","cachedPromptVersions","promptVersions","getPromptReference","getInternal","fallback","promptReference","source","cacheTtlSeconds","cacheEntryKey","cached","isFresh","fetchedAt","_","cachedResult","fetched","fetchPromptFromApi","compile","variables","match","variableName","clearCache","clear","delete","encodedPromptName","encodeURIComponent","encodedProjectApiKey","versionQuery","labelQuery","fetch","method","headers","Authorization","ok","json"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/typeGuards.ts","../src/sanitization/base64_recognizer.ts","../src/sanitization/media_type_context.ts","../src/sanitization/binary_content_redactor.ts","../src/sanitization.ts","../src/utils.ts","../src/serializeError.ts","../src/gatewayWarning.ts","../src/captureAiGeneration.ts","../src/vercel/middleware.ts","../src/prompts.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["isString","value","isObject","Array","isArray","DATA_URL_PREFIX_RE","BASE64_ALPHABET_RE","Base64Recognizer","recognize","minLength","dataUrl","exec","kind","mediaType","length","confidencePrefix","slice","test","MIME_HINT_KEYS","STRONG_CONTEXT_KEYS","Set","STRONG_CONTEXT_TYPES","FILE_FAMILY_TYPES","KNOWN_AUDIO_FORMATS","MediaTypeContext","constructor","parent","key","explicitMediaType","inferMediaType","inferFromSiblingMime","inferFromSiblingFormat","inferFromParentType","inferFromKey","undefined","hint","v","fmt","format","has","toLowerCase","t","type","includes","hasExplicitBinaryMediaType","startsWith","signalsBinary","EMPTY","STRONG_CONTEXT_MIN_LENGTH","WEAK_CONTEXT_MIN_LENGTH","BinaryContentRedactor","recognizer","visited","WeakSet","redact","isMultimodalEnabled","walk","ctx","redactString","Uint8Array","placeholderFor","add","map","item","obj","out","k","Object","keys","recognitionValue","replace","Math","min","recognition","val","process","env","_INTERNAL_LLMA_MULTIMODAL","redactor","redactBase64DataUrl","str","sanitizeVercel","data","TOKEN_PROPERTY_KEYS","getTokensSource","posthogProperties","some","MAX_OUTPUT_SIZE","STRING_FORMAT","sharedTextEncoder","TextEncoder","sharedTextDecoder","TextDecoder","fatal","utf8ByteLength","encode","byteLength","toContentString","content","JSON","stringify","String","getModelParams","params","responseServiceTier","modelParams","paramKeys","withPrivacyMode","client","privacyMode","input","privacy_mode","toSafeString","console","warn","truncate","buffer","decode","truncatedBuffer","truncatedStr","endsWith","calculateWebSearchCount","result","output","count","citations","search_results","usage","search_context_size","choices","choice","message","delta","annotations","hasUrlCitation","ann","contentItem","candidates","candidate","grounding_metadata","extractAvailableToolCalls","provider","tools","AIEvent","sanitizeValues","jsonSafe","parse","fromEntries","entries","DEFAULT_MAX_DEPTH","MAX_STACK_LINES","serializeError","depth","Error","name","stack","truncateStack","cause","stringifyError","error","lines","split","join","POSTHOG_AI_GATEWAY_HOSTS","GATEWAY_DOCS_URL","extractHost","baseURL","hasScheme","URL","hostname","isPostHogAiGatewayUrl","host","warnIfPostHogAiGateway","captureAiGeneration","options","capture","traceId","uuidv4","eventType","Generation","shouldRedact","safeInput","toJsonSafeValue","safeOutput","httpStatus","errorData","status","statusCode","exceptionId","enableExceptionAutocapture","uuidv7","captureException","$ai_trace_id","__posthog_previously_captured_error","$ai_is_error","$ai_error","$exception_event_id","costOverrideData","costOverride","inputCostUSD","inputCost","inputTokens","outputCostUSD","outputCost","outputTokens","$ai_input_cost_usd","$ai_output_cost_usd","$ai_total_cost_usd","additionalTokenValues","reasoningTokens","$ai_reasoning_tokens","cacheReadInputTokens","$ai_cache_read_input_tokens","cacheCreationInputTokens","$ai_cache_creation_input_tokens","webSearchCount","$ai_web_search_count","rawUsage","$ai_usage","properties","$ai_lib","$ai_lib_version","version","$ai_provider","providerOverride","$ai_model","modelOverride","model","$ai_model_parameters","modelParameters","$ai_input","$ai_output_choices","$ai_http_status","$ai_input_tokens","$ai_output_tokens","latency","$ai_latency","timeToFirstToken","$ai_time_to_first_token","$ai_base_url","$ai_tokens_source","distinctId","$process_person_profile","stopReason","$ai_stop_reason","$ai_tools","completionId","$ai_completion_id","providerMetadata","$ai_provider_metadata","event","groups","captureImmediate","isV3Model","specificationVersion","getSpecificationVersion","redactFileData","toString","protocol","mapVercelParams","temperature","max_output_tokens","maxOutputTokens","top_p","topP","frequency_penalty","frequencyPenalty","presence_penalty","presencePenalty","stop","stopSequences","stream","mapVercelPrompt","messages","inputs","role","text","c","fileData","file","toolCallId","toolName","isError","messageSizes","m","totalBytes","max","size","removedCount","splice","unshift","mapVercelOutput","toolCall","rawArgs","args","arguments","id","function","sourceType","url","title","jsonOutput","extractProvider","providerName","extractBaseURL","config","urlFn","path","modelId","extractWebSearchCount","anthropic","serverToolUse","server_tool_use","web_search_requests","extractTokenCount","total","extractUsageToken","topLevelKey","nestedObjectKey","nestedValueKey","nestedTokens","extractReasoningTokens","extractCacheReadTokens","extractCacheWriteTokens","cacheWrite","extractAdditionalTokenValues","isAnthropicClaudeModel","adjustAnthropicV3CacheTokens","cacheReadTokens","cacheWriteTokens","cacheTokens","wrapVercelLanguageModel","phClient","posthogTraceId","mergedOptions","posthogDistinctId","$ai_framework","$ai_framework_version","baseOptions","posthogGroups","posthogPrivacyMode","posthogModelOverride","posthogProviderOverride","posthogCostOverride","posthogCaptureImmediate","wrappedModel","create","doGenerate","startTime","Date","now","mergedParams","availableTools","response","usageObj","rawUsageData","responseBody","body","rawResponse","usageMetadata","rawFinishReason","finishReason","finishReasonStr","unified","prompt","writable","configurable","enumerable","doStream","firstTokenTime","generatedText","reasoningText","toolCallsInProgress","Map","captureStreamGeneration","captureOptions","rest","reader","getReader","inBandError","hasInBandError","finalizationPromise","observeChunk","chunk","set","get","chunkUsage","finalize","terminalError","push","values","finalUsage","finishError","catch","instrumentedStream","ReadableStream","pull","controller","read","done","close","enqueue","cancel","reason","highWaterMark","DEFAULT_CACHE_TTL_SECONDS","DEFAULT_PROMPTS_HOST","normalizeApiKey","trim","normalizeHost","normalizedHost","extractConfig","cloneConfig","structuredClone","isPromptApiResponse","record","label","isPromptsWithPostHog","Prompts","cache","defaultCacheTtlSeconds","personalApiKey","posthog","projectApiKey","apiKey","getPromptCache","getOrCreatePromptCache","cachedPromptVersions","promptVersions","getPromptReference","getInternal","fallback","promptReference","source","cacheTtlSeconds","cacheEntryKey","cached","isFresh","fetchedAt","_","cachedResult","fetched","fetchPromptFromApi","compile","variables","match","variableName","clearCache","clear","delete","encodedPromptName","encodeURIComponent","encodedProjectApiKey","versionQuery","labelQuery","fetch","method","headers","Authorization","ok","json"],"mappings":"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"}
@@ -233,7 +233,7 @@ function sanitizeValues(obj) {
233
233
  return jsonSafe;
234
234
  }
235
235
 
236
- var version = "8.6.8";
236
+ var version = "8.7.0";
237
237
 
238
238
  const DEFAULT_MAX_DEPTH = 3;
239
239
  const MAX_STACK_LINES = 20;
@@ -231,7 +231,7 @@ function sanitizeValues(obj) {
231
231
  return jsonSafe;
232
232
  }
233
233
 
234
- var version = "8.6.8";
234
+ var version = "8.7.0";
235
235
 
236
236
  const DEFAULT_MAX_DEPTH = 3;
237
237
  const MAX_STACK_LINES = 20;
@@ -548,7 +548,7 @@ function formatOpenAIResponsesInput(input, instructions) {
548
548
  return messages;
549
549
  }
550
550
 
551
- var version = "8.6.8";
551
+ var version = "8.7.0";
552
552
 
553
553
  const DEFAULT_MAX_DEPTH = 3;
554
554
  const MAX_STACK_LINES = 20;
@@ -544,7 +544,7 @@ function formatOpenAIResponsesInput(input, instructions) {
544
544
  return messages;
545
545
  }
546
546
 
547
- var version = "8.6.8";
547
+ var version = "8.7.0";
548
548
 
549
549
  const DEFAULT_MAX_DEPTH = 3;
550
550
  const MAX_STACK_LINES = 20;
@@ -151,7 +151,7 @@ const truncate = input => {
151
151
  return `${truncatedStr}... [truncated]`;
152
152
  };
153
153
 
154
- var version = "8.6.8";
154
+ var version = "8.7.0";
155
155
 
156
156
  // Warn when a wrapper's base_url points at the PostHog AI Gateway: the gateway
157
157
  // emits its own $ai_generation, so each call would be captured (and, for billable
@@ -149,7 +149,7 @@ const truncate = input => {
149
149
  return `${truncatedStr}... [truncated]`;
150
150
  };
151
151
 
152
- var version = "8.6.8";
152
+ var version = "8.7.0";
153
153
 
154
154
  // Warn when a wrapper's base_url points at the PostHog AI Gateway: the gateway
155
155
  // emits its own $ai_generation, so each call would be captured (and, for billable
@@ -462,6 +462,10 @@ class NoopSpanProcessor {
462
462
  * start with `gen_ai.`, `llm.`, `ai.`, or `traceloop.`) are exported;
463
463
  * all other spans are silently dropped.
464
464
  *
465
+ * Request-scoped and serverless runtimes should keep a reference to this
466
+ * processor and await {@link PostHogSpanProcessor.forceFlush} before the request
467
+ * lifecycle ends. This waits for queued exports without sending one request per span.
468
+ *
465
469
  * This is the recommended integration point when your setup accepts a
466
470
  * `SpanProcessor`. If you need a `TraceExporter` instead (e.g. for
467
471
  * Vercel's `registerOTel`), use {@link PostHogTraceExporter}.
@@ -471,10 +475,12 @@ class NoopSpanProcessor {
471
475
  * import { PostHogSpanProcessor } from '@posthog/ai/otel'
472
476
  * import { NodeSDK } from '@opentelemetry/sdk-node'
473
477
  *
474
- * const sdk = new NodeSDK({
475
- * spanProcessors: [new PostHogSpanProcessor({ projectToken: 'phc_...' })],
476
- * })
478
+ * const processor = new PostHogSpanProcessor({ projectToken: 'phc_...' })
479
+ * const sdk = new NodeSDK({ spanProcessors: [processor] })
477
480
  * sdk.start()
481
+ *
482
+ * // In request-scoped runtimes, wait for queued exports before returning.
483
+ * await processor.forceFlush()
478
484
  * ```
479
485
  */
480
486
  class PostHogSpanProcessor {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/sanitization/base64_recognizer.ts","../../src/sanitization/media_type_context.ts","../../src/sanitization/binary_content_redactor.ts","../../src/otel/redact.ts","../../src/otel/spans.ts","../../src/gatewayWarning.ts","../../src/otel/exporter.ts","../../src/otel/processor.ts"],"sourcesContent":["const DATA_URL_PREFIX_RE = /^data:([^;,\\s]+)(?:;[^;,\\s]+)*;base64,/i\nconst BASE64_ALPHABET_RE = /^[A-Za-z0-9+/_=-]+$/\n\nexport type Base64Recognition = { kind: 'data-url'; mediaType: string } | { kind: 'raw' } | { kind: 'none' }\n\nexport class Base64Recognizer {\n recognize(value: string, minLength: number): Base64Recognition {\n const dataUrl = DATA_URL_PREFIX_RE.exec(value)\n if (dataUrl) return { kind: 'data-url', mediaType: dataUrl[1] }\n\n if (value.length < minLength) return { kind: 'none' }\n\n const confidencePrefix = value.slice(0, minLength)\n if (BASE64_ALPHABET_RE.test(confidencePrefix)) {\n return { kind: 'raw' }\n } else {\n return { kind: 'none' }\n }\n }\n}\n","const MIME_HINT_KEYS = ['mediaType', 'media_type', 'mimeType', 'mime_type'] as const\n\nconst STRONG_CONTEXT_KEYS = new Set([\n 'data',\n 'file_data',\n 'fileData',\n 'image_url',\n 'imageUrl',\n 'video_url',\n 'videoUrl',\n 'audio',\n 'audio_data',\n 'audioData',\n 'inline_data',\n 'inlineData',\n 'source',\n 'result',\n])\n\nconst STRONG_CONTEXT_TYPES = new Set([\n 'image',\n 'image_url',\n 'input_image',\n 'audio',\n 'input_audio',\n 'video',\n 'video_url',\n 'file',\n 'input_file',\n 'document',\n 'media',\n 'file-data',\n])\n\nconst FILE_FAMILY_TYPES = new Set(['file', 'input_file', 'document', 'media', 'file-data'])\n\nconst KNOWN_AUDIO_FORMATS = new Set(['wav', 'mp3', 'ogg', 'flac', 'm4a', 'aac', 'webm'])\n\nexport class MediaTypeContext {\n static readonly EMPTY = new MediaTypeContext(undefined, undefined)\n\n constructor(\n private readonly parent: Record<string, unknown> | undefined,\n private readonly key: string | undefined,\n private readonly explicitMediaType?: string\n ) {}\n\n inferMediaType(): string | undefined {\n return (\n this.inferFromSiblingMime() ?? this.inferFromSiblingFormat() ?? this.inferFromParentType() ?? this.inferFromKey()\n )\n }\n\n inferFromSiblingMime(): string | undefined {\n if (this.explicitMediaType) return this.explicitMediaType\n if (!this.parent) return undefined\n for (const hint of MIME_HINT_KEYS) {\n const v = this.parent[hint]\n if (typeof v === 'string') return v\n }\n return undefined\n }\n\n inferFromSiblingFormat(): string | undefined {\n if (!this.parent) return undefined\n const fmt = this.parent.format\n if (typeof fmt === 'string' && KNOWN_AUDIO_FORMATS.has(fmt.toLowerCase())) {\n return `audio/${fmt.toLowerCase()}`\n }\n return undefined\n }\n\n inferFromParentType(): string | undefined {\n if (!this.parent) return undefined\n const t = this.parent.type\n if (typeof t !== 'string') return undefined\n if (t === 'image' || t === 'image_url' || t === 'input_image') return 'image'\n if (t === 'audio' || t === 'input_audio') return 'audio'\n if (t === 'video' || t === 'video_url') return 'video'\n if (FILE_FAMILY_TYPES.has(t)) return 'application/octet-stream'\n return undefined\n }\n\n inferFromKey(): string | undefined {\n if (!this.key) return undefined\n const key = this.key.toLowerCase()\n if (key.includes('audio')) return 'audio'\n if (key.includes('video')) return 'video'\n if (key.includes('image')) return 'image'\n if (key.includes('file') || key.includes('document')) return 'application/octet-stream'\n return undefined\n }\n\n hasExplicitBinaryMediaType(): boolean {\n if (!this.explicitMediaType && (!this.parent || !this.key || !STRONG_CONTEXT_KEYS.has(this.key))) return false\n const mediaType = this.inferFromSiblingMime()\n return mediaType !== undefined && !mediaType.toLowerCase().startsWith('text/')\n }\n\n signalsBinary(): boolean {\n if (this.explicitMediaType) return true\n if (this.parent) {\n for (const hint of MIME_HINT_KEYS) {\n if (typeof this.parent[hint] === 'string') return true\n }\n const fmt = this.parent.format\n if (typeof fmt === 'string' && KNOWN_AUDIO_FORMATS.has(fmt.toLowerCase())) return true\n const t = this.parent.type\n if (typeof t === 'string' && STRONG_CONTEXT_TYPES.has(t)) return true\n }\n if (this.key && STRONG_CONTEXT_KEYS.has(this.key)) return true\n return false\n }\n}\n","import { Base64Recognizer } from './base64_recognizer'\nimport { MediaTypeContext } from './media_type_context'\n\nconst STRONG_CONTEXT_MIN_LENGTH = 64\nconst WEAK_CONTEXT_MIN_LENGTH = 1024\n\nexport class BinaryContentRedactor {\n private visited: WeakSet<object> = new WeakSet()\n\n constructor(private readonly recognizer: Base64Recognizer = new Base64Recognizer()) {}\n\n redact<T>(value: T, mediaType?: string): T\n redact(value: unknown, mediaType?: string): unknown {\n if (this.isMultimodalEnabled()) return value\n this.visited = new WeakSet()\n return this.walk(value, mediaType ? new MediaTypeContext(undefined, undefined, mediaType) : MediaTypeContext.EMPTY)\n }\n\n private walk(value: unknown, ctx: MediaTypeContext): unknown {\n if (value === null || value === undefined) return value\n if (typeof value === 'string') return this.redactString(value, ctx)\n if (typeof value !== 'object') return value\n\n // Buffer extends Uint8Array, so this branch catches both.\n if (typeof Uint8Array !== 'undefined' && value instanceof Uint8Array) {\n return this.placeholderFor(ctx.inferMediaType())\n }\n\n if (this.visited.has(value)) return null\n this.visited.add(value)\n\n if (Array.isArray(value)) {\n return value.map((item) => this.walk(item, ctx))\n }\n\n const obj = value as Record<string, unknown>\n const out: Record<string, unknown> = {}\n for (const k of Object.keys(obj)) {\n out[k] = this.walk(obj[k], new MediaTypeContext(obj, k))\n }\n return out\n }\n\n private redactString(value: string, ctx: MediaTypeContext): string {\n const hasExplicitBinaryMediaType = ctx.hasExplicitBinaryMediaType()\n const recognitionValue = hasExplicitBinaryMediaType ? value.replace(/[\\r\\n]/g, '') : value\n const minLength = hasExplicitBinaryMediaType\n ? Math.min(recognitionValue.length, STRONG_CONTEXT_MIN_LENGTH)\n : ctx.signalsBinary()\n ? STRONG_CONTEXT_MIN_LENGTH\n : WEAK_CONTEXT_MIN_LENGTH\n const recognition = this.recognizer.recognize(recognitionValue, minLength)\n switch (recognition.kind) {\n case 'data-url':\n return this.placeholderFor(recognition.mediaType)\n case 'raw':\n return this.placeholderFor(ctx.inferMediaType())\n case 'none':\n return value\n }\n }\n\n private placeholderFor(mediaType?: string): string {\n if (!mediaType) return '[base64 redacted]'\n if (mediaType === 'application/octet-stream') return '[base64 file redacted]'\n return `[base64 ${mediaType} redacted]`\n }\n\n private isMultimodalEnabled(): boolean {\n const val = process.env._INTERNAL_LLMA_MULTIMODAL || ''\n return val.toLowerCase() === 'true' || val === '1' || val.toLowerCase() === 'yes'\n }\n}\n","import type { Attributes, AttributeValue } from '@opentelemetry/api'\nimport type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace-base'\n\nimport { BinaryContentRedactor } from '../sanitization/binary_content_redactor'\n\nconst redactor = new BinaryContentRedactor()\n\nexport function redactSpan(span: ReadableSpan): ReadableSpan {\n const attributes = span.attributes ? redactAttributes(span.attributes) : span.attributes\n const events = span.events ? redactEvents(span.events) : span.events\n if (attributes === span.attributes && events === span.events) {\n return span\n }\n // Copy rather than mutate: the span is shared across every registered processor/exporter.\n return Object.create(span, {\n attributes: { value: attributes, enumerable: true, configurable: true },\n events: { value: events, enumerable: true, configurable: true },\n })\n}\n\nfunction redactAttributes(attributes: Attributes): Attributes {\n let changed = false\n const out: Attributes = {}\n for (const key of Object.keys(attributes)) {\n const value = attributes[key]\n const redacted = value === undefined ? value : redactAttributeValue(value)\n if (redacted !== value) {\n changed = true\n }\n out[key] = redacted\n }\n return changed ? out : attributes\n}\n\nfunction redactEvents(events: TimedEvent[]): TimedEvent[] {\n let changed = false\n const out = events.map((event) => {\n if (!event.attributes) {\n return event\n }\n const attributes = redactAttributes(event.attributes)\n if (attributes === event.attributes) {\n return event\n }\n changed = true\n return { ...event, attributes }\n })\n return changed ? out : events\n}\n\nfunction redactAttributeValue(value: AttributeValue): AttributeValue {\n if (typeof value === 'string') {\n return redactString(value)\n }\n if (isStringArray(value)) {\n let changed = false\n const out = value.map((item) => {\n if (typeof item !== 'string') {\n return item\n }\n const redacted = redactString(item)\n if (redacted !== item) {\n changed = true\n }\n return redacted\n })\n return changed ? out : value\n }\n return value\n}\n\nfunction isStringArray(value: AttributeValue): value is Array<string | null | undefined> {\n return Array.isArray(value) && value.every((item) => typeof item !== 'number' && typeof item !== 'boolean')\n}\n\nfunction redactString(value: string): string {\n const trimmed = value.trimStart()\n if (trimmed.startsWith('{') || trimmed.startsWith('[')) {\n const redacted = redactJson(value)\n if (redacted !== undefined) {\n return redacted\n }\n }\n return redactor.redact(value)\n}\n\nfunction redactJson(value: string): string | undefined {\n let parsed: unknown\n try {\n parsed = JSON.parse(value)\n } catch {\n return undefined\n }\n if (parsed === null || typeof parsed !== 'object') {\n return undefined\n }\n const redactedStr = JSON.stringify(redactor.redact(parsed))\n // Preserve the original string (and its formatting) when nothing was redacted.\n return redactedStr === JSON.stringify(parsed) ? value : redactedStr\n}\n","import type { ReadableSpan } from '@opentelemetry/sdk-trace-base'\n\nconst AI_SPAN_PREFIXES = ['gen_ai.', 'llm.', 'ai.', 'traceloop.'] as const\n\n/**\n * Returns `true` when the span is AI-related — its name or any attribute\n * key starts with `gen_ai.`, `llm.`, `ai.`, or `traceloop.`.\n */\nexport function isAISpan(span: ReadableSpan): boolean {\n if (AI_SPAN_PREFIXES.some((prefix) => span.name.startsWith(prefix))) {\n return true\n }\n const attributes = span.attributes\n if (attributes) {\n return Object.keys(attributes).some((key) => AI_SPAN_PREFIXES.some((prefix) => key.startsWith(prefix)))\n }\n return false\n}\n","// Warn when a wrapper's base_url points at the PostHog AI Gateway: the gateway\n// emits its own $ai_generation, so each call would be captured (and, for billable\n// products, billed) twice. We only warn — the wrapper's event carries data the\n// gateway never sees (groups, custom properties, trace hierarchy).\n\n// Keep in sync with the gateway's deployed hosts (see services/llm-gateway in the\n// main repo). gateway.us.posthog.com is live today; the rest are listed ahead of\n// any traffic moving to them.\nexport const POSTHOG_AI_GATEWAY_HOSTS: readonly string[] = [\n 'gateway.posthog.com',\n 'gateway.us.posthog.com',\n 'gateway.eu.posthog.com',\n 'ai-gateway.us.posthog.com',\n 'ai-gateway.eu.posthog.com',\n]\n\n// Swap for the dedicated AI Gateway page once it ships.\nconst GATEWAY_DOCS_URL = 'https://posthog.com/docs/ai-observability'\n\nconst extractHost = (baseURL: string): string | undefined => {\n try {\n // Tolerate bare hosts that omit a scheme, e.g. \"gateway.us.posthog.com/v1\".\n const hasScheme = /^[a-z][a-z0-9+.-]*:\\/\\//i.test(baseURL)\n return new URL(hasScheme ? baseURL : `https://${baseURL}`).hostname.toLowerCase()\n } catch {\n return undefined\n }\n}\n\nexport const isPostHogAiGatewayUrl = (baseURL: string | undefined | null): boolean => {\n if (!baseURL) {\n return false\n }\n const host = extractHost(baseURL)\n return host !== undefined && POSTHOG_AI_GATEWAY_HOSTS.includes(host)\n}\n\n// Warns on every gateway call by design: the misconfiguration is impossible to\n// miss that way, and a doubled bill is worse than noisy logs.\nexport const warnIfPostHogAiGateway = (baseURL: string | undefined | null): void => {\n if (!isPostHogAiGatewayUrl(baseURL)) {\n return\n }\n console.warn(\n '[PostHog] The PostHog AI wrapper is pointed at the PostHog AI Gateway. ' +\n 'Both capture $ai_generation, so every call is double-counted and double-billed. ' +\n `Use one or the other — see ${GATEWAY_DOCS_URL}.`\n )\n}\n\n// OTel spans don't pass through captureAiGeneration, so detect the gateway from\n// the span's host/URL attributes instead. These follow the GenAI / HTTP semantic\n// conventions: `server.address` is a bare host, `url.full` a full URL, both of\n// which isPostHogAiGatewayUrl accepts.\nconst OTEL_GATEWAY_URL_ATTRIBUTES = ['server.address', 'url.full'] as const\n\nexport const warnIfPostHogAiGatewayOtelAttributes = (attributes: Record<string, unknown> | undefined): void => {\n if (!attributes) {\n return\n }\n for (const key of OTEL_GATEWAY_URL_ATTRIBUTES) {\n const value = attributes[key]\n if (typeof value === 'string' && isPostHogAiGatewayUrl(value)) {\n warnIfPostHogAiGateway(value)\n return\n }\n }\n}\n","import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'\nimport type { ReadableSpan } from '@opentelemetry/sdk-trace-base'\n\nimport { redactSpan } from './redact'\nimport { isAISpan } from './spans'\nimport { warnIfPostHogAiGatewayOtelAttributes } from '../gatewayWarning'\n\nconst DEFAULT_OTEL_HOST = 'https://us.i.posthog.com'\n// OpenTelemetry's ExportResultCode.SUCCESS is 0. Keep this local so loading the\n// published subpath does not require the exporter package's transitive dependencies.\nconst EXPORT_SUCCESS = 0\n\nfunction normalizeToken(value?: unknown): string {\n return typeof value === 'string' ? value.trim() : ''\n}\n\nfunction normalizeHost(value?: unknown): string {\n const normalizedValue = typeof value === 'string' ? value.trim() : ''\n return normalizedValue || DEFAULT_OTEL_HOST\n}\n\n/**\n * Options for the PostHogTraceExporter. `projectToken` is required; a blank token disables the\n * exporter as a defensive no-op. You can also optionally override the `host` URL. `host` defaults to `https://us.i.posthog.com`.\n *\n * @example\n * ```ts\n * import { PostHogTraceExporter } from '@posthog/ai/otel'\n *\n * new PostHogTraceExporter({ projectToken: 'phc_...' })\n * ```\n *\n * @example\n * ```ts\n * import { PostHogTraceExporter } from '@posthog/ai/otel'\n *\n * new PostHogTraceExporter({ projectToken: 'phc_...', host: 'https://eu.i.posthog.com' })\n * ```\n */\nexport type PostHogTraceExporterOptions = { projectToken: string; host?: string }\n\n/**\n * An OpenTelemetry `TraceExporter` that sends AI traces to PostHog's OTLP\n * ingestion endpoint. PostHog converts `gen_ai.*` spans into\n * `$ai_generation` events server-side.\n *\n * Only AI-related spans (those whose name or attribute keys start with\n * `gen_ai.`, `llm.`, `ai.`, or `traceloop.`) are exported; all other\n * spans are silently dropped.\n *\n * Use this when the API you're integrating with only accepts a\n * `TraceExporter` (e.g. Vercel's `registerOTel`) or when you need to\n * plug PostHog into an existing processor chain. Otherwise prefer\n * {@link PostHogSpanProcessor}, which is self-contained.\n *\n * `projectToken` is required; a blank token disables the exporter as a defensive no-op.\n * You can also optionally override the `host` URL.\n *\n * @example\n * ```ts\n * import { PostHogTraceExporter } from '@posthog/ai/otel'\n * import { registerOTel } from '@vercel/otel'\n *\n * registerOTel({\n * serviceName: 'my-app',\n * traceExporter: new PostHogTraceExporter({ projectToken: 'phc_...' }),\n * })\n * ```\n */\nexport class PostHogTraceExporter extends OTLPTraceExporter {\n private readonly disabled: boolean\n\n constructor(options: PostHogTraceExporterOptions) {\n const token = normalizeToken(options.projectToken)\n const disabled = !token\n const host = token ? new URL(normalizeHost(options.host)).origin : DEFAULT_OTEL_HOST\n super({\n url: `${host}/i/v0/ai/otel`,\n headers: token\n ? {\n Authorization: `Bearer ${token}`,\n }\n : {},\n })\n\n this.disabled = disabled\n if (this.disabled) {\n console.warn('[PostHogTraceExporter] projectToken is missing or blank; the exporter will be disabled.')\n }\n }\n\n override export(spans: ReadableSpan[], resultCallback: (result: { code: number; error?: Error }) => void): void {\n if (this.disabled) {\n // Intentionally report success: missing or blank tokens disable exporting as a compatibility no-op.\n // Reporting failure would make OpenTelemetry treat every span as an export error.\n resultCallback({ code: EXPORT_SUCCESS })\n return\n }\n\n const aiSpans = spans.filter(isAISpan)\n if (aiSpans.length === 0) {\n resultCallback({ code: EXPORT_SUCCESS })\n return\n }\n for (const span of aiSpans) {\n warnIfPostHogAiGatewayOtelAttributes(span.attributes)\n }\n super.export(aiSpans.map(redactSpan), resultCallback)\n }\n}\n","import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'\nimport type { Context } from '@opentelemetry/api'\nimport { BatchSpanProcessor, type SpanProcessor, type ReadableSpan, type Span } from '@opentelemetry/sdk-trace-base'\n\nimport { redactSpan } from './redact'\nimport { isAISpan } from './spans'\nimport { warnIfPostHogAiGatewayOtelAttributes } from '../gatewayWarning'\n\nconst DEFAULT_OTEL_HOST = 'https://us.i.posthog.com'\n\nfunction normalizeToken(value?: unknown): string {\n return typeof value === 'string' ? value.trim() : ''\n}\n\nfunction normalizeHost(value?: unknown): string {\n const normalizedValue = typeof value === 'string' ? value.trim() : ''\n return normalizedValue || DEFAULT_OTEL_HOST\n}\n\nexport interface PostHogSpanProcessorOptions {\n /**\n * Your PostHog project token (the `phc_...` key). Required; a blank token disables the\n * processor as a defensive no-op.\n */\n projectToken: string\n\n /**\n * PostHog host URL. Defaults to `https://us.i.posthog.com`.\n */\n host?: string\n\n /**\n * @internal Injected processor for testing — bypasses exporter creation.\n */\n _spanProcessor?: SpanProcessor\n}\n\nclass NoopSpanProcessor implements SpanProcessor {\n onStart(_span: Span, _parentContext: Context): void {\n return\n }\n onEnd(_span: ReadableSpan): void {\n return\n }\n shutdown(): Promise<void> {\n return Promise.resolve()\n }\n forceFlush(): Promise<void> {\n return Promise.resolve()\n }\n}\n\n/**\n * An OpenTelemetry `SpanProcessor` that sends AI traces to PostHog.\n *\n * `projectToken` is required; a blank token disables the processor as a defensive no-op.\n *\n * Internally batches spans and exports them to PostHog's OTLP ingestion\n * endpoint. Only AI-related spans (those whose name or attribute keys\n * start with `gen_ai.`, `llm.`, `ai.`, or `traceloop.`) are exported;\n * all other spans are silently dropped.\n *\n * This is the recommended integration point when your setup accepts a\n * `SpanProcessor`. If you need a `TraceExporter` instead (e.g. for\n * Vercel's `registerOTel`), use {@link PostHogTraceExporter}.\n *\n * @example\n * ```ts\n * import { PostHogSpanProcessor } from '@posthog/ai/otel'\n * import { NodeSDK } from '@opentelemetry/sdk-node'\n *\n * const sdk = new NodeSDK({\n * spanProcessors: [new PostHogSpanProcessor({ projectToken: 'phc_...' })],\n * })\n * sdk.start()\n * ```\n */\nexport class PostHogSpanProcessor implements SpanProcessor {\n private readonly inner: SpanProcessor\n\n constructor(options: PostHogSpanProcessorOptions) {\n const token = normalizeToken(options.projectToken)\n if (!token) {\n console.warn('[PostHogSpanProcessor] projectToken is missing or blank; the processor will be disabled.')\n this.inner = new NoopSpanProcessor()\n return\n }\n\n if (options._spanProcessor) {\n this.inner = options._spanProcessor\n } else {\n const host = new URL(normalizeHost(options.host)).origin\n const exporter = new OTLPTraceExporter({\n url: `${host}/i/v0/ai/otel`,\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n this.inner = new BatchSpanProcessor(exporter)\n }\n }\n\n onStart(span: Span, parentContext: Context): void {\n // Forwarded unconditionally — filtering happens in onEnd. We can't filter\n // here because the span hasn't finished yet and may not have AI attributes\n // set. BatchSpanProcessor.onStart is a no-op so this is safe.\n this.inner.onStart(span, parentContext)\n }\n\n onEnd(span: ReadableSpan): void {\n if (isAISpan(span)) {\n warnIfPostHogAiGatewayOtelAttributes(span.attributes)\n this.inner.onEnd(redactSpan(span))\n }\n }\n\n shutdown(): Promise<void> {\n return this.inner.shutdown()\n }\n\n forceFlush(): Promise<void> {\n return this.inner.forceFlush()\n }\n}\n"],"names":["DATA_URL_PREFIX_RE","BASE64_ALPHABET_RE","Base64Recognizer","recognize","value","minLength","dataUrl","exec","kind","mediaType","length","confidencePrefix","slice","test","MIME_HINT_KEYS","STRONG_CONTEXT_KEYS","Set","STRONG_CONTEXT_TYPES","FILE_FAMILY_TYPES","KNOWN_AUDIO_FORMATS","MediaTypeContext","EMPTY","undefined","constructor","parent","key","explicitMediaType","inferMediaType","inferFromSiblingMime","inferFromSiblingFormat","inferFromParentType","inferFromKey","hint","v","fmt","format","has","toLowerCase","t","type","includes","hasExplicitBinaryMediaType","startsWith","signalsBinary","STRONG_CONTEXT_MIN_LENGTH","WEAK_CONTEXT_MIN_LENGTH","BinaryContentRedactor","visited","WeakSet","recognizer","redact","isMultimodalEnabled","walk","ctx","redactString","Uint8Array","placeholderFor","add","Array","isArray","map","item","obj","out","k","Object","keys","recognitionValue","replace","Math","min","recognition","val","process","env","_INTERNAL_LLMA_MULTIMODAL","redactor","redactSpan","span","attributes","redactAttributes","events","redactEvents","create","enumerable","configurable","changed","redacted","redactAttributeValue","event","isStringArray","every","trimmed","trimStart","redactJson","parsed","JSON","parse","redactedStr","stringify","AI_SPAN_PREFIXES","isAISpan","some","prefix","name","POSTHOG_AI_GATEWAY_HOSTS","GATEWAY_DOCS_URL","extractHost","baseURL","hasScheme","URL","hostname","isPostHogAiGatewayUrl","host","warnIfPostHogAiGateway","console","warn","OTEL_GATEWAY_URL_ATTRIBUTES","warnIfPostHogAiGatewayOtelAttributes","DEFAULT_OTEL_HOST","EXPORT_SUCCESS","normalizeToken","trim","normalizeHost","normalizedValue","PostHogTraceExporter","OTLPTraceExporter","options","token","projectToken","disabled","origin","url","headers","Authorization","export","spans","resultCallback","code","aiSpans","filter","NoopSpanProcessor","onStart","_span","_parentContext","onEnd","shutdown","Promise","resolve","forceFlush","PostHogSpanProcessor","inner","_spanProcessor","exporter","BatchSpanProcessor","parentContext"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/sanitization/base64_recognizer.ts","../../src/sanitization/media_type_context.ts","../../src/sanitization/binary_content_redactor.ts","../../src/otel/redact.ts","../../src/otel/spans.ts","../../src/gatewayWarning.ts","../../src/otel/exporter.ts","../../src/otel/processor.ts"],"sourcesContent":["const DATA_URL_PREFIX_RE = /^data:([^;,\\s]+)(?:;[^;,\\s]+)*;base64,/i\nconst BASE64_ALPHABET_RE = /^[A-Za-z0-9+/_=-]+$/\n\nexport type Base64Recognition = { kind: 'data-url'; mediaType: string } | { kind: 'raw' } | { kind: 'none' }\n\nexport class Base64Recognizer {\n recognize(value: string, minLength: number): Base64Recognition {\n const dataUrl = DATA_URL_PREFIX_RE.exec(value)\n if (dataUrl) return { kind: 'data-url', mediaType: dataUrl[1] }\n\n if (value.length < minLength) return { kind: 'none' }\n\n const confidencePrefix = value.slice(0, minLength)\n if (BASE64_ALPHABET_RE.test(confidencePrefix)) {\n return { kind: 'raw' }\n } else {\n return { kind: 'none' }\n }\n }\n}\n","const MIME_HINT_KEYS = ['mediaType', 'media_type', 'mimeType', 'mime_type'] as const\n\nconst STRONG_CONTEXT_KEYS = new Set([\n 'data',\n 'file_data',\n 'fileData',\n 'image_url',\n 'imageUrl',\n 'video_url',\n 'videoUrl',\n 'audio',\n 'audio_data',\n 'audioData',\n 'inline_data',\n 'inlineData',\n 'source',\n 'result',\n])\n\nconst STRONG_CONTEXT_TYPES = new Set([\n 'image',\n 'image_url',\n 'input_image',\n 'audio',\n 'input_audio',\n 'video',\n 'video_url',\n 'file',\n 'input_file',\n 'document',\n 'media',\n 'file-data',\n])\n\nconst FILE_FAMILY_TYPES = new Set(['file', 'input_file', 'document', 'media', 'file-data'])\n\nconst KNOWN_AUDIO_FORMATS = new Set(['wav', 'mp3', 'ogg', 'flac', 'm4a', 'aac', 'webm'])\n\nexport class MediaTypeContext {\n static readonly EMPTY = new MediaTypeContext(undefined, undefined)\n\n constructor(\n private readonly parent: Record<string, unknown> | undefined,\n private readonly key: string | undefined,\n private readonly explicitMediaType?: string\n ) {}\n\n inferMediaType(): string | undefined {\n return (\n this.inferFromSiblingMime() ?? this.inferFromSiblingFormat() ?? this.inferFromParentType() ?? this.inferFromKey()\n )\n }\n\n inferFromSiblingMime(): string | undefined {\n if (this.explicitMediaType) return this.explicitMediaType\n if (!this.parent) return undefined\n for (const hint of MIME_HINT_KEYS) {\n const v = this.parent[hint]\n if (typeof v === 'string') return v\n }\n return undefined\n }\n\n inferFromSiblingFormat(): string | undefined {\n if (!this.parent) return undefined\n const fmt = this.parent.format\n if (typeof fmt === 'string' && KNOWN_AUDIO_FORMATS.has(fmt.toLowerCase())) {\n return `audio/${fmt.toLowerCase()}`\n }\n return undefined\n }\n\n inferFromParentType(): string | undefined {\n if (!this.parent) return undefined\n const t = this.parent.type\n if (typeof t !== 'string') return undefined\n if (t === 'image' || t === 'image_url' || t === 'input_image') return 'image'\n if (t === 'audio' || t === 'input_audio') return 'audio'\n if (t === 'video' || t === 'video_url') return 'video'\n if (FILE_FAMILY_TYPES.has(t)) return 'application/octet-stream'\n return undefined\n }\n\n inferFromKey(): string | undefined {\n if (!this.key) return undefined\n const key = this.key.toLowerCase()\n if (key.includes('audio')) return 'audio'\n if (key.includes('video')) return 'video'\n if (key.includes('image')) return 'image'\n if (key.includes('file') || key.includes('document')) return 'application/octet-stream'\n return undefined\n }\n\n hasExplicitBinaryMediaType(): boolean {\n if (!this.explicitMediaType && (!this.parent || !this.key || !STRONG_CONTEXT_KEYS.has(this.key))) return false\n const mediaType = this.inferFromSiblingMime()\n return mediaType !== undefined && !mediaType.toLowerCase().startsWith('text/')\n }\n\n signalsBinary(): boolean {\n if (this.explicitMediaType) return true\n if (this.parent) {\n for (const hint of MIME_HINT_KEYS) {\n if (typeof this.parent[hint] === 'string') return true\n }\n const fmt = this.parent.format\n if (typeof fmt === 'string' && KNOWN_AUDIO_FORMATS.has(fmt.toLowerCase())) return true\n const t = this.parent.type\n if (typeof t === 'string' && STRONG_CONTEXT_TYPES.has(t)) return true\n }\n if (this.key && STRONG_CONTEXT_KEYS.has(this.key)) return true\n return false\n }\n}\n","import { Base64Recognizer } from './base64_recognizer'\nimport { MediaTypeContext } from './media_type_context'\n\nconst STRONG_CONTEXT_MIN_LENGTH = 64\nconst WEAK_CONTEXT_MIN_LENGTH = 1024\n\nexport class BinaryContentRedactor {\n private visited: WeakSet<object> = new WeakSet()\n\n constructor(private readonly recognizer: Base64Recognizer = new Base64Recognizer()) {}\n\n redact<T>(value: T, mediaType?: string): T\n redact(value: unknown, mediaType?: string): unknown {\n if (this.isMultimodalEnabled()) return value\n this.visited = new WeakSet()\n return this.walk(value, mediaType ? new MediaTypeContext(undefined, undefined, mediaType) : MediaTypeContext.EMPTY)\n }\n\n private walk(value: unknown, ctx: MediaTypeContext): unknown {\n if (value === null || value === undefined) return value\n if (typeof value === 'string') return this.redactString(value, ctx)\n if (typeof value !== 'object') return value\n\n // Buffer extends Uint8Array, so this branch catches both.\n if (typeof Uint8Array !== 'undefined' && value instanceof Uint8Array) {\n return this.placeholderFor(ctx.inferMediaType())\n }\n\n if (this.visited.has(value)) return null\n this.visited.add(value)\n\n if (Array.isArray(value)) {\n return value.map((item) => this.walk(item, ctx))\n }\n\n const obj = value as Record<string, unknown>\n const out: Record<string, unknown> = {}\n for (const k of Object.keys(obj)) {\n out[k] = this.walk(obj[k], new MediaTypeContext(obj, k))\n }\n return out\n }\n\n private redactString(value: string, ctx: MediaTypeContext): string {\n const hasExplicitBinaryMediaType = ctx.hasExplicitBinaryMediaType()\n const recognitionValue = hasExplicitBinaryMediaType ? value.replace(/[\\r\\n]/g, '') : value\n const minLength = hasExplicitBinaryMediaType\n ? Math.min(recognitionValue.length, STRONG_CONTEXT_MIN_LENGTH)\n : ctx.signalsBinary()\n ? STRONG_CONTEXT_MIN_LENGTH\n : WEAK_CONTEXT_MIN_LENGTH\n const recognition = this.recognizer.recognize(recognitionValue, minLength)\n switch (recognition.kind) {\n case 'data-url':\n return this.placeholderFor(recognition.mediaType)\n case 'raw':\n return this.placeholderFor(ctx.inferMediaType())\n case 'none':\n return value\n }\n }\n\n private placeholderFor(mediaType?: string): string {\n if (!mediaType) return '[base64 redacted]'\n if (mediaType === 'application/octet-stream') return '[base64 file redacted]'\n return `[base64 ${mediaType} redacted]`\n }\n\n private isMultimodalEnabled(): boolean {\n const val = process.env._INTERNAL_LLMA_MULTIMODAL || ''\n return val.toLowerCase() === 'true' || val === '1' || val.toLowerCase() === 'yes'\n }\n}\n","import type { Attributes, AttributeValue } from '@opentelemetry/api'\nimport type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace-base'\n\nimport { BinaryContentRedactor } from '../sanitization/binary_content_redactor'\n\nconst redactor = new BinaryContentRedactor()\n\nexport function redactSpan(span: ReadableSpan): ReadableSpan {\n const attributes = span.attributes ? redactAttributes(span.attributes) : span.attributes\n const events = span.events ? redactEvents(span.events) : span.events\n if (attributes === span.attributes && events === span.events) {\n return span\n }\n // Copy rather than mutate: the span is shared across every registered processor/exporter.\n return Object.create(span, {\n attributes: { value: attributes, enumerable: true, configurable: true },\n events: { value: events, enumerable: true, configurable: true },\n })\n}\n\nfunction redactAttributes(attributes: Attributes): Attributes {\n let changed = false\n const out: Attributes = {}\n for (const key of Object.keys(attributes)) {\n const value = attributes[key]\n const redacted = value === undefined ? value : redactAttributeValue(value)\n if (redacted !== value) {\n changed = true\n }\n out[key] = redacted\n }\n return changed ? out : attributes\n}\n\nfunction redactEvents(events: TimedEvent[]): TimedEvent[] {\n let changed = false\n const out = events.map((event) => {\n if (!event.attributes) {\n return event\n }\n const attributes = redactAttributes(event.attributes)\n if (attributes === event.attributes) {\n return event\n }\n changed = true\n return { ...event, attributes }\n })\n return changed ? out : events\n}\n\nfunction redactAttributeValue(value: AttributeValue): AttributeValue {\n if (typeof value === 'string') {\n return redactString(value)\n }\n if (isStringArray(value)) {\n let changed = false\n const out = value.map((item) => {\n if (typeof item !== 'string') {\n return item\n }\n const redacted = redactString(item)\n if (redacted !== item) {\n changed = true\n }\n return redacted\n })\n return changed ? out : value\n }\n return value\n}\n\nfunction isStringArray(value: AttributeValue): value is Array<string | null | undefined> {\n return Array.isArray(value) && value.every((item) => typeof item !== 'number' && typeof item !== 'boolean')\n}\n\nfunction redactString(value: string): string {\n const trimmed = value.trimStart()\n if (trimmed.startsWith('{') || trimmed.startsWith('[')) {\n const redacted = redactJson(value)\n if (redacted !== undefined) {\n return redacted\n }\n }\n return redactor.redact(value)\n}\n\nfunction redactJson(value: string): string | undefined {\n let parsed: unknown\n try {\n parsed = JSON.parse(value)\n } catch {\n return undefined\n }\n if (parsed === null || typeof parsed !== 'object') {\n return undefined\n }\n const redactedStr = JSON.stringify(redactor.redact(parsed))\n // Preserve the original string (and its formatting) when nothing was redacted.\n return redactedStr === JSON.stringify(parsed) ? value : redactedStr\n}\n","import type { ReadableSpan } from '@opentelemetry/sdk-trace-base'\n\nconst AI_SPAN_PREFIXES = ['gen_ai.', 'llm.', 'ai.', 'traceloop.'] as const\n\n/**\n * Returns `true` when the span is AI-related — its name or any attribute\n * key starts with `gen_ai.`, `llm.`, `ai.`, or `traceloop.`.\n */\nexport function isAISpan(span: ReadableSpan): boolean {\n if (AI_SPAN_PREFIXES.some((prefix) => span.name.startsWith(prefix))) {\n return true\n }\n const attributes = span.attributes\n if (attributes) {\n return Object.keys(attributes).some((key) => AI_SPAN_PREFIXES.some((prefix) => key.startsWith(prefix)))\n }\n return false\n}\n","// Warn when a wrapper's base_url points at the PostHog AI Gateway: the gateway\n// emits its own $ai_generation, so each call would be captured (and, for billable\n// products, billed) twice. We only warn — the wrapper's event carries data the\n// gateway never sees (groups, custom properties, trace hierarchy).\n\n// Keep in sync with the gateway's deployed hosts (see services/llm-gateway in the\n// main repo). gateway.us.posthog.com is live today; the rest are listed ahead of\n// any traffic moving to them.\nexport const POSTHOG_AI_GATEWAY_HOSTS: readonly string[] = [\n 'gateway.posthog.com',\n 'gateway.us.posthog.com',\n 'gateway.eu.posthog.com',\n 'ai-gateway.us.posthog.com',\n 'ai-gateway.eu.posthog.com',\n]\n\n// Swap for the dedicated AI Gateway page once it ships.\nconst GATEWAY_DOCS_URL = 'https://posthog.com/docs/ai-observability'\n\nconst extractHost = (baseURL: string): string | undefined => {\n try {\n // Tolerate bare hosts that omit a scheme, e.g. \"gateway.us.posthog.com/v1\".\n const hasScheme = /^[a-z][a-z0-9+.-]*:\\/\\//i.test(baseURL)\n return new URL(hasScheme ? baseURL : `https://${baseURL}`).hostname.toLowerCase()\n } catch {\n return undefined\n }\n}\n\nexport const isPostHogAiGatewayUrl = (baseURL: string | undefined | null): boolean => {\n if (!baseURL) {\n return false\n }\n const host = extractHost(baseURL)\n return host !== undefined && POSTHOG_AI_GATEWAY_HOSTS.includes(host)\n}\n\n// Warns on every gateway call by design: the misconfiguration is impossible to\n// miss that way, and a doubled bill is worse than noisy logs.\nexport const warnIfPostHogAiGateway = (baseURL: string | undefined | null): void => {\n if (!isPostHogAiGatewayUrl(baseURL)) {\n return\n }\n console.warn(\n '[PostHog] The PostHog AI wrapper is pointed at the PostHog AI Gateway. ' +\n 'Both capture $ai_generation, so every call is double-counted and double-billed. ' +\n `Use one or the other — see ${GATEWAY_DOCS_URL}.`\n )\n}\n\n// OTel spans don't pass through captureAiGeneration, so detect the gateway from\n// the span's host/URL attributes instead. These follow the GenAI / HTTP semantic\n// conventions: `server.address` is a bare host, `url.full` a full URL, both of\n// which isPostHogAiGatewayUrl accepts.\nconst OTEL_GATEWAY_URL_ATTRIBUTES = ['server.address', 'url.full'] as const\n\nexport const warnIfPostHogAiGatewayOtelAttributes = (attributes: Record<string, unknown> | undefined): void => {\n if (!attributes) {\n return\n }\n for (const key of OTEL_GATEWAY_URL_ATTRIBUTES) {\n const value = attributes[key]\n if (typeof value === 'string' && isPostHogAiGatewayUrl(value)) {\n warnIfPostHogAiGateway(value)\n return\n }\n }\n}\n","import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'\nimport type { ReadableSpan } from '@opentelemetry/sdk-trace-base'\n\nimport { redactSpan } from './redact'\nimport { isAISpan } from './spans'\nimport { warnIfPostHogAiGatewayOtelAttributes } from '../gatewayWarning'\n\nconst DEFAULT_OTEL_HOST = 'https://us.i.posthog.com'\n// OpenTelemetry's ExportResultCode.SUCCESS is 0. Keep this local so loading the\n// published subpath does not require the exporter package's transitive dependencies.\nconst EXPORT_SUCCESS = 0\n\nfunction normalizeToken(value?: unknown): string {\n return typeof value === 'string' ? value.trim() : ''\n}\n\nfunction normalizeHost(value?: unknown): string {\n const normalizedValue = typeof value === 'string' ? value.trim() : ''\n return normalizedValue || DEFAULT_OTEL_HOST\n}\n\n/**\n * Options for the PostHogTraceExporter. `projectToken` is required; a blank token disables the\n * exporter as a defensive no-op. You can also optionally override the `host` URL. `host` defaults to `https://us.i.posthog.com`.\n *\n * @example\n * ```ts\n * import { PostHogTraceExporter } from '@posthog/ai/otel'\n *\n * new PostHogTraceExporter({ projectToken: 'phc_...' })\n * ```\n *\n * @example\n * ```ts\n * import { PostHogTraceExporter } from '@posthog/ai/otel'\n *\n * new PostHogTraceExporter({ projectToken: 'phc_...', host: 'https://eu.i.posthog.com' })\n * ```\n */\nexport type PostHogTraceExporterOptions = { projectToken: string; host?: string }\n\n/**\n * An OpenTelemetry `TraceExporter` that sends AI traces to PostHog's OTLP\n * ingestion endpoint. PostHog converts `gen_ai.*` spans into\n * `$ai_generation` events server-side.\n *\n * Only AI-related spans (those whose name or attribute keys start with\n * `gen_ai.`, `llm.`, `ai.`, or `traceloop.`) are exported; all other\n * spans are silently dropped.\n *\n * Use this when the API you're integrating with only accepts a\n * `TraceExporter` (e.g. Vercel's `registerOTel`) or when you need to\n * plug PostHog into an existing processor chain. Otherwise prefer\n * {@link PostHogSpanProcessor}, which is self-contained.\n *\n * `projectToken` is required; a blank token disables the exporter as a defensive no-op.\n * You can also optionally override the `host` URL.\n *\n * @example\n * ```ts\n * import { PostHogTraceExporter } from '@posthog/ai/otel'\n * import { registerOTel } from '@vercel/otel'\n *\n * registerOTel({\n * serviceName: 'my-app',\n * traceExporter: new PostHogTraceExporter({ projectToken: 'phc_...' }),\n * })\n * ```\n */\nexport class PostHogTraceExporter extends OTLPTraceExporter {\n private readonly disabled: boolean\n\n constructor(options: PostHogTraceExporterOptions) {\n const token = normalizeToken(options.projectToken)\n const disabled = !token\n const host = token ? new URL(normalizeHost(options.host)).origin : DEFAULT_OTEL_HOST\n super({\n url: `${host}/i/v0/ai/otel`,\n headers: token\n ? {\n Authorization: `Bearer ${token}`,\n }\n : {},\n })\n\n this.disabled = disabled\n if (this.disabled) {\n console.warn('[PostHogTraceExporter] projectToken is missing or blank; the exporter will be disabled.')\n }\n }\n\n override export(spans: ReadableSpan[], resultCallback: (result: { code: number; error?: Error }) => void): void {\n if (this.disabled) {\n // Intentionally report success: missing or blank tokens disable exporting as a compatibility no-op.\n // Reporting failure would make OpenTelemetry treat every span as an export error.\n resultCallback({ code: EXPORT_SUCCESS })\n return\n }\n\n const aiSpans = spans.filter(isAISpan)\n if (aiSpans.length === 0) {\n resultCallback({ code: EXPORT_SUCCESS })\n return\n }\n for (const span of aiSpans) {\n warnIfPostHogAiGatewayOtelAttributes(span.attributes)\n }\n super.export(aiSpans.map(redactSpan), resultCallback)\n }\n}\n","import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'\nimport type { Context } from '@opentelemetry/api'\nimport { BatchSpanProcessor, type SpanProcessor, type ReadableSpan, type Span } from '@opentelemetry/sdk-trace-base'\n\nimport { redactSpan } from './redact'\nimport { isAISpan } from './spans'\nimport { warnIfPostHogAiGatewayOtelAttributes } from '../gatewayWarning'\n\nconst DEFAULT_OTEL_HOST = 'https://us.i.posthog.com'\n\nfunction normalizeToken(value?: unknown): string {\n return typeof value === 'string' ? value.trim() : ''\n}\n\nfunction normalizeHost(value?: unknown): string {\n const normalizedValue = typeof value === 'string' ? value.trim() : ''\n return normalizedValue || DEFAULT_OTEL_HOST\n}\n\nexport interface PostHogSpanProcessorOptions {\n /**\n * Your PostHog project token (the `phc_...` key). Required; a blank token disables the\n * processor as a defensive no-op.\n */\n projectToken: string\n\n /**\n * PostHog host URL. Defaults to `https://us.i.posthog.com`.\n */\n host?: string\n\n /**\n * @internal Injected processor for testing — bypasses exporter creation.\n */\n _spanProcessor?: SpanProcessor\n}\n\nclass NoopSpanProcessor implements SpanProcessor {\n onStart(_span: Span, _parentContext: Context): void {\n return\n }\n onEnd(_span: ReadableSpan): void {\n return\n }\n shutdown(): Promise<void> {\n return Promise.resolve()\n }\n forceFlush(): Promise<void> {\n return Promise.resolve()\n }\n}\n\n/**\n * An OpenTelemetry `SpanProcessor` that sends AI traces to PostHog.\n *\n * `projectToken` is required; a blank token disables the processor as a defensive no-op.\n *\n * Internally batches spans and exports them to PostHog's OTLP ingestion\n * endpoint. Only AI-related spans (those whose name or attribute keys\n * start with `gen_ai.`, `llm.`, `ai.`, or `traceloop.`) are exported;\n * all other spans are silently dropped.\n *\n * Request-scoped and serverless runtimes should keep a reference to this\n * processor and await {@link PostHogSpanProcessor.forceFlush} before the request\n * lifecycle ends. This waits for queued exports without sending one request per span.\n *\n * This is the recommended integration point when your setup accepts a\n * `SpanProcessor`. If you need a `TraceExporter` instead (e.g. for\n * Vercel's `registerOTel`), use {@link PostHogTraceExporter}.\n *\n * @example\n * ```ts\n * import { PostHogSpanProcessor } from '@posthog/ai/otel'\n * import { NodeSDK } from '@opentelemetry/sdk-node'\n *\n * const processor = new PostHogSpanProcessor({ projectToken: 'phc_...' })\n * const sdk = new NodeSDK({ spanProcessors: [processor] })\n * sdk.start()\n *\n * // In request-scoped runtimes, wait for queued exports before returning.\n * await processor.forceFlush()\n * ```\n */\nexport class PostHogSpanProcessor implements SpanProcessor {\n private readonly inner: SpanProcessor\n\n constructor(options: PostHogSpanProcessorOptions) {\n const token = normalizeToken(options.projectToken)\n if (!token) {\n console.warn('[PostHogSpanProcessor] projectToken is missing or blank; the processor will be disabled.')\n this.inner = new NoopSpanProcessor()\n return\n }\n\n if (options._spanProcessor) {\n this.inner = options._spanProcessor\n } else {\n const host = new URL(normalizeHost(options.host)).origin\n const exporter = new OTLPTraceExporter({\n url: `${host}/i/v0/ai/otel`,\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n this.inner = new BatchSpanProcessor(exporter)\n }\n }\n\n onStart(span: Span, parentContext: Context): void {\n // Forwarded unconditionally — filtering happens in onEnd. We can't filter\n // here because the span hasn't finished yet and may not have AI attributes\n // set. BatchSpanProcessor.onStart is a no-op so this is safe.\n this.inner.onStart(span, parentContext)\n }\n\n onEnd(span: ReadableSpan): void {\n if (isAISpan(span)) {\n warnIfPostHogAiGatewayOtelAttributes(span.attributes)\n this.inner.onEnd(redactSpan(span))\n }\n }\n\n shutdown(): Promise<void> {\n return this.inner.shutdown()\n }\n\n forceFlush(): Promise<void> {\n return this.inner.forceFlush()\n }\n}\n"],"names":["DATA_URL_PREFIX_RE","BASE64_ALPHABET_RE","Base64Recognizer","recognize","value","minLength","dataUrl","exec","kind","mediaType","length","confidencePrefix","slice","test","MIME_HINT_KEYS","STRONG_CONTEXT_KEYS","Set","STRONG_CONTEXT_TYPES","FILE_FAMILY_TYPES","KNOWN_AUDIO_FORMATS","MediaTypeContext","EMPTY","undefined","constructor","parent","key","explicitMediaType","inferMediaType","inferFromSiblingMime","inferFromSiblingFormat","inferFromParentType","inferFromKey","hint","v","fmt","format","has","toLowerCase","t","type","includes","hasExplicitBinaryMediaType","startsWith","signalsBinary","STRONG_CONTEXT_MIN_LENGTH","WEAK_CONTEXT_MIN_LENGTH","BinaryContentRedactor","visited","WeakSet","recognizer","redact","isMultimodalEnabled","walk","ctx","redactString","Uint8Array","placeholderFor","add","Array","isArray","map","item","obj","out","k","Object","keys","recognitionValue","replace","Math","min","recognition","val","process","env","_INTERNAL_LLMA_MULTIMODAL","redactor","redactSpan","span","attributes","redactAttributes","events","redactEvents","create","enumerable","configurable","changed","redacted","redactAttributeValue","event","isStringArray","every","trimmed","trimStart","redactJson","parsed","JSON","parse","redactedStr","stringify","AI_SPAN_PREFIXES","isAISpan","some","prefix","name","POSTHOG_AI_GATEWAY_HOSTS","GATEWAY_DOCS_URL","extractHost","baseURL","hasScheme","URL","hostname","isPostHogAiGatewayUrl","host","warnIfPostHogAiGateway","console","warn","OTEL_GATEWAY_URL_ATTRIBUTES","warnIfPostHogAiGatewayOtelAttributes","DEFAULT_OTEL_HOST","EXPORT_SUCCESS","normalizeToken","trim","normalizeHost","normalizedValue","PostHogTraceExporter","OTLPTraceExporter","options","token","projectToken","disabled","origin","url","headers","Authorization","export","spans","resultCallback","code","aiSpans","filter","NoopSpanProcessor","onStart","_span","_parentContext","onEnd","shutdown","Promise","resolve","forceFlush","PostHogSpanProcessor","inner","_spanProcessor","exporter","BatchSpanProcessor","parentContext"],"mappings":"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"}