{"version":3,"file":"datadog.d.cts","names":["BaseCallbackHandlerInput","BaseTracer","Run","Document","KVMap","DatadogLLMObsSpanKind","DatadogLLMObsIO","DatadogLLMObsSpan","DatadogLLMObsRequestBody","FormatDocument","Metadata","Record","DatadogLLMObsTracerFields","DatadogLLMObsTracer","Promise"],"sources":["../../../../src/experimental/callbacks/handlers/datadog.d.ts"],"sourcesContent":["import { BaseCallbackHandlerInput } from \"@langchain/core/callbacks/base\";\nimport { BaseTracer, Run } from \"@langchain/core/tracers/base\";\nimport { Document } from \"@langchain/core/documents\";\nimport { KVMap } from \"langsmith/schemas\";\nexport type DatadogLLMObsSpanKind = \"llm\" | \"workflow\" | \"agent\" | \"tool\" | \"task\" | \"embedding\" | \"retrieval\";\nexport type DatadogLLMObsIO = {\n    value: string;\n} | {\n    documents: {\n        text?: string;\n        id?: string;\n        name?: string;\n        score: string | number;\n    }[];\n} | {\n    messages: {\n        content: string;\n        role?: string;\n    }[];\n};\nexport interface DatadogLLMObsSpan {\n    span_id: string;\n    trace_id: string;\n    parent_id: string;\n    session_id?: string;\n    name: string;\n    start_ns: number;\n    duration: number;\n    error: number;\n    status: string;\n    tags?: string[];\n    meta: {\n        kind: DatadogLLMObsSpanKind;\n        model_name?: string;\n        model_provider?: string;\n        temperature?: string;\n        input: DatadogLLMObsIO;\n        output: DatadogLLMObsIO | undefined;\n    };\n    metrics: {\n        [key: string]: number;\n    };\n}\nexport interface DatadogLLMObsRequestBody {\n    data: {\n        type: \"span\";\n        attributes: {\n            ml_app: string;\n            tags: string[];\n            spans: DatadogLLMObsSpan[];\n            session_id?: string;\n        };\n    };\n}\nexport type FormatDocument<Metadata extends Record<string, any> = Record<string, any>> = (document: Document<Metadata>) => {\n    text: string;\n    id: string;\n    name: string;\n    score: number;\n};\nexport interface DatadogLLMObsTracerFields extends BaseCallbackHandlerInput {\n    mlApp: string;\n    userId?: string;\n    userHandle?: string;\n    sessionId?: string;\n    env?: string;\n    service?: string;\n    tags?: Record<string, string | undefined>;\n    ddApiKey?: string;\n    ddLLMObsEndpoint?: string;\n    formatDocument?: FormatDocument;\n}\nexport declare class DatadogLLMObsTracer extends BaseTracer implements DatadogLLMObsTracerFields {\n    name: string;\n    ddLLMObsEndpoint?: string;\n    protected endpoint: string;\n    protected headers: Record<string, string>;\n    mlApp: string;\n    sessionId?: string;\n    tags: Record<string, string | undefined>;\n    formatDocument?: FormatDocument;\n    constructor(fields: DatadogLLMObsTracerFields);\n    protected persistRun(_run: Run): Promise<void>;\n    protected convertRunToDDSpans(run: Run): DatadogLLMObsSpan[];\n    protected formatRequestBody(spans: DatadogLLMObsSpan[]): DatadogLLMObsRequestBody;\n    protected uuidToBigInt(uuid: string): string;\n    protected milisecondsToNanoseconds(ms: number): number;\n    protected toDatadogSpanKind(kind: string): DatadogLLMObsSpanKind | null;\n    protected transformInput(inputs: KVMap, spanKind: DatadogLLMObsSpanKind): DatadogLLMObsIO;\n    protected transformOutput(outputs: KVMap | undefined, spanKind: DatadogLLMObsSpanKind): {\n        output: DatadogLLMObsIO | undefined;\n        tokensMetadata: Record<string, number>;\n    };\n    protected langchainRunToDatadogLLMObsSpan(run: Run): DatadogLLMObsSpan | null;\n}\n//# sourceMappingURL=datadog.d.ts.map"],"mappings":";;;;;;KAIYK,qBAAAA;KACAC,eAAAA;EADAD,KAAAA,EAAAA,MAAAA;AACZ,CAAA,GAAYC;EAeKC,SAAAA,EAAAA;IAYHF,IAAAA,CAAAA,EAAAA,MAAAA;IAICC,EAAAA,CAAAA,EAAAA,MAAAA;IACCA,IAAAA,CAAAA,EAAAA,MAAAA;IAAe,KAAA,EAAA,MAAA,GAAA,MAAA;EAMdE,CAAAA,EAAAA;AAWjB,CAAA,GAAYC;EAAgCE,QAAAA,EAAAA;IAAsBA,OAAAA,EAAAA,MAAAA;IAA2CD,IAAAA,CAAAA,EAAAA,MAAAA;EAATP,CAAAA,EAAAA;AAAQ,CAAA;AAM3FS,UAxCAL,iBAAAA,CAwCyB;EAO/BI,OAAAA,EAAAA,MAAAA;EAGUF,QAAAA,EAAAA,MAAAA;EAV8BT,SAAAA,EAAAA,MAAAA;EAAwB,UAAA,CAAA,EAAA,MAAA;EAYtDa,IAAAA,EAAAA,MAAAA;EAIEF,QAAAA,EAAAA,MAAAA;EAGbA,QAAAA,EAAAA,MAAAA;EACWF,KAAAA,EAAAA,MAAAA;EACGG,MAAAA,EAAAA,MAAAA;EACOV,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EAAMY,IAAAA,EAAAA;IACEZ,IAAAA,EAnDzBG,qBAmDyBH;IAAMK,UAAAA,CAAAA,EAAAA,MAAAA;IACNA,cAAAA,CAAAA,EAAAA,MAAAA;IAAsBC,WAAAA,CAAAA,EAAAA,MAAAA;IAGdH,KAAAA,EAnDhCC,eAmDgCD;IACVD,MAAAA,EAnDrBE,eAmDqBF,GAAAA,SAAAA;EAAiBC,CAAAA;EAAwBC,OAAAA,EAAAA;IACvCF,CAAAA,GAAAA,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA;EAA6BC,CAAAA;;AAE5CM,UAhDPH,wBAAAA,CAgDOG;EAE2BT,IAAAA,EAAAA;IAAMK,IAAAA,EAAAA,MAAAA;IArBRN,UAAAA,EAAAA;MAAsBW,MAAAA,EAAAA,MAAAA;MAAyB,IAAA,EAAA,MAAA,EAAA;aAvB7EL;;;;;KAKPE,gCAAgCE,sBAAsBA,kCAAkCR,SAASO;;;;;;UAM5FE,yBAAAA,SAAkCZ;;;;;;;SAOxCW;;;mBAGUF;;cAEAI,mBAAAA,SAA4BZ,UAAAA,YAAsBW;;;;qBAIhDD;;;QAGbA;mBACWF;sBACGG;6BACOV,MAAMY;qCACEZ,MAAMK;qCACNA,sBAAsBC;;;6CAGdH;mCACVD,iBAAiBC,wBAAwBC;qCACvCF,6BAA6BC;YACpDC;oBACQK;;iDAE2BT,MAAMK"}