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.

327 lines (315 loc) • 10.1 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 { Classifier, Classifier$inboundSchema, Classifier$Outbound, Classifier$outboundSchema, } from "./classifier.js"; import { JudgeConfiguration, JudgeConfiguration$inboundSchema, JudgeConfiguration$Outbound, JudgeConfiguration$outboundSchema, } from "./judgeconfiguration.js"; import { Message, Message$inboundSchema, Message$Outbound, Message$outboundSchema, } from "./message.js"; import { ParentLink, ParentLink$inboundSchema, ParentLink$Outbound, ParentLink$outboundSchema, } from "./parentlink.js"; import { VariationSkill, VariationSkill$inboundSchema, VariationSkill$Outbound, VariationSkill$outboundSchema, } from "./variationskill.js"; import { VariationTool, VariationTool$inboundSchema, VariationTool$Outbound, VariationTool$outboundSchema, } from "./variationtool.js"; /** * Freeform JSON object. LaunchDarkly does not validate the keys. In a model config, `params` and `customParams` hold parameters that the provider's API accepts, for example `{"temperature": 0.7, "maxTokens": 4096}`. */ export type AIConfigVariationModel = {}; /** * The state of the variation. * * @remarks * - `archived`: The variation is archived. To restore it, update the variation with `state` set to `published`. * - `published`: The variation is active. */ export const AIConfigVariationState = { Archived: "archived", Published: "published", } as const; /** * The state of the variation. * * @remarks * - `archived`: The variation is archived. To restore it, update the variation with `state` set to `published`. * - `published`: The variation is active. */ export type AIConfigVariationState = ClosedEnum<typeof AIConfigVariationState>; export type AIConfigVariation = { links?: ParentLink | undefined; /** * The color used for this variation in the UI */ color?: string | undefined; /** * Classifier rules for a judge variation. When this array is non-empty, messages must be empty. * * @remarks */ classifiers?: Array<Classifier> | undefined; /** * A comment describing this version of the variation */ comment?: string | undefined; /** * Returns the description for the agent. This is only returned for agent variations. */ description?: string | undefined; /** * Returns the instructions for the agent. This is only returned for agent variations. */ instructions?: string | undefined; /** * The variation key */ key: string; /** * The variation ID */ id: string; /** * The prompt messages for this variation */ messages?: Array<Message> | undefined; /** * Freeform JSON object. LaunchDarkly does not validate the keys. In a model config, `params` and `customParams` hold parameters that the provider's API accepts, for example `{"temperature": 0.7, "maxTokens": 4096}`. */ model: AIConfigVariationModel; /** * The key of the model config that this variation uses, not the provider model ID. Absent * * @remarks * when the variation does not use a model config. */ modelConfigKey?: string | undefined; /** * The version of the model config that this variation is pinned to, when it references a * * @remarks * custom model config. Absent when the variation does not reference a model config, when * the variation is not pinned to a specific version, or when custom model config versioning * is not enabled for the project. */ modelConfigVersion?: number | undefined; /** * The variation name */ name: string; /** * JSON Schema defining the structured output format for the variation. */ outputFormat?: { [k: string]: any } | undefined; createdAt: number; /** * The version number of this resource */ version: number; /** * The state of the variation. * * @remarks * - `archived`: The variation is archived. To restore it, update the variation with `state` set to `published`. * - `published`: The variation is active. */ state?: AIConfigVariationState | undefined; archivedAt?: number | undefined; publishedAt?: number | undefined; /** * The tools this variation can use */ tools?: Array<VariationTool> | undefined; /** * The agent skills this variation can use */ skills?: Array<VariationSkill> | undefined; judgeConfiguration?: JudgeConfiguration | undefined; /** * Keys of the judge AI Configs attached to this variation */ judgingConfigKeys?: Array<string> | undefined; }; /** @internal */ export const AIConfigVariationModel$inboundSchema: z.ZodType< AIConfigVariationModel, z.ZodTypeDef, unknown > = z.object({}); /** @internal */ export type AIConfigVariationModel$Outbound = {}; /** @internal */ export const AIConfigVariationModel$outboundSchema: z.ZodType< AIConfigVariationModel$Outbound, z.ZodTypeDef, AIConfigVariationModel > = z.object({}); export function aiConfigVariationModelToJSON( aiConfigVariationModel: AIConfigVariationModel, ): string { return JSON.stringify( AIConfigVariationModel$outboundSchema.parse(aiConfigVariationModel), ); } export function aiConfigVariationModelFromJSON( jsonString: string, ): SafeParseResult<AIConfigVariationModel, SDKValidationError> { return safeParse( jsonString, (x) => AIConfigVariationModel$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AIConfigVariationModel' from JSON`, ); } /** @internal */ export const AIConfigVariationState$inboundSchema: z.ZodNativeEnum< typeof AIConfigVariationState > = z.nativeEnum(AIConfigVariationState); /** @internal */ export const AIConfigVariationState$outboundSchema: z.ZodNativeEnum< typeof AIConfigVariationState > = AIConfigVariationState$inboundSchema; /** @internal */ export const AIConfigVariation$inboundSchema: z.ZodType< AIConfigVariation, z.ZodTypeDef, unknown > = z.object({ _links: ParentLink$inboundSchema.optional(), color: z.string().optional(), classifiers: z.array(Classifier$inboundSchema).optional(), comment: z.string().optional(), description: z.string().optional(), instructions: z.string().optional(), key: z.string(), _id: z.string(), messages: z.array(Message$inboundSchema).optional(), model: z.lazy(() => AIConfigVariationModel$inboundSchema), modelConfigKey: z.string().optional(), modelConfigVersion: z.number().int().optional(), name: z.string(), outputFormat: z.record(z.any()).optional(), createdAt: z.number().int(), version: z.number().int(), state: AIConfigVariationState$inboundSchema.optional(), _archivedAt: z.number().int().optional(), _publishedAt: z.number().int().optional(), tools: z.array(VariationTool$inboundSchema).optional(), skills: z.array(VariationSkill$inboundSchema).optional(), judgeConfiguration: JudgeConfiguration$inboundSchema.optional(), judgingConfigKeys: z.array(z.string()).optional(), }).transform((v) => { return remap$(v, { "_links": "links", "_id": "id", "_archivedAt": "archivedAt", "_publishedAt": "publishedAt", }); }); /** @internal */ export type AIConfigVariation$Outbound = { _links?: ParentLink$Outbound | undefined; color?: string | undefined; classifiers?: Array<Classifier$Outbound> | undefined; comment?: string | undefined; description?: string | undefined; instructions?: string | undefined; key: string; _id: string; messages?: Array<Message$Outbound> | undefined; model: AIConfigVariationModel$Outbound; modelConfigKey?: string | undefined; modelConfigVersion?: number | undefined; name: string; outputFormat?: { [k: string]: any } | undefined; createdAt: number; version: number; state?: string | undefined; _archivedAt?: number | undefined; _publishedAt?: number | undefined; tools?: Array<VariationTool$Outbound> | undefined; skills?: Array<VariationSkill$Outbound> | undefined; judgeConfiguration?: JudgeConfiguration$Outbound | undefined; judgingConfigKeys?: Array<string> | undefined; }; /** @internal */ export const AIConfigVariation$outboundSchema: z.ZodType< AIConfigVariation$Outbound, z.ZodTypeDef, AIConfigVariation > = z.object({ links: ParentLink$outboundSchema.optional(), color: z.string().optional(), classifiers: z.array(Classifier$outboundSchema).optional(), comment: z.string().optional(), description: z.string().optional(), instructions: z.string().optional(), key: z.string(), id: z.string(), messages: z.array(Message$outboundSchema).optional(), model: z.lazy(() => AIConfigVariationModel$outboundSchema), modelConfigKey: z.string().optional(), modelConfigVersion: z.number().int().optional(), name: z.string(), outputFormat: z.record(z.any()).optional(), createdAt: z.number().int(), version: z.number().int(), state: AIConfigVariationState$outboundSchema.optional(), archivedAt: z.number().int().optional(), publishedAt: z.number().int().optional(), tools: z.array(VariationTool$outboundSchema).optional(), skills: z.array(VariationSkill$outboundSchema).optional(), judgeConfiguration: JudgeConfiguration$outboundSchema.optional(), judgingConfigKeys: z.array(z.string()).optional(), }).transform((v) => { return remap$(v, { links: "_links", id: "_id", archivedAt: "_archivedAt", publishedAt: "_publishedAt", }); }); export function aiConfigVariationToJSON( aiConfigVariation: AIConfigVariation, ): string { return JSON.stringify( AIConfigVariation$outboundSchema.parse(aiConfigVariation), ); } export function aiConfigVariationFromJSON( jsonString: string, ): SafeParseResult<AIConfigVariation, SDKValidationError> { return safeParse( jsonString, (x) => AIConfigVariation$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AIConfigVariation' from JSON`, ); }