@launchdarkly/mcp-server
Version:
The local [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for [LaunchDarkly](https://launchdarkly.com/) federal and European Union (EU) environments.
150 lines (144 loc) • 4.85 kB
text/typescript
/*
* 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 {
AIConfigTargetingEnvironmentFallthrough,
AIConfigTargetingEnvironmentFallthrough$inboundSchema,
AIConfigTargetingEnvironmentFallthrough$Outbound,
AIConfigTargetingEnvironmentFallthrough$outboundSchema,
} from "./aiconfigtargetingenvironmentfallthrough.js";
import {
AIConfigTargetingEnvironmentRule,
AIConfigTargetingEnvironmentRule$inboundSchema,
AIConfigTargetingEnvironmentRule$Outbound,
AIConfigTargetingEnvironmentRule$outboundSchema,
} from "./aiconfigtargetingenvironmentrule.js";
import {
AIConfigTargetingEnvironmentTarget,
AIConfigTargetingEnvironmentTarget$inboundSchema,
AIConfigTargetingEnvironmentTarget$Outbound,
AIConfigTargetingEnvironmentTarget$outboundSchema,
} from "./aiconfigtargetingenvironmenttarget.js";
export type AIConfigTargetingEnvironment = {
/**
* Individual context targets for non-user context kinds
*/
contextTargets: Array<AIConfigTargetingEnvironmentTarget>;
/**
* Whether targeting is on in this environment
*/
enabled: boolean;
fallthrough: AIConfigTargetingEnvironmentFallthrough;
lastModified: number;
/**
* Index of the variation served when targeting is off
*/
offVariation?: number | undefined;
/**
* The targeting rules
*/
rules: Array<AIConfigTargetingEnvironmentRule>;
/**
* Individual user targets
*/
targets: Array<AIConfigTargetingEnvironmentTarget>;
/**
* Whether to send detailed events for all evaluations
*/
trackEvents: boolean;
/**
* Whether to send detailed events for evaluations that fall through to the default rule
*/
trackEventsFallthrough: boolean;
/**
* The environment name
*/
environmentName: string;
/**
* The version of the targeting in this environment
*/
version: number;
};
/** @internal */
export const AIConfigTargetingEnvironment$inboundSchema: z.ZodType<
AIConfigTargetingEnvironment,
z.ZodTypeDef,
unknown
> = z.object({
contextTargets: z.array(AIConfigTargetingEnvironmentTarget$inboundSchema),
enabled: z.boolean(),
fallthrough: AIConfigTargetingEnvironmentFallthrough$inboundSchema,
lastModified: z.number().int(),
offVariation: z.number().int().optional(),
rules: z.array(AIConfigTargetingEnvironmentRule$inboundSchema),
targets: z.array(AIConfigTargetingEnvironmentTarget$inboundSchema),
trackEvents: z.boolean(),
trackEventsFallthrough: z.boolean(),
_environmentName: z.string(),
_version: z.number().int(),
}).transform((v) => {
return remap$(v, {
"_environmentName": "environmentName",
"_version": "version",
});
});
/** @internal */
export type AIConfigTargetingEnvironment$Outbound = {
contextTargets: Array<AIConfigTargetingEnvironmentTarget$Outbound>;
enabled: boolean;
fallthrough: AIConfigTargetingEnvironmentFallthrough$Outbound;
lastModified: number;
offVariation?: number | undefined;
rules: Array<AIConfigTargetingEnvironmentRule$Outbound>;
targets: Array<AIConfigTargetingEnvironmentTarget$Outbound>;
trackEvents: boolean;
trackEventsFallthrough: boolean;
_environmentName: string;
_version: number;
};
/** @internal */
export const AIConfigTargetingEnvironment$outboundSchema: z.ZodType<
AIConfigTargetingEnvironment$Outbound,
z.ZodTypeDef,
AIConfigTargetingEnvironment
> = z.object({
contextTargets: z.array(AIConfigTargetingEnvironmentTarget$outboundSchema),
enabled: z.boolean(),
fallthrough: AIConfigTargetingEnvironmentFallthrough$outboundSchema,
lastModified: z.number().int(),
offVariation: z.number().int().optional(),
rules: z.array(AIConfigTargetingEnvironmentRule$outboundSchema),
targets: z.array(AIConfigTargetingEnvironmentTarget$outboundSchema),
trackEvents: z.boolean(),
trackEventsFallthrough: z.boolean(),
environmentName: z.string(),
version: z.number().int(),
}).transform((v) => {
return remap$(v, {
environmentName: "_environmentName",
version: "_version",
});
});
export function aiConfigTargetingEnvironmentToJSON(
aiConfigTargetingEnvironment: AIConfigTargetingEnvironment,
): string {
return JSON.stringify(
AIConfigTargetingEnvironment$outboundSchema.parse(
aiConfigTargetingEnvironment,
),
);
}
export function aiConfigTargetingEnvironmentFromJSON(
jsonString: string,
): SafeParseResult<AIConfigTargetingEnvironment, SDKValidationError> {
return safeParse(
jsonString,
(x) => AIConfigTargetingEnvironment$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'AIConfigTargetingEnvironment' from JSON`,
);
}