@vercel/sdk
Version:
<p align="center"> <a href="https://vercel.com"> <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96"> <h3 align="center">Vercel</h3> </a> <p align="center">Develop. Preview. Ship.</p> </p>
155 lines • 5.59 kB
JavaScript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod/v3";
import { safeParse } from "../lib/schemas.js";
import * as types from "../types/primitives.js";
/**
* Pin scope: `specific` (one provider region), `zone` (geo zone), or `global`.
*/
export const AiGatewayVirtualModelConfigInferenceRegionScope = {
Global: "global",
Specific: "specific",
Zone: "zone",
};
/**
* Pin scope: `specific` (one provider region), `zone` (geo zone), or `global`.
*/
export const AiGatewayVirtualModelConfigScope = {
Global: "global",
Specific: "specific",
Zone: "zone",
};
/**
* For kind=router: how to order candidates.
*/
export const Selector = {
Cost: "cost",
Priority: "priority",
Tps: "tps",
Ttft: "ttft",
};
/**
* Rank eligible providers by an attribute.
*/
export const Sort = {
Cost: "cost",
Latency: "latency",
Price: "price",
Throughput: "throughput",
Tps: "tps",
Ttft: "ttft",
};
/**
* Limit providers to those with these features.
*/
export const Has = {
ImplicitCaching: "implicit-caching",
Vision: "vision",
};
/**
* Use caching if available.
*/
export const Caching = {
Auto: "auto",
};
/**
* Service tier for providers that support it.
*/
export const ServiceTier = {
Fast: "fast",
Flex: "flex",
Priority: "priority",
};
/**
* Only use fastest providers with short timeouts.
*/
export const Speed = {
Fast: "fast",
};
/** @internal */
export const AiGatewayVirtualModelConfigInferenceRegionScope$inboundSchema = z
.nativeEnum(AiGatewayVirtualModelConfigInferenceRegionScope);
/** @internal */
export const Providers$inboundSchema = z.object({
scope: types.optional(AiGatewayVirtualModelConfigInferenceRegionScope$inboundSchema),
geoRegion: types.optional(types.string()),
providerRegion: types.optional(types.string()),
});
export function providersFromJSON(jsonString) {
return safeParse(jsonString, (x) => Providers$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Providers' from JSON`);
}
/** @internal */
export const AiGatewayVirtualModelConfigScope$inboundSchema = z.nativeEnum(AiGatewayVirtualModelConfigScope);
/** @internal */
export const InferenceRegion$inboundSchema = z.object({
providers: types.optional(z.record(types.nullable(z.lazy(() => Providers$inboundSchema)))),
scope: types.optional(AiGatewayVirtualModelConfigScope$inboundSchema),
geoRegion: types.optional(types.string()),
providerRegion: types.optional(types.string()),
});
export function inferenceRegionFromJSON(jsonString) {
return safeParse(jsonString, (x) => InferenceRegion$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'InferenceRegion' from JSON`);
}
/** @internal */
export const Selector$inboundSchema = z
.nativeEnum(Selector);
/** @internal */
export const Sort$inboundSchema = z.nativeEnum(Sort);
/** @internal */
export const Has$inboundSchema = z.nativeEnum(Has);
/** @internal */
export const Caching$inboundSchema = z
.nativeEnum(Caching);
/** @internal */
export const ServiceTier$inboundSchema = z
.nativeEnum(ServiceTier);
/** @internal */
export const ProviderTimeouts$inboundSchema = z.object({
byok: types.optional(z.record(types.number())),
});
export function providerTimeoutsFromJSON(jsonString) {
return safeParse(jsonString, (x) => ProviderTimeouts$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ProviderTimeouts' from JSON`);
}
/** @internal */
export const Speed$inboundSchema = z.nativeEnum(Speed);
/** @internal */
export const AiGatewayVirtualModelConfig$inboundSchema = z.object({
ownerId: types.string(),
virtualModelSlug: types.string(),
displayName: types.optional(types.string()),
description: types.optional(types.string()),
deleted: types.boolean(),
status: types.string(),
visibility: types.optional(types.string()),
updatedBy: types.optional(types.string()),
kind: types.string(),
baseUrl: types.optional(types.string()),
instanceId: types.optional(types.string()),
providerOrder: types.optional(z.array(types.string())),
providerOnly: types.optional(z.array(types.string())),
providerOptions: types.optional(z.record(z.record(z.any()))),
inferenceRegion: types.optional(z.lazy(() => InferenceRegion$inboundSchema)),
modelSlug: types.optional(types.string()),
models: types.optional(z.array(types.string())),
selector: types.optional(Selector$inboundSchema),
requires: types.optional(z.array(types.string())),
byokCredentialIds: types.optional(z.array(types.string())),
observabilityTags: types.optional(z.array(types.string())),
sort: types.optional(Sort$inboundSchema),
has: types.optional(z.array(Has$inboundSchema)),
caching: types.optional(Caching$inboundSchema),
serviceTier: types.optional(ServiceTier$inboundSchema),
providerTimeouts: types.optional(z.lazy(() => ProviderTimeouts$inboundSchema)),
zeroDataRetention: types.optional(types.boolean()),
hipaaCompliant: types.optional(types.boolean()),
disallowPromptTraining: types.optional(types.boolean()),
speed: types.optional(Speed$inboundSchema),
allowFallbackFromFast: types.optional(types.boolean()),
createdAt: types.number(),
updatedAt: types.number(),
});
export function aiGatewayVirtualModelConfigFromJSON(jsonString) {
return safeParse(jsonString, (x) => AiGatewayVirtualModelConfig$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AiGatewayVirtualModelConfig' from JSON`);
}
//# sourceMappingURL=aigatewayvirtualmodelconfig.js.map