/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; import * as types from "../../types/primitives.js"; import * as models from "../index.js"; import { ModerationAPIError } from "./moderation-api-error.js"; /** * The request conflicts with the current state of a resource. */ export type ConflictErrorData = { /** * Broad error category. Stable; safe to switch on. */ type: "conflict_error"; /** * Exactly what went wrong. Stable; safe to branch on. New codes may be added. * * @remarks * * - `resource_conflict`: The request conflicts with an existing resource. */ code: models.ConflictErrorCode; /** * Human-readable explanation. */ message: string; /** * Validation problems, when the request body is invalid. */ issues?: Array | undefined; /** * Identifies this request. Include it when you contact support. */ requestId: string; /** * Documentation for this `code`. */ docUrl: string; }; /** * The request conflicts with the current state of a resource. */ export class ConflictError extends ModerationAPIError { /** * Broad error category. Stable; safe to switch on. */ type: "conflict_error"; /** * Exactly what went wrong. Stable; safe to branch on. New codes may be added. * * @remarks * * - `resource_conflict`: The request conflicts with an existing resource. */ code: models.ConflictErrorCode; /** * Validation problems, when the request body is invalid. */ issues?: Array | undefined; /** * Identifies this request. Include it when you contact support. */ requestId: string; /** * Documentation for this `code`. */ docUrl: string; /** The original data that was passed to this error instance. */ data$: ConflictErrorData; constructor( err: ConflictErrorData, httpMeta: { response: Response; request: Request; body: string }, ) { const message = err.message || `API error occurred: ${JSON.stringify(err)}`; super(message, httpMeta); this.data$ = err; this.type = err.type; this.code = err.code; if (err.issues != null) this.issues = err.issues; this.requestId = err.requestId; this.docUrl = err.docUrl; this.name = "ConflictError"; } } /** @internal */ export const ConflictError$inboundSchema: z.ZodMiniType< ConflictError, unknown > = z.pipe( z.object({ type: types.literal("conflict_error"), code: models.ConflictErrorCode$inboundSchema, message: types.string(), issues: types.optional(z.array(models.ErrorIssue$inboundSchema)), request_id: types.string(), doc_url: types.string(), request$: z.custom(x => x instanceof Request), response$: z.custom(x => x instanceof Response), body$: z.string(), }), z.transform((v) => { const remapped = remap$(v, { "request_id": "requestId", "doc_url": "docUrl", }); return new ConflictError(remapped, { request: v.request$, response: v.response$, body: v.body$, }); }), );