@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
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 { 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`,
);
}