observability-toolkit 1.8.5 → 2.0.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/README.md +126 -5
- package/dist/backends/index.d.ts +163 -0
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +57 -0
- package/dist/backends/index.js.map +1 -1
- package/dist/backends/index.test.js +55 -1
- package/dist/backends/index.test.js.map +1 -1
- package/dist/backends/local-jsonl.d.ts +30 -0
- package/dist/backends/local-jsonl.d.ts.map +1 -1
- package/dist/backends/local-jsonl.js +912 -550
- package/dist/backends/local-jsonl.js.map +1 -1
- package/dist/backends/signoz-api-rate-limiter.test.js +2 -1
- package/dist/backends/signoz-api-rate-limiter.test.js.map +1 -1
- package/dist/backends/signoz-api.d.ts +16 -2
- package/dist/backends/signoz-api.d.ts.map +1 -1
- package/dist/backends/signoz-api.js +650 -534
- package/dist/backends/signoz-api.js.map +1 -1
- package/dist/backends/signoz-api.test.js +6 -5
- package/dist/backends/signoz-api.test.js.map +1 -1
- package/dist/lib/agent-as-judge.d.ts +388 -0
- package/dist/lib/agent-as-judge.d.ts.map +1 -0
- package/dist/lib/agent-as-judge.js +740 -0
- package/dist/lib/agent-as-judge.js.map +1 -0
- package/dist/lib/agent-as-judge.test.d.ts +5 -0
- package/dist/lib/agent-as-judge.test.d.ts.map +1 -0
- package/dist/lib/agent-as-judge.test.js +816 -0
- package/dist/lib/agent-as-judge.test.js.map +1 -0
- package/dist/lib/cache.d.ts +15 -2
- package/dist/lib/cache.d.ts.map +1 -1
- package/dist/lib/cache.js +16 -2
- package/dist/lib/cache.js.map +1 -1
- package/dist/lib/circuit-breaker.d.ts +18 -0
- package/dist/lib/circuit-breaker.d.ts.map +1 -1
- package/dist/lib/circuit-breaker.js +41 -8
- package/dist/lib/circuit-breaker.js.map +1 -1
- package/dist/lib/confident-export.d.ts +101 -0
- package/dist/lib/confident-export.d.ts.map +1 -0
- package/dist/lib/confident-export.js +393 -0
- package/dist/lib/confident-export.js.map +1 -0
- package/dist/lib/confident-export.test.d.ts +7 -0
- package/dist/lib/confident-export.test.d.ts.map +1 -0
- package/dist/lib/confident-export.test.js +835 -0
- package/dist/lib/confident-export.test.js.map +1 -0
- package/dist/lib/constants.d.ts +75 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +104 -1
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/datadog-export.d.ts +156 -0
- package/dist/lib/datadog-export.d.ts.map +1 -0
- package/dist/lib/datadog-export.js +464 -0
- package/dist/lib/datadog-export.js.map +1 -0
- package/dist/lib/datadog-export.test.d.ts +14 -0
- package/dist/lib/datadog-export.test.d.ts.map +1 -0
- package/dist/lib/datadog-export.test.js +890 -0
- package/dist/lib/datadog-export.test.js.map +1 -0
- package/dist/lib/evaluation-hooks.d.ts +49 -0
- package/dist/lib/evaluation-hooks.d.ts.map +1 -0
- package/dist/lib/evaluation-hooks.js +488 -0
- package/dist/lib/evaluation-hooks.js.map +1 -0
- package/dist/lib/evaluation-hooks.test.d.ts +8 -0
- package/dist/lib/evaluation-hooks.test.d.ts.map +1 -0
- package/dist/lib/evaluation-hooks.test.js +624 -0
- package/dist/lib/evaluation-hooks.test.js.map +1 -0
- package/dist/lib/export-utils.d.ts +99 -0
- package/dist/lib/export-utils.d.ts.map +1 -0
- package/dist/lib/export-utils.js +238 -0
- package/dist/lib/export-utils.js.map +1 -0
- package/dist/lib/export-utils.test.d.ts +5 -0
- package/dist/lib/export-utils.test.d.ts.map +1 -0
- package/dist/lib/export-utils.test.js +193 -0
- package/dist/lib/export-utils.test.js.map +1 -0
- package/dist/lib/file-utils.d.ts +17 -2
- package/dist/lib/file-utils.d.ts.map +1 -1
- package/dist/lib/file-utils.js +24 -5
- package/dist/lib/file-utils.js.map +1 -1
- package/dist/lib/file-utils.test.js +30 -0
- package/dist/lib/file-utils.test.js.map +1 -1
- package/dist/lib/histogram.d.ts +119 -0
- package/dist/lib/histogram.d.ts.map +1 -0
- package/dist/lib/histogram.js +202 -0
- package/dist/lib/histogram.js.map +1 -0
- package/dist/lib/histogram.test.d.ts +5 -0
- package/dist/lib/histogram.test.d.ts.map +1 -0
- package/dist/lib/histogram.test.js +381 -0
- package/dist/lib/histogram.test.js.map +1 -0
- package/dist/lib/instrumentation.d.ts +153 -0
- package/dist/lib/instrumentation.d.ts.map +1 -0
- package/dist/lib/instrumentation.integration.test.d.ts +2 -0
- package/dist/lib/instrumentation.integration.test.d.ts.map +1 -0
- package/dist/lib/instrumentation.integration.test.js +589 -0
- package/dist/lib/instrumentation.integration.test.js.map +1 -0
- package/dist/lib/instrumentation.js +520 -0
- package/dist/lib/instrumentation.js.map +1 -0
- package/dist/lib/instrumentation.test.d.ts +2 -0
- package/dist/lib/instrumentation.test.d.ts.map +1 -0
- package/dist/lib/instrumentation.test.js +821 -0
- package/dist/lib/instrumentation.test.js.map +1 -0
- package/dist/lib/langfuse-export.d.ts +125 -0
- package/dist/lib/langfuse-export.d.ts.map +1 -0
- package/dist/lib/langfuse-export.js +367 -0
- package/dist/lib/langfuse-export.js.map +1 -0
- package/dist/lib/langfuse-export.test.d.ts +7 -0
- package/dist/lib/langfuse-export.test.d.ts.map +1 -0
- package/dist/lib/langfuse-export.test.js +1007 -0
- package/dist/lib/langfuse-export.test.js.map +1 -0
- package/dist/lib/llm-as-judge.d.ts +657 -0
- package/dist/lib/llm-as-judge.d.ts.map +1 -0
- package/dist/lib/llm-as-judge.js +1397 -0
- package/dist/lib/llm-as-judge.js.map +1 -0
- package/dist/lib/llm-as-judge.test.d.ts +2 -0
- package/dist/lib/llm-as-judge.test.d.ts.map +1 -0
- package/dist/lib/llm-as-judge.test.js +2409 -0
- package/dist/lib/llm-as-judge.test.js.map +1 -0
- package/dist/lib/logger.d.ts +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/metrics.d.ts +62 -0
- package/dist/lib/metrics.d.ts.map +1 -0
- package/dist/lib/metrics.js +166 -0
- package/dist/lib/metrics.js.map +1 -0
- package/dist/lib/metrics.test.d.ts +5 -0
- package/dist/lib/metrics.test.d.ts.map +1 -0
- package/dist/lib/metrics.test.js +189 -0
- package/dist/lib/metrics.test.js.map +1 -0
- package/dist/lib/parse-stats.d.ts +119 -0
- package/dist/lib/parse-stats.d.ts.map +1 -0
- package/dist/lib/parse-stats.js +206 -0
- package/dist/lib/parse-stats.js.map +1 -0
- package/dist/lib/parse-stats.test.d.ts +5 -0
- package/dist/lib/parse-stats.test.d.ts.map +1 -0
- package/dist/lib/parse-stats.test.js +283 -0
- package/dist/lib/parse-stats.test.js.map +1 -0
- package/dist/lib/phoenix-export.d.ts +109 -0
- package/dist/lib/phoenix-export.d.ts.map +1 -0
- package/dist/lib/phoenix-export.js +429 -0
- package/dist/lib/phoenix-export.js.map +1 -0
- package/dist/lib/phoenix-export.test.d.ts +11 -0
- package/dist/lib/phoenix-export.test.d.ts.map +1 -0
- package/dist/lib/phoenix-export.test.js +725 -0
- package/dist/lib/phoenix-export.test.js.map +1 -0
- package/dist/lib/server-utils.d.ts +6 -1
- package/dist/lib/server-utils.d.ts.map +1 -1
- package/dist/lib/server-utils.js +9 -1
- package/dist/lib/server-utils.js.map +1 -1
- package/dist/lib/shared-schemas.d.ts +6 -0
- package/dist/lib/shared-schemas.d.ts.map +1 -1
- package/dist/lib/shared-schemas.js +11 -4
- package/dist/lib/shared-schemas.js.map +1 -1
- package/dist/lib/verification-events.d.ts +100 -0
- package/dist/lib/verification-events.d.ts.map +1 -0
- package/dist/lib/verification-events.js +162 -0
- package/dist/lib/verification-events.js.map +1 -0
- package/dist/lib/verification-events.test.d.ts +5 -0
- package/dist/lib/verification-events.test.d.ts.map +1 -0
- package/dist/lib/verification-events.test.js +193 -0
- package/dist/lib/verification-events.test.js.map +1 -0
- package/dist/server.d.ts +5 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +77 -21
- package/dist/server.js.map +1 -1
- package/dist/tools/context-stats.d.ts.map +1 -1
- package/dist/tools/context-stats.js +6 -8
- package/dist/tools/context-stats.js.map +1 -1
- package/dist/tools/export-confident.d.ts +145 -0
- package/dist/tools/export-confident.d.ts.map +1 -0
- package/dist/tools/export-confident.js +134 -0
- package/dist/tools/export-confident.js.map +1 -0
- package/dist/tools/export-confident.test.d.ts +7 -0
- package/dist/tools/export-confident.test.d.ts.map +1 -0
- package/dist/tools/export-confident.test.js +332 -0
- package/dist/tools/export-confident.test.js.map +1 -0
- package/dist/tools/export-datadog.d.ts +160 -0
- package/dist/tools/export-datadog.d.ts.map +1 -0
- package/dist/tools/export-datadog.js +160 -0
- package/dist/tools/export-datadog.js.map +1 -0
- package/dist/tools/export-datadog.test.d.ts +8 -0
- package/dist/tools/export-datadog.test.d.ts.map +1 -0
- package/dist/tools/export-datadog.test.js +419 -0
- package/dist/tools/export-datadog.test.js.map +1 -0
- package/dist/tools/export-langfuse.d.ts +137 -0
- package/dist/tools/export-langfuse.d.ts.map +1 -0
- package/dist/tools/export-langfuse.js +131 -0
- package/dist/tools/export-langfuse.js.map +1 -0
- package/dist/tools/export-langfuse.test.d.ts +7 -0
- package/dist/tools/export-langfuse.test.d.ts.map +1 -0
- package/dist/tools/export-langfuse.test.js +303 -0
- package/dist/tools/export-langfuse.test.js.map +1 -0
- package/dist/tools/export-phoenix.d.ts +145 -0
- package/dist/tools/export-phoenix.d.ts.map +1 -0
- package/dist/tools/export-phoenix.js +135 -0
- package/dist/tools/export-phoenix.js.map +1 -0
- package/dist/tools/export-phoenix.test.d.ts +7 -0
- package/dist/tools/export-phoenix.test.d.ts.map +1 -0
- package/dist/tools/export-phoenix.test.js +316 -0
- package/dist/tools/export-phoenix.test.js.map +1 -0
- package/dist/tools/health-check.d.ts +26 -0
- package/dist/tools/health-check.d.ts.map +1 -1
- package/dist/tools/health-check.js +36 -7
- package/dist/tools/health-check.js.map +1 -1
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inject-evaluations.d.ts +1315 -0
- package/dist/tools/inject-evaluations.d.ts.map +1 -0
- package/dist/tools/inject-evaluations.js +121 -0
- package/dist/tools/inject-evaluations.js.map +1 -0
- package/dist/tools/inject-evaluations.test.d.ts +5 -0
- package/dist/tools/inject-evaluations.test.d.ts.map +1 -0
- package/dist/tools/inject-evaluations.test.js +359 -0
- package/dist/tools/inject-evaluations.test.js.map +1 -0
- package/dist/tools/query-evaluations.d.ts +25 -4
- package/dist/tools/query-evaluations.d.ts.map +1 -1
- package/dist/tools/query-evaluations.js +10 -0
- package/dist/tools/query-evaluations.js.map +1 -1
- package/dist/tools/query-llm-events.js +2 -2
- package/dist/tools/query-llm-events.js.map +1 -1
- package/dist/tools/query-logs.d.ts +8 -8
- package/dist/tools/query-logs.js +3 -3
- package/dist/tools/query-logs.js.map +1 -1
- package/dist/tools/query-metrics.d.ts +4 -4
- package/dist/tools/query-metrics.js +2 -2
- package/dist/tools/query-metrics.js.map +1 -1
- package/dist/tools/query-traces.d.ts +8 -8
- package/dist/tools/query-verifications.d.ts +111 -0
- package/dist/tools/query-verifications.d.ts.map +1 -0
- package/dist/tools/query-verifications.js +101 -0
- package/dist/tools/query-verifications.js.map +1 -0
- package/dist/tools/query-verifications.test.d.ts +5 -0
- package/dist/tools/query-verifications.test.d.ts.map +1 -0
- package/dist/tools/query-verifications.test.js +156 -0
- package/dist/tools/query-verifications.test.js.map +1 -0
- package/dist/types/evaluation-hooks.d.ts +176 -0
- package/dist/types/evaluation-hooks.d.ts.map +1 -0
- package/dist/types/evaluation-hooks.js +49 -0
- package/dist/types/evaluation-hooks.js.map +1 -0
- package/package.json +10 -2
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Export evaluations to Datadog LLM Observability via HTTP API
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for exporting gen_ai.evaluation.result events to Datadog
|
|
5
|
+
* using two-phase export (spans + eval metrics).
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { type DatadogConfig } from '../lib/datadog-export.js';
|
|
9
|
+
import type { TelemetryBackend } from '../backends/index.js';
|
|
10
|
+
export declare const exportDatadogSchema: z.ZodObject<{
|
|
11
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
12
|
+
batchSize: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
dryRun: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
14
|
+
mlApp: z.ZodOptional<z.ZodString>;
|
|
15
|
+
site: z.ZodOptional<z.ZodEnum<["datadoghq.com", "us3.datadoghq.com", "us5.datadoghq.com", "datadoghq.eu", "ap1.datadoghq.com"]>>;
|
|
16
|
+
exportSpans: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
17
|
+
exportEvals: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
18
|
+
metricType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["categorical", "score", "boolean", "auto"]>>>;
|
|
19
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
20
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
21
|
+
endDate: z.ZodOptional<z.ZodString>;
|
|
22
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
23
|
+
traceId: z.ZodOptional<z.ZodString>;
|
|
24
|
+
evaluationName: z.ZodOptional<z.ZodString>;
|
|
25
|
+
scoreMin: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
scoreMax: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
scoreLabel: z.ZodOptional<z.ZodString>;
|
|
28
|
+
evaluatorType: z.ZodOptional<z.ZodEnum<["llm", "human", "rule", "classifier"]>>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
limit: number;
|
|
31
|
+
dryRun: boolean;
|
|
32
|
+
exportSpans: boolean;
|
|
33
|
+
exportEvals: boolean;
|
|
34
|
+
metricType: "boolean" | "auto" | "score" | "categorical";
|
|
35
|
+
traceId?: string | undefined;
|
|
36
|
+
sessionId?: string | undefined;
|
|
37
|
+
evaluationName?: string | undefined;
|
|
38
|
+
scoreLabel?: string | undefined;
|
|
39
|
+
scoreMin?: number | undefined;
|
|
40
|
+
scoreMax?: number | undefined;
|
|
41
|
+
evaluatorType?: "llm" | "human" | "rule" | "classifier" | undefined;
|
|
42
|
+
endDate?: string | undefined;
|
|
43
|
+
startDate?: string | undefined;
|
|
44
|
+
batchSize?: number | undefined;
|
|
45
|
+
apiKey?: string | undefined;
|
|
46
|
+
site?: "datadoghq.com" | "us3.datadoghq.com" | "us5.datadoghq.com" | "datadoghq.eu" | "ap1.datadoghq.com" | undefined;
|
|
47
|
+
mlApp?: string | undefined;
|
|
48
|
+
}, {
|
|
49
|
+
limit?: number | undefined;
|
|
50
|
+
traceId?: string | undefined;
|
|
51
|
+
sessionId?: string | undefined;
|
|
52
|
+
evaluationName?: string | undefined;
|
|
53
|
+
scoreLabel?: string | undefined;
|
|
54
|
+
scoreMin?: number | undefined;
|
|
55
|
+
scoreMax?: number | undefined;
|
|
56
|
+
evaluatorType?: "llm" | "human" | "rule" | "classifier" | undefined;
|
|
57
|
+
endDate?: string | undefined;
|
|
58
|
+
startDate?: string | undefined;
|
|
59
|
+
dryRun?: boolean | undefined;
|
|
60
|
+
batchSize?: number | undefined;
|
|
61
|
+
apiKey?: string | undefined;
|
|
62
|
+
site?: "datadoghq.com" | "us3.datadoghq.com" | "us5.datadoghq.com" | "datadoghq.eu" | "ap1.datadoghq.com" | undefined;
|
|
63
|
+
mlApp?: string | undefined;
|
|
64
|
+
exportSpans?: boolean | undefined;
|
|
65
|
+
exportEvals?: boolean | undefined;
|
|
66
|
+
metricType?: "boolean" | "auto" | "score" | "categorical" | undefined;
|
|
67
|
+
}>;
|
|
68
|
+
export type ExportDatadogInput = z.input<typeof exportDatadogSchema>;
|
|
69
|
+
/** Response from export operation */
|
|
70
|
+
export interface ExportDatadogResponse {
|
|
71
|
+
success: boolean;
|
|
72
|
+
dryRun: boolean;
|
|
73
|
+
evaluationsFound: number;
|
|
74
|
+
evaluationsExported: number;
|
|
75
|
+
/** Spans exported (Phase 1) */
|
|
76
|
+
spansExported: number;
|
|
77
|
+
/** Eval metrics exported (Phase 2) */
|
|
78
|
+
evalMetricsExported: number;
|
|
79
|
+
batches: number;
|
|
80
|
+
failed: number;
|
|
81
|
+
durationMs: number;
|
|
82
|
+
errors?: string[];
|
|
83
|
+
preview?: Array<{
|
|
84
|
+
traceId?: string;
|
|
85
|
+
evaluationName: string;
|
|
86
|
+
scoreValue?: number;
|
|
87
|
+
scoreLabel?: string;
|
|
88
|
+
metricType: string;
|
|
89
|
+
}>;
|
|
90
|
+
}
|
|
91
|
+
export interface ExportDatadogOptions {
|
|
92
|
+
localBackend?: TelemetryBackend;
|
|
93
|
+
configOverrides?: Partial<DatadogConfig>;
|
|
94
|
+
skipExport?: boolean;
|
|
95
|
+
}
|
|
96
|
+
export declare function exportDatadog(rawInput: ExportDatadogInput, options?: ExportDatadogOptions): Promise<ExportDatadogResponse>;
|
|
97
|
+
export declare const exportDatadogTool: {
|
|
98
|
+
name: string;
|
|
99
|
+
description: string;
|
|
100
|
+
inputSchema: z.ZodObject<{
|
|
101
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
102
|
+
batchSize: z.ZodOptional<z.ZodNumber>;
|
|
103
|
+
dryRun: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
104
|
+
mlApp: z.ZodOptional<z.ZodString>;
|
|
105
|
+
site: z.ZodOptional<z.ZodEnum<["datadoghq.com", "us3.datadoghq.com", "us5.datadoghq.com", "datadoghq.eu", "ap1.datadoghq.com"]>>;
|
|
106
|
+
exportSpans: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
107
|
+
exportEvals: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
108
|
+
metricType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["categorical", "score", "boolean", "auto"]>>>;
|
|
109
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
110
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
111
|
+
endDate: z.ZodOptional<z.ZodString>;
|
|
112
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
113
|
+
traceId: z.ZodOptional<z.ZodString>;
|
|
114
|
+
evaluationName: z.ZodOptional<z.ZodString>;
|
|
115
|
+
scoreMin: z.ZodOptional<z.ZodNumber>;
|
|
116
|
+
scoreMax: z.ZodOptional<z.ZodNumber>;
|
|
117
|
+
scoreLabel: z.ZodOptional<z.ZodString>;
|
|
118
|
+
evaluatorType: z.ZodOptional<z.ZodEnum<["llm", "human", "rule", "classifier"]>>;
|
|
119
|
+
}, "strip", z.ZodTypeAny, {
|
|
120
|
+
limit: number;
|
|
121
|
+
dryRun: boolean;
|
|
122
|
+
exportSpans: boolean;
|
|
123
|
+
exportEvals: boolean;
|
|
124
|
+
metricType: "boolean" | "auto" | "score" | "categorical";
|
|
125
|
+
traceId?: string | undefined;
|
|
126
|
+
sessionId?: string | undefined;
|
|
127
|
+
evaluationName?: string | undefined;
|
|
128
|
+
scoreLabel?: string | undefined;
|
|
129
|
+
scoreMin?: number | undefined;
|
|
130
|
+
scoreMax?: number | undefined;
|
|
131
|
+
evaluatorType?: "llm" | "human" | "rule" | "classifier" | undefined;
|
|
132
|
+
endDate?: string | undefined;
|
|
133
|
+
startDate?: string | undefined;
|
|
134
|
+
batchSize?: number | undefined;
|
|
135
|
+
apiKey?: string | undefined;
|
|
136
|
+
site?: "datadoghq.com" | "us3.datadoghq.com" | "us5.datadoghq.com" | "datadoghq.eu" | "ap1.datadoghq.com" | undefined;
|
|
137
|
+
mlApp?: string | undefined;
|
|
138
|
+
}, {
|
|
139
|
+
limit?: number | undefined;
|
|
140
|
+
traceId?: string | undefined;
|
|
141
|
+
sessionId?: string | undefined;
|
|
142
|
+
evaluationName?: string | undefined;
|
|
143
|
+
scoreLabel?: string | undefined;
|
|
144
|
+
scoreMin?: number | undefined;
|
|
145
|
+
scoreMax?: number | undefined;
|
|
146
|
+
evaluatorType?: "llm" | "human" | "rule" | "classifier" | undefined;
|
|
147
|
+
endDate?: string | undefined;
|
|
148
|
+
startDate?: string | undefined;
|
|
149
|
+
dryRun?: boolean | undefined;
|
|
150
|
+
batchSize?: number | undefined;
|
|
151
|
+
apiKey?: string | undefined;
|
|
152
|
+
site?: "datadoghq.com" | "us3.datadoghq.com" | "us5.datadoghq.com" | "datadoghq.eu" | "ap1.datadoghq.com" | undefined;
|
|
153
|
+
mlApp?: string | undefined;
|
|
154
|
+
exportSpans?: boolean | undefined;
|
|
155
|
+
exportEvals?: boolean | undefined;
|
|
156
|
+
metricType?: "boolean" | "auto" | "score" | "categorical" | undefined;
|
|
157
|
+
}>;
|
|
158
|
+
handler: typeof exportDatadog;
|
|
159
|
+
};
|
|
160
|
+
//# sourceMappingURL=export-datadog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-datadog.d.ts","sourceRoot":"","sources":["../../src/tools/export-datadog.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAIL,KAAK,aAAa,EAGnB,MAAM,0BAA0B,CAAC;AAWlC,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAY5E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,qCAAqC;AACrC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAGD,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAkHhC;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK7B,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Export evaluations to Datadog LLM Observability via HTTP API
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for exporting gen_ai.evaluation.result events to Datadog
|
|
5
|
+
* using two-phase export (spans + eval metrics).
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { MultiDirectoryBackend } from '../backends/local-jsonl.js';
|
|
9
|
+
import { validateDatadogConfig, exportToDatadog, inferMetricType, } from '../lib/datadog-export.js';
|
|
10
|
+
import { validateLimit, validateDateRange, InputValidationError, } from '../lib/input-validator.js';
|
|
11
|
+
import { sessionSchema, traceIdSchema, dateRangeSchema, } from '../lib/shared-schemas.js';
|
|
12
|
+
import { MAX_EXPORT_LIMIT, EXPORT_PREVIEW_LIMIT } from '../lib/constants.js';
|
|
13
|
+
/** Valid Datadog sites */
|
|
14
|
+
const DATADOG_SITES = [
|
|
15
|
+
'datadoghq.com',
|
|
16
|
+
'us3.datadoghq.com',
|
|
17
|
+
'us5.datadoghq.com',
|
|
18
|
+
'datadoghq.eu',
|
|
19
|
+
'ap1.datadoghq.com',
|
|
20
|
+
];
|
|
21
|
+
export const exportDatadogSchema = z.object({
|
|
22
|
+
// Filters (consistent with other export tools)
|
|
23
|
+
evaluationName: z.string().optional().describe('Evaluation name (substring)'),
|
|
24
|
+
scoreMin: z.number().optional().describe('Min score threshold'),
|
|
25
|
+
scoreMax: z.number().optional().describe('Max score threshold'),
|
|
26
|
+
scoreLabel: z.string().optional().describe('Score label (exact)'),
|
|
27
|
+
evaluatorType: z.enum(['llm', 'human', 'rule', 'classifier']).optional().describe('Evaluator type'),
|
|
28
|
+
...traceIdSchema,
|
|
29
|
+
...sessionSchema,
|
|
30
|
+
...dateRangeSchema,
|
|
31
|
+
// Export options (consistent with other export tools)
|
|
32
|
+
limit: z.number().max(MAX_EXPORT_LIMIT).optional().default(1000).describe('Max evaluations to export (max 10000)'),
|
|
33
|
+
batchSize: z.number().min(1).max(1000).optional().describe('Batch size for export (default 100)'),
|
|
34
|
+
dryRun: z.boolean().optional().default(false).describe('Preview export without sending'),
|
|
35
|
+
// Datadog specific
|
|
36
|
+
mlApp: z.string()
|
|
37
|
+
.max(256)
|
|
38
|
+
.regex(/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/, 'Invalid application name format (alphanumeric, _, ., - allowed)')
|
|
39
|
+
.optional()
|
|
40
|
+
.describe('LLM application name (DD_LLMOBS_ML_APP)'),
|
|
41
|
+
site: z.enum(DATADOG_SITES).optional().describe('Datadog site (DD_SITE)'),
|
|
42
|
+
exportSpans: z.boolean().optional().default(true).describe('Export as spans'),
|
|
43
|
+
exportEvals: z.boolean().optional().default(true).describe('Export as eval metrics'),
|
|
44
|
+
metricType: z.enum(['categorical', 'score', 'boolean', 'auto']).optional().default('auto')
|
|
45
|
+
.describe('Force metric type (default: auto-detect)'),
|
|
46
|
+
// Config overrides
|
|
47
|
+
apiKey: z.string().optional().describe('Override DD_API_KEY'),
|
|
48
|
+
});
|
|
49
|
+
export async function exportDatadog(rawInput, options) {
|
|
50
|
+
try {
|
|
51
|
+
const input = exportDatadogSchema.parse(rawInput);
|
|
52
|
+
// Validate inputs
|
|
53
|
+
const validatedLimit = Math.min(validateLimit(input.limit), MAX_EXPORT_LIMIT);
|
|
54
|
+
// Validate date range if provided
|
|
55
|
+
if (input.startDate || input.endDate) {
|
|
56
|
+
validateDateRange(input.startDate, input.endDate);
|
|
57
|
+
}
|
|
58
|
+
// Validate score range
|
|
59
|
+
if (input.scoreMin !== undefined && input.scoreMax !== undefined) {
|
|
60
|
+
if (input.scoreMin > input.scoreMax) {
|
|
61
|
+
throw new Error(`Invalid score range: scoreMin (${input.scoreMin}) cannot exceed scoreMax (${input.scoreMax})`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Build query options
|
|
65
|
+
const queryOptions = {
|
|
66
|
+
evaluationName: input.evaluationName,
|
|
67
|
+
scoreMin: input.scoreMin,
|
|
68
|
+
scoreMax: input.scoreMax,
|
|
69
|
+
scoreLabel: input.scoreLabel,
|
|
70
|
+
evaluatorType: input.evaluatorType,
|
|
71
|
+
traceId: input.traceId,
|
|
72
|
+
sessionId: input.sessionId,
|
|
73
|
+
startDate: input.startDate,
|
|
74
|
+
endDate: input.endDate,
|
|
75
|
+
limit: validatedLimit,
|
|
76
|
+
};
|
|
77
|
+
// Query evaluations from local backend
|
|
78
|
+
const local = options?.localBackend ?? new MultiDirectoryBackend();
|
|
79
|
+
const evaluations = await local.queryEvaluations(queryOptions);
|
|
80
|
+
// Handle dry run
|
|
81
|
+
if (input.dryRun) {
|
|
82
|
+
return {
|
|
83
|
+
success: true,
|
|
84
|
+
dryRun: true,
|
|
85
|
+
evaluationsFound: evaluations.length,
|
|
86
|
+
evaluationsExported: 0,
|
|
87
|
+
spansExported: 0,
|
|
88
|
+
evalMetricsExported: 0,
|
|
89
|
+
batches: 0,
|
|
90
|
+
failed: 0,
|
|
91
|
+
durationMs: 0,
|
|
92
|
+
preview: evaluations.slice(0, EXPORT_PREVIEW_LIMIT).map(e => ({
|
|
93
|
+
traceId: e.traceId,
|
|
94
|
+
evaluationName: e.evaluationName,
|
|
95
|
+
scoreValue: e.scoreValue,
|
|
96
|
+
scoreLabel: e.scoreLabel,
|
|
97
|
+
metricType: input.metricType === 'auto' ? inferMetricType(e) : input.metricType,
|
|
98
|
+
})),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
// Validate Datadog config (will throw if invalid)
|
|
102
|
+
// Optimize batch size - don't use larger batch than evaluation count
|
|
103
|
+
const optimalBatchSize = input.batchSize
|
|
104
|
+
? Math.min(input.batchSize, evaluations.length || 1)
|
|
105
|
+
: undefined;
|
|
106
|
+
const config = validateDatadogConfig({
|
|
107
|
+
apiKey: input.apiKey,
|
|
108
|
+
site: input.site,
|
|
109
|
+
mlApp: input.mlApp,
|
|
110
|
+
batchSize: optimalBatchSize,
|
|
111
|
+
exportSpans: input.exportSpans,
|
|
112
|
+
exportEvals: input.exportEvals,
|
|
113
|
+
metricType: input.metricType,
|
|
114
|
+
...options?.configOverrides,
|
|
115
|
+
});
|
|
116
|
+
// Skip actual export if requested (for testing)
|
|
117
|
+
if (options?.skipExport) {
|
|
118
|
+
const expectedSpans = config.exportSpans ? evaluations.length : 0;
|
|
119
|
+
const expectedEvals = config.exportEvals ? evaluations.length : 0;
|
|
120
|
+
return {
|
|
121
|
+
success: true,
|
|
122
|
+
dryRun: false,
|
|
123
|
+
evaluationsFound: evaluations.length,
|
|
124
|
+
evaluationsExported: Math.max(expectedSpans, expectedEvals),
|
|
125
|
+
spansExported: expectedSpans,
|
|
126
|
+
evalMetricsExported: expectedEvals,
|
|
127
|
+
batches: Math.ceil(evaluations.length / config.batchSize),
|
|
128
|
+
failed: 0,
|
|
129
|
+
durationMs: 0,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
// Export to Datadog
|
|
133
|
+
const result = await exportToDatadog(evaluations, config);
|
|
134
|
+
return {
|
|
135
|
+
success: result.success,
|
|
136
|
+
dryRun: false,
|
|
137
|
+
evaluationsFound: evaluations.length,
|
|
138
|
+
evaluationsExported: result.evaluationsExported,
|
|
139
|
+
spansExported: result.spansExported,
|
|
140
|
+
evalMetricsExported: result.evalMetricsExported,
|
|
141
|
+
batches: result.batches,
|
|
142
|
+
failed: result.failed,
|
|
143
|
+
durationMs: result.durationMs,
|
|
144
|
+
...(result.errors && { errors: result.errors }),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
if (error instanceof InputValidationError) {
|
|
149
|
+
throw new Error(`Validation error (${error.field}): ${error.message}`);
|
|
150
|
+
}
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
export const exportDatadogTool = {
|
|
155
|
+
name: 'obs_export_datadog',
|
|
156
|
+
description: 'Export evaluation results to Datadog LLM Observability via HTTP API with two-phase export (spans + eval metrics).',
|
|
157
|
+
inputSchema: exportDatadogSchema,
|
|
158
|
+
handler: exportDatadog,
|
|
159
|
+
};
|
|
160
|
+
//# sourceMappingURL=export-datadog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-datadog.js","sourceRoot":"","sources":["../../src/tools/export-datadog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-datadog.test.d.ts","sourceRoot":"","sources":["../../src/tools/export-datadog.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|