/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { SandboxUsageOperation, SandboxUsageOperation$inboundSchema, SandboxUsageOperation$outboundSchema, } from "./sandboxusageoperation.js"; import { SessionKind, SessionKind$inboundSchema, SessionKind$outboundSchema, } from "./sessionkind.js"; export type SandboxUsageResult = { object?: "organization.usage.sandbox.result" | undefined; numOperations?: number | undefined; numSessions?: number | undefined; requestCount?: number | undefined; durationMs?: number | undefined; workspaceBytesIn?: number | undefined; workspaceBytesOut?: number | undefined; filesChangedCount?: number | undefined; oomKilledCount?: number | undefined; peakMemoryMib?: number | null | undefined; reservedMemoryMib?: number | null | undefined; userId?: string | null | undefined; apiKeyId?: string | null | undefined; orgId?: string | null | undefined; operation?: SandboxUsageOperation | null | undefined; provider?: string | null | undefined; sessionKind?: SessionKind | null | undefined; }; /** @internal */ export const SandboxUsageResult$inboundSchema: z.ZodType< SandboxUsageResult, z.ZodTypeDef, unknown > = z.object({ object: z.literal("organization.usage.sandbox.result").default( "organization.usage.sandbox.result", ), num_operations: z.number().int().default(0), num_sessions: z.number().int().default(0), request_count: z.number().int().default(0), duration_ms: z.number().int().default(0), workspace_bytes_in: z.number().int().default(0), workspace_bytes_out: z.number().int().default(0), files_changed_count: z.number().int().default(0), oom_killed_count: z.number().int().default(0), peak_memory_mib: z.nullable(z.number()).optional(), reserved_memory_mib: z.nullable(z.number().int()).optional(), user_id: z.nullable(z.string()).optional(), api_key_id: z.nullable(z.string()).optional(), org_id: z.nullable(z.string()).optional(), operation: z.nullable(SandboxUsageOperation$inboundSchema).optional(), provider: z.nullable(z.string()).optional(), session_kind: z.nullable(SessionKind$inboundSchema).optional(), }).transform((v) => { return remap$(v, { "num_operations": "numOperations", "num_sessions": "numSessions", "request_count": "requestCount", "duration_ms": "durationMs", "workspace_bytes_in": "workspaceBytesIn", "workspace_bytes_out": "workspaceBytesOut", "files_changed_count": "filesChangedCount", "oom_killed_count": "oomKilledCount", "peak_memory_mib": "peakMemoryMib", "reserved_memory_mib": "reservedMemoryMib", "user_id": "userId", "api_key_id": "apiKeyId", "org_id": "orgId", "session_kind": "sessionKind", }); }); /** @internal */ export type SandboxUsageResult$Outbound = { object: "organization.usage.sandbox.result"; num_operations: number; num_sessions: number; request_count: number; duration_ms: number; workspace_bytes_in: number; workspace_bytes_out: number; files_changed_count: number; oom_killed_count: number; peak_memory_mib?: number | null | undefined; reserved_memory_mib?: number | null | undefined; user_id?: string | null | undefined; api_key_id?: string | null | undefined; org_id?: string | null | undefined; operation?: string | null | undefined; provider?: string | null | undefined; session_kind?: string | null | undefined; }; /** @internal */ export const SandboxUsageResult$outboundSchema: z.ZodType< SandboxUsageResult$Outbound, z.ZodTypeDef, SandboxUsageResult > = z.object({ object: z.literal("organization.usage.sandbox.result").default( "organization.usage.sandbox.result" as const, ), numOperations: z.number().int().default(0), numSessions: z.number().int().default(0), requestCount: z.number().int().default(0), durationMs: z.number().int().default(0), workspaceBytesIn: z.number().int().default(0), workspaceBytesOut: z.number().int().default(0), filesChangedCount: z.number().int().default(0), oomKilledCount: z.number().int().default(0), peakMemoryMib: z.nullable(z.number()).optional(), reservedMemoryMib: z.nullable(z.number().int()).optional(), userId: z.nullable(z.string()).optional(), apiKeyId: z.nullable(z.string()).optional(), orgId: z.nullable(z.string()).optional(), operation: z.nullable(SandboxUsageOperation$outboundSchema).optional(), provider: z.nullable(z.string()).optional(), sessionKind: z.nullable(SessionKind$outboundSchema).optional(), }).transform((v) => { return remap$(v, { numOperations: "num_operations", numSessions: "num_sessions", requestCount: "request_count", durationMs: "duration_ms", workspaceBytesIn: "workspace_bytes_in", workspaceBytesOut: "workspace_bytes_out", filesChangedCount: "files_changed_count", oomKilledCount: "oom_killed_count", peakMemoryMib: "peak_memory_mib", reservedMemoryMib: "reserved_memory_mib", userId: "user_id", apiKeyId: "api_key_id", orgId: "org_id", sessionKind: "session_kind", }); }); export function sandboxUsageResultToJSON( sandboxUsageResult: SandboxUsageResult, ): string { return JSON.stringify( SandboxUsageResult$outboundSchema.parse(sandboxUsageResult), ); } export function sandboxUsageResultFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => SandboxUsageResult$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SandboxUsageResult' from JSON`, ); }