langwatch 0.1.1 → 0.1.4
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/copy-types.sh +17 -0
- package/dist/{chunk-OVS4NSDE.mjs → chunk-2I4YLOQY.mjs} +184 -115
- package/dist/chunk-2I4YLOQY.mjs.map +1 -0
- package/dist/index.d.mts +344 -4
- package/dist/index.d.ts +344 -4
- package/dist/index.js +1429 -1121
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +264 -26
- package/dist/index.mjs.map +1 -1
- package/dist/{utils-K-jSEpnZ.d.mts → utils-CFtM8VVg.d.mts} +107 -31
- package/dist/{utils-K-jSEpnZ.d.ts → utils-CFtM8VVg.d.ts} +107 -31
- package/dist/utils.d.mts +1 -2
- package/dist/utils.d.ts +1 -2
- package/dist/utils.js +181 -114
- package/dist/utils.js.map +1 -1
- package/dist/utils.mjs +1 -1
- package/example/app/guardrails/page.tsx +26 -0
- package/example/components/header.tsx +4 -0
- package/example/lib/chat/guardrails.tsx +181 -0
- package/example/lib/chat/langchain-rag.tsx +1 -1
- package/example/lib/chat/langchain.tsx +1 -1
- package/example/lib/chat/vercel-ai.tsx +1 -1
- package/example/package-lock.json +4 -3
- package/package.json +3 -4
- package/src/evaluations.ts +219 -0
- package/src/index.test.ts +40 -2
- package/src/index.ts +182 -8
- package/src/typeUtils.ts +28 -3
- package/src/types.ts +6 -2
- package/src/utils.ts +4 -8
- package/ts-to-zod.config.js +4 -0
- package/dist/chunk-OVS4NSDE.mjs.map +0 -1
package/dist/utils.js
CHANGED
|
@@ -158,6 +158,9 @@ function convertUint8ArrayToBase64(array) {
|
|
|
158
158
|
return globalThis.btoa(latin1string);
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
+
// src/utils.ts
|
|
162
|
+
var import_zod2 = require("zod");
|
|
163
|
+
|
|
161
164
|
// src/server/types/tracer.generated.ts
|
|
162
165
|
var import_zod = require("zod");
|
|
163
166
|
var chatRoleSchema = import_zod.z.union([
|
|
@@ -177,6 +180,11 @@ var toolCallSchema = import_zod.z.object({
|
|
|
177
180
|
type: import_zod.z.string(),
|
|
178
181
|
function: functionCallSchema
|
|
179
182
|
});
|
|
183
|
+
var rAGChunkSchema = import_zod.z.object({
|
|
184
|
+
document_id: import_zod.z.string().optional().nullable(),
|
|
185
|
+
chunk_id: import_zod.z.string().optional().nullable(),
|
|
186
|
+
content: import_zod.z.union([import_zod.z.string(), import_zod.z.record(import_zod.z.any()), import_zod.z.array(import_zod.z.any())])
|
|
187
|
+
});
|
|
180
188
|
var chatRichContentSchema = import_zod.z.union([
|
|
181
189
|
import_zod.z.object({
|
|
182
190
|
type: import_zod.z.literal("text"),
|
|
@@ -213,20 +221,25 @@ var moneySchema = import_zod.z.object({
|
|
|
213
221
|
currency: import_zod.z.string(),
|
|
214
222
|
amount: import_zod.z.number()
|
|
215
223
|
});
|
|
216
|
-
var
|
|
224
|
+
var evaluationResultSchema = import_zod.z.object({
|
|
217
225
|
status: import_zod.z.union([
|
|
218
226
|
import_zod.z.literal("processed"),
|
|
219
227
|
import_zod.z.literal("skipped"),
|
|
220
228
|
import_zod.z.literal("error")
|
|
221
229
|
]),
|
|
222
|
-
passed: import_zod.z.boolean(),
|
|
230
|
+
passed: import_zod.z.boolean().optional().nullable(),
|
|
223
231
|
score: import_zod.z.number().optional().nullable(),
|
|
232
|
+
label: import_zod.z.string().optional().nullable(),
|
|
224
233
|
details: import_zod.z.string().optional().nullable(),
|
|
225
234
|
cost: moneySchema.optional().nullable()
|
|
226
235
|
});
|
|
227
236
|
var typedValueGuardrailResultSchema = import_zod.z.object({
|
|
228
237
|
type: import_zod.z.literal("guardrail_result"),
|
|
229
|
-
value:
|
|
238
|
+
value: evaluationResultSchema
|
|
239
|
+
});
|
|
240
|
+
var typedValueEvaluationResultSchema = import_zod.z.object({
|
|
241
|
+
type: import_zod.z.literal("evaluation_result"),
|
|
242
|
+
value: evaluationResultSchema
|
|
230
243
|
});
|
|
231
244
|
var errorCaptureSchema = import_zod.z.object({
|
|
232
245
|
has_error: import_zod.z.literal(true),
|
|
@@ -239,13 +252,26 @@ var spanMetricsSchema = import_zod.z.object({
|
|
|
239
252
|
tokens_estimated: import_zod.z.boolean().optional().nullable(),
|
|
240
253
|
cost: import_zod.z.number().optional().nullable()
|
|
241
254
|
});
|
|
242
|
-
var
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
255
|
+
var reservedSpanParamsSchema = import_zod.z.object({
|
|
256
|
+
frequency_penalty: import_zod.z.number().optional().nullable(),
|
|
257
|
+
logit_bias: import_zod.z.record(import_zod.z.number()).optional().nullable(),
|
|
258
|
+
logprobs: import_zod.z.boolean().optional().nullable(),
|
|
259
|
+
top_logprobs: import_zod.z.number().optional().nullable(),
|
|
260
|
+
max_tokens: import_zod.z.number().optional().nullable(),
|
|
261
|
+
n: import_zod.z.number().optional().nullable(),
|
|
262
|
+
presence_penalty: import_zod.z.number().optional().nullable(),
|
|
263
|
+
seed: import_zod.z.number().optional().nullable(),
|
|
264
|
+
stop: import_zod.z.union([import_zod.z.string(), import_zod.z.array(import_zod.z.string())]).optional().nullable(),
|
|
265
|
+
stream: import_zod.z.boolean().optional().nullable(),
|
|
266
|
+
temperature: import_zod.z.number().optional().nullable(),
|
|
267
|
+
top_p: import_zod.z.number().optional().nullable(),
|
|
268
|
+
tools: import_zod.z.array(import_zod.z.record(import_zod.z.any())).optional().nullable(),
|
|
269
|
+
tool_choice: import_zod.z.union([import_zod.z.record(import_zod.z.any()), import_zod.z.string()]).optional().nullable(),
|
|
270
|
+
parallel_tool_calls: import_zod.z.boolean().optional().nullable(),
|
|
271
|
+
functions: import_zod.z.array(import_zod.z.record(import_zod.z.any())).optional().nullable(),
|
|
272
|
+
user: import_zod.z.string().optional().nullable()
|
|
248
273
|
});
|
|
274
|
+
var spanParamsSchema = reservedSpanParamsSchema.and(import_zod.z.record(import_zod.z.any()));
|
|
249
275
|
var spanTimestampsSchema = import_zod.z.object({
|
|
250
276
|
started_at: import_zod.z.number(),
|
|
251
277
|
first_token_at: import_zod.z.number().optional().nullable(),
|
|
@@ -259,13 +285,16 @@ var spanTypesSchema = import_zod.z.union([
|
|
|
259
285
|
import_zod.z.literal("agent"),
|
|
260
286
|
import_zod.z.literal("rag"),
|
|
261
287
|
import_zod.z.literal("guardrail"),
|
|
288
|
+
import_zod.z.literal("evaluation"),
|
|
289
|
+
import_zod.z.literal("workflow"),
|
|
290
|
+
import_zod.z.literal("component"),
|
|
291
|
+
import_zod.z.literal("server"),
|
|
292
|
+
import_zod.z.literal("client"),
|
|
293
|
+
import_zod.z.literal("producer"),
|
|
294
|
+
import_zod.z.literal("consumer"),
|
|
295
|
+
import_zod.z.literal("task"),
|
|
262
296
|
import_zod.z.literal("unknown")
|
|
263
297
|
]);
|
|
264
|
-
var rAGChunkSchema = import_zod.z.object({
|
|
265
|
-
document_id: import_zod.z.string().optional().nullable(),
|
|
266
|
-
chunk_id: import_zod.z.string().optional().nullable(),
|
|
267
|
-
content: import_zod.z.union([import_zod.z.string(), import_zod.z.record(import_zod.z.any()), import_zod.z.array(import_zod.z.any())])
|
|
268
|
-
});
|
|
269
298
|
var traceInputSchema = import_zod.z.object({
|
|
270
299
|
value: import_zod.z.string(),
|
|
271
300
|
embeddings: import_zod.z.object({
|
|
@@ -281,95 +310,33 @@ var traceOutputSchema = import_zod.z.object({
|
|
|
281
310
|
embeddings: import_zod.z.array(import_zod.z.number())
|
|
282
311
|
}).optional()
|
|
283
312
|
});
|
|
284
|
-
var
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
}),
|
|
295
|
-
timestamps: import_zod.z.object({
|
|
296
|
-
started_at: import_zod.z.number(),
|
|
297
|
-
inserted_at: import_zod.z.number(),
|
|
298
|
-
updated_at: import_zod.z.number()
|
|
299
|
-
}),
|
|
300
|
-
input: traceInputSchema,
|
|
301
|
-
output: traceOutputSchema.optional(),
|
|
302
|
-
metrics: import_zod.z.object({
|
|
303
|
-
first_token_ms: import_zod.z.number().optional().nullable(),
|
|
304
|
-
total_time_ms: import_zod.z.number().optional().nullable(),
|
|
305
|
-
prompt_tokens: import_zod.z.number().optional().nullable(),
|
|
306
|
-
completion_tokens: import_zod.z.number().optional().nullable(),
|
|
307
|
-
total_cost: import_zod.z.number().optional().nullable(),
|
|
308
|
-
tokens_estimated: import_zod.z.boolean().optional().nullable()
|
|
309
|
-
}),
|
|
310
|
-
error: errorCaptureSchema.optional().nullable(),
|
|
311
|
-
indexing_md5s: import_zod.z.array(import_zod.z.string()).optional()
|
|
313
|
+
var primitiveTypeSchema = import_zod.z.union([import_zod.z.string(), import_zod.z.number(), import_zod.z.boolean(), import_zod.z.undefined()]).nullable();
|
|
314
|
+
var reservedTraceMetadataSchema = import_zod.z.object({
|
|
315
|
+
thread_id: import_zod.z.string().optional().nullable(),
|
|
316
|
+
user_id: import_zod.z.string().optional().nullable(),
|
|
317
|
+
customer_id: import_zod.z.string().optional().nullable(),
|
|
318
|
+
labels: import_zod.z.array(import_zod.z.string()).optional().nullable(),
|
|
319
|
+
topic_id: import_zod.z.string().optional().nullable(),
|
|
320
|
+
subtopic_id: import_zod.z.string().optional().nullable(),
|
|
321
|
+
sdk_version: import_zod.z.string().optional().nullable(),
|
|
322
|
+
sdk_language: import_zod.z.string().optional().nullable()
|
|
312
323
|
});
|
|
313
|
-
var
|
|
314
|
-
import_zod.z.
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
})
|
|
324
|
+
var customMetadataSchema = import_zod.z.record(
|
|
325
|
+
import_zod.z.union([
|
|
326
|
+
primitiveTypeSchema,
|
|
327
|
+
import_zod.z.array(primitiveTypeSchema),
|
|
328
|
+
import_zod.z.record(primitiveTypeSchema),
|
|
329
|
+
import_zod.z.record(import_zod.z.record(primitiveTypeSchema))
|
|
330
|
+
])
|
|
321
331
|
);
|
|
322
|
-
var
|
|
323
|
-
trace_id: import_zod.z.string(),
|
|
324
|
-
check_id: import_zod.z.string(),
|
|
325
|
-
project_id: import_zod.z.string(),
|
|
326
|
-
check_type: import_zod.z.string(),
|
|
327
|
-
check_name: import_zod.z.string(),
|
|
328
|
-
is_guardrail: import_zod.z.boolean(),
|
|
329
|
-
status: import_zod.z.union([
|
|
330
|
-
import_zod.z.literal("scheduled"),
|
|
331
|
-
import_zod.z.literal("in_progress"),
|
|
332
|
-
import_zod.z.literal("error"),
|
|
333
|
-
import_zod.z.literal("skipped"),
|
|
334
|
-
import_zod.z.literal("processed")
|
|
335
|
-
]),
|
|
336
|
-
passed: import_zod.z.boolean().optional(),
|
|
337
|
-
score: import_zod.z.number().optional(),
|
|
338
|
-
details: import_zod.z.string().optional(),
|
|
339
|
-
error: errorCaptureSchema.optional().nullable(),
|
|
340
|
-
retries: import_zod.z.number().optional(),
|
|
341
|
-
timestamps: import_zod.z.object({
|
|
342
|
-
inserted_at: import_zod.z.number().optional(),
|
|
343
|
-
started_at: import_zod.z.number().optional(),
|
|
344
|
-
finished_at: import_zod.z.number().optional(),
|
|
345
|
-
updated_at: import_zod.z.number()
|
|
346
|
-
}),
|
|
347
|
-
trace_metadata: import_zod.z.object({
|
|
348
|
-
thread_id: import_zod.z.string().optional(),
|
|
349
|
-
user_id: import_zod.z.string().optional(),
|
|
350
|
-
customer_id: import_zod.z.string().optional(),
|
|
351
|
-
labels: import_zod.z.array(import_zod.z.string()).optional(),
|
|
352
|
-
topics: import_zod.z.array(import_zod.z.string()).optional()
|
|
353
|
-
})
|
|
354
|
-
});
|
|
355
|
-
var experimentSchema = import_zod.z.object({
|
|
356
|
-
experiment_id: import_zod.z.string(),
|
|
357
|
-
variant: import_zod.z.number()
|
|
358
|
-
});
|
|
332
|
+
var traceMetadataSchema = reservedTraceMetadataSchema.and(customMetadataSchema);
|
|
359
333
|
var eventSchema = import_zod.z.object({
|
|
360
334
|
event_id: import_zod.z.string(),
|
|
361
335
|
event_type: import_zod.z.string(),
|
|
362
336
|
project_id: import_zod.z.string(),
|
|
363
337
|
metrics: import_zod.z.record(import_zod.z.number()),
|
|
364
338
|
event_details: import_zod.z.record(import_zod.z.string()),
|
|
365
|
-
trace_id: import_zod.z.string()
|
|
366
|
-
trace_metadata: import_zod.z.object({
|
|
367
|
-
thread_id: import_zod.z.string().optional(),
|
|
368
|
-
user_id: import_zod.z.string().optional(),
|
|
369
|
-
customer_id: import_zod.z.string().optional(),
|
|
370
|
-
labels: import_zod.z.array(import_zod.z.string()).optional(),
|
|
371
|
-
topics: import_zod.z.array(import_zod.z.string()).optional()
|
|
372
|
-
}),
|
|
339
|
+
trace_id: import_zod.z.string(),
|
|
373
340
|
timestamps: import_zod.z.object({
|
|
374
341
|
started_at: import_zod.z.number(),
|
|
375
342
|
inserted_at: import_zod.z.number(),
|
|
@@ -392,12 +359,18 @@ var elasticSearchEventSchema = eventSchema.omit({ metrics: true, event_details:
|
|
|
392
359
|
)
|
|
393
360
|
})
|
|
394
361
|
);
|
|
362
|
+
var evaluationStatusSchema = import_zod.z.union([
|
|
363
|
+
import_zod.z.literal("scheduled"),
|
|
364
|
+
import_zod.z.literal("in_progress"),
|
|
365
|
+
import_zod.z.literal("error"),
|
|
366
|
+
import_zod.z.literal("skipped"),
|
|
367
|
+
import_zod.z.literal("processed")
|
|
368
|
+
]);
|
|
395
369
|
var trackEventRESTParamsValidatorSchema = eventSchema.omit({
|
|
396
370
|
event_id: true,
|
|
397
371
|
project_id: true,
|
|
398
372
|
timestamps: true,
|
|
399
|
-
event_details: true
|
|
400
|
-
trace_metadata: true
|
|
373
|
+
event_details: true
|
|
401
374
|
}).and(
|
|
402
375
|
import_zod.z.object({
|
|
403
376
|
event_id: import_zod.z.string().optional(),
|
|
@@ -405,12 +378,17 @@ var trackEventRESTParamsValidatorSchema = eventSchema.omit({
|
|
|
405
378
|
timestamp: import_zod.z.number().optional()
|
|
406
379
|
})
|
|
407
380
|
);
|
|
381
|
+
var contextsSchema = import_zod.z.object({
|
|
382
|
+
traceId: import_zod.z.string(),
|
|
383
|
+
contexts: import_zod.z.array(rAGChunkSchema)
|
|
384
|
+
});
|
|
408
385
|
var chatMessageSchema = import_zod.z.object({
|
|
409
386
|
role: chatRoleSchema.optional(),
|
|
410
387
|
content: import_zod.z.union([import_zod.z.string(), import_zod.z.array(chatRichContentSchema)]).optional().nullable(),
|
|
411
388
|
function_call: functionCallSchema.optional().nullable(),
|
|
412
389
|
tool_calls: import_zod.z.array(toolCallSchema).optional().nullable(),
|
|
413
|
-
tool_call_id: import_zod.z.string().optional().nullable()
|
|
390
|
+
tool_call_id: import_zod.z.string().optional().nullable(),
|
|
391
|
+
name: import_zod.z.string().optional().nullable()
|
|
414
392
|
});
|
|
415
393
|
var typedValueChatMessagesSchema = import_zod.z.object({
|
|
416
394
|
type: import_zod.z.literal("chat_messages"),
|
|
@@ -421,6 +399,7 @@ var spanInputOutputSchema = import_zod.z.lazy(
|
|
|
421
399
|
typedValueTextSchema,
|
|
422
400
|
typedValueChatMessagesSchema,
|
|
423
401
|
typedValueGuardrailResultSchema,
|
|
402
|
+
typedValueEvaluationResultSchema,
|
|
424
403
|
typedValueJsonSchema,
|
|
425
404
|
typedValueRawSchema,
|
|
426
405
|
import_zod.z.object({
|
|
@@ -439,13 +418,13 @@ var baseSpanSchema = import_zod.z.object({
|
|
|
439
418
|
output: spanInputOutputSchema.optional().nullable(),
|
|
440
419
|
error: errorCaptureSchema.optional().nullable(),
|
|
441
420
|
timestamps: spanTimestampsSchema,
|
|
442
|
-
metrics: spanMetricsSchema.optional().nullable()
|
|
421
|
+
metrics: spanMetricsSchema.optional().nullable(),
|
|
422
|
+
params: spanParamsSchema.optional().nullable()
|
|
443
423
|
});
|
|
444
424
|
var lLMSpanSchema = baseSpanSchema.extend({
|
|
445
425
|
type: import_zod.z.literal("llm"),
|
|
446
426
|
vendor: import_zod.z.string().optional().nullable(),
|
|
447
|
-
model: import_zod.z.string().optional()
|
|
448
|
-
params: spanParamsSchema.optional()
|
|
427
|
+
model: import_zod.z.string().optional().nullable()
|
|
449
428
|
});
|
|
450
429
|
var rAGSpanSchema = baseSpanSchema.extend({
|
|
451
430
|
type: import_zod.z.literal("rag"),
|
|
@@ -462,13 +441,56 @@ var spanInputOutputValidatorSchema = spanInputOutputSchema.and(
|
|
|
462
441
|
})
|
|
463
442
|
);
|
|
464
443
|
var spanValidatorSchema = import_zod.z.union([
|
|
465
|
-
lLMSpanSchema.omit({ input: true, output: true }),
|
|
466
|
-
rAGSpanSchema.omit({ input: true, output: true }),
|
|
467
|
-
baseSpanSchema.omit({ input: true, output: true })
|
|
444
|
+
lLMSpanSchema.omit({ input: true, output: true, params: true }),
|
|
445
|
+
rAGSpanSchema.omit({ input: true, output: true, params: true }),
|
|
446
|
+
baseSpanSchema.omit({ input: true, output: true, params: true })
|
|
468
447
|
]).and(
|
|
469
448
|
import_zod.z.object({
|
|
470
449
|
input: spanInputOutputValidatorSchema.optional().nullable(),
|
|
471
|
-
output: spanInputOutputValidatorSchema.optional().nullable()
|
|
450
|
+
output: spanInputOutputValidatorSchema.optional().nullable(),
|
|
451
|
+
params: import_zod.z.record(import_zod.z.any()).optional().nullable()
|
|
452
|
+
})
|
|
453
|
+
);
|
|
454
|
+
var evaluationSchema = import_zod.z.object({
|
|
455
|
+
evaluation_id: import_zod.z.string(),
|
|
456
|
+
evaluator_id: import_zod.z.string(),
|
|
457
|
+
span_id: import_zod.z.string().optional().nullable(),
|
|
458
|
+
name: import_zod.z.string(),
|
|
459
|
+
type: import_zod.z.string().optional().nullable(),
|
|
460
|
+
is_guardrail: import_zod.z.boolean().optional().nullable(),
|
|
461
|
+
status: evaluationStatusSchema,
|
|
462
|
+
passed: import_zod.z.boolean().optional().nullable(),
|
|
463
|
+
score: import_zod.z.number().optional().nullable(),
|
|
464
|
+
label: import_zod.z.string().optional().nullable(),
|
|
465
|
+
details: import_zod.z.string().optional().nullable(),
|
|
466
|
+
error: errorCaptureSchema.optional().nullable(),
|
|
467
|
+
retries: import_zod.z.number().optional().nullable(),
|
|
468
|
+
timestamps: import_zod.z.object({
|
|
469
|
+
inserted_at: import_zod.z.number().optional().nullable(),
|
|
470
|
+
started_at: import_zod.z.number().optional().nullable(),
|
|
471
|
+
finished_at: import_zod.z.number().optional().nullable(),
|
|
472
|
+
updated_at: import_zod.z.number().optional().nullable()
|
|
473
|
+
})
|
|
474
|
+
});
|
|
475
|
+
var rESTEvaluationSchema = evaluationSchema.omit({
|
|
476
|
+
evaluation_id: true,
|
|
477
|
+
evaluator_id: true,
|
|
478
|
+
status: true,
|
|
479
|
+
timestamps: true,
|
|
480
|
+
retries: true
|
|
481
|
+
}).and(
|
|
482
|
+
import_zod.z.object({
|
|
483
|
+
evaluation_id: import_zod.z.string().optional().nullable(),
|
|
484
|
+
evaluator_id: import_zod.z.string().optional().nullable(),
|
|
485
|
+
status: import_zod.z.union([
|
|
486
|
+
import_zod.z.literal("processed"),
|
|
487
|
+
import_zod.z.literal("skipped"),
|
|
488
|
+
import_zod.z.literal("error")
|
|
489
|
+
]).optional().nullable(),
|
|
490
|
+
timestamps: import_zod.z.object({
|
|
491
|
+
started_at: import_zod.z.number().optional().nullable(),
|
|
492
|
+
finished_at: import_zod.z.number().optional().nullable()
|
|
493
|
+
}).optional().nullable()
|
|
472
494
|
})
|
|
473
495
|
);
|
|
474
496
|
var collectorRESTParamsSchema = import_zod.z.object({
|
|
@@ -479,8 +501,11 @@ var collectorRESTParamsSchema = import_zod.z.object({
|
|
|
479
501
|
thread_id: import_zod.z.union([import_zod.z.string(), import_zod.z.undefined()]).optional().nullable(),
|
|
480
502
|
customer_id: import_zod.z.union([import_zod.z.string(), import_zod.z.undefined()]).optional().nullable(),
|
|
481
503
|
labels: import_zod.z.union([import_zod.z.array(import_zod.z.string()), import_zod.z.undefined()]).optional().nullable(),
|
|
482
|
-
|
|
483
|
-
|
|
504
|
+
sdk_version: import_zod.z.union([import_zod.z.string(), import_zod.z.undefined()]).optional().nullable(),
|
|
505
|
+
sdk_language: import_zod.z.union([import_zod.z.string(), import_zod.z.undefined()]).optional().nullable()
|
|
506
|
+
}).and(customMetadataSchema).optional(),
|
|
507
|
+
expected_output: import_zod.z.string().optional().nullable(),
|
|
508
|
+
evaluations: import_zod.z.array(rESTEvaluationSchema).optional()
|
|
484
509
|
});
|
|
485
510
|
var collectorRESTParamsValidatorSchema = collectorRESTParamsSchema.omit({ spans: true });
|
|
486
511
|
var datasetSpanSchema = import_zod.z.union([
|
|
@@ -489,26 +514,68 @@ var datasetSpanSchema = import_zod.z.union([
|
|
|
489
514
|
trace_id: true,
|
|
490
515
|
id: true,
|
|
491
516
|
timestamps: true,
|
|
492
|
-
metrics: true
|
|
493
|
-
|
|
517
|
+
metrics: true,
|
|
518
|
+
params: true
|
|
519
|
+
}).and(
|
|
520
|
+
import_zod.z.object({
|
|
521
|
+
params: import_zod.z.record(import_zod.z.any())
|
|
522
|
+
})
|
|
523
|
+
),
|
|
494
524
|
lLMSpanSchema.omit({
|
|
495
525
|
project_id: true,
|
|
496
526
|
trace_id: true,
|
|
497
527
|
id: true,
|
|
498
528
|
timestamps: true,
|
|
499
|
-
metrics: true
|
|
500
|
-
|
|
529
|
+
metrics: true,
|
|
530
|
+
params: true
|
|
531
|
+
}).and(
|
|
532
|
+
import_zod.z.object({
|
|
533
|
+
params: import_zod.z.record(import_zod.z.any())
|
|
534
|
+
})
|
|
535
|
+
),
|
|
501
536
|
rAGSpanSchema.omit({
|
|
502
537
|
project_id: true,
|
|
503
538
|
trace_id: true,
|
|
504
539
|
id: true,
|
|
505
540
|
timestamps: true,
|
|
506
|
-
metrics: true
|
|
507
|
-
|
|
541
|
+
metrics: true,
|
|
542
|
+
params: true
|
|
543
|
+
}).and(
|
|
544
|
+
import_zod.z.object({
|
|
545
|
+
params: import_zod.z.record(import_zod.z.any())
|
|
546
|
+
})
|
|
547
|
+
)
|
|
508
548
|
]);
|
|
549
|
+
var traceSchema = import_zod.z.object({
|
|
550
|
+
trace_id: import_zod.z.string(),
|
|
551
|
+
project_id: import_zod.z.string(),
|
|
552
|
+
metadata: traceMetadataSchema,
|
|
553
|
+
timestamps: import_zod.z.object({
|
|
554
|
+
started_at: import_zod.z.number(),
|
|
555
|
+
inserted_at: import_zod.z.number(),
|
|
556
|
+
updated_at: import_zod.z.number()
|
|
557
|
+
}),
|
|
558
|
+
input: traceInputSchema.optional(),
|
|
559
|
+
output: traceOutputSchema.optional(),
|
|
560
|
+
contexts: import_zod.z.array(rAGChunkSchema).optional(),
|
|
561
|
+
expected_output: import_zod.z.object({
|
|
562
|
+
value: import_zod.z.string()
|
|
563
|
+
}).optional(),
|
|
564
|
+
metrics: import_zod.z.object({
|
|
565
|
+
first_token_ms: import_zod.z.number().optional().nullable(),
|
|
566
|
+
total_time_ms: import_zod.z.number().optional().nullable(),
|
|
567
|
+
prompt_tokens: import_zod.z.number().optional().nullable(),
|
|
568
|
+
completion_tokens: import_zod.z.number().optional().nullable(),
|
|
569
|
+
total_cost: import_zod.z.number().optional().nullable(),
|
|
570
|
+
tokens_estimated: import_zod.z.boolean().optional().nullable()
|
|
571
|
+
}).optional(),
|
|
572
|
+
error: errorCaptureSchema.optional().nullable(),
|
|
573
|
+
indexing_md5s: import_zod.z.array(import_zod.z.string()).optional(),
|
|
574
|
+
events: import_zod.z.array(eventSchema).optional(),
|
|
575
|
+
evaluations: import_zod.z.array(evaluationSchema).optional()
|
|
576
|
+
});
|
|
509
577
|
|
|
510
578
|
// src/utils.ts
|
|
511
|
-
var import_zod2 = require("zod");
|
|
512
579
|
var convertImageToUrl = (image, mimeType) => {
|
|
513
580
|
try {
|
|
514
581
|
return image instanceof URL ? image.toString() : typeof image === "string" ? image : `data:${mimeType != null ? mimeType : "image/jpeg"};base64,${convertUint8ArrayToBase64(
|