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.

154 lines • 7.49 kB
"use strict"; /* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.environmentsListByProject = environmentsListByProject; const encodings_js_1 = require("../lib/encodings.js"); const M = __importStar(require("../lib/matchers.js")); const primitives_js_1 = require("../lib/primitives.js"); const schemas_js_1 = require("../lib/schemas.js"); const security_js_1 = require("../lib/security.js"); const url_js_1 = require("../lib/url.js"); const components = __importStar(require("../models/components/index.js")); const errors = __importStar(require("../models/errors/index.js")); const operations = __importStar(require("../models/operations/index.js")); const async_js_1 = require("../types/async.js"); /** * List environments * * @remarks * Return a list of environments for the specified project. * * By default, this returns the first 20 environments. Page through this list with the `limit` parameter and by following the `first`, `prev`, `next`, and `last` links in the `_links` field that returns. If those links do not appear, the pages they refer to don't exist. For example, the `first` and `prev` links will be missing from the response on the first page, because there is no previous page and you cannot return to the first page when you are already on the first page. * * ### Filtering environments * * LaunchDarkly supports the following fields for filters: * - `query` is a string that matches against the environments' names and keys. It is not case sensitive. * - `tags` is a `+`-separated list of environment tags. It filters the list of environments that have all of the tags in the list. * - `critical` is a boolean filter. `critical:true` returns only environments marked as critical, and `critical:false` returns only non-critical environments. * * For example, the filter `filter=query:abc,tags:tag-1+tag-2` matches environments with the string `abc` in their name or key and also are tagged with `tag-1` and `tag-2`. The filter is not case-sensitive. * * The documented values for `filter` query parameters are prior to URL encoding. For example, the `+` in `filter=tags:tag-1+tag-2` must be encoded to `%2B`. * * ### Sorting environments * * LaunchDarkly supports the following fields for sorting: * * - `createdOn` sorts by the creation date of the environment. * - `critical` sorts by whether the environments are marked as critical. * - `name` sorts by environment name. * * For example, `sort=name` sorts the response by environment name in ascending order. */ function environmentsListByProject(client, request, options) { return new async_js_1.APIPromise($do(client, request, options)); } async function $do(client, request, options) { const parsed = (0, schemas_js_1.safeParse)(request, (value) => operations.GetEnvironmentsByProjectRequest$outboundSchema.parse(value), "Input validation failed"); if (!parsed.ok) { return [parsed, { status: "invalid" }]; } const payload = parsed.value; const body = null; const pathParams = { projectKey: (0, encodings_js_1.encodeSimple)("projectKey", payload.projectKey, { explode: false, charEncoding: "percent", }), }; const path = (0, url_js_1.pathToFunc)("/api/v2/projects/{projectKey}/environments")(pathParams); const query = (0, encodings_js_1.encodeFormQuery)({ "filter": payload.filter, "limit": payload.limit, "offset": payload.offset, "sort": payload.sort, }); const headers = new Headers((0, primitives_js_1.compactMap)({ Accept: "application/json", })); const secConfig = await (0, security_js_1.extractSecurity)(client._options.apiKey); const securityInput = secConfig == null ? {} : { apiKey: secConfig }; const requestSecurity = (0, security_js_1.resolveGlobalSecurity)(securityInput); const context = { options: client._options, baseURL: options?.serverURL ?? client._baseURL ?? "", operationID: "getEnvironmentsByProject", oAuth2Scopes: null, resolvedSecurity: requestSecurity, securitySource: client._options.apiKey, retryConfig: options?.retries || client._options.retryConfig || { strategy: "none" }, retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"], }; const requestRes = client._createRequest(context, { security: requestSecurity, method: "GET", baseURL: options?.serverURL, path: path, headers: headers, query: query, body: body, userAgent: client._options.userAgent, timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1, }, options); if (!requestRes.ok) { return [requestRes, { status: "invalid" }]; } const req = requestRes.value; const doResult = await client._do(req, { context, errorCodes: ["400", "401", "403", "404", "405", "429", "4XX", "5XX"], retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); if (!doResult.ok) { return [doResult, { status: "request-error", request: req }]; } const response = doResult.value; const responseFields = { HttpMeta: { Response: response, Request: req }, }; const [result] = await M.match(M.json(200, components.Environments$inboundSchema), M.jsonErr(400, errors.InvalidRequestErrorRep$inboundSchema), M.jsonErr(401, errors.UnauthorizedErrorRep$inboundSchema), M.jsonErr(403, errors.ForbiddenErrorRep$inboundSchema), M.jsonErr(404, errors.NotFoundErrorRep$inboundSchema), M.jsonErr(405, errors.MethodNotAllowedErrorRep$inboundSchema), M.jsonErr(429, errors.RateLimitedErrorRep$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields }); if (!result.ok) { return [result, { status: "complete", request: req, response }]; } return [result, { status: "complete", request: req, response }]; } //# sourceMappingURL=environmentsListByProject.js.map