类型总览
@yingdao-ai/agent-observability 导出的所有类型。
配置类型
ObserverConfig
ts
type ObserverConfig = {
transport: Transport
}LangfuseDirectConfig
ts
type LangfuseDirectConfig = {
host: string
publicKey?: string
secretKey?: string
authHeaders?: (sessionId: string) => Record<string, string>
environment?: string
release?: string
version?: string
log?: LogFn
fetch?: typeof fetch
}输入类型
RunInput
ts
type RunInput = {
id: string
name: string
input?: unknown
userId?: string
tags?: string[]
metadata?: Record<string, unknown>
}GenerationInput
ts
type GenerationInput = {
model: string
input?: unknown
metadata?: Record<string, unknown>
name?: string
}ToolInput
ts
type ToolInput = {
id: string
name: string
input?: unknown
metadata?: Record<string, unknown>
}AgentContext
ts
type AgentContext = {
userId?: string
tags?: string[]
metadata?: Record<string, unknown>
}数据类型
TokenUsage
ts
type TokenUsage = {
input?: number
output?: number
total?: number
reasoning?: number
cache?: {
read?: number
write?: number
}
}ScoreSpec
ts
type ScoreSpec = {
name: string
value: string | number | boolean
dataType: "CATEGORICAL" | "NUMERIC" | "BOOLEAN"
comment?: string
}RedactRuleConfig
ts
type RedactRuleConfig = {
kind: "key" | "value"
name: string
pattern: string
flags?: string
replacement?: string
}Transport 接口
Transport
ts
type Transport = {
enabled(): boolean
environment(): string
startRun(input: RunInput): TransportRun | undefined
score(input: {
traceId: string
scores: ScoreSpec[]
sessionId: string
agent: string
environment: string
}): Promise<void>
flush(): Promise<void>
}TransportRun
ts
type TransportRun = {
startGeneration(input: GenerationInput): TransportGeneration
endGeneration(opts?: { output?: unknown; usage?: TokenUsage; cost?: number }): void
startTool(input: ToolInput): TransportTool
endTool(id: string, opts?: { output?: unknown; error?: string }): void
end(output?: unknown): void
setMeta(meta: Partial<RunInput>): void
}TransportGeneration
ts
type TransportGeneration = {
appendText(text: string): void
appendReasoning(text: string): void
end(opts?: { output?: unknown; usage?: TokenUsage; cost?: number }): void
}TransportTool
ts
type TransportTool = {
end(opts?: { output?: unknown; error?: string }): void
}工具函数类型
LogFn
ts
type LogFn = (event: string, data?: Record<string, unknown>) => void