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.

100 lines • 5.16 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { metricsCreate } from "../funcs/metricsCreate.js"; import { metricsGet } from "../funcs/metricsGet.js"; import { metricsList } from "../funcs/metricsList.js"; import { metricsPatch } from "../funcs/metricsPatch.js"; import { ClientSDK } from "../lib/sdks.js"; import { unwrapAsync } from "../types/fp.js"; export class Metrics extends ClientSDK { /** * List metrics * * @remarks * Get a list of all metrics for the specified project. * * ### Filtering metrics * * The `filter` parameter supports the following operators: `contains`, `equals`, `anyOf`. * * #### Supported fields and operators * * You can only filter certain fields in metrics when using the `filter` parameter. Additionally, you can only filter some fields with certain operators. * * When you search for metrics, the `filter` parameter supports the following fields and operators: * * |<div style="width:120px">Field</div> |Description |Supported operators | * |---|---|---| * | `dataSourceKeys` | The data source that provides events for this metric (for example, "launchdarkly-hosted"). | `anyOf`, `notEquals` | * | `eventKeys` | The metric event key. | `anyOf` | * | `eventKind` | The metric event kind. One of `custom`, `pageview`, `click`. | `equals` | * | `hasConnections` | Whether the metric has connections to experiments or guarded rollouts. One of `true`, `false`. | `equals` | * | `isNumeric` | Whether the metric is numeric. One of `true`, `false`. | `equals` | * | `maintainerIds` | A comma-separated list of metric maintainer IDs. | `anyOf` | * | `maintainerTeamKey` | The metric maintainer team key. | `equals` | * | `metricUsedIn` | Filter by where the metric is used. One of `experiments`, `guarded_rollouts`, `any`, `none`. | `equals` | * | `query` | A "fuzzy" search across metric key and name. Supply a string or list of strings to the operator. | `equals` | * | `tags` | The metric tags. | `contains` | * | `unitAggregationType` | The metric's unit aggregation type. One of `sum`, `average`. | `equals` | * | `versionIds` | The metric version number. | `anyOf` | * | `view` | The view used to restrict access to the metric. | `equals` | * * For example, the filter `?filter=tags contains ["tag1", "tag2", "tag3"]` matches metrics that have all three tags. * * The documented values for `filter` query parameters are prior to URL encoding. For example, the `[` in `?filter=tags contains ["tag1", "tag2", "tag3"]` must be encoded to `%5B`. * * ### Expanding the metric list response * * LaunchDarkly supports expanding the "List metrics" response. By default, the expandable field is **not** included in the response. * * To expand the response, append the `expand` query parameter and add the following supported field: * * - `experimentCount` includes the number of experiments from the specific project that use the metric * * For example, `expand=experimentCount` includes the `experimentCount` field for each metric in the response. */ async list(request, options) { return unwrapAsync(metricsList(this, request, options)); } /** * Create metric * * @remarks * Create a new metric in the specified project. The expected `POST` body differs depending on the specified `kind` property. */ async create(request, options) { return unwrapAsync(metricsCreate(this, request, options)); } /** * Get metric * * @remarks * Get information for a single metric from the specific project. * * ### Expanding the metric response * LaunchDarkly supports four fields for expanding the "Get metric" response. By default, these fields are **not** included in the response. * * To expand the response, append the `expand` query parameter and add a comma-separated list with any of the following fields: * * - `experiments` includes all experiments from the specific project that use the metric * - `experimentCount` includes the number of experiments from the specific project that use the metric * - `metricGroups` includes all metric groups from the specific project that use the metric * - `metricGroupCount` includes the number of metric groups from the specific project that use the metric * * For example, `expand=experiments` includes the `experiments` field in the response. */ async get(request, options) { return unwrapAsync(metricsGet(this, request, options)); } /** * Update metric * * @remarks * Patch a metric by key. Updating a metric uses a [JSON patch](https://datatracker.ietf.org/doc/html/rfc6902) representation of the desired changes. To learn more, read [Updates](https://launchdarkly.com/docs/api#updates). */ async patch(request, options) { return unwrapAsync(metricsPatch(this, request, options)); } } //# sourceMappingURL=metrics.js.map