@amplitude/ai 0.2.1 → 0.3.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.
- package/.claude/commands/instrument-with-amplitude-ai.md +12 -0
- package/.cursor/skills/instrument-with-amplitude-ai/SKILL.md +4 -42
- package/AGENTS.md +86 -28
- package/README.md +190 -111
- package/amplitude-ai.md +463 -0
- package/bin/amplitude-ai-doctor.mjs +0 -0
- package/bin/amplitude-ai-instrument.mjs +0 -0
- package/bin/amplitude-ai-mcp.mjs +0 -0
- package/bin/amplitude-ai-register-catalog.mjs +0 -0
- package/bin/amplitude-ai-status.mjs +0 -0
- package/bin/amplitude-ai.mjs +14 -5
- package/data/agent_event_catalog.json +52 -2
- package/dist/bound-agent.d.ts +18 -14
- package/dist/bound-agent.d.ts.map +1 -1
- package/dist/bound-agent.js +4 -1
- package/dist/bound-agent.js.map +1 -1
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +31 -19
- package/dist/cli/status.js.map +1 -1
- package/dist/client.d.ts +14 -14
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +38 -0
- package/dist/client.js.map +1 -1
- package/dist/context.d.ts +5 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +4 -0
- package/dist/context.js.map +1 -1
- package/dist/core/constants.d.ts +3 -1
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +3 -1
- package/dist/core/constants.js.map +1 -1
- package/dist/core/tracking.d.ts +12 -2
- package/dist/core/tracking.d.ts.map +1 -1
- package/dist/core/tracking.js +13 -2
- package/dist/core/tracking.js.map +1 -1
- package/dist/decorators.d.ts +1 -1
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +4 -3
- package/dist/decorators.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.js +5 -2
- package/dist/mcp/contract.d.ts +4 -0
- package/dist/mcp/contract.d.ts.map +1 -1
- package/dist/mcp/contract.js +6 -2
- package/dist/mcp/contract.js.map +1 -1
- package/dist/mcp/generate-verify-test.d.ts +7 -0
- package/dist/mcp/generate-verify-test.d.ts.map +1 -0
- package/dist/mcp/generate-verify-test.js +25 -0
- package/dist/mcp/generate-verify-test.js.map +1 -0
- package/dist/mcp/index.d.ts +2 -1
- package/dist/mcp/index.js +2 -1
- package/dist/mcp/instrument-file.d.ts +14 -0
- package/dist/mcp/instrument-file.d.ts.map +1 -0
- package/dist/mcp/instrument-file.js +139 -0
- package/dist/mcp/instrument-file.js.map +1 -0
- package/dist/mcp/scan-project.d.ts +52 -0
- package/dist/mcp/scan-project.d.ts.map +1 -0
- package/dist/mcp/scan-project.js +309 -0
- package/dist/mcp/scan-project.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +79 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/validate-file.d.ts +4 -0
- package/dist/mcp/validate-file.d.ts.map +1 -1
- package/dist/mcp/validate-file.js +559 -11
- package/dist/mcp/validate-file.js.map +1 -1
- package/dist/middleware.js +2 -1
- package/dist/middleware.js.map +1 -1
- package/dist/node_modules/.pnpm/acorn-typescript@1.4.13_acorn@8.16.0/node_modules/acorn-typescript/lib/index.js +2389 -0
- package/dist/node_modules/.pnpm/acorn-typescript@1.4.13_acorn@8.16.0/node_modules/acorn-typescript/lib/index.js.map +1 -0
- package/dist/node_modules/.pnpm/acorn@8.16.0/node_modules/acorn/dist/acorn.js +5128 -0
- package/dist/node_modules/.pnpm/acorn@8.16.0/node_modules/acorn/dist/acorn.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +1 -1
- package/dist/patching.d.ts.map +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +1 -0
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/base.d.ts +2 -1
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/base.js +4 -0
- package/dist/providers/base.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +2 -0
- package/dist/providers/openai.js.map +1 -1
- package/dist/serverless.d.ts +19 -0
- package/dist/serverless.d.ts.map +1 -0
- package/dist/serverless.js +35 -0
- package/dist/serverless.js.map +1 -0
- package/dist/session.d.ts +24 -8
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +20 -1
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/llms-full.txt +353 -69
- package/llms.txt +6 -2
- package/mcp.schema.json +7 -3
- package/package.json +10 -5
- package/bin/amplitude-ai-init.mjs +0 -27
- package/dist/cli/init.d.ts +0 -14
- package/dist/cli/init.d.ts.map +0 -1
- package/dist/cli/init.js +0 -40
- package/dist/cli/init.js.map +0 -1
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","names":["availableProviders: string[]"],"sources":["../src/client.ts"],"sourcesContent":["import { BoundAgent } from './bound-agent.js';\nimport { AIConfig } from './config.js';\nimport type { MessageLabel, SessionEnrichments } from './core/enrichments.js';\nimport type { PrivacyConfig } from './core/privacy.js';\nimport {\n trackAiMessage,\n trackEmbedding,\n trackScore,\n trackSessionEnd,\n trackSessionEnrichment,\n trackSpan,\n trackToolCall,\n trackUserMessage,\n} from './core/tracking.js';\nimport { ConfigurationError } from './exceptions.js';\nimport { patchedProviders } from './patching.js';\nimport { setDefaultPropagateContext } from './propagation.js';\nimport { TenantHandle } from './tenant.js';\nimport type {\n AmplitudeClientLike,\n AmplitudeEvent,\n Attachment,\n} from './types.js';\nimport { calculateCost } from './utils/costs.js';\nimport { formatDebugLine, formatDryRunLine } from './utils/debug.js';\nimport { tryRequire } from './utils/resolve-module.js';\n\nconst _MAX_SESSION_TURN_COUNTERS = 10_000;\n\n/**\n * Main Amplitude AI client for tracking LLM interactions.\n *\n * Create an instance with an API key or an existing Amplitude client,\n * then use `.agent()` to create bound agents and `.session()` to\n * manage session context.\n *\n * @example\n * ```typescript\n * const ai = new AmplitudeAI({ apiKey: 'YOUR_KEY' });\n * const agent = ai.agent('my-chatbot', { userId: 'user-1' });\n * const session = agent.session();\n * await session.run(async (s) => {\n * s.trackUserMessage('Hello');\n * s.trackAiMessage('Hi there!', 'gpt-4', 'openai', 150);\n * });\n * ```\n */\nexport class AmplitudeAI {\n protected _amplitude: AmplitudeClientLike;\n protected _ownsClient: boolean;\n protected _config: AIConfig;\n protected _privacyConfig: PrivacyConfig;\n protected _sessionTurnCounters: Map<string, number> = new Map();\n\n constructor(options: {\n amplitude?: AmplitudeClientLike;\n apiKey?: string;\n config?: AIConfig;\n }) {\n if (options.amplitude != null) {\n this._amplitude = options.amplitude;\n this._ownsClient = false;\n } else if (options.apiKey != null) {\n const amplitudeNode = tryRequire('@amplitude/analytics-node') as\n | (AmplitudeClientLike & { init?: (apiKey: string) => unknown })\n | null;\n if (amplitudeNode == null || typeof amplitudeNode.init !== 'function') {\n throw new ConfigurationError(\n '@amplitude/analytics-node is required. Install it as a dependency.',\n );\n }\n amplitudeNode.init(options.apiKey);\n this._amplitude = amplitudeNode;\n this._ownsClient = true;\n } else {\n throw new ConfigurationError(\n \"Provide either an existing Amplitude instance via 'amplitude' or an API key via 'apiKey'.\",\n );\n }\n\n this._config = options.config ?? new AIConfig();\n this._privacyConfig = this._config.toPrivacyConfig();\n setDefaultPropagateContext(this._config.propagateContext);\n\n if (\n this._config.debug ||\n this._config.dryRun ||\n this._config.onEventCallback != null\n ) {\n this._installTrackHook();\n }\n }\n\n private _installTrackHook(): void {\n const originalTrack = this._amplitude.track.bind(this._amplitude);\n const debug = this._config.debug;\n const dryRun = this._config.dryRun;\n const onEvent = this._config.onEventCallback;\n const clientWithConfig = this._amplitude as AmplitudeClientLike & {\n configuration?: { callback?: (...args: unknown[]) => void };\n };\n const existingCallback = clientWithConfig.configuration?.callback;\n let callbackHandledByTransport = false;\n\n if (onEvent != null && clientWithConfig.configuration != null) {\n clientWithConfig.configuration.callback = (...args: unknown[]) => {\n const event = args[0];\n const statusCode = typeof args[1] === 'number' ? args[1] : 0;\n const message = args[2] == null ? null : String(args[2]);\n if (typeof existingCallback === 'function') {\n try {\n existingCallback(...args);\n } catch {\n // preserve hook behavior even if customer callback throws\n }\n }\n try {\n onEvent(event, statusCode, message);\n } catch {\n // swallow callback errors to avoid disrupting tracking\n }\n };\n callbackHandledByTransport = true;\n }\n\n this._amplitude.track = (event: AmplitudeEvent) => {\n if (debug) {\n console.error(formatDebugLine(event));\n }\n if (dryRun) {\n console.error(formatDryRunLine(event));\n }\n if (!dryRun) {\n originalTrack(event);\n }\n if (onEvent != null && (!callbackHandledByTransport || dryRun)) {\n try {\n onEvent(event, dryRun ? -1 : 0, dryRun ? 'dry-run' : null);\n } catch {\n // swallow callback errors to avoid disrupting tracking\n }\n }\n };\n }\n\n get amplitude(): AmplitudeClientLike {\n return this._amplitude;\n }\n\n get config(): AIConfig {\n return this._config;\n }\n\n _nextTurnId(sessionId: string): number {\n if (\n !this._sessionTurnCounters.has(sessionId) &&\n this._sessionTurnCounters.size >= _MAX_SESSION_TURN_COUNTERS\n ) {\n const oldestKey = this._sessionTurnCounters.keys().next().value;\n if (oldestKey != null) this._sessionTurnCounters.delete(oldestKey);\n }\n\n const current = this._sessionTurnCounters.get(sessionId) ?? 0;\n const next = current + 1;\n this._sessionTurnCounters.set(sessionId, next);\n return next;\n }\n\n // ---------------------------------------------------------------\n // Message Tracking\n // ---------------------------------------------------------------\n\n trackUserMessage(opts: {\n userId: string;\n content: string;\n sessionId: string;\n traceId?: string | null;\n turnId?: number | null;\n messageId?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n isRegeneration?: boolean;\n isEdit?: boolean;\n editedMessageId?: string | null;\n attachments?: Attachment[] | null;\n labels?: MessageLabel[] | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n const effectiveTurnId = opts.turnId ?? this._nextTurnId(opts.sessionId);\n return trackUserMessage({\n amplitude: this._amplitude,\n userId: opts.userId,\n messageContent: opts.content,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: effectiveTurnId,\n messageId: opts.messageId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n isRegeneration: opts.isRegeneration,\n isEdit: opts.isEdit,\n editedMessageId: opts.editedMessageId,\n attachments: opts.attachments,\n labels: opts.labels,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n trackAiMessage(opts: {\n userId: string;\n content: string;\n sessionId: string;\n model: string;\n provider: string;\n latencyMs: number;\n inputTokens?: number | null;\n outputTokens?: number | null;\n reasoningTokens?: number | null;\n cacheReadTokens?: number | null;\n cacheCreationTokens?: number | null;\n totalTokens?: number | null;\n totalCostUsd?: number | null;\n finishReason?: string | null;\n toolCalls?: Array<Record<string, unknown>> | null;\n reasoningContent?: string | null;\n systemPrompt?: string | null;\n temperature?: number | null;\n maxOutputTokens?: number | null;\n topP?: number | null;\n isStreaming?: boolean | null;\n promptId?: string | null;\n wasCopied?: boolean;\n wasCached?: boolean;\n modelTier?: string | null;\n attachments?: Attachment[] | null;\n labels?: MessageLabel[] | null;\n traceId?: string | null;\n turnId?: number | null;\n messageId?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n isError?: boolean;\n errorMessage?: string | null;\n ttfbMs?: number | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n privacyConfig?: PrivacyConfig | null;\n }): string {\n const effectiveTurnId = opts.turnId ?? this._nextTurnId(opts.sessionId);\n\n let effectiveCost = opts.totalCostUsd ?? null;\n if (\n effectiveCost == null &&\n opts.inputTokens != null &&\n opts.outputTokens != null\n ) {\n try {\n effectiveCost = calculateCost({\n modelName: opts.model,\n inputTokens: opts.inputTokens,\n outputTokens: opts.outputTokens,\n reasoningTokens: opts.reasoningTokens ?? 0,\n cacheReadInputTokens: opts.cacheReadTokens ?? 0,\n cacheCreationInputTokens: opts.cacheCreationTokens ?? 0,\n defaultProvider: opts.provider || undefined,\n });\n } catch {\n // cost calculation is best-effort\n }\n }\n\n return trackAiMessage({\n amplitude: this._amplitude,\n userId: opts.userId,\n modelName: opts.model,\n provider: opts.provider,\n responseContent: opts.content,\n latencyMs: opts.latencyMs,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: effectiveTurnId,\n messageId: opts.messageId,\n inputTokens: opts.inputTokens,\n outputTokens: opts.outputTokens,\n reasoningTokens: opts.reasoningTokens,\n cacheReadInputTokens: opts.cacheReadTokens,\n cacheCreationInputTokens: opts.cacheCreationTokens,\n totalTokens: opts.totalTokens,\n totalCostUsd: effectiveCost,\n finishReason: opts.finishReason,\n toolCalls: opts.toolCalls,\n reasoningContent: opts.reasoningContent,\n systemPrompt: opts.systemPrompt,\n temperature: opts.temperature,\n maxOutputTokens: opts.maxOutputTokens,\n topP: opts.topP,\n isStreaming: opts.isStreaming,\n promptId: opts.promptId,\n wasCopied: opts.wasCopied,\n wasCached: opts.wasCached,\n modelTier: opts.modelTier,\n attachments: opts.attachments,\n labels: opts.labels,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n isError: opts.isError,\n errorMessage: opts.errorMessage,\n providerTtfbMs: opts.ttfbMs,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: opts.privacyConfig ?? this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Operation Tracking\n // ---------------------------------------------------------------\n\n trackToolCall(opts: {\n userId: string;\n toolName: string;\n latencyMs: number;\n success: boolean;\n sessionId?: string | null;\n traceId?: string | null;\n turnId?: number | null;\n invocationId?: string | null;\n input?: unknown;\n output?: unknown;\n parentMessageId?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n errorMessage?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n return trackToolCall({\n amplitude: this._amplitude,\n userId: opts.userId,\n toolName: opts.toolName,\n success: opts.success,\n latencyMs: opts.latencyMs,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: opts.turnId ?? undefined,\n invocationId: opts.invocationId,\n toolInput: opts.input,\n toolOutput: opts.output,\n parentMessageId: opts.parentMessageId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n errorMessage: opts.errorMessage,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n trackEmbedding(opts: {\n userId: string;\n model: string;\n provider: string;\n latencyMs: number;\n inputTokens?: number | null;\n dimensions?: number | null;\n totalCostUsd?: number | null;\n sessionId?: string | null;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n return trackEmbedding({\n amplitude: this._amplitude,\n userId: opts.userId,\n model: opts.model,\n provider: opts.provider,\n latencyMs: opts.latencyMs,\n inputTokens: opts.inputTokens,\n dimensions: opts.dimensions,\n totalCostUsd: opts.totalCostUsd,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n trackSpan(opts: {\n userId: string;\n spanName: string;\n traceId: string;\n latencyMs: number;\n inputState?: Record<string, unknown> | null;\n outputState?: Record<string, unknown> | null;\n parentSpanId?: string | null;\n isError?: boolean;\n errorMessage?: string | null;\n sessionId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n return trackSpan({\n amplitude: this._amplitude,\n userId: opts.userId,\n spanName: opts.spanName,\n traceId: opts.traceId,\n latencyMs: opts.latencyMs,\n inputState: opts.inputState,\n outputState: opts.outputState,\n parentSpanId: opts.parentSpanId,\n isError: opts.isError,\n errorMessage: opts.errorMessage,\n sessionId: opts.sessionId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Session Management\n // ---------------------------------------------------------------\n\n trackSessionEnd(opts: {\n userId: string;\n sessionId: string;\n enrichments?: SessionEnrichments | null;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n abandonmentTurn?: number | null;\n idleTimeoutMinutes?: number | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): void {\n trackSessionEnd({\n amplitude: this._amplitude,\n userId: opts.userId,\n sessionId: opts.sessionId,\n enrichments: opts.enrichments,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n abandonmentTurn: opts.abandonmentTurn,\n idleTimeoutMinutes: opts.idleTimeoutMinutes,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n this._sessionTurnCounters.delete(opts.sessionId);\n }\n\n trackSessionEnrichment(opts: {\n userId: string;\n sessionId: string;\n enrichments: SessionEnrichments;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): void {\n trackSessionEnrichment({\n amplitude: this._amplitude,\n userId: opts.userId,\n sessionId: opts.sessionId,\n enrichments: opts.enrichments,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Scoring\n // ---------------------------------------------------------------\n\n score(opts: {\n userId: string;\n name: string;\n value: number;\n targetId: string;\n targetType?: string;\n source?: string;\n comment?: string | null;\n sessionId?: string | null;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): void {\n trackScore({\n amplitude: this._amplitude,\n userId: opts.userId,\n name: opts.name,\n value: opts.value,\n targetId: opts.targetId,\n targetType: opts.targetType,\n source: opts.source,\n comment: opts.comment,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Bound Agent Factory\n // ---------------------------------------------------------------\n\n agent(\n agentId: string,\n opts: {\n userId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n sessionId?: string | null;\n traceId?: string | null;\n groups?: Record<string, unknown> | null;\n deviceId?: string | null;\n browserSessionId?: string | null;\n } = {},\n ): BoundAgent {\n return new BoundAgent(this, { agentId, ...opts });\n }\n\n // ---------------------------------------------------------------\n // Tenant Factory\n // ---------------------------------------------------------------\n\n tenant(\n customerOrgId: string,\n opts: { groups?: Record<string, unknown> | null; env?: string | null } = {},\n ): TenantHandle {\n return new TenantHandle(this, { customerOrgId, ...opts });\n }\n\n // ---------------------------------------------------------------\n // Lifecycle\n // ---------------------------------------------------------------\n\n status(): Record<string, unknown> {\n const availableProviders: string[] = [];\n for (const mod of [\n 'openai',\n '@anthropic-ai/sdk',\n '@google/generative-ai',\n '@aws-sdk/client-bedrock-runtime',\n '@mistralai/mistralai',\n ]) {\n if (tryRequire(mod) != null) {\n const name =\n mod === '@anthropic-ai/sdk'\n ? 'anthropic'\n : mod === '@google/generative-ai'\n ? 'gemini'\n : mod === '@aws-sdk/client-bedrock-runtime'\n ? 'bedrock'\n : mod === '@mistralai/mistralai'\n ? 'mistral'\n : mod;\n availableProviders.push(name);\n if (mod === 'openai') {\n availableProviders.push('azure-openai');\n }\n }\n }\n\n return {\n content_mode: this._config.contentMode,\n debug: this._config.debug,\n dry_run: this._config.dryRun,\n redact_pii: this._config.redactPii,\n providers_available: availableProviders,\n patched_providers: patchedProviders(),\n };\n }\n\n flush(): unknown {\n return this._amplitude.flush();\n }\n\n shutdown(): void {\n if (this._ownsClient) {\n this._amplitude.shutdown?.();\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","names":["availableProviders: string[]"],"sources":["../src/client.ts"],"sourcesContent":["import { BoundAgent, type AgentOptions } from './bound-agent.js';\nimport { AIConfig } from './config.js';\nimport type { MessageLabel, SessionEnrichments } from './core/enrichments.js';\nimport type { PrivacyConfig } from './core/privacy.js';\nimport {\n trackAiMessage,\n trackEmbedding,\n trackScore,\n trackSessionEnd,\n trackSessionEnrichment,\n trackSpan,\n trackToolCall,\n trackUserMessage,\n} from './core/tracking.js';\nimport { ConfigurationError } from './exceptions.js';\nimport { patchedProviders } from './patching.js';\nimport { setDefaultPropagateContext } from './propagation.js';\nimport { isServerless } from './serverless.js';\nimport { TenantHandle } from './tenant.js';\nimport type {\n AmplitudeClientLike,\n AmplitudeEvent,\n Attachment,\n} from './types.js';\nimport { calculateCost } from './utils/costs.js';\nimport { formatDebugLine, formatDryRunLine } from './utils/debug.js';\nimport { tryRequire } from './utils/resolve-module.js';\n\nconst _MAX_SESSION_TURN_COUNTERS = 10_000;\n\n// Global set of AmplitudeAI instances for the unflushed-events exit warning.\n// Uses strong references — call shutdown() to remove an instance and allow GC.\nconst _activeInstances = new Set<AmplitudeAI>();\nlet _exitHookRegistered = false;\n\nfunction _registerExitHook(): void {\n if (_exitHookRegistered) return;\n _exitHookRegistered = true;\n\n process.on('beforeExit', () => {\n if (!isServerless()) return;\n for (const instance of _activeInstances) {\n if (instance._trackCountSinceFlush > 0) {\n console.warn(\n `⚠️ AmplitudeAI: ${instance._trackCountSinceFlush} event(s) were tracked but never flushed. In serverless environments, call \\`await ai.flush()\\` before your handler returns, or use session.run() which auto-flushes by default.`,\n );\n break; // one warning is enough\n }\n }\n });\n}\n\n/**\n * Main Amplitude AI client for tracking LLM interactions.\n *\n * Create an instance with an API key or an existing Amplitude client,\n * then use `.agent()` to create bound agents and `.session()` to\n * manage session context.\n *\n * @example\n * ```typescript\n * const ai = new AmplitudeAI({ apiKey: 'YOUR_KEY' });\n * const agent = ai.agent('my-chatbot', { userId: 'user-1' });\n * const session = agent.session();\n * await session.run(async (s) => {\n * s.trackUserMessage('Hello');\n * s.trackAiMessage('Hi there!', 'gpt-4', 'openai', 150);\n * });\n * ```\n */\nexport class AmplitudeAI {\n protected _amplitude: AmplitudeClientLike;\n protected _ownsClient: boolean;\n protected _config: AIConfig;\n protected _privacyConfig: PrivacyConfig;\n protected _sessionTurnCounters: Map<string, number> = new Map();\n /** @internal Tracks events since last flush() — used by the exit warning. */\n _trackCountSinceFlush = 0;\n\n constructor(options: {\n amplitude?: AmplitudeClientLike;\n apiKey?: string;\n config?: AIConfig;\n }) {\n if (options.amplitude != null) {\n this._amplitude = options.amplitude;\n this._ownsClient = false;\n } else if (options.apiKey != null) {\n const amplitudeNode = tryRequire('@amplitude/analytics-node') as\n | (AmplitudeClientLike & { init?: (apiKey: string) => unknown })\n | null;\n if (amplitudeNode == null || typeof amplitudeNode.init !== 'function') {\n throw new ConfigurationError(\n '@amplitude/analytics-node is required. Install it as a dependency.',\n );\n }\n amplitudeNode.init(options.apiKey);\n this._amplitude = amplitudeNode;\n this._ownsClient = true;\n } else {\n throw new ConfigurationError(\n \"Provide either an existing Amplitude instance via 'amplitude' or an API key via 'apiKey'.\",\n );\n }\n\n this._config = options.config ?? new AIConfig();\n this._privacyConfig = this._config.toPrivacyConfig();\n setDefaultPropagateContext(this._config.propagateContext);\n\n if (\n this._config.debug ||\n this._config.dryRun ||\n this._config.onEventCallback != null\n ) {\n this._installTrackHook();\n }\n\n this._installTrackCounter();\n _activeInstances.add(this);\n _registerExitHook();\n }\n\n private _installTrackCounter(): void {\n const originalTrack = this._amplitude.track.bind(this._amplitude);\n this._amplitude.track = (event: AmplitudeEvent) => {\n this._trackCountSinceFlush++;\n return originalTrack(event);\n };\n }\n\n private _installTrackHook(): void {\n const originalTrack = this._amplitude.track.bind(this._amplitude);\n const debug = this._config.debug;\n const dryRun = this._config.dryRun;\n const onEvent = this._config.onEventCallback;\n const clientWithConfig = this._amplitude as AmplitudeClientLike & {\n configuration?: { callback?: (...args: unknown[]) => void };\n };\n const existingCallback = clientWithConfig.configuration?.callback;\n let callbackHandledByTransport = false;\n\n if (onEvent != null && clientWithConfig.configuration != null) {\n clientWithConfig.configuration.callback = (...args: unknown[]) => {\n const event = args[0];\n const statusCode = typeof args[1] === 'number' ? args[1] : 0;\n const message = args[2] == null ? null : String(args[2]);\n if (typeof existingCallback === 'function') {\n try {\n existingCallback(...args);\n } catch {\n // preserve hook behavior even if customer callback throws\n }\n }\n try {\n onEvent(event, statusCode, message);\n } catch {\n // swallow callback errors to avoid disrupting tracking\n }\n };\n callbackHandledByTransport = true;\n }\n\n this._amplitude.track = (event: AmplitudeEvent) => {\n if (debug) {\n console.error(formatDebugLine(event));\n }\n if (dryRun) {\n console.error(formatDryRunLine(event));\n }\n if (!dryRun) {\n originalTrack(event);\n }\n if (onEvent != null && (!callbackHandledByTransport || dryRun)) {\n try {\n onEvent(event, dryRun ? -1 : 0, dryRun ? 'dry-run' : null);\n } catch {\n // swallow callback errors to avoid disrupting tracking\n }\n }\n };\n }\n\n get amplitude(): AmplitudeClientLike {\n return this._amplitude;\n }\n\n get config(): AIConfig {\n return this._config;\n }\n\n _nextTurnId(sessionId: string): number {\n if (\n !this._sessionTurnCounters.has(sessionId) &&\n this._sessionTurnCounters.size >= _MAX_SESSION_TURN_COUNTERS\n ) {\n const oldestKey = this._sessionTurnCounters.keys().next().value;\n if (oldestKey != null) this._sessionTurnCounters.delete(oldestKey);\n }\n\n const current = this._sessionTurnCounters.get(sessionId) ?? 0;\n const next = current + 1;\n this._sessionTurnCounters.set(sessionId, next);\n return next;\n }\n\n // ---------------------------------------------------------------\n // Message Tracking\n // ---------------------------------------------------------------\n\n trackUserMessage(opts: {\n userId: string;\n content: string;\n sessionId: string;\n traceId?: string | null;\n turnId?: number | null;\n messageId?: string | null;\n messageSource?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n description?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n isRegeneration?: boolean;\n isEdit?: boolean;\n editedMessageId?: string | null;\n attachments?: Attachment[] | null;\n labels?: MessageLabel[] | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n const effectiveTurnId = opts.turnId ?? this._nextTurnId(opts.sessionId);\n return trackUserMessage({\n amplitude: this._amplitude,\n userId: opts.userId,\n messageContent: opts.content,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: effectiveTurnId,\n messageId: opts.messageId,\n messageSource: opts.messageSource ?? 'user',\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n description: opts.description,\n context: opts.context,\n env: opts.env,\n isRegeneration: opts.isRegeneration,\n isEdit: opts.isEdit,\n editedMessageId: opts.editedMessageId,\n attachments: opts.attachments,\n labels: opts.labels,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n trackAiMessage(opts: {\n userId: string;\n content: string;\n sessionId: string;\n model: string;\n provider: string;\n latencyMs: number;\n inputTokens?: number | null;\n outputTokens?: number | null;\n reasoningTokens?: number | null;\n cacheReadTokens?: number | null;\n cacheCreationTokens?: number | null;\n totalTokens?: number | null;\n totalCostUsd?: number | null;\n finishReason?: string | null;\n toolCalls?: Array<Record<string, unknown>> | null;\n reasoningContent?: string | null;\n systemPrompt?: string | null;\n temperature?: number | null;\n maxOutputTokens?: number | null;\n topP?: number | null;\n isStreaming?: boolean | null;\n promptId?: string | null;\n wasCopied?: boolean;\n wasCached?: boolean;\n modelTier?: string | null;\n attachments?: Attachment[] | null;\n labels?: MessageLabel[] | null;\n traceId?: string | null;\n turnId?: number | null;\n messageId?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n description?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n isError?: boolean;\n errorMessage?: string | null;\n ttfbMs?: number | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n privacyConfig?: PrivacyConfig | null;\n }): string {\n const effectiveTurnId = opts.turnId ?? this._nextTurnId(opts.sessionId);\n\n let effectiveCost = opts.totalCostUsd ?? null;\n if (\n effectiveCost == null &&\n opts.inputTokens != null &&\n opts.outputTokens != null\n ) {\n try {\n effectiveCost = calculateCost({\n modelName: opts.model,\n inputTokens: opts.inputTokens,\n outputTokens: opts.outputTokens,\n reasoningTokens: opts.reasoningTokens ?? 0,\n cacheReadInputTokens: opts.cacheReadTokens ?? 0,\n cacheCreationInputTokens: opts.cacheCreationTokens ?? 0,\n defaultProvider: opts.provider || undefined,\n });\n } catch {\n // cost calculation is best-effort\n }\n }\n\n return trackAiMessage({\n amplitude: this._amplitude,\n userId: opts.userId,\n modelName: opts.model,\n provider: opts.provider,\n responseContent: opts.content,\n latencyMs: opts.latencyMs,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: effectiveTurnId,\n messageId: opts.messageId,\n inputTokens: opts.inputTokens,\n outputTokens: opts.outputTokens,\n reasoningTokens: opts.reasoningTokens,\n cacheReadInputTokens: opts.cacheReadTokens,\n cacheCreationInputTokens: opts.cacheCreationTokens,\n totalTokens: opts.totalTokens,\n totalCostUsd: effectiveCost,\n finishReason: opts.finishReason,\n toolCalls: opts.toolCalls,\n reasoningContent: opts.reasoningContent,\n systemPrompt: opts.systemPrompt,\n temperature: opts.temperature,\n maxOutputTokens: opts.maxOutputTokens,\n topP: opts.topP,\n isStreaming: opts.isStreaming,\n promptId: opts.promptId,\n wasCopied: opts.wasCopied,\n wasCached: opts.wasCached,\n modelTier: opts.modelTier,\n attachments: opts.attachments,\n labels: opts.labels,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n description: opts.description,\n context: opts.context,\n env: opts.env,\n isError: opts.isError,\n errorMessage: opts.errorMessage,\n providerTtfbMs: opts.ttfbMs,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: opts.privacyConfig ?? this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Operation Tracking\n // ---------------------------------------------------------------\n\n trackToolCall(opts: {\n userId: string;\n toolName: string;\n latencyMs: number;\n success: boolean;\n sessionId?: string | null;\n traceId?: string | null;\n turnId?: number | null;\n invocationId?: string | null;\n input?: unknown;\n output?: unknown;\n parentMessageId?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n description?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n errorMessage?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n return trackToolCall({\n amplitude: this._amplitude,\n userId: opts.userId,\n toolName: opts.toolName,\n success: opts.success,\n latencyMs: opts.latencyMs,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: opts.turnId ?? undefined,\n invocationId: opts.invocationId,\n toolInput: opts.input,\n toolOutput: opts.output,\n parentMessageId: opts.parentMessageId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n description: opts.description,\n context: opts.context,\n env: opts.env,\n errorMessage: opts.errorMessage,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n trackEmbedding(opts: {\n userId: string;\n model: string;\n provider: string;\n latencyMs: number;\n inputTokens?: number | null;\n dimensions?: number | null;\n totalCostUsd?: number | null;\n sessionId?: string | null;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n description?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n return trackEmbedding({\n amplitude: this._amplitude,\n userId: opts.userId,\n model: opts.model,\n provider: opts.provider,\n latencyMs: opts.latencyMs,\n inputTokens: opts.inputTokens,\n dimensions: opts.dimensions,\n totalCostUsd: opts.totalCostUsd,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n description: opts.description,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n trackSpan(opts: {\n userId: string;\n spanName: string;\n traceId: string;\n latencyMs: number;\n inputState?: Record<string, unknown> | null;\n outputState?: Record<string, unknown> | null;\n parentSpanId?: string | null;\n isError?: boolean;\n errorMessage?: string | null;\n sessionId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n description?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n return trackSpan({\n amplitude: this._amplitude,\n userId: opts.userId,\n spanName: opts.spanName,\n traceId: opts.traceId,\n latencyMs: opts.latencyMs,\n inputState: opts.inputState,\n outputState: opts.outputState,\n parentSpanId: opts.parentSpanId,\n isError: opts.isError,\n errorMessage: opts.errorMessage,\n sessionId: opts.sessionId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n description: opts.description,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Session Management\n // ---------------------------------------------------------------\n\n trackSessionEnd(opts: {\n userId: string;\n sessionId: string;\n enrichments?: SessionEnrichments | null;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n description?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n abandonmentTurn?: number | null;\n idleTimeoutMinutes?: number | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): void {\n trackSessionEnd({\n amplitude: this._amplitude,\n userId: opts.userId,\n sessionId: opts.sessionId,\n enrichments: opts.enrichments,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n description: opts.description,\n context: opts.context,\n env: opts.env,\n abandonmentTurn: opts.abandonmentTurn,\n idleTimeoutMinutes: opts.idleTimeoutMinutes,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n this._sessionTurnCounters.delete(opts.sessionId);\n }\n\n trackSessionEnrichment(opts: {\n userId: string;\n sessionId: string;\n enrichments: SessionEnrichments;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n description?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): void {\n trackSessionEnrichment({\n amplitude: this._amplitude,\n userId: opts.userId,\n sessionId: opts.sessionId,\n enrichments: opts.enrichments,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n description: opts.description,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Scoring\n // ---------------------------------------------------------------\n\n score(opts: {\n userId: string;\n name: string;\n value: number;\n targetId: string;\n targetType?: string;\n source?: string;\n comment?: string | null;\n sessionId?: string | null;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n description?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): void {\n trackScore({\n amplitude: this._amplitude,\n userId: opts.userId,\n name: opts.name,\n value: opts.value,\n targetId: opts.targetId,\n targetType: opts.targetType,\n source: opts.source,\n comment: opts.comment,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n description: opts.description,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Bound Agent Factory\n // ---------------------------------------------------------------\n\n agent(agentId: string, opts: AgentOptions = {}): BoundAgent {\n return new BoundAgent(this, { agentId, ...opts });\n }\n\n // ---------------------------------------------------------------\n // Tenant Factory\n // ---------------------------------------------------------------\n\n tenant(\n customerOrgId: string,\n opts: { groups?: Record<string, unknown> | null; env?: string | null } = {},\n ): TenantHandle {\n return new TenantHandle(this, { customerOrgId, ...opts });\n }\n\n // ---------------------------------------------------------------\n // Lifecycle\n // ---------------------------------------------------------------\n\n status(): Record<string, unknown> {\n const availableProviders: string[] = [];\n for (const mod of [\n 'openai',\n '@anthropic-ai/sdk',\n '@google/generative-ai',\n '@aws-sdk/client-bedrock-runtime',\n '@mistralai/mistralai',\n ]) {\n if (tryRequire(mod) != null) {\n const name =\n mod === '@anthropic-ai/sdk'\n ? 'anthropic'\n : mod === '@google/generative-ai'\n ? 'gemini'\n : mod === '@aws-sdk/client-bedrock-runtime'\n ? 'bedrock'\n : mod === '@mistralai/mistralai'\n ? 'mistral'\n : mod;\n availableProviders.push(name);\n if (mod === 'openai') {\n availableProviders.push('azure-openai');\n }\n }\n }\n\n return {\n content_mode: this._config.contentMode,\n debug: this._config.debug,\n dry_run: this._config.dryRun,\n redact_pii: this._config.redactPii,\n providers_available: availableProviders,\n patched_providers: patchedProviders(),\n };\n }\n\n flush(): unknown {\n this._trackCountSinceFlush = 0;\n return this._amplitude.flush();\n }\n\n shutdown(): void {\n _activeInstances.delete(this);\n this._trackCountSinceFlush = 0;\n if (this._ownsClient) {\n this._amplitude.shutdown?.();\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AmplitudeLike } from "./types.js";
|
|
1
2
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
3
|
|
|
3
4
|
//#region src/context.d.ts
|
|
@@ -10,12 +11,14 @@ interface SessionContextOptions {
|
|
|
10
11
|
env?: string | null;
|
|
11
12
|
customerOrgId?: string | null;
|
|
12
13
|
agentVersion?: string | null;
|
|
14
|
+
description?: string | null;
|
|
13
15
|
context?: Record<string, unknown> | null;
|
|
14
16
|
groups?: Record<string, unknown> | null;
|
|
15
17
|
idleTimeoutMinutes?: number | null;
|
|
16
18
|
deviceId?: string | null;
|
|
17
19
|
browserSessionId?: string | null;
|
|
18
20
|
nextTurnIdFn?: (() => number) | null;
|
|
21
|
+
amplitude?: AmplitudeLike | null;
|
|
19
22
|
}
|
|
20
23
|
declare class SessionContext {
|
|
21
24
|
readonly sessionId: string;
|
|
@@ -26,11 +29,13 @@ declare class SessionContext {
|
|
|
26
29
|
readonly env: string | null;
|
|
27
30
|
readonly customerOrgId: string | null;
|
|
28
31
|
readonly agentVersion: string | null;
|
|
32
|
+
readonly description: string | null;
|
|
29
33
|
readonly context: Record<string, unknown> | null;
|
|
30
34
|
readonly groups: Record<string, unknown> | null;
|
|
31
35
|
readonly idleTimeoutMinutes: number | null;
|
|
32
36
|
readonly deviceId: string | null;
|
|
33
37
|
readonly browserSessionId: string | null;
|
|
38
|
+
readonly amplitude: AmplitudeLike | null;
|
|
34
39
|
private readonly _nextTurnIdFn;
|
|
35
40
|
constructor(options: SessionContextOptions);
|
|
36
41
|
nextTurnId(): number | null;
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","names":[],"sources":["../src/context.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","names":[],"sources":["../src/context.ts"],"sourcesContent":[],"mappings":";;;;UAGiB,qBAAA;;EAAA,OAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAUL,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EACD,OAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAKG,aAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAAa,GAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAGd,aAAA,CAAA,EAAA,MAAc,GAAA,IAAA;EAUP,YAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EACD,WAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAIG,OAAA,CAAA,EAxBV,MAwBU,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,IAAA;EAGC,MAAA,CAAA,EA1BZ,MA0BY,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,IAAA;EAAqB,kBAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAyBtC,QAAA,CAAA,EAAA,MAAA,GAAgE,IAAA;EAEtD,gBAAA,CAAA,EAAgB,MAAA,GAAA,IAAI;EAIpB,YAAA,CAAA,EAAA,CAAA,GAAc,GAAA,MAAA,CAAA,GAAA,IAAA;EAAS,SAAA,CAAA,EApDzB,aAoDyB,GAAA,IAAA;;AAA8B,cAjDxD,cAAA,CAiDwD;EAAC,SAAA,SAAA,EAAA,MAAA;EAItD,OAAA,EAAA,MAAA,GAAA,IAAmB;EAC5B,SAAA,MAAA,EAAA,MAAA,GAAA,IAAA;EACa,SAAA,OAAA,EAAA,MAAA,GAAA,IAAA;EAAR,SAAA,aAAA,EAAA,MAAA,GAAA,IAAA;EACD,SAAA,GAAA,EAAA,MAAA,GAAA,IAAA;EAAR,SAAA,aAAA,EAAA,MAAA,GAAA,IAAA;EAAO,SAAA,YAAA,EAAA,MAAA,GAAA,IAAA;;oBA9CU;mBACD;;;;sBAIG;;uBAGC;;;cAyBjB,iBAAe,kBAAA;iBAEL,gBAAA,CAAA,GAAoB;iBAIpB,uBAAuB,0BAA0B,IAAI;iBAIrD,4BACT,0BACK,QAAQ,KACjB,QAAQ"}
|
package/dist/context.js
CHANGED
|
@@ -10,11 +10,13 @@ var SessionContext = class {
|
|
|
10
10
|
env;
|
|
11
11
|
customerOrgId;
|
|
12
12
|
agentVersion;
|
|
13
|
+
description;
|
|
13
14
|
context;
|
|
14
15
|
groups;
|
|
15
16
|
idleTimeoutMinutes;
|
|
16
17
|
deviceId;
|
|
17
18
|
browserSessionId;
|
|
19
|
+
amplitude;
|
|
18
20
|
_nextTurnIdFn;
|
|
19
21
|
constructor(options) {
|
|
20
22
|
this.sessionId = options.sessionId;
|
|
@@ -25,11 +27,13 @@ var SessionContext = class {
|
|
|
25
27
|
this.env = options.env ?? null;
|
|
26
28
|
this.customerOrgId = options.customerOrgId ?? null;
|
|
27
29
|
this.agentVersion = options.agentVersion ?? null;
|
|
30
|
+
this.description = options.description ?? null;
|
|
28
31
|
this.context = options.context ?? null;
|
|
29
32
|
this.groups = options.groups ?? null;
|
|
30
33
|
this.idleTimeoutMinutes = options.idleTimeoutMinutes ?? null;
|
|
31
34
|
this.deviceId = options.deviceId ?? null;
|
|
32
35
|
this.browserSessionId = options.browserSessionId ?? null;
|
|
36
|
+
this.amplitude = options.amplitude ?? null;
|
|
33
37
|
this._nextTurnIdFn = options.nextTurnIdFn ?? null;
|
|
34
38
|
}
|
|
35
39
|
nextTurnId() {
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../src/context.ts"],"sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\n\nexport interface SessionContextOptions {\n sessionId: string;\n traceId?: string | null;\n userId?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n env?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n idleTimeoutMinutes?: number | null;\n deviceId?: string | null;\n browserSessionId?: string | null;\n nextTurnIdFn?: (() => number) | null;\n}\n\nexport class SessionContext {\n readonly sessionId: string;\n traceId: string | null;\n readonly userId: string | null;\n readonly agentId: string | null;\n readonly parentAgentId: string | null;\n readonly env: string | null;\n readonly customerOrgId: string | null;\n readonly agentVersion: string | null;\n readonly context: Record<string, unknown> | null;\n readonly groups: Record<string, unknown> | null;\n readonly idleTimeoutMinutes: number | null;\n readonly deviceId: string | null;\n readonly browserSessionId: string | null;\n private readonly _nextTurnIdFn: (() => number) | null;\n\n constructor(options: SessionContextOptions) {\n this.sessionId = options.sessionId;\n this.traceId = options.traceId ?? null;\n this.userId = options.userId ?? null;\n this.agentId = options.agentId ?? null;\n this.parentAgentId = options.parentAgentId ?? null;\n this.env = options.env ?? null;\n this.customerOrgId = options.customerOrgId ?? null;\n this.agentVersion = options.agentVersion ?? null;\n this.context = options.context ?? null;\n this.groups = options.groups ?? null;\n this.idleTimeoutMinutes = options.idleTimeoutMinutes ?? null;\n this.deviceId = options.deviceId ?? null;\n this.browserSessionId = options.browserSessionId ?? null;\n this._nextTurnIdFn = options.nextTurnIdFn ?? null;\n }\n\n nextTurnId(): number | null {\n if (this._nextTurnIdFn != null) return this._nextTurnIdFn();\n return null;\n }\n}\n\nconst _sessionStorage = new AsyncLocalStorage<SessionContext | null>();\n\nexport function getActiveContext(): SessionContext | null {\n return _sessionStorage.getStore() ?? null;\n}\n\nexport function runWithContext<T>(ctx: SessionContext, fn: () => T): T {\n return _sessionStorage.run(ctx, fn);\n}\n\nexport function runWithContextAsync<T>(\n ctx: SessionContext,\n fn: () => Promise<T>,\n): Promise<T> {\n return _sessionStorage.run(ctx, fn);\n}\n\nexport { _sessionStorage };\n"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../src/context.ts"],"sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\nimport type { AmplitudeLike } from './types.js';\n\nexport interface SessionContextOptions {\n sessionId: string;\n traceId?: string | null;\n userId?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n env?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n description?: string | null;\n context?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n idleTimeoutMinutes?: number | null;\n deviceId?: string | null;\n browserSessionId?: string | null;\n nextTurnIdFn?: (() => number) | null;\n amplitude?: AmplitudeLike | null;\n}\n\nexport class SessionContext {\n readonly sessionId: string;\n traceId: string | null;\n readonly userId: string | null;\n readonly agentId: string | null;\n readonly parentAgentId: string | null;\n readonly env: string | null;\n readonly customerOrgId: string | null;\n readonly agentVersion: string | null;\n readonly description: string | null;\n readonly context: Record<string, unknown> | null;\n readonly groups: Record<string, unknown> | null;\n readonly idleTimeoutMinutes: number | null;\n readonly deviceId: string | null;\n readonly browserSessionId: string | null;\n readonly amplitude: AmplitudeLike | null;\n private readonly _nextTurnIdFn: (() => number) | null;\n\n constructor(options: SessionContextOptions) {\n this.sessionId = options.sessionId;\n this.traceId = options.traceId ?? null;\n this.userId = options.userId ?? null;\n this.agentId = options.agentId ?? null;\n this.parentAgentId = options.parentAgentId ?? null;\n this.env = options.env ?? null;\n this.customerOrgId = options.customerOrgId ?? null;\n this.agentVersion = options.agentVersion ?? null;\n this.description = options.description ?? null;\n this.context = options.context ?? null;\n this.groups = options.groups ?? null;\n this.idleTimeoutMinutes = options.idleTimeoutMinutes ?? null;\n this.deviceId = options.deviceId ?? null;\n this.browserSessionId = options.browserSessionId ?? null;\n this.amplitude = options.amplitude ?? null;\n this._nextTurnIdFn = options.nextTurnIdFn ?? null;\n }\n\n nextTurnId(): number | null {\n if (this._nextTurnIdFn != null) return this._nextTurnIdFn();\n return null;\n }\n}\n\nconst _sessionStorage = new AsyncLocalStorage<SessionContext | null>();\n\nexport function getActiveContext(): SessionContext | null {\n return _sessionStorage.getStore() ?? null;\n}\n\nexport function runWithContext<T>(ctx: SessionContext, fn: () => T): T {\n return _sessionStorage.run(ctx, fn);\n}\n\nexport function runWithContextAsync<T>(\n ctx: SessionContext,\n fn: () => Promise<T>,\n): Promise<T> {\n return _sessionStorage.run(ctx, fn);\n}\n\nexport { _sessionStorage };\n"],"mappings":";;;AAsBA,IAAa,iBAAb,MAA4B;CAC1B,AAAS;CACT;CACA,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAiB;CAEjB,YAAY,SAAgC;AAC1C,OAAK,YAAY,QAAQ;AACzB,OAAK,UAAU,QAAQ,WAAW;AAClC,OAAK,SAAS,QAAQ,UAAU;AAChC,OAAK,UAAU,QAAQ,WAAW;AAClC,OAAK,gBAAgB,QAAQ,iBAAiB;AAC9C,OAAK,MAAM,QAAQ,OAAO;AAC1B,OAAK,gBAAgB,QAAQ,iBAAiB;AAC9C,OAAK,eAAe,QAAQ,gBAAgB;AAC5C,OAAK,cAAc,QAAQ,eAAe;AAC1C,OAAK,UAAU,QAAQ,WAAW;AAClC,OAAK,SAAS,QAAQ,UAAU;AAChC,OAAK,qBAAqB,QAAQ,sBAAsB;AACxD,OAAK,WAAW,QAAQ,YAAY;AACpC,OAAK,mBAAmB,QAAQ,oBAAoB;AACpD,OAAK,YAAY,QAAQ,aAAa;AACtC,OAAK,gBAAgB,QAAQ,gBAAgB;;CAG/C,aAA4B;AAC1B,MAAI,KAAK,iBAAiB,KAAM,QAAO,KAAK,eAAe;AAC3D,SAAO;;;AAIX,MAAM,kBAAkB,IAAI,mBAA0C;AAEtE,SAAgB,mBAA0C;AACxD,QAAO,gBAAgB,UAAU,IAAI;;AAGvC,SAAgB,eAAkB,KAAqB,IAAgB;AACrE,QAAO,gBAAgB,IAAI,KAAK,GAAG;;AAGrC,SAAgB,oBACd,KACA,IACY;AACZ,QAAO,gBAAgB,IAAI,KAAK,GAAG"}
|
package/dist/core/constants.d.ts
CHANGED
|
@@ -42,6 +42,8 @@ declare const PROP_SPAN_KIND = "[Agent] Span Kind";
|
|
|
42
42
|
declare const PROP_COMPONENT_TYPE = "[Agent] Component Type";
|
|
43
43
|
declare const PROP_CUSTOMER_ORG_ID = "[Agent] Customer Org ID";
|
|
44
44
|
declare const PROP_AGENT_VERSION = "[Agent] Agent Version";
|
|
45
|
+
declare const PROP_AGENT_DESCRIPTION = "[Agent] Agent Description";
|
|
46
|
+
declare const PROP_MESSAGE_SOURCE = "[Agent] Message Source";
|
|
45
47
|
declare const PROP_CONTEXT = "[Agent] Context";
|
|
46
48
|
declare const PROP_SPAN_ID = "[Agent] Span ID";
|
|
47
49
|
declare const PROP_SPAN_NAME = "[Agent] Span Name";
|
|
@@ -92,5 +94,5 @@ declare const SDK_VERSION: string;
|
|
|
92
94
|
declare const SDK_RUNTIME = "node";
|
|
93
95
|
declare const MAX_SERIALIZED_LENGTH = 10000;
|
|
94
96
|
//#endregion
|
|
95
|
-
export { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION };
|
|
97
|
+
export { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_DESCRIPTION, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MESSAGE_SOURCE, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION };
|
|
96
98
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","names":[],"sources":["../../src/core/constants.ts"],"sourcesContent":[],"mappings":";cAIa,kBAAA;AAAA,cACA,iBAAA,GADkB,qBAAA;AAClB,cACA,eAAA,GADiB,mBAAA;AACjB,cACA,eAAA,GADe,mBAAA;AACf,cACA,UAAA,GADe,cAAA;AACf,cACA,iBAAA,GADU,qBAAA;AACV,cACA,wBAAA,GADiB,4BAAA;AACjB,cACA,WAAA,GADwB,eAAA;AACxB,cAGA,eAAA,GAHW,oBAAA;AAGX,cACA,aAAA,GADe,kBAAA;AACf,cACA,YAAA,GADa,iBAAA;AACb,cACA,eAAA,GADY,oBAAA;AACZ,cACA,eAAA,GADe,oBAAA;AACf,cACA,aAAA,GADe,kBAAA;AACf,cACA,eAAA,GADa,oBAAA;AACb,cACA,YAAA,GADe,iBAAA;AACf,cACA,iBAAA,GADY,sBAAA;AACZ,cACA,kBAAA,GADiB,uBAAA;AACjB,cACA,iBAAA,GADkB,sBAAA;AAClB,cACA,qBAAA,GADiB,0BAAA;AACjB,cACA,sBAAA,GADqB,2BAAA;AACrB,cACA,0BAAA,GADsB,+BAAA;AACtB,cACA,aAAA,GAD0B,kBAAA;AAC1B,cACA,aAAA,GADa,kBAAA;AACb,cACA,kBAAA,GADa,uBAAA;AACb,cACA,kBAAA,GADkB,uBAAA;AAClB,cACA,eAAA,GADkB,oBAAA;AAClB,cACA,cAAA,GADe,mBAAA;AACf,cACA,iBAAA,GADc,sBAAA;AACd,cACA,kBAAA,GADiB,uBAAA;AACjB,cACA,sBAAA,GADkB,2BAAA;AAClB,cACA,aAAA,GADsB,kBAAA;AACtB,cACA,oBAAA,GADa,yBAAA;AACb,cACA,eAAA,GADoB,oBAAA;AACpB,cACA,gBAAA,GADe,qBAAA;AACf,cACA,gBAAA,GADgB,qBAAA;AAChB,cACA,YAAA,GADgB,iBAAA;AAChB,cACA,QAAA,GADY,aAAA;AACZ,cACA,WAAA,GADQ,gBAAA;AACR,cACA,cAAA,GADW,mBAAA;AACX,cACA,mBAAA,GADc,wBAAA;AACd,cACA,oBAAA,GADmB,yBAAA;AACnB,cACA,kBAAA,GADoB,uBAAA;AACpB,cACA,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","names":[],"sources":["../../src/core/constants.ts"],"sourcesContent":[],"mappings":";cAIa,kBAAA;AAAA,cACA,iBAAA,GADkB,qBAAA;AAClB,cACA,eAAA,GADiB,mBAAA;AACjB,cACA,eAAA,GADe,mBAAA;AACf,cACA,UAAA,GADe,cAAA;AACf,cACA,iBAAA,GADU,qBAAA;AACV,cACA,wBAAA,GADiB,4BAAA;AACjB,cACA,WAAA,GADwB,eAAA;AACxB,cAGA,eAAA,GAHW,oBAAA;AAGX,cACA,aAAA,GADe,kBAAA;AACf,cACA,YAAA,GADa,iBAAA;AACb,cACA,eAAA,GADY,oBAAA;AACZ,cACA,eAAA,GADe,oBAAA;AACf,cACA,aAAA,GADe,kBAAA;AACf,cACA,eAAA,GADa,oBAAA;AACb,cACA,YAAA,GADe,iBAAA;AACf,cACA,iBAAA,GADY,sBAAA;AACZ,cACA,kBAAA,GADiB,uBAAA;AACjB,cACA,iBAAA,GADkB,sBAAA;AAClB,cACA,qBAAA,GADiB,0BAAA;AACjB,cACA,sBAAA,GADqB,2BAAA;AACrB,cACA,0BAAA,GADsB,+BAAA;AACtB,cACA,aAAA,GAD0B,kBAAA;AAC1B,cACA,aAAA,GADa,kBAAA;AACb,cACA,kBAAA,GADa,uBAAA;AACb,cACA,kBAAA,GADkB,uBAAA;AAClB,cACA,eAAA,GADkB,oBAAA;AAClB,cACA,cAAA,GADe,mBAAA;AACf,cACA,iBAAA,GADc,sBAAA;AACd,cACA,kBAAA,GADiB,uBAAA;AACjB,cACA,sBAAA,GADkB,2BAAA;AAClB,cACA,aAAA,GADsB,kBAAA;AACtB,cACA,oBAAA,GADa,yBAAA;AACb,cACA,eAAA,GADoB,oBAAA;AACpB,cACA,gBAAA,GADe,qBAAA;AACf,cACA,gBAAA,GADgB,qBAAA;AAChB,cACA,YAAA,GADgB,iBAAA;AAChB,cACA,QAAA,GADY,aAAA;AACZ,cACA,WAAA,GADQ,gBAAA;AACR,cACA,cAAA,GADW,mBAAA;AACX,cACA,mBAAA,GADc,wBAAA;AACd,cACA,oBAAA,GADmB,yBAAA;AACnB,cACA,kBAAA,GADoB,uBAAA;AACpB,cACA,sBAAA,GADkB,2BAAA;AAClB,cACA,mBAAA,GADsB,wBAAA;AACtB,cACA,YAAA,GADmB,iBAAA;AACnB,cAGA,YAAA,GAHY,iBAAA;AAGZ,cACA,cAAA,GADY,mBAAA;AACZ,cACA,mBAAA,GADc,wBAAA;AACd,cACA,gBAAA,GADmB,qBAAA;AACnB,cACA,iBAAA,GADgB,sBAAA;AAChB,cACA,yBAAA,GADiB,8BAAA;AACjB,cACA,gBAAA,GADyB,qBAAA;AACzB,cACA,eAAA,GADgB,oBAAA;AAChB,cACA,gBAAA,GADe,qBAAA;AACf,cACA,cAAA,GADgB,mBAAA;AAChB,cACA,gBAAA,GADc,qBAAA;AACd,cACA,sBAAA,GADgB,2BAAA;AAChB,cACA,YAAA,GADsB,iBAAA;AACtB,cACA,kBAAA,GADY,uBAAA;AACZ,cACA,sBAAA,GADkB,2BAAA;AAClB,cACA,yBAAA,GADsB,sCAAA;AACtB,cAGA,kBAAA,GAHyB,uBAAA;AAGzB,cACA,yBAAA,GADkB,8BAAA;AAClB,cACA,gBAAA,GADyB,qBAAA;AACzB,cACA,sBAAA,GADgB,2BAAA;AAChB,cACA,UAAA,GADsB,eAAA;AACtB,cACA,iBAAA,GADU,sBAAA;AACV,cACA,cAAA,GADiB,mBAAA;AACjB,cAGA,oBAAA,GAHc,yBAAA;AAGd,cACA,YAAA,GADoB,iBAAA;AACpB,cACA,sBAAA,GADY,2BAAA;AACZ,cACA,eAAA,GADsB,oBAAA;AACtB,cACA,qBAAA,GADe,0BAAA;AACf,cAGA,eAAA,GAHqB,oBAAA;AAGrB,cACA,eAAA,GADe,oBAAA;AACf,cACA,oBAAA,GADe,yBAAA;AACf,cACA,qBAAA,GADoB,0BAAA;AACpB,cACA,qBAAA,GADqB,0BAAA;AACrB,cACA,0BAAA,GADqB,qCAAA;AACrB,cACA,gBAAA,GAD0B,qBAAA;AAC1B,cAGA,mBAAA,GAHgB,wBAAA;AAGhB,cACA,sBAAA,GADmB,2BAAA;AACnB,cAGA,sBAAA,GAHsB,+BAAA;AAGtB,cAGA,kBAAA,GAHsB,uBAAA;AAGtB,cACA,oBAAA,GADkB,yBAAA;AAClB,cACA,sBAAA,GADoB,2BAAA;AACpB,cACA,wBAAA,GADsB,6BAAA;AACtB,cACA,gBAAA,GADwB,qBAAA;AACxB,cACA,oBAAA,GADgB,yBAAA;AAChB,cACA,uBAAA,GADoB,4BAAA;AACpB,cAUA,WAVuB,EAAA,MAAA;AAUvB,cACA,WAAA,GADiC,MAAA;AACjC,cAGA,qBAAA,GAHW,KAAA"}
|
package/dist/core/constants.js
CHANGED
|
@@ -44,6 +44,8 @@ const PROP_SPAN_KIND = "[Agent] Span Kind";
|
|
|
44
44
|
const PROP_COMPONENT_TYPE = "[Agent] Component Type";
|
|
45
45
|
const PROP_CUSTOMER_ORG_ID = "[Agent] Customer Org ID";
|
|
46
46
|
const PROP_AGENT_VERSION = "[Agent] Agent Version";
|
|
47
|
+
const PROP_AGENT_DESCRIPTION = "[Agent] Agent Description";
|
|
48
|
+
const PROP_MESSAGE_SOURCE = "[Agent] Message Source";
|
|
47
49
|
const PROP_CONTEXT = "[Agent] Context";
|
|
48
50
|
const PROP_SPAN_ID = "[Agent] Span ID";
|
|
49
51
|
const PROP_SPAN_NAME = "[Agent] Span Name";
|
|
@@ -101,5 +103,5 @@ const SDK_RUNTIME = "node";
|
|
|
101
103
|
const MAX_SERIALIZED_LENGTH = 1e4;
|
|
102
104
|
|
|
103
105
|
//#endregion
|
|
104
|
-
export { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION };
|
|
106
|
+
export { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_DESCRIPTION, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MESSAGE_SOURCE, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION };
|
|
105
107
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["SDK_VERSION: string"],"sources":["../../src/core/constants.ts"],"sourcesContent":["// SDK metadata — version read from package.json to stay in sync\nimport { createRequire } from 'node:module';\n\n// Event type constants — must be byte-identical to Python SDK\nexport const EVENT_USER_MESSAGE = '[Agent] User Message';\nexport const EVENT_AI_RESPONSE = '[Agent] AI Response';\nexport const EVENT_TOOL_CALL = '[Agent] Tool Call';\nexport const EVENT_EMBEDDING = '[Agent] Embedding';\nexport const EVENT_SPAN = '[Agent] Span';\nexport const EVENT_SESSION_END = '[Agent] Session End';\nexport const EVENT_SESSION_ENRICHMENT = '[Agent] Session Enrichment';\nexport const EVENT_SCORE = '[Agent] Score';\n\n// Property name constants — must be byte-identical to Python SDK\nexport const PROP_SESSION_ID = '[Agent] Session ID';\nexport const PROP_TRACE_ID = '[Agent] Trace ID';\nexport const PROP_TURN_ID = '[Agent] Turn ID';\nexport const PROP_MESSAGE_ID = '[Agent] Message ID';\nexport const PROP_MODEL_NAME = '[Agent] Model Name';\nexport const PROP_PROVIDER = '[Agent] Provider';\nexport const PROP_LATENCY_MS = '[Agent] Latency Ms';\nexport const PROP_TTFB_MS = '[Agent] TTFB Ms';\nexport const PROP_INPUT_TOKENS = '[Agent] Input Tokens';\nexport const PROP_OUTPUT_TOKENS = '[Agent] Output Tokens';\nexport const PROP_TOTAL_TOKENS = '[Agent] Total Tokens';\nexport const PROP_REASONING_TOKENS = '[Agent] Reasoning Tokens';\nexport const PROP_CACHE_READ_TOKENS = '[Agent] Cache Read Tokens';\nexport const PROP_CACHE_CREATION_TOKENS = '[Agent] Cache Creation Tokens';\nexport const PROP_COST_USD = '[Agent] Cost USD';\nexport const PROP_IS_ERROR = '[Agent] Is Error';\nexport const PROP_ERROR_MESSAGE = '[Agent] Error Message';\nexport const PROP_FINISH_REASON = '[Agent] Finish Reason';\nexport const PROP_TOOL_CALLS = '[Agent] Tool Calls';\nexport const PROP_TOOL_NAME = '[Agent] Tool Name';\nexport const PROP_TOOL_SUCCESS = '[Agent] Tool Success';\nexport const PROP_INVOCATION_ID = '[Agent] Invocation ID';\nexport const PROP_PARENT_MESSAGE_ID = '[Agent] Parent Message ID';\nexport const PROP_AGENT_ID = '[Agent] Agent ID';\nexport const PROP_PARENT_AGENT_ID = '[Agent] Parent Agent ID';\nexport const PROP_TOOL_INPUT = '[Agent] Tool Input';\nexport const PROP_TOOL_OUTPUT = '[Agent] Tool Output';\nexport const PROP_SDK_VERSION = '[Agent] SDK Version';\nexport const PROP_RUNTIME = '[Agent] Runtime';\nexport const PROP_ENV = '[Agent] Env';\nexport const PROP_LOCALE = '[Agent] Locale';\nexport const PROP_SPAN_KIND = '[Agent] Span Kind';\nexport const PROP_COMPONENT_TYPE = '[Agent] Component Type';\nexport const PROP_CUSTOMER_ORG_ID = '[Agent] Customer Org ID';\nexport const PROP_AGENT_VERSION = '[Agent] Agent Version';\nexport const PROP_CONTEXT = '[Agent] Context';\n\n// v0.3.0 properties\nexport const PROP_SPAN_ID = '[Agent] Span ID';\nexport const PROP_SPAN_NAME = '[Agent] Span Name';\nexport const PROP_PARENT_SPAN_ID = '[Agent] Parent Span ID';\nexport const PROP_INPUT_STATE = '[Agent] Input State';\nexport const PROP_OUTPUT_STATE = '[Agent] Output State';\nexport const PROP_EMBEDDING_DIMENSIONS = '[Agent] Embedding Dimensions';\nexport const PROP_ENRICHMENTS = '[Agent] Enrichments';\nexport const PROP_SCORE_NAME = '[Agent] Score Name';\nexport const PROP_SCORE_VALUE = '[Agent] Score Value';\nexport const PROP_TARGET_ID = '[Agent] Target ID';\nexport const PROP_TARGET_TYPE = '[Agent] Target Type';\nexport const PROP_EVALUATION_SOURCE = '[Agent] Evaluation Source';\nexport const PROP_COMMENT = '[Agent] Comment';\nexport const PROP_HAS_REASONING = '[Agent] Has Reasoning';\nexport const PROP_REASONING_CONTENT = '[Agent] Reasoning Content';\nexport const PROP_IDLE_TIMEOUT_MINUTES = '[Agent] Session Idle Timeout Minutes';\n\n// Model configuration constants (v0.4.0)\nexport const PROP_SYSTEM_PROMPT = '[Agent] System Prompt';\nexport const PROP_SYSTEM_PROMPT_LENGTH = '[Agent] System Prompt Length';\nexport const PROP_TEMPERATURE = '[Agent] Temperature';\nexport const PROP_MAX_OUTPUT_TOKENS = '[Agent] Max Output Tokens';\nexport const PROP_TOP_P = '[Agent] Top P';\nexport const PROP_IS_STREAMING = '[Agent] Is Streaming';\nexport const PROP_PROMPT_ID = '[Agent] Prompt ID';\n\n// Implicit feedback constants (v0.5.0)\nexport const PROP_IS_REGENERATION = '[Agent] Is Regeneration';\nexport const PROP_IS_EDIT = '[Agent] Is Edit';\nexport const PROP_EDITED_MESSAGE_ID = '[Agent] Edited Message ID';\nexport const PROP_WAS_COPIED = '[Agent] Was Copied';\nexport const PROP_ABANDONMENT_TURN = '[Agent] Abandonment Turn';\n\n// Attachment constants (v0.5.0)\nexport const PROP_WAS_CACHED = '[Agent] Was Cached';\nexport const PROP_MODEL_TIER = '[Agent] Model Tier';\nexport const PROP_HAS_ATTACHMENTS = '[Agent] Has Attachments';\nexport const PROP_ATTACHMENT_TYPES = '[Agent] Attachment Types';\nexport const PROP_ATTACHMENT_COUNT = '[Agent] Attachment Count';\nexport const PROP_TOTAL_ATTACHMENT_SIZE = '[Agent] Total Attachment Size Bytes';\nexport const PROP_ATTACHMENTS = '[Agent] Attachments';\n\n// Message label constants (v0.6.0)\nexport const PROP_MESSAGE_LABELS = '[Agent] Message Labels';\nexport const PROP_MESSAGE_LABEL_MAP = '[Agent] Message Label Map';\n\n// Session replay linking (v0.7.0)\nexport const PROP_SESSION_REPLAY_ID = '[Amplitude] Session Replay ID';\n\n// Session-level enrichment property constants (v0.6.0)\nexport const PROP_QUALITY_SCORE = '[Agent] Quality Score';\nexport const PROP_SENTIMENT_SCORE = '[Agent] Sentiment Score';\nexport const PROP_TASK_FAILURE_TYPE = '[Agent] Task Failure Type';\nexport const PROP_TASK_FAILURE_REASON = '[Agent] Task Failure Reason';\nexport const PROP_AGENT_CHAIN = '[Agent] Agent Chain';\nexport const PROP_ROOT_AGENT_NAME = '[Agent] Root Agent Name';\nexport const PROP_REQUEST_COMPLEXITY = '[Agent] Request Complexity';\n\nconst _require = createRequire(import.meta.url);\nlet _sdkVersion = '0.1.0';\ntry {\n const pkg = _require('../../package.json') as { version?: string };\n if (pkg.version) _sdkVersion = pkg.version;\n} catch {\n // Fallback to hardcoded version when running outside the package\n}\nexport const SDK_VERSION: string = _sdkVersion;\nexport const SDK_RUNTIME = 'node';\n\n// Serialization limits\nexport const MAX_SERIALIZED_LENGTH = 10000;\n"],"mappings":";;;AAIA,MAAa,qBAAqB;AAClC,MAAa,oBAAoB;AACjC,MAAa,kBAAkB;AAC/B,MAAa,kBAAkB;AAC/B,MAAa,aAAa;AAC1B,MAAa,oBAAoB;AACjC,MAAa,2BAA2B;AACxC,MAAa,cAAc;AAG3B,MAAa,kBAAkB;AAC/B,MAAa,gBAAgB;AAC7B,MAAa,eAAe;AAC5B,MAAa,kBAAkB;AAC/B,MAAa,kBAAkB;AAC/B,MAAa,gBAAgB;AAC7B,MAAa,kBAAkB;AAC/B,MAAa,eAAe;AAC5B,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAClC,MAAa,oBAAoB;AACjC,MAAa,wBAAwB;AACrC,MAAa,yBAAyB;AACtC,MAAa,6BAA6B;AAC1C,MAAa,gBAAgB;AAC7B,MAAa,gBAAgB;AAC7B,MAAa,qBAAqB;AAClC,MAAa,qBAAqB;AAClC,MAAa,kBAAkB;AAC/B,MAAa,iBAAiB;AAC9B,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAClC,MAAa,yBAAyB;AACtC,MAAa,gBAAgB;AAC7B,MAAa,uBAAuB;AACpC,MAAa,kBAAkB;AAC/B,MAAa,mBAAmB;AAChC,MAAa,mBAAmB;AAChC,MAAa,eAAe;AAC5B,MAAa,WAAW;AACxB,MAAa,cAAc;AAC3B,MAAa,iBAAiB;AAC9B,MAAa,sBAAsB;AACnC,MAAa,uBAAuB;AACpC,MAAa,qBAAqB;AAClC,MAAa,eAAe;AAG5B,MAAa,eAAe;AAC5B,MAAa,iBAAiB;AAC9B,MAAa,sBAAsB;AACnC,MAAa,mBAAmB;AAChC,MAAa,oBAAoB;AACjC,MAAa,4BAA4B;AACzC,MAAa,mBAAmB;AAChC,MAAa,kBAAkB;AAC/B,MAAa,mBAAmB;AAChC,MAAa,iBAAiB;AAC9B,MAAa,mBAAmB;AAChC,MAAa,yBAAyB;AACtC,MAAa,eAAe;AAC5B,MAAa,qBAAqB;AAClC,MAAa,yBAAyB;AACtC,MAAa,4BAA4B;AAGzC,MAAa,qBAAqB;AAClC,MAAa,4BAA4B;AACzC,MAAa,mBAAmB;AAChC,MAAa,yBAAyB;AACtC,MAAa,aAAa;AAC1B,MAAa,oBAAoB;AACjC,MAAa,iBAAiB;AAG9B,MAAa,uBAAuB;AACpC,MAAa,eAAe;AAC5B,MAAa,yBAAyB;AACtC,MAAa,kBAAkB;AAC/B,MAAa,wBAAwB;AAGrC,MAAa,kBAAkB;AAC/B,MAAa,kBAAkB;AAC/B,MAAa,uBAAuB;AACpC,MAAa,wBAAwB;AACrC,MAAa,wBAAwB;AACrC,MAAa,6BAA6B;AAC1C,MAAa,mBAAmB;AAGhC,MAAa,sBAAsB;AACnC,MAAa,yBAAyB;AAGtC,MAAa,yBAAyB;AAGtC,MAAa,qBAAqB;AAClC,MAAa,uBAAuB;AACpC,MAAa,yBAAyB;AACtC,MAAa,2BAA2B;AACxC,MAAa,mBAAmB;AAChC,MAAa,uBAAuB;AACpC,MAAa,0BAA0B;AAEvC,MAAM,WAAW,cAAc,OAAO,KAAK,IAAI;AAC/C,IAAI,cAAc;AAClB,IAAI;CACF,MAAM,MAAM,SAAS,qBAAqB;AAC1C,KAAI,IAAI,QAAS,eAAc,IAAI;QAC7B;AAGR,MAAaA,cAAsB;AACnC,MAAa,cAAc;AAG3B,MAAa,wBAAwB"}
|
|
1
|
+
{"version":3,"file":"constants.js","names":["SDK_VERSION: string"],"sources":["../../src/core/constants.ts"],"sourcesContent":["// SDK metadata — version read from package.json to stay in sync\nimport { createRequire } from 'node:module';\n\n// Event type constants — must be byte-identical to Python SDK\nexport const EVENT_USER_MESSAGE = '[Agent] User Message';\nexport const EVENT_AI_RESPONSE = '[Agent] AI Response';\nexport const EVENT_TOOL_CALL = '[Agent] Tool Call';\nexport const EVENT_EMBEDDING = '[Agent] Embedding';\nexport const EVENT_SPAN = '[Agent] Span';\nexport const EVENT_SESSION_END = '[Agent] Session End';\nexport const EVENT_SESSION_ENRICHMENT = '[Agent] Session Enrichment';\nexport const EVENT_SCORE = '[Agent] Score';\n\n// Property name constants — must be byte-identical to Python SDK\nexport const PROP_SESSION_ID = '[Agent] Session ID';\nexport const PROP_TRACE_ID = '[Agent] Trace ID';\nexport const PROP_TURN_ID = '[Agent] Turn ID';\nexport const PROP_MESSAGE_ID = '[Agent] Message ID';\nexport const PROP_MODEL_NAME = '[Agent] Model Name';\nexport const PROP_PROVIDER = '[Agent] Provider';\nexport const PROP_LATENCY_MS = '[Agent] Latency Ms';\nexport const PROP_TTFB_MS = '[Agent] TTFB Ms';\nexport const PROP_INPUT_TOKENS = '[Agent] Input Tokens';\nexport const PROP_OUTPUT_TOKENS = '[Agent] Output Tokens';\nexport const PROP_TOTAL_TOKENS = '[Agent] Total Tokens';\nexport const PROP_REASONING_TOKENS = '[Agent] Reasoning Tokens';\nexport const PROP_CACHE_READ_TOKENS = '[Agent] Cache Read Tokens';\nexport const PROP_CACHE_CREATION_TOKENS = '[Agent] Cache Creation Tokens';\nexport const PROP_COST_USD = '[Agent] Cost USD';\nexport const PROP_IS_ERROR = '[Agent] Is Error';\nexport const PROP_ERROR_MESSAGE = '[Agent] Error Message';\nexport const PROP_FINISH_REASON = '[Agent] Finish Reason';\nexport const PROP_TOOL_CALLS = '[Agent] Tool Calls';\nexport const PROP_TOOL_NAME = '[Agent] Tool Name';\nexport const PROP_TOOL_SUCCESS = '[Agent] Tool Success';\nexport const PROP_INVOCATION_ID = '[Agent] Invocation ID';\nexport const PROP_PARENT_MESSAGE_ID = '[Agent] Parent Message ID';\nexport const PROP_AGENT_ID = '[Agent] Agent ID';\nexport const PROP_PARENT_AGENT_ID = '[Agent] Parent Agent ID';\nexport const PROP_TOOL_INPUT = '[Agent] Tool Input';\nexport const PROP_TOOL_OUTPUT = '[Agent] Tool Output';\nexport const PROP_SDK_VERSION = '[Agent] SDK Version';\nexport const PROP_RUNTIME = '[Agent] Runtime';\nexport const PROP_ENV = '[Agent] Env';\nexport const PROP_LOCALE = '[Agent] Locale';\nexport const PROP_SPAN_KIND = '[Agent] Span Kind';\nexport const PROP_COMPONENT_TYPE = '[Agent] Component Type';\nexport const PROP_CUSTOMER_ORG_ID = '[Agent] Customer Org ID';\nexport const PROP_AGENT_VERSION = '[Agent] Agent Version';\nexport const PROP_AGENT_DESCRIPTION = '[Agent] Agent Description';\nexport const PROP_MESSAGE_SOURCE = '[Agent] Message Source';\nexport const PROP_CONTEXT = '[Agent] Context';\n\n// v0.3.0 properties\nexport const PROP_SPAN_ID = '[Agent] Span ID';\nexport const PROP_SPAN_NAME = '[Agent] Span Name';\nexport const PROP_PARENT_SPAN_ID = '[Agent] Parent Span ID';\nexport const PROP_INPUT_STATE = '[Agent] Input State';\nexport const PROP_OUTPUT_STATE = '[Agent] Output State';\nexport const PROP_EMBEDDING_DIMENSIONS = '[Agent] Embedding Dimensions';\nexport const PROP_ENRICHMENTS = '[Agent] Enrichments';\nexport const PROP_SCORE_NAME = '[Agent] Score Name';\nexport const PROP_SCORE_VALUE = '[Agent] Score Value';\nexport const PROP_TARGET_ID = '[Agent] Target ID';\nexport const PROP_TARGET_TYPE = '[Agent] Target Type';\nexport const PROP_EVALUATION_SOURCE = '[Agent] Evaluation Source';\nexport const PROP_COMMENT = '[Agent] Comment';\nexport const PROP_HAS_REASONING = '[Agent] Has Reasoning';\nexport const PROP_REASONING_CONTENT = '[Agent] Reasoning Content';\nexport const PROP_IDLE_TIMEOUT_MINUTES = '[Agent] Session Idle Timeout Minutes';\n\n// Model configuration constants (v0.4.0)\nexport const PROP_SYSTEM_PROMPT = '[Agent] System Prompt';\nexport const PROP_SYSTEM_PROMPT_LENGTH = '[Agent] System Prompt Length';\nexport const PROP_TEMPERATURE = '[Agent] Temperature';\nexport const PROP_MAX_OUTPUT_TOKENS = '[Agent] Max Output Tokens';\nexport const PROP_TOP_P = '[Agent] Top P';\nexport const PROP_IS_STREAMING = '[Agent] Is Streaming';\nexport const PROP_PROMPT_ID = '[Agent] Prompt ID';\n\n// Implicit feedback constants (v0.5.0)\nexport const PROP_IS_REGENERATION = '[Agent] Is Regeneration';\nexport const PROP_IS_EDIT = '[Agent] Is Edit';\nexport const PROP_EDITED_MESSAGE_ID = '[Agent] Edited Message ID';\nexport const PROP_WAS_COPIED = '[Agent] Was Copied';\nexport const PROP_ABANDONMENT_TURN = '[Agent] Abandonment Turn';\n\n// Attachment constants (v0.5.0)\nexport const PROP_WAS_CACHED = '[Agent] Was Cached';\nexport const PROP_MODEL_TIER = '[Agent] Model Tier';\nexport const PROP_HAS_ATTACHMENTS = '[Agent] Has Attachments';\nexport const PROP_ATTACHMENT_TYPES = '[Agent] Attachment Types';\nexport const PROP_ATTACHMENT_COUNT = '[Agent] Attachment Count';\nexport const PROP_TOTAL_ATTACHMENT_SIZE = '[Agent] Total Attachment Size Bytes';\nexport const PROP_ATTACHMENTS = '[Agent] Attachments';\n\n// Message label constants (v0.6.0)\nexport const PROP_MESSAGE_LABELS = '[Agent] Message Labels';\nexport const PROP_MESSAGE_LABEL_MAP = '[Agent] Message Label Map';\n\n// Session replay linking (v0.7.0)\nexport const PROP_SESSION_REPLAY_ID = '[Amplitude] Session Replay ID';\n\n// Session-level enrichment property constants (v0.6.0)\nexport const PROP_QUALITY_SCORE = '[Agent] Quality Score';\nexport const PROP_SENTIMENT_SCORE = '[Agent] Sentiment Score';\nexport const PROP_TASK_FAILURE_TYPE = '[Agent] Task Failure Type';\nexport const PROP_TASK_FAILURE_REASON = '[Agent] Task Failure Reason';\nexport const PROP_AGENT_CHAIN = '[Agent] Agent Chain';\nexport const PROP_ROOT_AGENT_NAME = '[Agent] Root Agent Name';\nexport const PROP_REQUEST_COMPLEXITY = '[Agent] Request Complexity';\n\nconst _require = createRequire(import.meta.url);\nlet _sdkVersion = '0.1.0';\ntry {\n const pkg = _require('../../package.json') as { version?: string };\n if (pkg.version) _sdkVersion = pkg.version;\n} catch {\n // Fallback to hardcoded version when running outside the package\n}\nexport const SDK_VERSION: string = _sdkVersion;\nexport const SDK_RUNTIME = 'node';\n\n// Serialization limits\nexport const MAX_SERIALIZED_LENGTH = 10000;\n"],"mappings":";;;AAIA,MAAa,qBAAqB;AAClC,MAAa,oBAAoB;AACjC,MAAa,kBAAkB;AAC/B,MAAa,kBAAkB;AAC/B,MAAa,aAAa;AAC1B,MAAa,oBAAoB;AACjC,MAAa,2BAA2B;AACxC,MAAa,cAAc;AAG3B,MAAa,kBAAkB;AAC/B,MAAa,gBAAgB;AAC7B,MAAa,eAAe;AAC5B,MAAa,kBAAkB;AAC/B,MAAa,kBAAkB;AAC/B,MAAa,gBAAgB;AAC7B,MAAa,kBAAkB;AAC/B,MAAa,eAAe;AAC5B,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAClC,MAAa,oBAAoB;AACjC,MAAa,wBAAwB;AACrC,MAAa,yBAAyB;AACtC,MAAa,6BAA6B;AAC1C,MAAa,gBAAgB;AAC7B,MAAa,gBAAgB;AAC7B,MAAa,qBAAqB;AAClC,MAAa,qBAAqB;AAClC,MAAa,kBAAkB;AAC/B,MAAa,iBAAiB;AAC9B,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAClC,MAAa,yBAAyB;AACtC,MAAa,gBAAgB;AAC7B,MAAa,uBAAuB;AACpC,MAAa,kBAAkB;AAC/B,MAAa,mBAAmB;AAChC,MAAa,mBAAmB;AAChC,MAAa,eAAe;AAC5B,MAAa,WAAW;AACxB,MAAa,cAAc;AAC3B,MAAa,iBAAiB;AAC9B,MAAa,sBAAsB;AACnC,MAAa,uBAAuB;AACpC,MAAa,qBAAqB;AAClC,MAAa,yBAAyB;AACtC,MAAa,sBAAsB;AACnC,MAAa,eAAe;AAG5B,MAAa,eAAe;AAC5B,MAAa,iBAAiB;AAC9B,MAAa,sBAAsB;AACnC,MAAa,mBAAmB;AAChC,MAAa,oBAAoB;AACjC,MAAa,4BAA4B;AACzC,MAAa,mBAAmB;AAChC,MAAa,kBAAkB;AAC/B,MAAa,mBAAmB;AAChC,MAAa,iBAAiB;AAC9B,MAAa,mBAAmB;AAChC,MAAa,yBAAyB;AACtC,MAAa,eAAe;AAC5B,MAAa,qBAAqB;AAClC,MAAa,yBAAyB;AACtC,MAAa,4BAA4B;AAGzC,MAAa,qBAAqB;AAClC,MAAa,4BAA4B;AACzC,MAAa,mBAAmB;AAChC,MAAa,yBAAyB;AACtC,MAAa,aAAa;AAC1B,MAAa,oBAAoB;AACjC,MAAa,iBAAiB;AAG9B,MAAa,uBAAuB;AACpC,MAAa,eAAe;AAC5B,MAAa,yBAAyB;AACtC,MAAa,kBAAkB;AAC/B,MAAa,wBAAwB;AAGrC,MAAa,kBAAkB;AAC/B,MAAa,kBAAkB;AAC/B,MAAa,uBAAuB;AACpC,MAAa,wBAAwB;AACrC,MAAa,wBAAwB;AACrC,MAAa,6BAA6B;AAC1C,MAAa,mBAAmB;AAGhC,MAAa,sBAAsB;AACnC,MAAa,yBAAyB;AAGtC,MAAa,yBAAyB;AAGtC,MAAa,qBAAqB;AAClC,MAAa,uBAAuB;AACpC,MAAa,yBAAyB;AACtC,MAAa,2BAA2B;AACxC,MAAa,mBAAmB;AAChC,MAAa,uBAAuB;AACpC,MAAa,0BAA0B;AAEvC,MAAM,WAAW,cAAc,OAAO,KAAK,IAAI;AAC/C,IAAI,cAAc;AAClB,IAAI;CACF,MAAM,MAAM,SAAS,qBAAqB;AAC1C,KAAI,IAAI,QAAS,eAAc,IAAI;QAC7B;AAGR,MAAaA,cAAsB;AACnC,MAAa,cAAc;AAG3B,MAAa,wBAAwB"}
|
package/dist/core/tracking.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PrivacyConfig } from "./privacy.js";
|
|
2
2
|
import { MessageLabel, SessionEnrichments } from "./enrichments.js";
|
|
3
3
|
import { AmplitudeLike, Attachment, ToolCallShape } from "../types.js";
|
|
4
|
-
import { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION } from "./constants.js";
|
|
4
|
+
import { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_DESCRIPTION, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MESSAGE_SOURCE, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION } from "./constants.js";
|
|
5
5
|
|
|
6
6
|
//#region src/core/tracking.d.ts
|
|
7
7
|
declare function serializeToJsonString(value: unknown, maxLength?: number): string;
|
|
@@ -20,11 +20,13 @@ interface TrackUserMessageOptions {
|
|
|
20
20
|
parentAgentId?: string | null;
|
|
21
21
|
customerOrgId?: string | null;
|
|
22
22
|
agentVersion?: string | null;
|
|
23
|
+
description?: string | null;
|
|
23
24
|
context?: Record<string, unknown> | null;
|
|
24
25
|
isRegeneration?: boolean;
|
|
25
26
|
isEdit?: boolean;
|
|
26
27
|
editedMessageId?: string | null;
|
|
27
28
|
attachments?: Attachment[] | null;
|
|
29
|
+
messageSource?: string | null;
|
|
28
30
|
labels?: MessageLabel[] | null;
|
|
29
31
|
eventProperties?: Record<string, unknown> | null;
|
|
30
32
|
userProperties?: Record<string, unknown> | null;
|
|
@@ -74,6 +76,7 @@ interface TrackAiMessageOptions {
|
|
|
74
76
|
parentAgentId?: string | null;
|
|
75
77
|
customerOrgId?: string | null;
|
|
76
78
|
agentVersion?: string | null;
|
|
79
|
+
description?: string | null;
|
|
77
80
|
context?: Record<string, unknown> | null;
|
|
78
81
|
spanKind?: string | null;
|
|
79
82
|
eventProperties?: Record<string, unknown> | null;
|
|
@@ -100,6 +103,7 @@ interface TrackToolCallOptions {
|
|
|
100
103
|
parentAgentId?: string | null;
|
|
101
104
|
customerOrgId?: string | null;
|
|
102
105
|
agentVersion?: string | null;
|
|
106
|
+
description?: string | null;
|
|
103
107
|
context?: Record<string, unknown> | null;
|
|
104
108
|
errorMessage?: string | null;
|
|
105
109
|
env?: string | null;
|
|
@@ -121,6 +125,7 @@ interface TrackConversationOptions {
|
|
|
121
125
|
parentAgentId?: string | null;
|
|
122
126
|
customerOrgId?: string | null;
|
|
123
127
|
agentVersion?: string | null;
|
|
128
|
+
description?: string | null;
|
|
124
129
|
context?: Record<string, unknown> | null;
|
|
125
130
|
env?: string | null;
|
|
126
131
|
eventProperties?: Record<string, unknown> | null;
|
|
@@ -145,6 +150,7 @@ interface TrackEmbeddingOptions {
|
|
|
145
150
|
parentAgentId?: string | null;
|
|
146
151
|
customerOrgId?: string | null;
|
|
147
152
|
agentVersion?: string | null;
|
|
153
|
+
description?: string | null;
|
|
148
154
|
context?: Record<string, unknown> | null;
|
|
149
155
|
env?: string | null;
|
|
150
156
|
eventProperties?: Record<string, unknown> | null;
|
|
@@ -169,6 +175,7 @@ interface TrackSpanOptions {
|
|
|
169
175
|
parentAgentId?: string | null;
|
|
170
176
|
customerOrgId?: string | null;
|
|
171
177
|
agentVersion?: string | null;
|
|
178
|
+
description?: string | null;
|
|
172
179
|
context?: Record<string, unknown> | null;
|
|
173
180
|
env?: string | null;
|
|
174
181
|
eventProperties?: Record<string, unknown> | null;
|
|
@@ -187,6 +194,7 @@ interface TrackSessionEndOptions {
|
|
|
187
194
|
parentAgentId?: string | null;
|
|
188
195
|
customerOrgId?: string | null;
|
|
189
196
|
agentVersion?: string | null;
|
|
197
|
+
description?: string | null;
|
|
190
198
|
context?: Record<string, unknown> | null;
|
|
191
199
|
env?: string | null;
|
|
192
200
|
abandonmentTurn?: number | null;
|
|
@@ -207,6 +215,7 @@ interface TrackSessionEnrichmentOptions {
|
|
|
207
215
|
parentAgentId?: string | null;
|
|
208
216
|
customerOrgId?: string | null;
|
|
209
217
|
agentVersion?: string | null;
|
|
218
|
+
description?: string | null;
|
|
210
219
|
context?: Record<string, unknown> | null;
|
|
211
220
|
env?: string | null;
|
|
212
221
|
eventProperties?: Record<string, unknown> | null;
|
|
@@ -230,6 +239,7 @@ interface TrackScoreOptions {
|
|
|
230
239
|
parentAgentId?: string | null;
|
|
231
240
|
customerOrgId?: string | null;
|
|
232
241
|
agentVersion?: string | null;
|
|
242
|
+
description?: string | null;
|
|
233
243
|
context?: Record<string, unknown> | null;
|
|
234
244
|
env?: string | null;
|
|
235
245
|
eventProperties?: Record<string, unknown> | null;
|
|
@@ -238,5 +248,5 @@ interface TrackScoreOptions {
|
|
|
238
248
|
}
|
|
239
249
|
declare function trackScore(opts: TrackScoreOptions): void;
|
|
240
250
|
//#endregion
|
|
241
|
-
export { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION, TrackAiMessageOptions, TrackConversationOptions, TrackEmbeddingOptions, TrackScoreOptions, TrackSessionEndOptions, TrackSessionEnrichmentOptions, TrackSpanOptions, TrackToolCallOptions, TrackUserMessageOptions, serializeToJsonString, trackAiMessage, trackConversation, trackEmbedding, trackScore, trackSessionEnd, trackSessionEnrichment, trackSpan, trackToolCall, trackUserMessage };
|
|
251
|
+
export { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_DESCRIPTION, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MESSAGE_SOURCE, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION, TrackAiMessageOptions, TrackConversationOptions, TrackEmbeddingOptions, TrackScoreOptions, TrackSessionEndOptions, TrackSessionEnrichmentOptions, TrackSpanOptions, TrackToolCallOptions, TrackUserMessageOptions, serializeToJsonString, trackAiMessage, trackConversation, trackEmbedding, trackScore, trackSessionEnd, trackSessionEnrichment, trackSpan, trackToolCall, trackUserMessage };
|
|
242
252
|
//# sourceMappingURL=tracking.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking.d.ts","names":[],"sources":["../../src/core/tracking.ts"],"sourcesContent":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"tracking.d.ts","names":[],"sources":["../../src/core/tracking.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/core/tracking.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ValidationError } from "../exceptions.js";
|
|
2
2
|
import { getLogger } from "../utils/logger.js";
|
|
3
3
|
import { inferModelTier } from "../utils/model-tiers.js";
|
|
4
|
-
import { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION } from "./constants.js";
|
|
4
|
+
import { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_DESCRIPTION, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MESSAGE_SOURCE, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION } from "./constants.js";
|
|
5
5
|
import { PrivacyConfig, getTextFromLlmMessage, sanitizeStructuredContent } from "./privacy.js";
|
|
6
6
|
import { randomUUID } from "node:crypto";
|
|
7
7
|
|
|
@@ -58,6 +58,8 @@ function trackUserMessage(opts) {
|
|
|
58
58
|
if (opts.parentAgentId) properties[PROP_PARENT_AGENT_ID] = opts.parentAgentId;
|
|
59
59
|
if (opts.customerOrgId) properties[PROP_CUSTOMER_ORG_ID] = opts.customerOrgId;
|
|
60
60
|
if (opts.agentVersion) properties[PROP_AGENT_VERSION] = opts.agentVersion;
|
|
61
|
+
if (opts.description) properties[PROP_AGENT_DESCRIPTION] = opts.description;
|
|
62
|
+
if (opts.messageSource) properties[PROP_MESSAGE_SOURCE] = opts.messageSource;
|
|
61
63
|
if (opts.context) properties[PROP_CONTEXT] = serializeToJsonString(opts.context);
|
|
62
64
|
if (opts.isRegeneration) properties[PROP_IS_REGENERATION] = true;
|
|
63
65
|
if (opts.isEdit) properties[PROP_IS_EDIT] = true;
|
|
@@ -116,6 +118,7 @@ function trackAiMessage(opts) {
|
|
|
116
118
|
if (opts.parentAgentId) properties[PROP_PARENT_AGENT_ID] = opts.parentAgentId;
|
|
117
119
|
if (opts.customerOrgId) properties[PROP_CUSTOMER_ORG_ID] = opts.customerOrgId;
|
|
118
120
|
if (opts.agentVersion) properties[PROP_AGENT_VERSION] = opts.agentVersion;
|
|
121
|
+
if (opts.description) properties[PROP_AGENT_DESCRIPTION] = opts.description;
|
|
119
122
|
if (opts.context) properties[PROP_CONTEXT] = serializeToJsonString(opts.context);
|
|
120
123
|
if (opts.spanKind) properties[PROP_SPAN_KIND] = opts.spanKind;
|
|
121
124
|
if (opts.wasCopied) properties[PROP_WAS_COPIED] = true;
|
|
@@ -194,6 +197,7 @@ function trackToolCall(opts) {
|
|
|
194
197
|
if (opts.parentAgentId) properties[PROP_PARENT_AGENT_ID] = opts.parentAgentId;
|
|
195
198
|
if (opts.customerOrgId) properties[PROP_CUSTOMER_ORG_ID] = opts.customerOrgId;
|
|
196
199
|
if (opts.agentVersion) properties[PROP_AGENT_VERSION] = opts.agentVersion;
|
|
200
|
+
if (opts.description) properties[PROP_AGENT_DESCRIPTION] = opts.description;
|
|
197
201
|
if (opts.context) properties[PROP_CONTEXT] = serializeToJsonString(opts.context);
|
|
198
202
|
if (opts.errorMessage) properties[PROP_ERROR_MESSAGE] = opts.errorMessage;
|
|
199
203
|
if (opts.env) properties[PROP_ENV] = opts.env;
|
|
@@ -234,6 +238,7 @@ function trackConversation(opts) {
|
|
|
234
238
|
parentAgentId: opts.parentAgentId,
|
|
235
239
|
customerOrgId: opts.customerOrgId,
|
|
236
240
|
agentVersion: opts.agentVersion,
|
|
241
|
+
description: opts.description,
|
|
237
242
|
context: opts.context,
|
|
238
243
|
env: opts.env,
|
|
239
244
|
eventProperties: opts.eventProperties,
|
|
@@ -258,6 +263,7 @@ function trackConversation(opts) {
|
|
|
258
263
|
parentAgentId: opts.parentAgentId,
|
|
259
264
|
customerOrgId: opts.customerOrgId,
|
|
260
265
|
agentVersion: opts.agentVersion,
|
|
266
|
+
description: opts.description,
|
|
261
267
|
context: opts.context,
|
|
262
268
|
env: opts.env,
|
|
263
269
|
eventProperties: opts.eventProperties,
|
|
@@ -293,6 +299,7 @@ function trackEmbedding(opts) {
|
|
|
293
299
|
if (opts.parentAgentId) properties[PROP_PARENT_AGENT_ID] = opts.parentAgentId;
|
|
294
300
|
if (opts.customerOrgId) properties[PROP_CUSTOMER_ORG_ID] = opts.customerOrgId;
|
|
295
301
|
if (opts.agentVersion) properties[PROP_AGENT_VERSION] = opts.agentVersion;
|
|
302
|
+
if (opts.description) properties[PROP_AGENT_DESCRIPTION] = opts.description;
|
|
296
303
|
if (opts.context) properties[PROP_CONTEXT] = serializeToJsonString(opts.context);
|
|
297
304
|
if (opts.env) properties[PROP_ENV] = opts.env;
|
|
298
305
|
const event = {
|
|
@@ -333,6 +340,7 @@ function trackSpan(opts) {
|
|
|
333
340
|
if (opts.parentAgentId) properties[PROP_PARENT_AGENT_ID] = opts.parentAgentId;
|
|
334
341
|
if (opts.customerOrgId) properties[PROP_CUSTOMER_ORG_ID] = opts.customerOrgId;
|
|
335
342
|
if (opts.agentVersion) properties[PROP_AGENT_VERSION] = opts.agentVersion;
|
|
343
|
+
if (opts.description) properties[PROP_AGENT_DESCRIPTION] = opts.description;
|
|
336
344
|
if (opts.context) properties[PROP_CONTEXT] = serializeToJsonString(opts.context);
|
|
337
345
|
if (opts.env) properties[PROP_ENV] = opts.env;
|
|
338
346
|
let effectiveMode = pc.contentMode;
|
|
@@ -369,6 +377,7 @@ function trackSessionEnd(opts) {
|
|
|
369
377
|
if (opts.parentAgentId) properties[PROP_PARENT_AGENT_ID] = opts.parentAgentId;
|
|
370
378
|
if (opts.customerOrgId) properties[PROP_CUSTOMER_ORG_ID] = opts.customerOrgId;
|
|
371
379
|
if (opts.agentVersion) properties[PROP_AGENT_VERSION] = opts.agentVersion;
|
|
380
|
+
if (opts.description) properties[PROP_AGENT_DESCRIPTION] = opts.description;
|
|
372
381
|
if (opts.context) properties[PROP_CONTEXT] = serializeToJsonString(opts.context);
|
|
373
382
|
if (opts.env) properties[PROP_ENV] = opts.env;
|
|
374
383
|
if (opts.abandonmentTurn != null) properties[PROP_ABANDONMENT_TURN] = opts.abandonmentTurn;
|
|
@@ -403,6 +412,7 @@ function trackSessionEnrichment(opts) {
|
|
|
403
412
|
if (opts.parentAgentId) properties[PROP_PARENT_AGENT_ID] = opts.parentAgentId;
|
|
404
413
|
if (opts.customerOrgId) properties[PROP_CUSTOMER_ORG_ID] = opts.customerOrgId;
|
|
405
414
|
if (opts.agentVersion) properties[PROP_AGENT_VERSION] = opts.agentVersion;
|
|
415
|
+
if (opts.description) properties[PROP_AGENT_DESCRIPTION] = opts.description;
|
|
406
416
|
if (opts.context) properties[PROP_CONTEXT] = serializeToJsonString(opts.context);
|
|
407
417
|
if (opts.env) properties[PROP_ENV] = opts.env;
|
|
408
418
|
properties[PROP_ENRICHMENTS] = serializeToJsonString(typeof opts.enrichments.toDict === "function" ? opts.enrichments.toDict() : opts.enrichments);
|
|
@@ -441,6 +451,7 @@ function trackScore(opts) {
|
|
|
441
451
|
if (opts.parentAgentId) properties[PROP_PARENT_AGENT_ID] = opts.parentAgentId;
|
|
442
452
|
if (opts.customerOrgId) properties[PROP_CUSTOMER_ORG_ID] = opts.customerOrgId;
|
|
443
453
|
if (opts.agentVersion) properties[PROP_AGENT_VERSION] = opts.agentVersion;
|
|
454
|
+
if (opts.description) properties[PROP_AGENT_DESCRIPTION] = opts.description;
|
|
444
455
|
if (opts.context) properties[PROP_CONTEXT] = serializeToJsonString(opts.context);
|
|
445
456
|
if (opts.env) properties[PROP_ENV] = opts.env;
|
|
446
457
|
if (opts.comment != null) {
|
|
@@ -465,5 +476,5 @@ function trackScore(opts) {
|
|
|
465
476
|
}
|
|
466
477
|
|
|
467
478
|
//#endregion
|
|
468
|
-
export { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION, serializeToJsonString, trackAiMessage, trackConversation, trackEmbedding, trackScore, trackSessionEnd, trackSessionEnrichment, trackSpan, trackToolCall, trackUserMessage };
|
|
479
|
+
export { EVENT_AI_RESPONSE, EVENT_EMBEDDING, EVENT_SCORE, EVENT_SESSION_END, EVENT_SESSION_ENRICHMENT, EVENT_SPAN, EVENT_TOOL_CALL, EVENT_USER_MESSAGE, MAX_SERIALIZED_LENGTH, PROP_ABANDONMENT_TURN, PROP_AGENT_CHAIN, PROP_AGENT_DESCRIPTION, PROP_AGENT_ID, PROP_AGENT_VERSION, PROP_ATTACHMENTS, PROP_ATTACHMENT_COUNT, PROP_ATTACHMENT_TYPES, PROP_CACHE_CREATION_TOKENS, PROP_CACHE_READ_TOKENS, PROP_COMMENT, PROP_COMPONENT_TYPE, PROP_CONTEXT, PROP_COST_USD, PROP_CUSTOMER_ORG_ID, PROP_EDITED_MESSAGE_ID, PROP_EMBEDDING_DIMENSIONS, PROP_ENRICHMENTS, PROP_ENV, PROP_ERROR_MESSAGE, PROP_EVALUATION_SOURCE, PROP_FINISH_REASON, PROP_HAS_ATTACHMENTS, PROP_HAS_REASONING, PROP_IDLE_TIMEOUT_MINUTES, PROP_INPUT_STATE, PROP_INPUT_TOKENS, PROP_INVOCATION_ID, PROP_IS_EDIT, PROP_IS_ERROR, PROP_IS_REGENERATION, PROP_IS_STREAMING, PROP_LATENCY_MS, PROP_LOCALE, PROP_MAX_OUTPUT_TOKENS, PROP_MESSAGE_ID, PROP_MESSAGE_LABELS, PROP_MESSAGE_LABEL_MAP, PROP_MESSAGE_SOURCE, PROP_MODEL_NAME, PROP_MODEL_TIER, PROP_OUTPUT_STATE, PROP_OUTPUT_TOKENS, PROP_PARENT_AGENT_ID, PROP_PARENT_MESSAGE_ID, PROP_PARENT_SPAN_ID, PROP_PROMPT_ID, PROP_PROVIDER, PROP_QUALITY_SCORE, PROP_REASONING_CONTENT, PROP_REASONING_TOKENS, PROP_REQUEST_COMPLEXITY, PROP_ROOT_AGENT_NAME, PROP_RUNTIME, PROP_SCORE_NAME, PROP_SCORE_VALUE, PROP_SDK_VERSION, PROP_SENTIMENT_SCORE, PROP_SESSION_ID, PROP_SESSION_REPLAY_ID, PROP_SPAN_ID, PROP_SPAN_KIND, PROP_SPAN_NAME, PROP_SYSTEM_PROMPT, PROP_SYSTEM_PROMPT_LENGTH, PROP_TARGET_ID, PROP_TARGET_TYPE, PROP_TASK_FAILURE_REASON, PROP_TASK_FAILURE_TYPE, PROP_TEMPERATURE, PROP_TOOL_CALLS, PROP_TOOL_INPUT, PROP_TOOL_NAME, PROP_TOOL_OUTPUT, PROP_TOOL_SUCCESS, PROP_TOP_P, PROP_TOTAL_ATTACHMENT_SIZE, PROP_TOTAL_TOKENS, PROP_TRACE_ID, PROP_TTFB_MS, PROP_TURN_ID, PROP_WAS_CACHED, PROP_WAS_COPIED, SDK_RUNTIME, SDK_VERSION, serializeToJsonString, trackAiMessage, trackConversation, trackEmbedding, trackScore, trackSessionEnd, trackSessionEnrichment, trackSpan, trackToolCall, trackUserMessage };
|
|
469
480
|
//# sourceMappingURL=tracking.js.map
|