"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.stepLogsApiModelFromJSON = exports.stepLogsApiModelToJSON = exports.StepLogsApiModel$ = exports.StepLogsApiModel$outboundSchema = exports.StepLogsApiModel$inboundSchema = exports.responseFromJSON = exports.responseToJSON = exports.Response$ = exports.Response$outboundSchema = exports.Response$inboundSchema = exports.requestFromJSON = exports.requestToJSON = exports.Request$ = exports.Request$outboundSchema = exports.Request$inboundSchema = exports.urlFromJSON = exports.urlToJSON = exports.Url$ = exports.Url$outboundSchema = exports.Url$inboundSchema = void 0;
const z = __importStar(require("zod"));
const primitives_js_1 = require("../../../lib/primitives.js");
const schemas_js_1 = require("../../../lib/schemas.js");
const custommappingerror_js_1 = require("./custommappingerror.js");
const providererror_js_1 = require("./providererror.js");
/** @internal */
exports.Url$inboundSchema = z
    .object({
    hostname: z.nullable(z.string()).optional(),
    path: z.nullable(z.string()).optional(),
    query_params: z.nullable(z.record(z.any())).optional(),
    url: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "query_params": "queryParams",
    });
});
/** @internal */
exports.Url$outboundSchema = z
    .object({
    hostname: z.nullable(z.string()).optional(),
    path: z.nullable(z.string()).optional(),
    queryParams: z.nullable(z.record(z.any())).optional(),
    url: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        queryParams: "query_params",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var Url$;
(function (Url$) {
    /** @deprecated use `Url$inboundSchema` instead. */
    Url$.inboundSchema = exports.Url$inboundSchema;
    /** @deprecated use `Url$outboundSchema` instead. */
    Url$.outboundSchema = exports.Url$outboundSchema;
})(Url$ || (exports.Url$ = Url$ = {}));
function urlToJSON(url) {
    return JSON.stringify(exports.Url$outboundSchema.parse(url));
}
exports.urlToJSON = urlToJSON;
function urlFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Url$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Url' from JSON`);
}
exports.urlFromJSON = urlFromJSON;
/** @internal */
exports.Request$inboundSchema = z.object({
    body: z.nullable(z.any()).optional(),
    headers: z.nullable(z.record(z.any())).optional(),
    id: z.nullable(z.string()).optional(),
    method: z.nullable(z.string()).optional(),
    url: z.nullable(z.lazy(() => exports.Url$inboundSchema)).optional(),
});
/** @internal */
exports.Request$outboundSchema = z.object({
    body: z.nullable(z.any()).optional(),
    headers: z.nullable(z.record(z.any())).optional(),
    id: z.nullable(z.string()).optional(),
    method: z.nullable(z.string()).optional(),
    url: z.nullable(z.lazy(() => exports.Url$outboundSchema)).optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var Request$;
(function (Request$) {
    /** @deprecated use `Request$inboundSchema` instead. */
    Request$.inboundSchema = exports.Request$inboundSchema;
    /** @deprecated use `Request$outboundSchema` instead. */
    Request$.outboundSchema = exports.Request$outboundSchema;
})(Request$ || (exports.Request$ = Request$ = {}));
function requestToJSON(request) {
    return JSON.stringify(exports.Request$outboundSchema.parse(request));
}
exports.requestToJSON = requestToJSON;
function requestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Request$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Request' from JSON`);
}
exports.requestFromJSON = requestFromJSON;
/** @internal */
exports.Response$inboundSchema = z.object({
    body: z.nullable(z.any()).optional(),
    custom_mapping_errors: z.nullable(z.array(custommappingerror_js_1.CustomMappingError$inboundSchema))
        .optional(),
    headers: z.nullable(z.record(z.any())).optional(),
    provider_errors: z.nullable(z.array(providererror_js_1.ProviderError$inboundSchema)).optional(),
    status_code: z.nullable(z.number()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "custom_mapping_errors": "customMappingErrors",
        "provider_errors": "providerErrors",
        "status_code": "statusCode",
    });
});
/** @internal */
exports.Response$outboundSchema = z.object({
    body: z.nullable(z.any()).optional(),
    customMappingErrors: z.nullable(z.array(custommappingerror_js_1.CustomMappingError$outboundSchema))
        .optional(),
    headers: z.nullable(z.record(z.any())).optional(),
    providerErrors: z.nullable(z.array(providererror_js_1.ProviderError$outboundSchema)).optional(),
    statusCode: z.nullable(z.number()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        customMappingErrors: "custom_mapping_errors",
        providerErrors: "provider_errors",
        statusCode: "status_code",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var Response$;
(function (Response$) {
    /** @deprecated use `Response$inboundSchema` instead. */
    Response$.inboundSchema = exports.Response$inboundSchema;
    /** @deprecated use `Response$outboundSchema` instead. */
    Response$.outboundSchema = exports.Response$outboundSchema;
})(Response$ || (exports.Response$ = Response$ = {}));
function responseToJSON(response) {
    return JSON.stringify(exports.Response$outboundSchema.parse(response));
}
exports.responseToJSON = responseToJSON;
function responseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Response$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Response' from JSON`);
}
exports.responseFromJSON = responseFromJSON;
/** @internal */
exports.StepLogsApiModel$inboundSchema = z.object({
    account_id: z.nullable(z.string()).optional(),
    action: z.nullable(z.string()).optional(),
    child_resource: z.nullable(z.string()).optional(),
    duration: z.nullable(z.number()).optional(),
    end_time: z.nullable(z.string().datetime({ offset: true }).transform(v => new Date(v))).optional(),
    http_method: z.nullable(z.string()).optional(),
    id: z.nullable(z.string()).optional(),
    is_worker: z.nullable(z.boolean()).optional(),
    path: z.nullable(z.string()).optional(),
    project_id: z.nullable(z.string()).optional(),
    provider: z.nullable(z.string()).optional(),
    request: z.nullable(z.lazy(() => exports.Request$inboundSchema)).optional(),
    request_id: z.nullable(z.string()).optional(),
    resource: z.nullable(z.string()).optional(),
    response: z.nullable(z.lazy(() => exports.Response$inboundSchema)).optional(),
    service: z.nullable(z.string()).optional(),
    start_time: z.nullable(z.string().datetime({ offset: true }).transform(v => new Date(v))).optional(),
    status: z.nullable(z.number()).optional(),
    sub_resource: z.nullable(z.string()).optional(),
    success: z.nullable(z.boolean()).optional(),
    url: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "account_id": "accountId",
        "child_resource": "childResource",
        "end_time": "endTime",
        "http_method": "httpMethod",
        "is_worker": "isWorker",
        "project_id": "projectId",
        "request_id": "requestId",
        "start_time": "startTime",
        "sub_resource": "subResource",
    });
});
/** @internal */
exports.StepLogsApiModel$outboundSchema = z.object({
    accountId: z.nullable(z.string()).optional(),
    action: z.nullable(z.string()).optional(),
    childResource: z.nullable(z.string()).optional(),
    duration: z.nullable(z.number()).optional(),
    endTime: z.nullable(z.date().transform(v => v.toISOString())).optional(),
    httpMethod: z.nullable(z.string()).optional(),
    id: z.nullable(z.string()).optional(),
    isWorker: z.nullable(z.boolean()).optional(),
    path: z.nullable(z.string()).optional(),
    projectId: z.nullable(z.string()).optional(),
    provider: z.nullable(z.string()).optional(),
    request: z.nullable(z.lazy(() => exports.Request$outboundSchema)).optional(),
    requestId: z.nullable(z.string()).optional(),
    resource: z.nullable(z.string()).optional(),
    response: z.nullable(z.lazy(() => exports.Response$outboundSchema)).optional(),
    service: z.nullable(z.string()).optional(),
    startTime: z.nullable(z.date().transform(v => v.toISOString())).optional(),
    status: z.nullable(z.number()).optional(),
    subResource: z.nullable(z.string()).optional(),
    success: z.nullable(z.boolean()).optional(),
    url: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        accountId: "account_id",
        childResource: "child_resource",
        endTime: "end_time",
        httpMethod: "http_method",
        isWorker: "is_worker",
        projectId: "project_id",
        requestId: "request_id",
        startTime: "start_time",
        subResource: "sub_resource",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var StepLogsApiModel$;
(function (StepLogsApiModel$) {
    /** @deprecated use `StepLogsApiModel$inboundSchema` instead. */
    StepLogsApiModel$.inboundSchema = exports.StepLogsApiModel$inboundSchema;
    /** @deprecated use `StepLogsApiModel$outboundSchema` instead. */
    StepLogsApiModel$.outboundSchema = exports.StepLogsApiModel$outboundSchema;
})(StepLogsApiModel$ || (exports.StepLogsApiModel$ = StepLogsApiModel$ = {}));
function stepLogsApiModelToJSON(stepLogsApiModel) {
    return JSON.stringify(exports.StepLogsApiModel$outboundSchema.parse(stepLogsApiModel));
}
exports.stepLogsApiModelToJSON = stepLogsApiModelToJSON;
function stepLogsApiModelFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.StepLogsApiModel$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'StepLogsApiModel' from JSON`);
}
exports.stepLogsApiModelFromJSON = stepLogsApiModelFromJSON;
//# sourceMappingURL=steplogsapimodel.js.map