@inworld/web-core
Version:
34 lines (33 loc) • 1.04 kB
JavaScript
import * as z from "zod";
export const PrecisionEnumSchema = z.enum([
"ESTIMATED",
"FINE",
"NON_SPEECH",
"PUSH_TO_TALK",
"UNSPECIFIED",
]);
export const TypeEnumSchema = z.enum([
"PING",
"PONG",
"UNSPECIFIED",
]);
export const PerceivedLatencySchema = z.object({
"latency": z.string().optional(),
"precision": z.union([PrecisionEnumSchema, z.number()]).optional(),
});
export const PacketIdSchema = z.object({
"conversation_id": z.string().optional(),
"correlation_id": z.string().optional(),
"interaction_id": z.string().optional(),
"packet_id": z.string().optional(),
"utterance_id": z.string().optional(),
});
export const PingPongSchema = z.object({
"ping_packet_id": PacketIdSchema.optional(),
"ping_timestamp": z.coerce.date().optional(),
"type": z.union([TypeEnumSchema, z.number()]).optional(),
});
export const LatencyReportEventSchema = z.object({
"perceived_latency": PerceivedLatencySchema.optional(),
"ping_pong": PingPongSchema.optional(),
});