UNPKG

@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.

136 lines (130 loc) • 4.48 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { EventFilter, EventFilter$inboundSchema, EventFilter$Outbound, EventFilter$outboundSchema, } from "./eventfilter.js"; import { MetricDataSourceRefRep, MetricDataSourceRefRep$inboundSchema, MetricDataSourceRefRep$Outbound, MetricDataSourceRefRep$outboundSchema, } from "./metricdatasourcerefrep.js"; export type DenominatorPost = { /** * The warehouse event column for the denominator. Required. */ eventName?: string | undefined; /** * Whether the denominator aggregates a numeric value */ isNumeric?: boolean | undefined; dataSource?: MetricDataSourceRefRep | undefined; /** * How individual unit values are aggregated. One of: average, sum, count_distinct */ unitAggregationType?: string | undefined; /** * The warehouse column to use for counting distinct values. Required when the unitAggregationType is count_distinct. */ unitAggregationField?: string | undefined; /** * For a numeric denominator, the column holding the numeric value. Overrides the value column mapped on the denominator data source. */ valueColumn?: string | undefined; filters?: EventFilter | undefined; /** * Start of the measurement window in milliseconds */ windowStartOffset?: number | undefined; /** * End of the measurement window in milliseconds */ windowEndOffset?: number | undefined; /** * Lower winsorization percentile in the open interval (0, 100) */ winsorLowerPercentile?: number | undefined; /** * Upper winsorization percentile in the open interval (0, 100) */ winsorUpperPercentile?: number | undefined; /** * When true, includes imputed zeros in the percentile bound calculation */ winsorIncludeImputed?: boolean | undefined; }; /** @internal */ export const DenominatorPost$inboundSchema: z.ZodType< DenominatorPost, z.ZodTypeDef, unknown > = z.object({ eventName: z.string().optional(), isNumeric: z.boolean().optional(), dataSource: MetricDataSourceRefRep$inboundSchema.optional(), unitAggregationType: z.string().optional(), unitAggregationField: z.string().optional(), valueColumn: z.string().optional(), filters: EventFilter$inboundSchema.optional(), windowStartOffset: z.number().int().optional(), windowEndOffset: z.number().int().optional(), winsorLowerPercentile: z.number().optional(), winsorUpperPercentile: z.number().optional(), winsorIncludeImputed: z.boolean().optional(), }); /** @internal */ export type DenominatorPost$Outbound = { eventName?: string | undefined; isNumeric?: boolean | undefined; dataSource?: MetricDataSourceRefRep$Outbound | undefined; unitAggregationType?: string | undefined; unitAggregationField?: string | undefined; valueColumn?: string | undefined; filters?: EventFilter$Outbound | undefined; windowStartOffset?: number | undefined; windowEndOffset?: number | undefined; winsorLowerPercentile?: number | undefined; winsorUpperPercentile?: number | undefined; winsorIncludeImputed?: boolean | undefined; }; /** @internal */ export const DenominatorPost$outboundSchema: z.ZodType< DenominatorPost$Outbound, z.ZodTypeDef, DenominatorPost > = z.object({ eventName: z.string().optional(), isNumeric: z.boolean().optional(), dataSource: MetricDataSourceRefRep$outboundSchema.optional(), unitAggregationType: z.string().optional(), unitAggregationField: z.string().optional(), valueColumn: z.string().optional(), filters: EventFilter$outboundSchema.optional(), windowStartOffset: z.number().int().optional(), windowEndOffset: z.number().int().optional(), winsorLowerPercentile: z.number().optional(), winsorUpperPercentile: z.number().optional(), winsorIncludeImputed: z.boolean().optional(), }); export function denominatorPostToJSON( denominatorPost: DenominatorPost, ): string { return JSON.stringify(DenominatorPost$outboundSchema.parse(denominatorPost)); } export function denominatorPostFromJSON( jsonString: string, ): SafeParseResult<DenominatorPost, SDKValidationError> { return safeParse( jsonString, (x) => DenominatorPost$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'DenominatorPost' from JSON`, ); }