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.

512 lines (498 loc) • 16.8 kB
/* * 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 { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { Access, Access$inboundSchema, Access$Outbound, Access$outboundSchema, } from "./access.js"; import { Filter, Filter$inboundSchema, Filter$Outbound, Filter$outboundSchema, } from "./filter.js"; import { Link, Link$inboundSchema, Link$Outbound, Link$outboundSchema, } from "./link.js"; import { MemberSummary, MemberSummary$inboundSchema, MemberSummary$Outbound, MemberSummary$outboundSchema, } from "./membersummary.js"; import { MetricDataSourceRefRep, MetricDataSourceRefRep$inboundSchema, MetricDataSourceRefRep$Outbound, MetricDataSourceRefRep$outboundSchema, } from "./metricdatasourcerefrep.js"; import { MetricDenominatorRep, MetricDenominatorRep$inboundSchema, MetricDenominatorRep$Outbound, MetricDenominatorRep$outboundSchema, } from "./metricdenominatorrep.js"; import { MetricEventDefaultRep, MetricEventDefaultRep$inboundSchema, MetricEventDefaultRep$Outbound, MetricEventDefaultRep$outboundSchema, } from "./metriceventdefaultrep.js"; import { Modification, Modification$inboundSchema, Modification$Outbound, Modification$outboundSchema, } from "./modification.js"; /** * The kind of event the metric tracks */ export const MetricListingRepKind = { Pageview: "pageview", Click: "click", Custom: "custom", Trace: "trace", } as const; /** * The kind of event the metric tracks */ export type MetricListingRepKind = ClosedEnum<typeof MetricListingRepKind>; /** * For custom and trace metrics, the success criteria */ export const MetricListingRepSuccessCriteria = { HigherThanBaseline: "HigherThanBaseline", LowerThanBaseline: "LowerThanBaseline", } as const; /** * For custom and trace metrics, the success criteria */ export type MetricListingRepSuccessCriteria = ClosedEnum< typeof MetricListingRepSuccessCriteria >; /** * The method by which multiple unit event values are aggregated */ export const MetricListingRepUnitAggregationType = { Average: "average", Sum: "sum", CountDistinct: "count_distinct", } as const; /** * The method by which multiple unit event values are aggregated */ export type MetricListingRepUnitAggregationType = ClosedEnum< typeof MetricListingRepUnitAggregationType >; /** * The method for analyzing metric events */ export const MetricListingRepAnalysisType = { Mean: "mean", Percentile: "percentile", } as const; /** * The method for analyzing metric events */ export type MetricListingRepAnalysisType = ClosedEnum< typeof MetricListingRepAnalysisType >; export type MetricListingRep = { /** * The number of experiments using this metric */ experimentCount?: number | undefined; /** * The number of metric groups using this metric */ metricGroupCount?: number | undefined; /** * The number of active experiments using this metric */ activeExperimentCount?: number | undefined; /** * The number of active guarded rollouts using this metric */ activeGuardedRolloutCount?: number | undefined; /** * The ID of this metric */ id: string; /** * The version ID of the metric */ versionId: string; /** * Version of the metric */ version?: number | undefined; /** * A unique key to reference the metric */ key: string; /** * A human-friendly name for the metric */ name: string; /** * The kind of event the metric tracks */ kind: MetricListingRepKind; /** * The number of feature flags currently attached to this metric */ attachedFlagCount?: number | undefined; /** * The location and content type of related resources */ links: { [k: string]: Link }; site?: Link | undefined; access?: Access | undefined; /** * Tags for the metric */ tags: Array<string>; creationDate: number; lastModified?: Modification | undefined; /** * The ID of the member who maintains this metric */ maintainerId?: string | undefined; maintainer?: MemberSummary | undefined; /** * Description of the metric */ description?: string | undefined; /** * The category of the metric */ category?: string | undefined; /** * For custom and trace metrics, whether to track numeric changes in value against a baseline (<code>true</code>) or to track a conversion when an end user takes an action (<code>false</code>). */ isNumeric?: boolean | undefined; /** * For custom and trace metrics, the success criteria */ successCriteria?: MetricListingRepSuccessCriteria | undefined; /** * For numeric custom and trace metrics, the unit of measure */ unit?: string | undefined; /** * For custom metrics, the event key to use in your code */ eventKey?: string | undefined; /** * Deprecated, use <code>analysisUnits</code> instead. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ randomizationUnits?: Array<string> | undefined; /** * An array of analysis units allowed for this metric. */ analysisUnits?: Array<string> | undefined; filters?: Filter | undefined; /** * The method by which multiple unit event values are aggregated */ unitAggregationType?: MetricListingRepUnitAggregationType | undefined; /** * The method for analyzing metric events */ analysisType?: MetricListingRepAnalysisType | undefined; /** * The percentile for the analysis method. An integer denoting the target percentile between 0 and 100. Required when <code>analysisType</code> is <code>percentile</code>. */ percentileValue?: number | undefined; eventDefault?: MetricEventDefaultRep | undefined; dataSource: MetricDataSourceRefRep; lastSeen?: number | undefined; /** * Whether the metric version is archived */ archived?: boolean | undefined; archivedAt?: number | undefined; /** * For click metrics, the CSS selectors */ selector?: string | undefined; urls?: Array<{ [k: string]: any }> | undefined; /** * Not yet implemented - The start of the measurement window, in milliseconds relative to the unit's first exposure to a flag variation */ windowStartOffset?: number | undefined; /** * Not yet implemented - The end of the measurement window, in milliseconds relative to the unit's first exposure to a flag variation */ windowEndOffset?: number | undefined; /** * Lower winsorization percentile, expressed as a percent in the open interval (0, 100). When both bounds are set, defines a two-sided clamp range. Otherwise lower-only winsorization. */ winsorLowerPercentile?: number | undefined; /** * Upper winsorization percentile, expressed as a percent in the open interval (0, 100). When both bounds are set, must be greater than winsorLowerPercentile. */ winsorUpperPercentile?: number | undefined; /** * When true, the percentile bound calculation includes imputed zeros. Only meaningful when at least one bound is set and the metric includes units that didn't send events. */ winsorIncludeImputed?: boolean | undefined; /** * For trace metrics, the trace query to use for the metric. */ traceQuery?: string | undefined; /** * For trace metrics, the location in the trace to use for numeric values. */ traceValueLocation?: string | undefined; /** * For count_distinct metrics, the column to count distinct values of */ unitAggregationField?: string | undefined; denominator?: MetricDenominatorRep | undefined; }; /** @internal */ export const MetricListingRepKind$inboundSchema: z.ZodNativeEnum< typeof MetricListingRepKind > = z.nativeEnum(MetricListingRepKind); /** @internal */ export const MetricListingRepKind$outboundSchema: z.ZodNativeEnum< typeof MetricListingRepKind > = MetricListingRepKind$inboundSchema; /** @internal */ export const MetricListingRepSuccessCriteria$inboundSchema: z.ZodNativeEnum< typeof MetricListingRepSuccessCriteria > = z.nativeEnum(MetricListingRepSuccessCriteria); /** @internal */ export const MetricListingRepSuccessCriteria$outboundSchema: z.ZodNativeEnum< typeof MetricListingRepSuccessCriteria > = MetricListingRepSuccessCriteria$inboundSchema; /** @internal */ export const MetricListingRepUnitAggregationType$inboundSchema: z.ZodNativeEnum< typeof MetricListingRepUnitAggregationType > = z.nativeEnum(MetricListingRepUnitAggregationType); /** @internal */ export const MetricListingRepUnitAggregationType$outboundSchema: z.ZodNativeEnum<typeof MetricListingRepUnitAggregationType> = MetricListingRepUnitAggregationType$inboundSchema; /** @internal */ export const MetricListingRepAnalysisType$inboundSchema: z.ZodNativeEnum< typeof MetricListingRepAnalysisType > = z.nativeEnum(MetricListingRepAnalysisType); /** @internal */ export const MetricListingRepAnalysisType$outboundSchema: z.ZodNativeEnum< typeof MetricListingRepAnalysisType > = MetricListingRepAnalysisType$inboundSchema; /** @internal */ export const MetricListingRep$inboundSchema: z.ZodType< MetricListingRep, z.ZodTypeDef, unknown > = z.object({ experimentCount: z.number().int().optional(), metricGroupCount: z.number().int().optional(), activeExperimentCount: z.number().int().optional(), activeGuardedRolloutCount: z.number().int().optional(), _id: z.string(), _versionId: z.string(), _version: z.number().int().optional(), key: z.string(), name: z.string(), kind: MetricListingRepKind$inboundSchema, _attachedFlagCount: z.number().int().optional(), _links: z.record(Link$inboundSchema), _site: Link$inboundSchema.optional(), _access: Access$inboundSchema.optional(), tags: z.array(z.string()), _creationDate: z.number().int(), lastModified: Modification$inboundSchema.optional(), maintainerId: z.string().optional(), _maintainer: MemberSummary$inboundSchema.optional(), description: z.string().optional(), category: z.string().optional(), isNumeric: z.boolean().optional(), successCriteria: MetricListingRepSuccessCriteria$inboundSchema.optional(), unit: z.string().optional(), eventKey: z.string().optional(), randomizationUnits: z.array(z.string()).optional(), analysisUnits: z.array(z.string()).optional(), filters: Filter$inboundSchema.optional(), unitAggregationType: MetricListingRepUnitAggregationType$inboundSchema .optional(), analysisType: MetricListingRepAnalysisType$inboundSchema.optional(), percentileValue: z.number().int().optional(), eventDefault: MetricEventDefaultRep$inboundSchema.optional(), dataSource: MetricDataSourceRefRep$inboundSchema, lastSeen: z.number().int().optional(), archived: z.boolean().optional(), archivedAt: z.number().int().optional(), selector: z.string().optional(), urls: z.array(z.record(z.any())).optional(), windowStartOffset: z.number().int().optional(), windowEndOffset: z.number().int().optional(), winsorLowerPercentile: z.number().optional(), winsorUpperPercentile: z.number().optional(), winsorIncludeImputed: z.boolean().optional(), traceQuery: z.string().optional(), traceValueLocation: z.string().optional(), unitAggregationField: z.string().optional(), denominator: MetricDenominatorRep$inboundSchema.optional(), }).transform((v) => { return remap$(v, { "_id": "id", "_versionId": "versionId", "_version": "version", "_attachedFlagCount": "attachedFlagCount", "_links": "links", "_site": "site", "_access": "access", "_creationDate": "creationDate", "_maintainer": "maintainer", }); }); /** @internal */ export type MetricListingRep$Outbound = { experimentCount?: number | undefined; metricGroupCount?: number | undefined; activeExperimentCount?: number | undefined; activeGuardedRolloutCount?: number | undefined; _id: string; _versionId: string; _version?: number | undefined; key: string; name: string; kind: string; _attachedFlagCount?: number | undefined; _links: { [k: string]: Link$Outbound }; _site?: Link$Outbound | undefined; _access?: Access$Outbound | undefined; tags: Array<string>; _creationDate: number; lastModified?: Modification$Outbound | undefined; maintainerId?: string | undefined; _maintainer?: MemberSummary$Outbound | undefined; description?: string | undefined; category?: string | undefined; isNumeric?: boolean | undefined; successCriteria?: string | undefined; unit?: string | undefined; eventKey?: string | undefined; randomizationUnits?: Array<string> | undefined; analysisUnits?: Array<string> | undefined; filters?: Filter$Outbound | undefined; unitAggregationType?: string | undefined; analysisType?: string | undefined; percentileValue?: number | undefined; eventDefault?: MetricEventDefaultRep$Outbound | undefined; dataSource: MetricDataSourceRefRep$Outbound; lastSeen?: number | undefined; archived?: boolean | undefined; archivedAt?: number | undefined; selector?: string | undefined; urls?: Array<{ [k: string]: any }> | undefined; windowStartOffset?: number | undefined; windowEndOffset?: number | undefined; winsorLowerPercentile?: number | undefined; winsorUpperPercentile?: number | undefined; winsorIncludeImputed?: boolean | undefined; traceQuery?: string | undefined; traceValueLocation?: string | undefined; unitAggregationField?: string | undefined; denominator?: MetricDenominatorRep$Outbound | undefined; }; /** @internal */ export const MetricListingRep$outboundSchema: z.ZodType< MetricListingRep$Outbound, z.ZodTypeDef, MetricListingRep > = z.object({ experimentCount: z.number().int().optional(), metricGroupCount: z.number().int().optional(), activeExperimentCount: z.number().int().optional(), activeGuardedRolloutCount: z.number().int().optional(), id: z.string(), versionId: z.string(), version: z.number().int().optional(), key: z.string(), name: z.string(), kind: MetricListingRepKind$outboundSchema, attachedFlagCount: z.number().int().optional(), links: z.record(Link$outboundSchema), site: Link$outboundSchema.optional(), access: Access$outboundSchema.optional(), tags: z.array(z.string()), creationDate: z.number().int(), lastModified: Modification$outboundSchema.optional(), maintainerId: z.string().optional(), maintainer: MemberSummary$outboundSchema.optional(), description: z.string().optional(), category: z.string().optional(), isNumeric: z.boolean().optional(), successCriteria: MetricListingRepSuccessCriteria$outboundSchema.optional(), unit: z.string().optional(), eventKey: z.string().optional(), randomizationUnits: z.array(z.string()).optional(), analysisUnits: z.array(z.string()).optional(), filters: Filter$outboundSchema.optional(), unitAggregationType: MetricListingRepUnitAggregationType$outboundSchema .optional(), analysisType: MetricListingRepAnalysisType$outboundSchema.optional(), percentileValue: z.number().int().optional(), eventDefault: MetricEventDefaultRep$outboundSchema.optional(), dataSource: MetricDataSourceRefRep$outboundSchema, lastSeen: z.number().int().optional(), archived: z.boolean().optional(), archivedAt: z.number().int().optional(), selector: z.string().optional(), urls: z.array(z.record(z.any())).optional(), windowStartOffset: z.number().int().optional(), windowEndOffset: z.number().int().optional(), winsorLowerPercentile: z.number().optional(), winsorUpperPercentile: z.number().optional(), winsorIncludeImputed: z.boolean().optional(), traceQuery: z.string().optional(), traceValueLocation: z.string().optional(), unitAggregationField: z.string().optional(), denominator: MetricDenominatorRep$outboundSchema.optional(), }).transform((v) => { return remap$(v, { id: "_id", versionId: "_versionId", version: "_version", attachedFlagCount: "_attachedFlagCount", links: "_links", site: "_site", access: "_access", creationDate: "_creationDate", maintainer: "_maintainer", }); }); export function metricListingRepToJSON( metricListingRep: MetricListingRep, ): string { return JSON.stringify( MetricListingRep$outboundSchema.parse(metricListingRep), ); } export function metricListingRepFromJSON( jsonString: string, ): SafeParseResult<MetricListingRep, SDKValidationError> { return safeParse( jsonString, (x) => MetricListingRep$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'MetricListingRep' from JSON`, ); }