/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 * @generated-id: 69b15a0a7caf
 */
import * as z from "zod/v4";
import { safeParse } from "../../lib/schemas.js";
import { smartUnion } from "../../types/smartUnion.js";
import { TempoTraceAttributeArrayValue$inboundSchema, } from "./tempotraceattributearrayvalue.js";
import { TempoTraceAttributeBoolValue$inboundSchema, } from "./tempotraceattributeboolvalue.js";
import { TempoTraceAttributeIntValue$inboundSchema, } from "./tempotraceattributeintvalue.js";
import { TempoTraceAttributeStringValue$inboundSchema, } from "./tempotraceattributestringvalue.js";
/** @internal */
export const TempoTraceAttributeValue$inboundSchema = smartUnion([
    TempoTraceAttributeStringValue$inboundSchema,
    TempoTraceAttributeIntValue$inboundSchema,
    TempoTraceAttributeBoolValue$inboundSchema,
    TempoTraceAttributeArrayValue$inboundSchema,
]);
export function tempoTraceAttributeValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => TempoTraceAttributeValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'TempoTraceAttributeValue' from JSON`);
}
/** @internal */
export const TempoTraceAttribute$inboundSchema = z.object({
    key: z.string(),
    value: smartUnion([
        TempoTraceAttributeStringValue$inboundSchema,
        TempoTraceAttributeIntValue$inboundSchema,
        TempoTraceAttributeBoolValue$inboundSchema,
        TempoTraceAttributeArrayValue$inboundSchema,
    ]),
});
export function tempoTraceAttributeFromJSON(jsonString) {
    return safeParse(jsonString, (x) => TempoTraceAttribute$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'TempoTraceAttribute' from JSON`);
}
//# sourceMappingURL=tempotraceattribute.js.map