@shipeasy/openapi
Advanced tools
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| // src/generated/core/bodySerializer.gen.ts | ||
| var jsonBodySerializer = { | ||
| bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value) | ||
| }; | ||
| // src/generated/core/params.gen.ts | ||
| var extraPrefixesMap = { | ||
| $body_: "body", | ||
| $headers_: "headers", | ||
| $path_: "path", | ||
| $query_: "query" | ||
| }; | ||
| var extraPrefixes = Object.entries(extraPrefixesMap); | ||
| // src/generated/core/serverSentEvents.gen.ts | ||
| function createSseClient({ | ||
| onRequest, | ||
| onSseError, | ||
| onSseEvent, | ||
| responseTransformer, | ||
| responseValidator, | ||
| sseDefaultRetryDelay, | ||
| sseMaxRetryAttempts, | ||
| sseMaxRetryDelay, | ||
| sseSleepFn, | ||
| url, | ||
| ...options | ||
| }) { | ||
| let lastEventId; | ||
| const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms))); | ||
| const createStream = async function* () { | ||
| let retryDelay = sseDefaultRetryDelay ?? 3e3; | ||
| let attempt = 0; | ||
| const signal = options.signal ?? new AbortController().signal; | ||
| while (true) { | ||
| if (signal.aborted) break; | ||
| attempt++; | ||
| const headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers); | ||
| if (lastEventId !== void 0) { | ||
| headers.set("Last-Event-ID", lastEventId); | ||
| } | ||
| try { | ||
| const requestInit = { | ||
| redirect: "follow", | ||
| ...options, | ||
| body: options.serializedBody, | ||
| headers, | ||
| signal | ||
| }; | ||
| let request = new Request(url, requestInit); | ||
| if (onRequest) { | ||
| request = await onRequest(url, requestInit); | ||
| } | ||
| const _fetch = options.fetch ?? globalThis.fetch; | ||
| const response = await _fetch(request); | ||
| if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`); | ||
| if (!response.body) throw new Error("No body in SSE response"); | ||
| const reader = response.body.pipeThrough(new TextDecoderStream()).getReader(); | ||
| let buffer = ""; | ||
| const abortHandler = () => { | ||
| try { | ||
| reader.cancel(); | ||
| } catch { | ||
| } | ||
| }; | ||
| signal.addEventListener("abort", abortHandler); | ||
| try { | ||
| while (true) { | ||
| const { done, value } = await reader.read(); | ||
| if (done) break; | ||
| buffer += value; | ||
| buffer = buffer.replace(/\r\n?/g, "\n"); | ||
| const chunks = buffer.split("\n\n"); | ||
| buffer = chunks.pop() ?? ""; | ||
| for (const chunk of chunks) { | ||
| const lines = chunk.split("\n"); | ||
| const dataLines = []; | ||
| let eventName; | ||
| for (const line of lines) { | ||
| if (line.startsWith("data:")) { | ||
| dataLines.push(line.replace(/^data:\s*/, "")); | ||
| } else if (line.startsWith("event:")) { | ||
| eventName = line.replace(/^event:\s*/, ""); | ||
| } else if (line.startsWith("id:")) { | ||
| lastEventId = line.replace(/^id:\s*/, ""); | ||
| } else if (line.startsWith("retry:")) { | ||
| const parsed = Number.parseInt(line.replace(/^retry:\s*/, ""), 10); | ||
| if (!Number.isNaN(parsed)) { | ||
| retryDelay = parsed; | ||
| } | ||
| } | ||
| } | ||
| let data; | ||
| let parsedJson = false; | ||
| if (dataLines.length) { | ||
| const rawData = dataLines.join("\n"); | ||
| try { | ||
| data = JSON.parse(rawData); | ||
| parsedJson = true; | ||
| } catch { | ||
| data = rawData; | ||
| } | ||
| } | ||
| if (parsedJson) { | ||
| if (responseValidator) { | ||
| await responseValidator(data); | ||
| } | ||
| if (responseTransformer) { | ||
| data = await responseTransformer(data); | ||
| } | ||
| } | ||
| onSseEvent?.({ | ||
| data, | ||
| event: eventName, | ||
| id: lastEventId, | ||
| retry: retryDelay | ||
| }); | ||
| if (dataLines.length) { | ||
| yield data; | ||
| } | ||
| } | ||
| } | ||
| } finally { | ||
| signal.removeEventListener("abort", abortHandler); | ||
| reader.releaseLock(); | ||
| } | ||
| break; | ||
| } catch (error) { | ||
| onSseError?.(error); | ||
| if (sseMaxRetryAttempts !== void 0 && attempt >= sseMaxRetryAttempts) { | ||
| break; | ||
| } | ||
| const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 3e4); | ||
| await sleep(backoff); | ||
| } | ||
| } | ||
| }; | ||
| const stream = createStream(); | ||
| return { stream }; | ||
| } | ||
| // src/generated/core/pathSerializer.gen.ts | ||
| var separatorArrayExplode = (style) => { | ||
| switch (style) { | ||
| case "label": | ||
| return "."; | ||
| case "matrix": | ||
| return ";"; | ||
| case "simple": | ||
| return ","; | ||
| default: | ||
| return "&"; | ||
| } | ||
| }; | ||
| var separatorArrayNoExplode = (style) => { | ||
| switch (style) { | ||
| case "form": | ||
| return ","; | ||
| case "pipeDelimited": | ||
| return "|"; | ||
| case "spaceDelimited": | ||
| return "%20"; | ||
| default: | ||
| return ","; | ||
| } | ||
| }; | ||
| var separatorObjectExplode = (style) => { | ||
| switch (style) { | ||
| case "label": | ||
| return "."; | ||
| case "matrix": | ||
| return ";"; | ||
| case "simple": | ||
| return ","; | ||
| default: | ||
| return "&"; | ||
| } | ||
| }; | ||
| var serializeArrayParam = ({ | ||
| allowReserved, | ||
| explode, | ||
| name, | ||
| style, | ||
| value | ||
| }) => { | ||
| if (!explode) { | ||
| const joinedValues2 = (allowReserved ? value : value.map((v) => encodeURIComponent(v))).join(separatorArrayNoExplode(style)); | ||
| switch (style) { | ||
| case "label": | ||
| return `.${joinedValues2}`; | ||
| case "matrix": | ||
| return `;${name}=${joinedValues2}`; | ||
| case "simple": | ||
| return joinedValues2; | ||
| default: | ||
| return `${name}=${joinedValues2}`; | ||
| } | ||
| } | ||
| const separator = separatorArrayExplode(style); | ||
| const joinedValues = value.map((v) => { | ||
| if (style === "label" || style === "simple") { | ||
| return allowReserved ? v : encodeURIComponent(v); | ||
| } | ||
| return serializePrimitiveParam({ | ||
| allowReserved, | ||
| name, | ||
| value: v | ||
| }); | ||
| }).join(separator); | ||
| return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues; | ||
| }; | ||
| var serializePrimitiveParam = ({ | ||
| allowReserved, | ||
| name, | ||
| value | ||
| }) => { | ||
| if (value === void 0 || value === null) { | ||
| return ""; | ||
| } | ||
| if (typeof value === "object") { | ||
| throw new Error( | ||
| "Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these." | ||
| ); | ||
| } | ||
| return `${name}=${allowReserved ? value : encodeURIComponent(value)}`; | ||
| }; | ||
| var serializeObjectParam = ({ | ||
| allowReserved, | ||
| explode, | ||
| name, | ||
| style, | ||
| value, | ||
| valueOnly | ||
| }) => { | ||
| if (value instanceof Date) { | ||
| return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`; | ||
| } | ||
| if (style !== "deepObject" && !explode) { | ||
| let values = []; | ||
| Object.entries(value).forEach(([key, v]) => { | ||
| values = [...values, key, allowReserved ? v : encodeURIComponent(v)]; | ||
| }); | ||
| const joinedValues2 = values.join(","); | ||
| switch (style) { | ||
| case "form": | ||
| return `${name}=${joinedValues2}`; | ||
| case "label": | ||
| return `.${joinedValues2}`; | ||
| case "matrix": | ||
| return `;${name}=${joinedValues2}`; | ||
| default: | ||
| return joinedValues2; | ||
| } | ||
| } | ||
| const separator = separatorObjectExplode(style); | ||
| const joinedValues = Object.entries(value).map( | ||
| ([key, v]) => serializePrimitiveParam({ | ||
| allowReserved, | ||
| name: style === "deepObject" ? `${name}[${key}]` : key, | ||
| value: v | ||
| }) | ||
| ).join(separator); | ||
| return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues; | ||
| }; | ||
| // src/generated/core/utils.gen.ts | ||
| var PATH_PARAM_RE = /\{[^{}]+\}/g; | ||
| var defaultPathSerializer = ({ path, url: _url }) => { | ||
| let url = _url; | ||
| const matches = _url.match(PATH_PARAM_RE); | ||
| if (matches) { | ||
| for (const match of matches) { | ||
| let explode = false; | ||
| let name = match.substring(1, match.length - 1); | ||
| let style = "simple"; | ||
| if (name.endsWith("*")) { | ||
| explode = true; | ||
| name = name.substring(0, name.length - 1); | ||
| } | ||
| if (name.startsWith(".")) { | ||
| name = name.substring(1); | ||
| style = "label"; | ||
| } else if (name.startsWith(";")) { | ||
| name = name.substring(1); | ||
| style = "matrix"; | ||
| } | ||
| const value = path[name]; | ||
| if (value === void 0 || value === null) { | ||
| continue; | ||
| } | ||
| if (Array.isArray(value)) { | ||
| url = url.replace(match, serializeArrayParam({ explode, name, style, value })); | ||
| continue; | ||
| } | ||
| if (typeof value === "object") { | ||
| url = url.replace( | ||
| match, | ||
| serializeObjectParam({ | ||
| explode, | ||
| name, | ||
| style, | ||
| value, | ||
| valueOnly: true | ||
| }) | ||
| ); | ||
| continue; | ||
| } | ||
| if (style === "matrix") { | ||
| url = url.replace( | ||
| match, | ||
| `;${serializePrimitiveParam({ | ||
| name, | ||
| value | ||
| })}` | ||
| ); | ||
| continue; | ||
| } | ||
| const replaceValue = encodeURIComponent( | ||
| style === "label" ? `.${value}` : value | ||
| ); | ||
| url = url.replace(match, replaceValue); | ||
| } | ||
| } | ||
| return url; | ||
| }; | ||
| var getUrl = ({ | ||
| baseUrl, | ||
| path, | ||
| query, | ||
| querySerializer, | ||
| url: _url | ||
| }) => { | ||
| const pathUrl = _url.startsWith("/") ? _url : `/${_url}`; | ||
| let url = (baseUrl ?? "") + pathUrl; | ||
| if (path) { | ||
| url = defaultPathSerializer({ path, url }); | ||
| } | ||
| let search = query ? querySerializer(query) : ""; | ||
| if (search.startsWith("?")) { | ||
| search = search.substring(1); | ||
| } | ||
| if (search) { | ||
| url += `?${search}`; | ||
| } | ||
| return url; | ||
| }; | ||
| function getValidRequestBody(options) { | ||
| const hasBody = options.body !== void 0; | ||
| const isSerializedBody = hasBody && options.bodySerializer; | ||
| if (isSerializedBody) { | ||
| if ("serializedBody" in options) { | ||
| const hasSerializedBody = options.serializedBody !== void 0 && options.serializedBody !== ""; | ||
| return hasSerializedBody ? options.serializedBody : null; | ||
| } | ||
| return options.body !== "" ? options.body : null; | ||
| } | ||
| if (hasBody) { | ||
| return options.body; | ||
| } | ||
| return void 0; | ||
| } | ||
| // src/generated/core/auth.gen.ts | ||
| var getAuthToken = async (auth, callback) => { | ||
| const token = typeof callback === "function" ? await callback(auth) : callback; | ||
| if (!token) { | ||
| return; | ||
| } | ||
| if (auth.scheme === "bearer") { | ||
| return `Bearer ${token}`; | ||
| } | ||
| if (auth.scheme === "basic") { | ||
| return `Basic ${btoa(token)}`; | ||
| } | ||
| return token; | ||
| }; | ||
| // src/generated/client/utils.gen.ts | ||
| var createQuerySerializer = ({ | ||
| parameters = {}, | ||
| ...args | ||
| } = {}) => { | ||
| const querySerializer = (queryParams) => { | ||
| const search = []; | ||
| if (queryParams && typeof queryParams === "object") { | ||
| for (const name in queryParams) { | ||
| const value = queryParams[name]; | ||
| if (value === void 0 || value === null) { | ||
| continue; | ||
| } | ||
| const options = parameters[name] || args; | ||
| if (Array.isArray(value)) { | ||
| const serializedArray = serializeArrayParam({ | ||
| allowReserved: options.allowReserved, | ||
| explode: true, | ||
| name, | ||
| style: "form", | ||
| value, | ||
| ...options.array | ||
| }); | ||
| if (serializedArray) search.push(serializedArray); | ||
| } else if (typeof value === "object") { | ||
| const serializedObject = serializeObjectParam({ | ||
| allowReserved: options.allowReserved, | ||
| explode: true, | ||
| name, | ||
| style: "deepObject", | ||
| value, | ||
| ...options.object | ||
| }); | ||
| if (serializedObject) search.push(serializedObject); | ||
| } else { | ||
| const serializedPrimitive = serializePrimitiveParam({ | ||
| allowReserved: options.allowReserved, | ||
| name, | ||
| value | ||
| }); | ||
| if (serializedPrimitive) search.push(serializedPrimitive); | ||
| } | ||
| } | ||
| } | ||
| return search.join("&"); | ||
| }; | ||
| return querySerializer; | ||
| }; | ||
| var getParseAs = (contentType) => { | ||
| if (!contentType) { | ||
| return "stream"; | ||
| } | ||
| const cleanContent = contentType.split(";")[0]?.trim(); | ||
| if (!cleanContent) { | ||
| return; | ||
| } | ||
| if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) { | ||
| return "json"; | ||
| } | ||
| if (cleanContent === "multipart/form-data") { | ||
| return "formData"; | ||
| } | ||
| if (["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))) { | ||
| return "blob"; | ||
| } | ||
| if (cleanContent.startsWith("text/")) { | ||
| return "text"; | ||
| } | ||
| return; | ||
| }; | ||
| var checkForExistence = (options, name) => { | ||
| if (!name) { | ||
| return false; | ||
| } | ||
| if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) { | ||
| return true; | ||
| } | ||
| return false; | ||
| }; | ||
| async function setAuthParams(options) { | ||
| for (const auth of options.security ?? []) { | ||
| if (checkForExistence(options, auth.name)) { | ||
| continue; | ||
| } | ||
| const token = await getAuthToken(auth, options.auth); | ||
| if (!token) { | ||
| continue; | ||
| } | ||
| const name = auth.name ?? "Authorization"; | ||
| switch (auth.in) { | ||
| case "query": | ||
| if (!options.query) { | ||
| options.query = {}; | ||
| } | ||
| options.query[name] = token; | ||
| break; | ||
| case "cookie": | ||
| options.headers.append("Cookie", `${name}=${token}`); | ||
| break; | ||
| case "header": | ||
| default: | ||
| options.headers.set(name, token); | ||
| break; | ||
| } | ||
| } | ||
| } | ||
| var buildUrl = (options) => getUrl({ | ||
| baseUrl: options.baseUrl, | ||
| path: options.path, | ||
| query: options.query, | ||
| querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer(options.querySerializer), | ||
| url: options.url | ||
| }); | ||
| var mergeConfigs = (a, b) => { | ||
| const config = { ...a, ...b }; | ||
| if (config.baseUrl?.endsWith("/")) { | ||
| config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1); | ||
| } | ||
| config.headers = mergeHeaders(a.headers, b.headers); | ||
| return config; | ||
| }; | ||
| var headersEntries = (headers) => { | ||
| const entries = []; | ||
| headers.forEach((value, key) => { | ||
| entries.push([key, value]); | ||
| }); | ||
| return entries; | ||
| }; | ||
| var mergeHeaders = (...headers) => { | ||
| const mergedHeaders = new Headers(); | ||
| for (const header of headers) { | ||
| if (!header) { | ||
| continue; | ||
| } | ||
| const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header); | ||
| for (const [key, value] of iterator) { | ||
| if (value === null) { | ||
| mergedHeaders.delete(key); | ||
| } else if (Array.isArray(value)) { | ||
| for (const v of value) { | ||
| mergedHeaders.append(key, v); | ||
| } | ||
| } else if (value !== void 0) { | ||
| mergedHeaders.set( | ||
| key, | ||
| typeof value === "object" ? JSON.stringify(value) : value | ||
| ); | ||
| } | ||
| } | ||
| } | ||
| return mergedHeaders; | ||
| }; | ||
| var Interceptors = class { | ||
| fns = []; | ||
| clear() { | ||
| this.fns = []; | ||
| } | ||
| eject(id) { | ||
| const index = this.getInterceptorIndex(id); | ||
| if (this.fns[index]) { | ||
| this.fns[index] = null; | ||
| } | ||
| } | ||
| exists(id) { | ||
| const index = this.getInterceptorIndex(id); | ||
| return Boolean(this.fns[index]); | ||
| } | ||
| getInterceptorIndex(id) { | ||
| if (typeof id === "number") { | ||
| return this.fns[id] ? id : -1; | ||
| } | ||
| return this.fns.indexOf(id); | ||
| } | ||
| update(id, fn) { | ||
| const index = this.getInterceptorIndex(id); | ||
| if (this.fns[index]) { | ||
| this.fns[index] = fn; | ||
| return id; | ||
| } | ||
| return false; | ||
| } | ||
| use(fn) { | ||
| this.fns.push(fn); | ||
| return this.fns.length - 1; | ||
| } | ||
| }; | ||
| var createInterceptors = () => ({ | ||
| error: new Interceptors(), | ||
| request: new Interceptors(), | ||
| response: new Interceptors() | ||
| }); | ||
| var defaultQuerySerializer = createQuerySerializer({ | ||
| allowReserved: false, | ||
| array: { | ||
| explode: true, | ||
| style: "form" | ||
| }, | ||
| object: { | ||
| explode: true, | ||
| style: "deepObject" | ||
| } | ||
| }); | ||
| var defaultHeaders = { | ||
| "Content-Type": "application/json" | ||
| }; | ||
| var createConfig = (override = {}) => ({ | ||
| ...jsonBodySerializer, | ||
| headers: defaultHeaders, | ||
| parseAs: "auto", | ||
| querySerializer: defaultQuerySerializer, | ||
| ...override | ||
| }); | ||
| // src/generated/client/client.gen.ts | ||
| var createClient = (config = {}) => { | ||
| let _config = mergeConfigs(createConfig(), config); | ||
| const getConfig2 = () => ({ ..._config }); | ||
| const setConfig = (config2) => { | ||
| _config = mergeConfigs(_config, config2); | ||
| return getConfig2(); | ||
| }; | ||
| const interceptors = createInterceptors(); | ||
| const beforeRequest = async (options) => { | ||
| const opts = { | ||
| ..._config, | ||
| ...options, | ||
| fetch: options.fetch ?? _config.fetch ?? globalThis.fetch, | ||
| headers: mergeHeaders(_config.headers, options.headers), | ||
| serializedBody: void 0 | ||
| }; | ||
| if (opts.security) { | ||
| await setAuthParams(opts); | ||
| } | ||
| if (opts.requestValidator) { | ||
| await opts.requestValidator(opts); | ||
| } | ||
| if (opts.body !== void 0 && opts.bodySerializer) { | ||
| opts.serializedBody = opts.bodySerializer(opts.body); | ||
| } | ||
| if (opts.body === void 0 || opts.serializedBody === "") { | ||
| opts.headers.delete("Content-Type"); | ||
| } | ||
| const resolvedOpts = opts; | ||
| const url = buildUrl(resolvedOpts); | ||
| return { opts: resolvedOpts, url }; | ||
| }; | ||
| const request = async (options) => { | ||
| const throwOnError = options.throwOnError ?? _config.throwOnError; | ||
| const responseStyle = options.responseStyle ?? _config.responseStyle; | ||
| let request2; | ||
| let response; | ||
| try { | ||
| const { opts, url } = await beforeRequest(options); | ||
| const requestInit = { | ||
| redirect: "follow", | ||
| ...opts, | ||
| body: getValidRequestBody(opts) | ||
| }; | ||
| request2 = new Request(url, requestInit); | ||
| for (const fn of interceptors.request.fns) { | ||
| if (fn) { | ||
| request2 = await fn(request2, opts); | ||
| } | ||
| } | ||
| const _fetch = opts.fetch; | ||
| response = await _fetch(request2); | ||
| for (const fn of interceptors.response.fns) { | ||
| if (fn) { | ||
| response = await fn(response, request2, opts); | ||
| } | ||
| } | ||
| const result = { | ||
| request: request2, | ||
| response | ||
| }; | ||
| if (response.ok) { | ||
| const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json"; | ||
| if (response.status === 204 || response.headers.get("Content-Length") === "0") { | ||
| let emptyData; | ||
| switch (parseAs) { | ||
| case "arrayBuffer": | ||
| case "blob": | ||
| case "text": | ||
| emptyData = await response[parseAs](); | ||
| break; | ||
| case "formData": | ||
| emptyData = new FormData(); | ||
| break; | ||
| case "stream": | ||
| emptyData = response.body; | ||
| break; | ||
| case "json": | ||
| default: | ||
| emptyData = {}; | ||
| break; | ||
| } | ||
| return opts.responseStyle === "data" ? emptyData : { | ||
| data: emptyData, | ||
| ...result | ||
| }; | ||
| } | ||
| let data; | ||
| switch (parseAs) { | ||
| case "arrayBuffer": | ||
| case "blob": | ||
| case "formData": | ||
| case "text": | ||
| data = await response[parseAs](); | ||
| break; | ||
| case "json": { | ||
| const text = await response.text(); | ||
| data = text ? JSON.parse(text) : {}; | ||
| break; | ||
| } | ||
| case "stream": | ||
| return opts.responseStyle === "data" ? response.body : { | ||
| data: response.body, | ||
| ...result | ||
| }; | ||
| } | ||
| if (parseAs === "json") { | ||
| if (opts.responseValidator) { | ||
| await opts.responseValidator(data); | ||
| } | ||
| if (opts.responseTransformer) { | ||
| data = await opts.responseTransformer(data); | ||
| } | ||
| } | ||
| return opts.responseStyle === "data" ? data : { | ||
| data, | ||
| ...result | ||
| }; | ||
| } | ||
| const textError = await response.text(); | ||
| let jsonError; | ||
| try { | ||
| jsonError = JSON.parse(textError); | ||
| } catch { | ||
| } | ||
| throw jsonError ?? textError; | ||
| } catch (error) { | ||
| let finalError = error; | ||
| for (const fn of interceptors.error.fns) { | ||
| if (fn) { | ||
| finalError = await fn(finalError, response, request2, options); | ||
| } | ||
| } | ||
| finalError = finalError || {}; | ||
| if (throwOnError) { | ||
| throw finalError; | ||
| } | ||
| return responseStyle === "data" ? void 0 : { | ||
| error: finalError, | ||
| request: request2, | ||
| response | ||
| }; | ||
| } | ||
| }; | ||
| const makeMethodFn = (method) => (options) => request({ ...options, method }); | ||
| const makeSseFn = (method) => async (options) => { | ||
| const { opts, url } = await beforeRequest(options); | ||
| return createSseClient({ | ||
| ...opts, | ||
| body: opts.body, | ||
| method, | ||
| onRequest: async (url2, init) => { | ||
| let request2 = new Request(url2, init); | ||
| for (const fn of interceptors.request.fns) { | ||
| if (fn) { | ||
| request2 = await fn(request2, opts); | ||
| } | ||
| } | ||
| return request2; | ||
| }, | ||
| serializedBody: getValidRequestBody(opts), | ||
| url | ||
| }); | ||
| }; | ||
| const _buildUrl = (options) => buildUrl({ ..._config, ...options }); | ||
| return { | ||
| buildUrl: _buildUrl, | ||
| connect: makeMethodFn("CONNECT"), | ||
| delete: makeMethodFn("DELETE"), | ||
| get: makeMethodFn("GET"), | ||
| getConfig: getConfig2, | ||
| head: makeMethodFn("HEAD"), | ||
| interceptors, | ||
| options: makeMethodFn("OPTIONS"), | ||
| patch: makeMethodFn("PATCH"), | ||
| post: makeMethodFn("POST"), | ||
| put: makeMethodFn("PUT"), | ||
| request, | ||
| setConfig, | ||
| sse: { | ||
| connect: makeSseFn("CONNECT"), | ||
| delete: makeSseFn("DELETE"), | ||
| get: makeSseFn("GET"), | ||
| head: makeSseFn("HEAD"), | ||
| options: makeSseFn("OPTIONS"), | ||
| patch: makeSseFn("PATCH"), | ||
| post: makeSseFn("POST"), | ||
| put: makeSseFn("PUT"), | ||
| trace: makeSseFn("TRACE") | ||
| }, | ||
| trace: makeMethodFn("TRACE") | ||
| }; | ||
| }; | ||
| // src/generated/client.gen.ts | ||
| var client = createClient(createConfig({ baseUrl: "https://shipeasy.ai" })); | ||
| // src/generated/sdk.gen.ts | ||
| var listGates = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates", | ||
| ...options | ||
| }); | ||
| var createGate = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteGate = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}", | ||
| ...options | ||
| }); | ||
| var getGate = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}", | ||
| ...options | ||
| }); | ||
| var updateGate = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var enableGate = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}/enable", | ||
| ...options | ||
| }); | ||
| var disableGate = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}/disable", | ||
| ...options | ||
| }); | ||
| var listGateActivity = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}/activity", | ||
| ...options | ||
| }); | ||
| var removeFromGateWhitelist = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}/whitelist", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var getGateWhitelist = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}/whitelist", | ||
| ...options | ||
| }); | ||
| var addToGateWhitelist = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}/whitelist", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setGateWhitelist = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}/whitelist", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listExperiments = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments", | ||
| ...options | ||
| }); | ||
| var createExperiment = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteExperiment = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}", | ||
| ...options | ||
| }); | ||
| var getExperiment = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}", | ||
| ...options | ||
| }); | ||
| var updateExperiment = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setExperimentStatus = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/status", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setExperimentMetrics = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/metrics", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var getExperimentResults = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/results", | ||
| ...options | ||
| }); | ||
| var getExperimentTimeseries = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/timeseries", | ||
| ...options | ||
| }); | ||
| var reanalyzeExperiment = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/reanalyze", | ||
| ...options | ||
| }); | ||
| var createExperimentReadout = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/readouts", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var getExperimentReadout = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/readouts/{readoutId}", | ||
| ...options | ||
| }); | ||
| var listConfigs = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs", | ||
| ...options | ||
| }); | ||
| var createConfig2 = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteConfig = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}", | ||
| ...options | ||
| }); | ||
| var getConfig = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}", | ||
| ...options | ||
| }); | ||
| var updateConfig = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var discardConfigDraft = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/drafts", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var saveConfigDraft = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/drafts", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var publishConfigDraft = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/publish", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listConfigActivity = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/activity", | ||
| ...options | ||
| }); | ||
| var updateConfigSchema = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/schema", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listConfigVersions = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/versions", | ||
| ...options | ||
| }); | ||
| var listKillswitches = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches", | ||
| ...options | ||
| }); | ||
| var createKillswitch = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteKillswitch = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}", | ||
| ...options | ||
| }); | ||
| var getKillswitch = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}", | ||
| ...options | ||
| }); | ||
| var updateKillswitch = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var unsetKillswitchSwitch = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}/switch", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setKillswitchSwitch = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}/switch", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setKillswitchValue = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}/value", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var toggleKillswitch = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}/toggle", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listUniverses = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/universes", | ||
| ...options | ||
| }); | ||
| var createUniverse = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/universes", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteUniverse = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/universes/{id}", | ||
| ...options | ||
| }); | ||
| var updateUniverse = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/universes/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listGateTemplates = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/templates", | ||
| ...options | ||
| }); | ||
| var createGateTemplate = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/templates", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteGateTemplate = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/templates/{id}", | ||
| ...options | ||
| }); | ||
| var getGateTemplate = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/templates/{id}", | ||
| ...options | ||
| }); | ||
| var updateGateTemplate = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/templates/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listAttributes = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/attributes", | ||
| ...options | ||
| }); | ||
| var createAttribute = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/attributes", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteAttribute = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/attributes/{id}", | ||
| ...options | ||
| }); | ||
| var getAttribute = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/attributes/{id}", | ||
| ...options | ||
| }); | ||
| var updateAttribute = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/attributes/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listMetrics = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics", | ||
| ...options | ||
| }); | ||
| var createMetric = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteMetric = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}", | ||
| ...options | ||
| }); | ||
| var getMetric = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}", | ||
| ...options | ||
| }); | ||
| var updateMetric = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listMetricExperiments = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}/experiments", | ||
| ...options | ||
| }); | ||
| var unarchiveMetric = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}/unarchive", | ||
| ...options | ||
| }); | ||
| var getMetricSeries = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}/series", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listEvents = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events", | ||
| ...options | ||
| }); | ||
| var createEvent = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteEvent = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events/{id}", | ||
| ...options | ||
| }); | ||
| var getEvent = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events/{id}", | ||
| ...options | ||
| }); | ||
| var updateEvent = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var approveEvent = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events/{id}/approve", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listOpsItems = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops", | ||
| ...options | ||
| }); | ||
| var createOpsItem = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var createPublicBug = (options) => (options.client ?? client).post({ | ||
| security: [{ name: "X-SDK-Key", type: "apiKey" }], | ||
| url: "/ops/bug", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var createPublicFeatureRequest = (options) => (options.client ?? client).post({ | ||
| security: [{ name: "X-SDK-Key", type: "apiKey" }], | ||
| url: "/ops/feature-request", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteOpsItem = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}", | ||
| ...options | ||
| }); | ||
| var getOpsItem = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}", | ||
| ...options | ||
| }); | ||
| var updateOpsItem = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var linkPrToOpsItem = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/link-pr", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var ackOpsItem = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/ack", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listOpsInvestigations = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/investigation", | ||
| ...options | ||
| }); | ||
| var createOpsInvestigation = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/investigation", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var updateOpsInvestigation = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/investigation/{investigationId}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listOpsAgents = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/agent-profiles", | ||
| ...options | ||
| }); | ||
| var listOpsComments = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/comments", | ||
| ...options | ||
| }); | ||
| var createOpsComment = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/comments", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var notifyOps = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/notifications", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listSlackChannels = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/slack/channels", | ||
| ...options | ||
| }); | ||
| var listAlertRules = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alert-rules", | ||
| ...options | ||
| }); | ||
| var createAlertRule = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alert-rules", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteAlertRule = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alert-rules/{id}", | ||
| ...options | ||
| }); | ||
| var updateAlertRule = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alert-rules/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listAlerts = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alerts", | ||
| ...options | ||
| }); | ||
| var updateAlert = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alerts/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var getCurrentProject = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/projects/current", | ||
| ...options | ||
| }); | ||
| var upsertProject = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/projects/upsert", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var getProject = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/projects/{id}", | ||
| ...options | ||
| }); | ||
| var updateProject = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/projects/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listI18nProfiles = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/profiles", | ||
| ...options | ||
| }); | ||
| var createI18nProfile = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/profiles", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listI18nKeys = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/keys", | ||
| ...options | ||
| }); | ||
| var pushI18nKeys = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/keys", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var upsertI18nKeys = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/keys", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteI18nKey = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/keys/{id}", | ||
| ...options | ||
| }); | ||
| var updateI18nKey = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/keys/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listI18nDrafts = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts", | ||
| ...options | ||
| }); | ||
| var createI18nDraft = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteI18nDraft = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts/{draftId}", | ||
| ...options | ||
| }); | ||
| var updateI18nDraft = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts/{draftId}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteI18nProfile = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/profiles/{profileId}", | ||
| ...options | ||
| }); | ||
| var listI18nDraftKeys = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts/{draftId}/keys", | ||
| ...options | ||
| }); | ||
| var upsertI18nDraftKey = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts/{draftId}/keys", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var publishI18nProfile = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/profiles/{profileId}/publish", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setI18nLabel = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/set", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listErrors = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors", | ||
| ...options | ||
| }); | ||
| var getError = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors/{id}", | ||
| ...options | ||
| }); | ||
| var updateErrorStatus = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var fileErrorTicket = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors/{id}/file", | ||
| ...options | ||
| }); | ||
| var resolveError = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors/{id}/resolve", | ||
| ...options | ||
| }); | ||
| var getErrorSeries = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors/{id}/series", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listConnectors = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors", | ||
| ...options | ||
| }); | ||
| var createConnector = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteConnector = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}", | ||
| ...options | ||
| }); | ||
| var getConnector = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}", | ||
| ...options | ||
| }); | ||
| var updateConnector = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var fireConnector = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}/fire", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var testConnector = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}/test", | ||
| ...options | ||
| }); | ||
| var updateTriggerConnector = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}/trigger", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var createTriggerConnector = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/trigger", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listKeys = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/keys", | ||
| ...options | ||
| }); | ||
| var createKey = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/keys", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var revokeKey = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/keys/{id}/revoke", | ||
| ...options | ||
| }); | ||
| var searchResources = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/search", | ||
| ...options | ||
| }); | ||
| // src/client.ts | ||
| function configure({ apiKey, projectId, baseUrl }) { | ||
| client.setConfig({ | ||
| ...baseUrl ? { baseUrl } : {}, | ||
| auth: () => apiKey, | ||
| headers: projectId ? { "X-Project-Id": projectId } : {} | ||
| }); | ||
| } | ||
| export { | ||
| createConfig, | ||
| createClient, | ||
| client, | ||
| listGates, | ||
| createGate, | ||
| deleteGate, | ||
| getGate, | ||
| updateGate, | ||
| enableGate, | ||
| disableGate, | ||
| listGateActivity, | ||
| removeFromGateWhitelist, | ||
| getGateWhitelist, | ||
| addToGateWhitelist, | ||
| setGateWhitelist, | ||
| listExperiments, | ||
| createExperiment, | ||
| deleteExperiment, | ||
| getExperiment, | ||
| updateExperiment, | ||
| setExperimentStatus, | ||
| setExperimentMetrics, | ||
| getExperimentResults, | ||
| getExperimentTimeseries, | ||
| reanalyzeExperiment, | ||
| createExperimentReadout, | ||
| getExperimentReadout, | ||
| listConfigs, | ||
| createConfig2, | ||
| deleteConfig, | ||
| getConfig, | ||
| updateConfig, | ||
| discardConfigDraft, | ||
| saveConfigDraft, | ||
| publishConfigDraft, | ||
| listConfigActivity, | ||
| updateConfigSchema, | ||
| listConfigVersions, | ||
| listKillswitches, | ||
| createKillswitch, | ||
| deleteKillswitch, | ||
| getKillswitch, | ||
| updateKillswitch, | ||
| unsetKillswitchSwitch, | ||
| setKillswitchSwitch, | ||
| setKillswitchValue, | ||
| toggleKillswitch, | ||
| listUniverses, | ||
| createUniverse, | ||
| deleteUniverse, | ||
| updateUniverse, | ||
| listGateTemplates, | ||
| createGateTemplate, | ||
| deleteGateTemplate, | ||
| getGateTemplate, | ||
| updateGateTemplate, | ||
| listAttributes, | ||
| createAttribute, | ||
| deleteAttribute, | ||
| getAttribute, | ||
| updateAttribute, | ||
| listMetrics, | ||
| createMetric, | ||
| deleteMetric, | ||
| getMetric, | ||
| updateMetric, | ||
| listMetricExperiments, | ||
| unarchiveMetric, | ||
| getMetricSeries, | ||
| listEvents, | ||
| createEvent, | ||
| deleteEvent, | ||
| getEvent, | ||
| updateEvent, | ||
| approveEvent, | ||
| listOpsItems, | ||
| createOpsItem, | ||
| createPublicBug, | ||
| createPublicFeatureRequest, | ||
| deleteOpsItem, | ||
| getOpsItem, | ||
| updateOpsItem, | ||
| linkPrToOpsItem, | ||
| ackOpsItem, | ||
| listOpsInvestigations, | ||
| createOpsInvestigation, | ||
| updateOpsInvestigation, | ||
| listOpsAgents, | ||
| listOpsComments, | ||
| createOpsComment, | ||
| notifyOps, | ||
| listSlackChannels, | ||
| listAlertRules, | ||
| createAlertRule, | ||
| deleteAlertRule, | ||
| updateAlertRule, | ||
| listAlerts, | ||
| updateAlert, | ||
| getCurrentProject, | ||
| upsertProject, | ||
| getProject, | ||
| updateProject, | ||
| listI18nProfiles, | ||
| createI18nProfile, | ||
| listI18nKeys, | ||
| pushI18nKeys, | ||
| upsertI18nKeys, | ||
| deleteI18nKey, | ||
| updateI18nKey, | ||
| listI18nDrafts, | ||
| createI18nDraft, | ||
| deleteI18nDraft, | ||
| updateI18nDraft, | ||
| deleteI18nProfile, | ||
| listI18nDraftKeys, | ||
| upsertI18nDraftKey, | ||
| publishI18nProfile, | ||
| setI18nLabel, | ||
| listErrors, | ||
| getError, | ||
| updateErrorStatus, | ||
| fileErrorTicket, | ||
| resolveError, | ||
| getErrorSeries, | ||
| listConnectors, | ||
| createConnector, | ||
| deleteConnector, | ||
| getConnector, | ||
| updateConnector, | ||
| fireConnector, | ||
| testConnector, | ||
| updateTriggerConnector, | ||
| createTriggerConnector, | ||
| listKeys, | ||
| createKey, | ||
| revokeKey, | ||
| searchResources, | ||
| configure | ||
| }; | ||
| //# sourceMappingURL=chunk-RTN572TI.js.map |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| # The SERVER-SDK surface of the admin API — a second root over the same | ||
| # `paths/` and `components/schemas/` tree that `openapi.yaml` bundles. | ||
| # | ||
| # WHY A SECOND ROOT. The CLI and MCP consume the FULL spec (127 operations); | ||
| # the published server SDKs ship a deliberately tiny opt-in `AdminClient`, and | ||
| # vendoring the whole contract into eight repos bloated each generated client | ||
| # into the megabytes for operations nobody called. This file IS that smaller | ||
| # contract, declared rather than derived: `paths` below lists exactly the | ||
| # operations the SDKs expose, and `redocly bundle` pulls in only the schemas | ||
| # those operations transitively reference. | ||
| # | ||
| # WHY IT'S EXACT. Every path listed here is a dedicated, single-purpose route, | ||
| # so a path item never drags in a method the SDK shouldn't have. That is the | ||
| # reason the SDK-facing endpoints were built as their own paths instead of | ||
| # extra query/discriminator modes on the generic CRUD routes. | ||
| # | ||
| # ADDING AN OPERATION is one `$ref` here — then `pnpm gen` in this package and | ||
| # `pnpm sdk:spec:regen` in the monorepo, and commit the regenerated client | ||
| # inside each SDK submodule. A monorepo pre-commit hook blocks any commit that | ||
| # changes this contract while a vendored copy is stale. | ||
| # | ||
| # DELIBERATELY ABSENT, so nobody re-adds them by accident: everything else. | ||
| # Listing, generic CRUD, key minting, projects, connectors, i18n, errors, | ||
| # alerts, metrics, events, experiments, universes, templates, attributes, and | ||
| # the AI-agent working seam (ack / link-pr / investigations) all stay reachable | ||
| # through the CLI and MCP, which read `openapi.yaml`. | ||
| openapi: 3.2.0 | ||
| info: | ||
| title: Shipeasy Admin API (server-SDK surface) | ||
| version: 2.0.0 | ||
| description: |- | ||
| The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. | ||
| Three capabilities, nothing else: | ||
| - **File a public ticket** — a bug or a feature request onto the project's ops queue. | ||
| - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. | ||
| - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. | ||
| Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`). | ||
| contact: | ||
| name: Shipeasy | ||
| url: https://shipeasy.ai | ||
| license: | ||
| name: Proprietary | ||
| identifier: LicenseRef-Proprietary | ||
| servers: | ||
| - url: https://shipeasy.ai | ||
| description: Production | ||
| - url: http://localhost:3000 | ||
| description: Local Next.js dev server | ||
| security: | ||
| - bearerSdkKey: [] | ||
| tags: | ||
| - name: Flags | ||
| description: A feature gate's whitelist — the always-first allowlist that admits named identities before any targeting rule or percentage rollout runs. | ||
| - name: Killswitch | ||
| description: Per-env boolean overrides for incident response. `toggle` reads the current value and publishes its opposite in one call, on the flat value or on one named sub-switch. | ||
| - name: Ops | ||
| description: The public ticket queue — filing a bug or a feature request, which also fires the project's GitHub/Slack connectors. | ||
| paths: | ||
| /ops/bug: | ||
| $ref: ./paths/ops.yaml#/~1ops~1bug | ||
| /ops/feature-request: | ||
| $ref: ./paths/ops.yaml#/~1ops~1feature-request | ||
| /api/admin/killswitches/{id}/toggle: | ||
| $ref: ./paths/killswitches.yaml#/~1api~1admin~1killswitches~1{id}~1toggle | ||
| /api/admin/gates/{id}/whitelist: | ||
| $ref: ./paths/gates.yaml#/~1api~1admin~1gates~1{id}~1whitelist | ||
| components: | ||
| securitySchemes: | ||
| bearerSdkKey: | ||
| type: http | ||
| scheme: bearer | ||
| bearerFormat: sdk_admin_* | ||
| description: 'Pass an admin SDK key as `Authorization: Bearer sdk_admin_…`. Mint via `POST /api/admin/keys` with `type: "admin"`.' | ||
| clientSdkKey: | ||
| type: apiKey | ||
| in: header | ||
| name: X-SDK-Key | ||
| description: |- | ||
| Pass a **client** SDK key as `X-SDK-Key: sdk_client_…`. Used only by the public ticket intake (`POST /ops/bug`, `POST /ops/feature-request`), which is served by the edge worker rather than the admin API. | ||
| Client keys are designed to be embedded in shipped code — a CLI, an installer, a browser bundle — so presenting one here is safe by construction: it can do nothing but file a rate-limited ticket into its own project, in a state a human must approve. It carries no read access and cannot reach any other operation in this contract. | ||
| The key must additionally carry the `tickets:public_create` scope, and its project must have public ticket creation enabled. |
+1
-1
@@ -1,1 +0,1 @@ | ||
| export { q as Client, s as Config, u as ConfigureOptions, T as CreateClientConfig, iX as Options, js as RequestResult, nj as ackOpsItem, nk as approveEvent, nl as client, nm as configure, nn as createAlertRule, no as createAttribute, np as createClient, nq as createClientConfig, nr as createConfig, ns as createConnector, nt as createEvent, nu as createExperiment, nv as createExperimentReadout, nw as createGate, nx as createGateTemplate, ny as createI18nDraft, nz as createI18nProfile, nA as createKey, nB as createKillswitch, nC as createMetric, nD as createOpsComment, nE as createOpsInvestigation, nF as createOpsItem, nG as createTriggerConnector, nH as createUniverse, nI as deleteAlertRule, nJ as deleteAttribute, nK as deleteConfig, nL as deleteConnector, nM as deleteEvent, nN as deleteExperiment, nO as deleteGate, nP as deleteGateTemplate, nQ as deleteI18nDraft, nR as deleteI18nKey, nS as deleteI18nProfile, nT as deleteKillswitch, nU as deleteMetric, nV as deleteOpsItem, nW as deleteUniverse, nX as disableGate, nY as discardConfigDraft, nZ as enableGate, n_ as fileErrorTicket, n$ as fireConnector, o0 as getAttribute, o1 as getConfig, o2 as getConnector, o3 as getCurrentProject, o4 as getError, o5 as getErrorSeries, o6 as getEvent, o7 as getExperiment, o8 as getExperimentReadout, o9 as getExperimentResults, oa as getExperimentTimeseries, ob as getGate, oc as getGateTemplate, od as getKillswitch, oe as getMetric, of as getMetricSeries, og as getOpsItem, oh as getProject, oi as linkPrToOpsItem, oj as listAlertRules, ok as listAlerts, ol as listAttributes, om as listConfigActivity, on as listConfigVersions, oo as listConfigs, op as listConnectors, oq as listErrors, or as listEvents, os as listExperiments, ot as listGateActivity, ou as listGateTemplates, ov as listGates, ow as listI18nDraftKeys, ox as listI18nDrafts, oy as listI18nKeys, oz as listI18nProfiles, oA as listKeys, oB as listKillswitches, oC as listMetricExperiments, oD as listMetrics, oE as listOpsAgents, oF as listOpsComments, oG as listOpsInvestigations, oH as listOpsItems, oI as listSlackChannels, oJ as listUniverses, oK as notifyOps, oL as publishConfigDraft, oM as publishI18nProfile, oN as pushI18nKeys, oO as reanalyzeExperiment, oP as resolveError, oQ as revokeKey, oR as saveConfigDraft, oS as searchResources, oT as setExperimentMetrics, oU as setExperimentStatus, oV as setI18nLabel, oW as setKillswitchSwitch, oX as setKillswitchValue, oY as testConnector, oZ as unarchiveMetric, o_ as unsetKillswitchSwitch, o$ as updateAlert, p0 as updateAlertRule, p1 as updateAttribute, p2 as updateConfig, p3 as updateConfigSchema, p4 as updateConnector, p5 as updateErrorStatus, p6 as updateEvent, p7 as updateExperiment, p8 as updateGate, p9 as updateGateTemplate, pa as updateI18nDraft, pb as updateI18nKey, pc as updateKillswitch, pd as updateMetric, pe as updateOpsInvestigation, pf as updateOpsItem, pg as updateProject, ph as updateTriggerConnector, pi as updateUniverse, pj as upsertI18nDraftKey, pk as upsertI18nKeys, pl as upsertProject } from './client-yqGYju-M.js'; | ||
| export { w as Client, y as Config, B as ConfigureOptions, Z as CreateClientConfig, jl as Options, jY as RequestResult, o0 as ackOpsItem, o1 as addToGateWhitelist, o2 as approveEvent, o3 as client, o4 as configure, o5 as createAlertRule, o6 as createAttribute, o7 as createClient, o8 as createClientConfig, o9 as createConfig, oa as createConnector, ob as createEvent, oc as createExperiment, od as createExperimentReadout, oe as createGate, of as createGateTemplate, og as createI18nDraft, oh as createI18nProfile, oi as createKey, oj as createKillswitch, ok as createMetric, ol as createOpsComment, om as createOpsInvestigation, on as createOpsItem, oo as createPublicBug, op as createPublicFeatureRequest, oq as createTriggerConnector, or as createUniverse, os as deleteAlertRule, ot as deleteAttribute, ou as deleteConfig, ov as deleteConnector, ow as deleteEvent, ox as deleteExperiment, oy as deleteGate, oz as deleteGateTemplate, oA as deleteI18nDraft, oB as deleteI18nKey, oC as deleteI18nProfile, oD as deleteKillswitch, oE as deleteMetric, oF as deleteOpsItem, oG as deleteUniverse, oH as disableGate, oI as discardConfigDraft, oJ as enableGate, oK as fileErrorTicket, oL as fireConnector, oM as getAttribute, oN as getConfig, oO as getConnector, oP as getCurrentProject, oQ as getError, oR as getErrorSeries, oS as getEvent, oT as getExperiment, oU as getExperimentReadout, oV as getExperimentResults, oW as getExperimentTimeseries, oX as getGate, oY as getGateTemplate, oZ as getGateWhitelist, o_ as getKillswitch, o$ as getMetric, p0 as getMetricSeries, p1 as getOpsItem, p2 as getProject, p3 as linkPrToOpsItem, p4 as listAlertRules, p5 as listAlerts, p6 as listAttributes, p7 as listConfigActivity, p8 as listConfigVersions, p9 as listConfigs, pa as listConnectors, pb as listErrors, pc as listEvents, pd as listExperiments, pe as listGateActivity, pf as listGateTemplates, pg as listGates, ph as listI18nDraftKeys, pi as listI18nDrafts, pj as listI18nKeys, pk as listI18nProfiles, pl as listKeys, pm as listKillswitches, pn as listMetricExperiments, po as listMetrics, pp as listOpsAgents, pq as listOpsComments, pr as listOpsInvestigations, ps as listOpsItems, pt as listSlackChannels, pu as listUniverses, pv as notifyOps, pw as publishConfigDraft, px as publishI18nProfile, py as pushI18nKeys, pz as reanalyzeExperiment, pA as removeFromGateWhitelist, pB as resolveError, pC as revokeKey, pD as saveConfigDraft, pE as searchResources, pF as setExperimentMetrics, pG as setExperimentStatus, pH as setGateWhitelist, pI as setI18nLabel, pJ as setKillswitchSwitch, pK as setKillswitchValue, pL as testConnector, pM as toggleKillswitch, pN as unarchiveMetric, pO as unsetKillswitchSwitch, pP as updateAlert, pQ as updateAlertRule, pR as updateAttribute, pS as updateConfig, pT as updateConfigSchema, pU as updateConnector, pV as updateErrorStatus, pW as updateEvent, pX as updateExperiment, pY as updateGate, pZ as updateGateTemplate, p_ as updateI18nDraft, p$ as updateI18nKey, q0 as updateKillswitch, q1 as updateMetric, q2 as updateOpsInvestigation, q3 as updateOpsItem, q4 as updateProject, q5 as updateTriggerConnector, q6 as updateUniverse, q7 as upsertI18nDraftKey, q8 as upsertI18nKeys, q9 as upsertProject } from './client-BPVn4hMC.js'; |
+15
-1
| import { | ||
| ackOpsItem, | ||
| addToGateWhitelist, | ||
| approveEvent, | ||
@@ -25,2 +26,4 @@ client, | ||
| createOpsItem, | ||
| createPublicBug, | ||
| createPublicFeatureRequest, | ||
| createTriggerConnector, | ||
@@ -61,2 +64,3 @@ createUniverse, | ||
| getGateTemplate, | ||
| getGateWhitelist, | ||
| getKillswitch, | ||
@@ -100,2 +104,3 @@ getMetric, | ||
| reanalyzeExperiment, | ||
| removeFromGateWhitelist, | ||
| resolveError, | ||
@@ -107,2 +112,3 @@ revokeKey, | ||
| setExperimentStatus, | ||
| setGateWhitelist, | ||
| setI18nLabel, | ||
@@ -112,2 +118,3 @@ setKillswitchSwitch, | ||
| testConnector, | ||
| toggleKillswitch, | ||
| unarchiveMetric, | ||
@@ -138,5 +145,6 @@ unsetKillswitchSwitch, | ||
| upsertProject | ||
| } from "./chunk-V4ZESAIF.js"; | ||
| } from "./chunk-RTN572TI.js"; | ||
| export { | ||
| ackOpsItem, | ||
| addToGateWhitelist, | ||
| approveEvent, | ||
@@ -164,2 +172,4 @@ client, | ||
| createOpsItem, | ||
| createPublicBug, | ||
| createPublicFeatureRequest, | ||
| createTriggerConnector, | ||
@@ -200,2 +210,3 @@ createUniverse, | ||
| getGateTemplate, | ||
| getGateWhitelist, | ||
| getKillswitch, | ||
@@ -239,2 +250,3 @@ getMetric, | ||
| reanalyzeExperiment, | ||
| removeFromGateWhitelist, | ||
| resolveError, | ||
@@ -246,2 +258,3 @@ revokeKey, | ||
| setExperimentStatus, | ||
| setGateWhitelist, | ||
| setI18nLabel, | ||
@@ -251,2 +264,3 @@ setKillswitchSwitch, | ||
| testConnector, | ||
| toggleKillswitch, | ||
| unarchiveMetric, | ||
@@ -253,0 +267,0 @@ unsetKillswitchSwitch, |
+2
-2
@@ -1,3 +0,3 @@ | ||
| import { E as ErrorCode, a as Error } from './client-yqGYju-M.js'; | ||
| export { A as AckOpsItemData, b as AckOpsItemError, c as AckOpsItemErrors, d as AckOpsItemRequest, e as AckOpsItemResponse, f as AckOpsItemResponse2, g as AckOpsItemResponses, h as AlertApiRow, i as ApproveEventData, j as ApproveEventError, k as ApproveEventErrors, l as ApproveEventRequest, m as ApproveEventResponse, n as ApproveEventResponse2, o as ApproveEventResponses, p as AttributeType, C as ClaudeTriggerConfig, q as Client, r as ClientOptions, s as Config, t as ConfigName, u as ConfigureOptions, v as ConnectorData, w as ConnectorEvent, x as ConnectorProvider, y as ConnectorRecord, z as CopilotTriggerConfig, B as CreateAlertRuleData, D as CreateAlertRuleError, F as CreateAlertRuleErrors, G as CreateAlertRuleRequest, H as CreateAlertRuleResponse, I as CreateAlertRuleResponse2, J as CreateAlertRuleResponses, K as CreateAttributeData, L as CreateAttributeError, M as CreateAttributeErrors, N as CreateAttributeRequest, O as CreateAttributeResponse, P as CreateAttributeResponse2, Q as CreateAttributeResponses, R as CreateBugRequest, S as CreateClaudeTriggerRequest, T as CreateClientConfig, U as CreateConfigData, V as CreateConfigError, W as CreateConfigErrors, X as CreateConfigRequest, Y as CreateConfigResponse, Z as CreateConfigResponse2, _ as CreateConfigResponses, $ as CreateConnectorData, a0 as CreateConnectorError, a1 as CreateConnectorErrors, a2 as CreateConnectorRequest, a3 as CreateConnectorResponse, a4 as CreateConnectorResponse2, a5 as CreateConnectorResponses, a6 as CreateCopilotTriggerRequest, a7 as CreateCursorTriggerRequest, a8 as CreateEventData, a9 as CreateEventError, aa as CreateEventErrors, ab as CreateEventRequest, ac as CreateEventResponse, ad as CreateEventResponse2, ae as CreateEventResponses, af as CreateExperimentData, ag as CreateExperimentError, ah as CreateExperimentErrors, ai as CreateExperimentReadoutData, aj as CreateExperimentReadoutError, ak as CreateExperimentReadoutErrors, al as CreateExperimentReadoutRequest, am as CreateExperimentReadoutResponse, an as CreateExperimentReadoutResponse2, ao as CreateExperimentReadoutResponses, ap as CreateExperimentRequest, aq as CreateExperimentResponse, ar as CreateExperimentResponse2, as as CreateExperimentResponses, at as CreateFeatureRequestRequest, au as CreateGateData, av as CreateGateError, aw as CreateGateErrors, ax as CreateGateRequest, ay as CreateGateResponse, az as CreateGateResponse2, aA as CreateGateResponses, aB as CreateGateTemplateData, aC as CreateGateTemplateError, aD as CreateGateTemplateErrors, aE as CreateGateTemplateRequest, aF as CreateGateTemplateResponse, aG as CreateGateTemplateResponse2, aH as CreateGateTemplateResponses, aI as CreateI18nDraftData, aJ as CreateI18nDraftError, aK as CreateI18nDraftErrors, aL as CreateI18nDraftRequest, aM as CreateI18nDraftResponse, aN as CreateI18nDraftResponses, aO as CreateI18nProfileData, aP as CreateI18nProfileError, aQ as CreateI18nProfileErrors, aR as CreateI18nProfileRequest, aS as CreateI18nProfileResponse, aT as CreateI18nProfileResponse2, aU as CreateI18nProfileResponses, aV as CreateJulesTriggerRequest, aW as CreateKeyData, aX as CreateKeyError, aY as CreateKeyErrors, aZ as CreateKeyRequest, a_ as CreateKeyResponse, a$ as CreateKeyResponse2, b0 as CreateKeyResponses, b1 as CreateKillswitchData, b2 as CreateKillswitchError, b3 as CreateKillswitchErrors, b4 as CreateKillswitchRequest, b5 as CreateKillswitchResponse, b6 as CreateKillswitchResponse2, b7 as CreateKillswitchResponses, b8 as CreateMetricData, b9 as CreateMetricError, ba as CreateMetricErrors, bb as CreateMetricRequest, bc as CreateMetricResponse, bd as CreateMetricResponse2, be as CreateMetricResponses, bf as CreateMetricWithQuery, bg as CreateMetricWithQueryIr, bh as CreateOAuthConnectorRequest, bi as CreateOpsCommentData, bj as CreateOpsCommentError, bk as CreateOpsCommentErrors, bl as CreateOpsCommentRequest, bm as CreateOpsCommentResponse, bn as CreateOpsCommentResponse2, bo as CreateOpsCommentResponses, bp as CreateOpsInvestigationData, bq as CreateOpsInvestigationError, br as CreateOpsInvestigationErrors, bs as CreateOpsInvestigationRequest, bt as CreateOpsInvestigationResponse, bu as CreateOpsInvestigationResponses, bv as CreateOpsItemData, bw as CreateOpsItemError, bx as CreateOpsItemErrors, by as CreateOpsItemRequest, bz as CreateOpsItemResponse, bA as CreateOpsItemResponse2, bB as CreateOpsItemResponses, bC as CreateTriggerConnectorData, bD as CreateTriggerConnectorError, bE as CreateTriggerConnectorErrors, bF as CreateTriggerConnectorRequest, bG as CreateTriggerConnectorResponse, bH as CreateTriggerConnectorResponses, bI as CreateUniverseData, bJ as CreateUniverseError, bK as CreateUniverseErrors, bL as CreateUniverseRequest, bM as CreateUniverseResponse, bN as CreateUniverseResponse2, bO as CreateUniverseResponses, bP as CursorTriggerConfig, bQ as DeleteAlertRuleData, bR as DeleteAlertRuleError, bS as DeleteAlertRuleErrors, bT as DeleteAlertRuleResponse, bU as DeleteAlertRuleResponse2, bV as DeleteAlertRuleResponses, bW as DeleteAttributeData, bX as DeleteAttributeError, bY as DeleteAttributeErrors, bZ as DeleteAttributeResponse, b_ as DeleteAttributeResponse2, b$ as DeleteAttributeResponses, c0 as DeleteConfigData, c1 as DeleteConfigError, c2 as DeleteConfigErrors, c3 as DeleteConfigResponse, c4 as DeleteConfigResponse2, c5 as DeleteConfigResponses, c6 as DeleteConnectorData, c7 as DeleteConnectorError, c8 as DeleteConnectorErrors, c9 as DeleteConnectorResponse, ca as DeleteConnectorResponse2, cb as DeleteConnectorResponses, cc as DeleteEventData, cd as DeleteEventError, ce as DeleteEventErrors, cf as DeleteEventResponse, cg as DeleteEventResponse2, ch as DeleteEventResponses, ci as DeleteExperimentData, cj as DeleteExperimentError, ck as DeleteExperimentErrors, cl as DeleteExperimentResponse, cm as DeleteExperimentResponse2, cn as DeleteExperimentResponses, co as DeleteGateData, cp as DeleteGateError, cq as DeleteGateErrors, cr as DeleteGateResponse, cs as DeleteGateResponse2, ct as DeleteGateResponses, cu as DeleteGateTemplateData, cv as DeleteGateTemplateError, cw as DeleteGateTemplateErrors, cx as DeleteGateTemplateResponse, cy as DeleteGateTemplateResponse2, cz as DeleteGateTemplateResponses, cA as DeleteI18nDraftData, cB as DeleteI18nDraftError, cC as DeleteI18nDraftErrors, cD as DeleteI18nDraftResponse, cE as DeleteI18nDraftResponses, cF as DeleteI18nKeyData, cG as DeleteI18nKeyError, cH as DeleteI18nKeyErrors, cI as DeleteI18nKeyResponse, cJ as DeleteI18nKeyResponses, cK as DeleteI18nProfileData, cL as DeleteI18nProfileError, cM as DeleteI18nProfileErrors, cN as DeleteI18nProfileResponse, cO as DeleteI18nProfileResponses, cP as DeleteKillswitchData, cQ as DeleteKillswitchError, cR as DeleteKillswitchErrors, cS as DeleteKillswitchResponse, cT as DeleteKillswitchResponse2, cU as DeleteKillswitchResponses, cV as DeleteMetricData, cW as DeleteMetricError, cX as DeleteMetricErrors, cY as DeleteMetricResponse, cZ as DeleteMetricResponse2, c_ as DeleteMetricResponses, c$ as DeleteOpsItemData, d0 as DeleteOpsItemError, d1 as DeleteOpsItemErrors, d2 as DeleteOpsItemResponse, d3 as DeleteOpsItemResponse2, d4 as DeleteOpsItemResponses, d5 as DeleteUniverseData, d6 as DeleteUniverseError, d7 as DeleteUniverseErrors, d8 as DeleteUniverseResponse, d9 as DeleteUniverseResponse2, da as DeleteUniverseResponses, db as DisableGateData, dc as DisableGateError, dd as DisableGateErrors, de as DisableGateResponse, df as DisableGateResponse2, dg as DisableGateResponses, dh as DiscardConfigDraftData, di as DiscardConfigDraftError, dj as DiscardConfigDraftErrors, dk as DiscardConfigDraftRequest, dl as DiscardConfigDraftResponse, dm as DiscardConfigDraftResponse2, dn as DiscardConfigDraftResponses, dp as Domain, dq as EnableGateData, dr as EnableGateError, ds as EnableGateErrors, dt as EnableGateResponse, du as EnableGateResponse2, dv as EnableGateResponses, dw as Env, dx as ErrorOccurrence, dy as ErrorRecord, dz as ErrorSeriesRequest, dA as ErrorSeriesResponse, dB as ExperimentApiRow, dC as ExperimentInlineMetric, dD as ExperimentReadoutApiRow, dE as ExperimentReadoutCaveat, dF as ExperimentReadoutMetric, dG as ExperimentResultRow, dH as FileErrorTicketData, dI as FileErrorTicketError, dJ as FileErrorTicketErrors, dK as FileErrorTicketResponse, dL as FileErrorTicketResponse2, dM as FileErrorTicketResponses, dN as FireConnectorData, dO as FireConnectorError, dP as FireConnectorErrors, dQ as FireConnectorRequest, dR as FireConnectorResponse, dS as FireConnectorResponse2, dT as FireConnectorResponses, dU as Folder, dV as GateApiRow, dW as GateTemplate, dX as GateTemplateRule, dY as GateTemplateRuleResponse, dZ as GetAttributeData, d_ as GetAttributeError, d$ as GetAttributeErrors, e0 as GetAttributeResponse, e1 as GetAttributeResponse2, e2 as GetAttributeResponses, e3 as GetConfigData, e4 as GetConfigError, e5 as GetConfigErrors, e6 as GetConfigResponse, e7 as GetConfigResponse2, e8 as GetConfigResponses, e9 as GetConnectorData, ea as GetConnectorError, eb as GetConnectorErrors, ec as GetConnectorResponse, ed as GetConnectorResponses, ee as GetCurrentProjectData, ef as GetCurrentProjectError, eg as GetCurrentProjectErrors, eh as GetCurrentProjectResponse, ei as GetCurrentProjectResponse2, ej as GetCurrentProjectResponses, ek as GetErrorData, el as GetErrorError, em as GetErrorErrors, en as GetErrorResponse, eo as GetErrorResponses, ep as GetErrorSeriesData, eq as GetErrorSeriesError, er as GetErrorSeriesErrors, es as GetErrorSeriesResponse, et as GetErrorSeriesResponses, eu as GetEventData, ev as GetEventError, ew as GetEventErrors, ex as GetEventResponse, ey as GetEventResponse2, ez as GetEventResponses, eA as GetExperimentData, eB as GetExperimentError, eC as GetExperimentErrors, eD as GetExperimentReadoutData, eE as GetExperimentReadoutError, eF as GetExperimentReadoutErrors, eG as GetExperimentReadoutResponse, eH as GetExperimentReadoutResponses, eI as GetExperimentResponse, eJ as GetExperimentResponses, eK as GetExperimentResultsData, eL as GetExperimentResultsError, eM as GetExperimentResultsErrors, eN as GetExperimentResultsResponse, eO as GetExperimentResultsResponse2, eP as GetExperimentResultsResponses, eQ as GetExperimentTimeseriesData, eR as GetExperimentTimeseriesError, eS as GetExperimentTimeseriesErrors, eT as GetExperimentTimeseriesResponse, eU as GetExperimentTimeseriesResponse2, eV as GetExperimentTimeseriesResponses, eW as GetGateData, eX as GetGateError, eY as GetGateErrors, eZ as GetGateResponse, e_ as GetGateResponses, e$ as GetGateTemplateData, f0 as GetGateTemplateError, f1 as GetGateTemplateErrors, f2 as GetGateTemplateResponse, f3 as GetGateTemplateResponses, f4 as GetKillswitchData, f5 as GetKillswitchError, f6 as GetKillswitchErrors, f7 as GetKillswitchResponse, f8 as GetKillswitchResponse2, f9 as GetKillswitchResponses, fa as GetMetricData, fb as GetMetricError, fc as GetMetricErrors, fd as GetMetricResponse, fe as GetMetricResponse2, ff as GetMetricResponses, fg as GetMetricSeriesData, fh as GetMetricSeriesError, fi as GetMetricSeriesErrors, fj as GetMetricSeriesRequest, fk as GetMetricSeriesResponse, fl as GetMetricSeriesResponse2, fm as GetMetricSeriesResponses, fn as GetOpsItemData, fo as GetOpsItemError, fp as GetOpsItemErrors, fq as GetOpsItemResponse, fr as GetOpsItemResponse2, fs as GetOpsItemResponses, ft as GetProjectData, fu as GetProjectError, fv as GetProjectErrors, fw as GetProjectResponse, fx as GetProjectResponses, fy as GithubConnectorData, fz as GithubPrLink, fA as I18nDraft, fB as JulesTriggerConfig, fC as KeyRecord, fD as KillswitchValue, fE as LinkPrToOpsItemData, fF as LinkPrToOpsItemError, fG as LinkPrToOpsItemErrors, fH as LinkPrToOpsItemRequest, fI as LinkPrToOpsItemResponse, fJ as LinkPrToOpsItemResponse2, fK as LinkPrToOpsItemResponses, fL as ListAlertRulesData, fM as ListAlertRulesError, fN as ListAlertRulesErrors, fO as ListAlertRulesResponse, fP as ListAlertRulesResponse2, fQ as ListAlertRulesResponses, fR as ListAlertsData, fS as ListAlertsError, fT as ListAlertsErrors, fU as ListAlertsResponse, fV as ListAlertsResponse2, fW as ListAlertsResponses, fX as ListAttributesData, fY as ListAttributesError, fZ as ListAttributesErrors, f_ as ListAttributesResponse, f$ as ListAttributesResponse2, g0 as ListAttributesResponses, g1 as ListConfigActivityData, g2 as ListConfigActivityError, g3 as ListConfigActivityErrors, g4 as ListConfigActivityResponse, g5 as ListConfigActivityResponse2, g6 as ListConfigActivityResponses, g7 as ListConfigVersionsData, g8 as ListConfigVersionsError, g9 as ListConfigVersionsErrors, ga as ListConfigVersionsResponse, gb as ListConfigVersionsResponse2, gc as ListConfigVersionsResponses, gd as ListConfigsData, ge as ListConfigsError, gf as ListConfigsErrors, gg as ListConfigsResponse, gh as ListConfigsResponse2, gi as ListConfigsResponses, gj as ListConnectorsData, gk as ListConnectorsError, gl as ListConnectorsErrors, gm as ListConnectorsResponse, gn as ListConnectorsResponse2, go as ListConnectorsResponses, gp as ListErrorsData, gq as ListErrorsError, gr as ListErrorsErrors, gs as ListErrorsResponse, gt as ListErrorsResponse2, gu as ListErrorsResponses, gv as ListEventsData, gw as ListEventsError, gx as ListEventsErrors, gy as ListEventsResponse, gz as ListEventsResponse2, gA as ListEventsResponses, gB as ListExperimentsData, gC as ListExperimentsError, gD as ListExperimentsErrors, gE as ListExperimentsResponse, gF as ListExperimentsResponse2, gG as ListExperimentsResponses, gH as ListGateActivityData, gI as ListGateActivityError, gJ as ListGateActivityErrors, gK as ListGateActivityResponse, gL as ListGateActivityResponse2, gM as ListGateActivityResponses, gN as ListGateTemplatesData, gO as ListGateTemplatesError, gP as ListGateTemplatesErrors, gQ as ListGateTemplatesResponse, gR as ListGateTemplatesResponse2, gS as ListGateTemplatesResponses, gT as ListGatesData, gU as ListGatesError, gV as ListGatesErrors, gW as ListGatesResponse, gX as ListGatesResponse2, gY as ListGatesResponses, gZ as ListI18nDraftKeysData, g_ as ListI18nDraftKeysError, g$ as ListI18nDraftKeysErrors, h0 as ListI18nDraftKeysResponse, h1 as ListI18nDraftKeysResponse2, h2 as ListI18nDraftKeysResponses, h3 as ListI18nDraftsData, h4 as ListI18nDraftsError, h5 as ListI18nDraftsErrors, h6 as ListI18nDraftsResponse, h7 as ListI18nDraftsResponse2, h8 as ListI18nDraftsResponses, h9 as ListI18nKeysData, ha as ListI18nKeysError, hb as ListI18nKeysErrors, hc as ListI18nKeysResponse, hd as ListI18nKeysResponse2, he as ListI18nKeysResponses, hf as ListI18nProfilesData, hg as ListI18nProfilesError, hh as ListI18nProfilesErrors, hi as ListI18nProfilesResponse, hj as ListI18nProfilesResponse2, hk as ListI18nProfilesResponses, hl as ListKeysData, hm as ListKeysError, hn as ListKeysErrors, ho as ListKeysResponse, hp as ListKeysResponse2, hq as ListKeysResponses, hr as ListKillswitchesData, hs as ListKillswitchesError, ht as ListKillswitchesErrors, hu as ListKillswitchesResponse, hv as ListKillswitchesResponse2, hw as ListKillswitchesResponses, hx as ListMetricExperimentsData, hy as ListMetricExperimentsError, hz as ListMetricExperimentsErrors, hA as ListMetricExperimentsResponse, hB as ListMetricExperimentsResponse2, hC as ListMetricExperimentsResponses, hD as ListMetricsData, hE as ListMetricsError, hF as ListMetricsErrors, hG as ListMetricsResponse, hH as ListMetricsResponse2, hI as ListMetricsResponses, hJ as ListOpsAgentsData, hK as ListOpsAgentsError, hL as ListOpsAgentsErrors, hM as ListOpsAgentsResponse, hN as ListOpsAgentsResponse2, hO as ListOpsAgentsResponses, hP as ListOpsCommentsData, hQ as ListOpsCommentsError, hR as ListOpsCommentsErrors, hS as ListOpsCommentsResponse, hT as ListOpsCommentsResponse2, hU as ListOpsCommentsResponses, hV as ListOpsInvestigationsData, hW as ListOpsInvestigationsError, hX as ListOpsInvestigationsErrors, hY as ListOpsInvestigationsResponse, hZ as ListOpsInvestigationsResponse2, h_ as ListOpsInvestigationsResponses, h$ as ListOpsItemsData, i0 as ListOpsItemsError, i1 as ListOpsItemsErrors, i2 as ListOpsItemsResponse, i3 as ListOpsItemsResponse2, i4 as ListOpsItemsResponses, i5 as ListSlackChannelsData, i6 as ListSlackChannelsError, i7 as ListSlackChannelsErrors, i8 as ListSlackChannelsResponse, i9 as ListSlackChannelsResponse2, ia as ListSlackChannelsResponses, ib as ListUniversesData, ic as ListUniversesError, id as ListUniversesErrors, ie as ListUniversesResponse, ig as ListUniversesResponse2, ih as ListUniversesResponses, ii as MeasurePlanResource, ij as MeasurePlanStep, ik as MetricDefaultMinEffectOfInterest, il as MetricDirection, im as MetricDisplayUnit, io as MetricEventName, ip as MetricName, iq as MetricQueryDsl, ir as MetricWinsorizePct, is as NotificationTarget, it as NotifyOpsData, iu as NotifyOpsError, iv as NotifyOpsErrors, iw as NotifyOpsRequest, ix as NotifyOpsResponse, iy as NotifyOpsResponse2, iz as NotifyOpsResponses, iA as OkResponse, iB as OpsAgentProfile, iC as OpsAlertContext, iD as OpsAlertMetricSummary, iE as OpsAlertRuleSummary, iF as OpsBrowserContext, iG as OpsComment, iH as OpsCommentAuthorType, iI as OpsErrorContext, iJ as OpsInvestigation, iK as OpsInvestigationState, iL as OpsItemAttachment, iM as OpsItemContext, iN as OpsItemNotifyOrNull, iO as OpsItemOwner, iP as OpsItemPriority, iQ as OpsItemPriorityOrNull, iR as OpsItemRelated, iS as OpsItemStatus, iT as OpsMeasurePlanContext, iU as OpsRun, iV as OpsRunAction, iW as OpsRunActionOrNull, iX as Options, iY as PaginationCursor, iZ as PaginationLimit, i_ as ProjectId, i$ as PublishConfigDraftData, j0 as PublishConfigDraftError, j1 as PublishConfigDraftErrors, j2 as PublishConfigDraftRequest, j3 as PublishConfigDraftResponse, j4 as PublishConfigDraftResponse2, j5 as PublishConfigDraftResponses, j6 as PublishI18nProfileData, j7 as PublishI18nProfileError, j8 as PublishI18nProfileErrors, j9 as PublishI18nProfileRequest, ja as PublishI18nProfileResponse, jb as PublishI18nProfileResponse2, jc as PublishI18nProfileResponses, jd as PushI18nKeysData, je as PushI18nKeysError, jf as PushI18nKeysErrors, jg as PushI18nKeysRequest, jh as PushI18nKeysResponse, ji as PushI18nKeysResponse2, jj as PushI18nKeysResponses, jk as Q, jl as QueryIr, jm as ReanalyzeExperimentData, jn as ReanalyzeExperimentError, jo as ReanalyzeExperimentErrors, jp as ReanalyzeExperimentResponse, jq as ReanalyzeExperimentResponse2, jr as ReanalyzeExperimentResponses, js as RequestResult, jt as ResolveErrorData, ju as ResolveErrorError, jv as ResolveErrorErrors, jw as ResolveErrorResponse, jx as ResolveErrorResponses, jy as ResourceId, jz as RevokeKeyData, jA as RevokeKeyError, jB as RevokeKeyErrors, jC as RevokeKeyResponse, jD as RevokeKeyResponse2, jE as RevokeKeyResponses, jF as SaveConfigDraftData, jG as SaveConfigDraftError, jH as SaveConfigDraftErrors, jI as SaveConfigDraftRequest, jJ as SaveConfigDraftResponse, jK as SaveConfigDraftResponse2, jL as SaveConfigDraftResponses, jM as SearchHit, jN as SearchResourcesData, jO as SearchResourcesError, jP as SearchResourcesErrors, jQ as SearchResourcesResponse, jR as SearchResourcesResponses, jS as SearchResponse, jT as SetExperimentMetricsData, jU as SetExperimentMetricsError, jV as SetExperimentMetricsErrors, jW as SetExperimentMetricsRequest, jX as SetExperimentMetricsResponse, jY as SetExperimentMetricsResponse2, jZ as SetExperimentMetricsResponses, j_ as SetExperimentStatusData, j$ as SetExperimentStatusError, k0 as SetExperimentStatusErrors, k1 as SetExperimentStatusRequest, k2 as SetExperimentStatusResponse, k3 as SetExperimentStatusResponse2, k4 as SetExperimentStatusResponses, k5 as SetI18nLabelData, k6 as SetI18nLabelError, k7 as SetI18nLabelErrors, k8 as SetI18nLabelRequest, k9 as SetI18nLabelResponse, ka as SetI18nLabelResponse2, kb as SetI18nLabelResponses, kc as SetKillswitchSwitchData, kd as SetKillswitchSwitchError, ke as SetKillswitchSwitchErrors, kf as SetKillswitchSwitchRequest, kg as SetKillswitchSwitchResponse, kh as SetKillswitchSwitchResponse2, ki as SetKillswitchSwitchResponses, kj as SetKillswitchValueData, kk as SetKillswitchValueError, kl as SetKillswitchValueErrors, km as SetKillswitchValueRequest, kn as SetKillswitchValueResponse, ko as SetKillswitchValueResponse2, kp as SetKillswitchValueResponses, kq as SlackConnectorData, kr as TestConnectorData, ks as TestConnectorError, kt as TestConnectorErrors, ku as TestConnectorResponse, kv as TestConnectorResponse2, kw as TestConnectorResponses, kx as UnarchiveMetricData, ky as UnarchiveMetricError, kz as UnarchiveMetricErrors, kA as UnarchiveMetricResponse, kB as UnarchiveMetricResponse2, kC as UnarchiveMetricResponses, kD as UniverseParam, kE as UniverseParamSchema, kF as UnsetKillswitchSwitchData, kG as UnsetKillswitchSwitchError, kH as UnsetKillswitchSwitchErrors, kI as UnsetKillswitchSwitchRequest, kJ as UnsetKillswitchSwitchResponse, kK as UnsetKillswitchSwitchResponse2, kL as UnsetKillswitchSwitchResponses, kM as UpdateAlertData, kN as UpdateAlertError, kO as UpdateAlertErrors, kP as UpdateAlertRequest, kQ as UpdateAlertResponse, kR as UpdateAlertResponses, kS as UpdateAlertRuleData, kT as UpdateAlertRuleError, kU as UpdateAlertRuleErrors, kV as UpdateAlertRuleRequest, kW as UpdateAlertRuleResponse, kX as UpdateAlertRuleResponse2, kY as UpdateAlertRuleResponses, kZ as UpdateAttributeData, k_ as UpdateAttributeError, k$ as UpdateAttributeErrors, l0 as UpdateAttributeRequest, l1 as UpdateAttributeResponse, l2 as UpdateAttributeResponse2, l3 as UpdateAttributeResponses, l4 as UpdateBugRequest, l5 as UpdateClaudeTriggerRequest, l6 as UpdateConfigData, l7 as UpdateConfigError, l8 as UpdateConfigErrors, l9 as UpdateConfigRequest, la as UpdateConfigResponse, lb as UpdateConfigResponse2, lc as UpdateConfigResponses, ld as UpdateConfigSchemaData, le as UpdateConfigSchemaError, lf as UpdateConfigSchemaErrors, lg as UpdateConfigSchemaRequest, lh as UpdateConfigSchemaResponse, li as UpdateConfigSchemaResponse2, lj as UpdateConfigSchemaResponses, lk as UpdateConnectorData, ll as UpdateConnectorError, lm as UpdateConnectorErrors, ln as UpdateConnectorRequest, lo as UpdateConnectorResponse, lp as UpdateConnectorResponse2, lq as UpdateConnectorResponses, lr as UpdateCopilotTriggerRequest, ls as UpdateCursorTriggerRequest, lt as UpdateErrorStatusData, lu as UpdateErrorStatusError, lv as UpdateErrorStatusErrors, lw as UpdateErrorStatusRequest, lx as UpdateErrorStatusResponse, ly as UpdateErrorStatusResponses, lz as UpdateEventData, lA as UpdateEventError, lB as UpdateEventErrors, lC as UpdateEventRequest, lD as UpdateEventResponse, lE as UpdateEventResponse2, lF as UpdateEventResponses, lG as UpdateExperimentData, lH as UpdateExperimentError, lI as UpdateExperimentErrors, lJ as UpdateExperimentRequest, lK as UpdateExperimentResponse, lL as UpdateExperimentResponse2, lM as UpdateExperimentResponses, lN as UpdateFeatureRequestRequest, lO as UpdateGateData, lP as UpdateGateError, lQ as UpdateGateErrors, lR as UpdateGateRequest, lS as UpdateGateResponse, lT as UpdateGateResponse2, lU as UpdateGateResponses, lV as UpdateGateTemplateData, lW as UpdateGateTemplateError, lX as UpdateGateTemplateErrors, lY as UpdateGateTemplateRequest, lZ as UpdateGateTemplateResponse, l_ as UpdateGateTemplateResponse2, l$ as UpdateGateTemplateResponses, m0 as UpdateI18nDraftData, m1 as UpdateI18nDraftError, m2 as UpdateI18nDraftErrors, m3 as UpdateI18nDraftRequest, m4 as UpdateI18nDraftResponse, m5 as UpdateI18nDraftResponses, m6 as UpdateI18nKeyData, m7 as UpdateI18nKeyError, m8 as UpdateI18nKeyErrors, m9 as UpdateI18nKeyRequest, ma as UpdateI18nKeyResponse, mb as UpdateI18nKeyResponse2, mc as UpdateI18nKeyResponses, md as UpdateJulesTriggerRequest, me as UpdateKillswitchData, mf as UpdateKillswitchError, mg as UpdateKillswitchErrors, mh as UpdateKillswitchRequest, mi as UpdateKillswitchResponse, mj as UpdateKillswitchResponse2, mk as UpdateKillswitchResponses, ml as UpdateMetricData, mm as UpdateMetricError, mn as UpdateMetricErrors, mo as UpdateMetricFields, mp as UpdateMetricRequest, mq as UpdateMetricResponse, mr as UpdateMetricResponses, ms as UpdateMetricWithQuery, mt as UpdateMetricWithQueryIr, mu as UpdateOpsInvestigationData, mv as UpdateOpsInvestigationError, mw as UpdateOpsInvestigationErrors, mx as UpdateOpsInvestigationRequest, my as UpdateOpsInvestigationResponse, mz as UpdateOpsInvestigationResponses, mA as UpdateOpsItemData, mB as UpdateOpsItemError, mC as UpdateOpsItemErrors, mD as UpdateOpsItemRequest, mE as UpdateOpsItemResponse, mF as UpdateOpsItemResponse2, mG as UpdateOpsItemResponses, mH as UpdateOpsItemStatusRequest, mI as UpdateProjectData, mJ as UpdateProjectError, mK as UpdateProjectErrors, mL as UpdateProjectRequest, mM as UpdateProjectResponse, mN as UpdateProjectResponses, mO as UpdateTriggerConnectorData, mP as UpdateTriggerConnectorError, mQ as UpdateTriggerConnectorErrors, mR as UpdateTriggerConnectorRequest, mS as UpdateTriggerConnectorResponse, mT as UpdateTriggerConnectorResponses, mU as UpdateUniverseData, mV as UpdateUniverseError, mW as UpdateUniverseErrors, mX as UpdateUniverseRequest, mY as UpdateUniverseResponse, mZ as UpdateUniverseResponse2, m_ as UpdateUniverseResponses, m$ as UpsertI18nDraftKeyData, n0 as UpsertI18nDraftKeyError, n1 as UpsertI18nDraftKeyErrors, n2 as UpsertI18nDraftKeyRequest, n3 as UpsertI18nDraftKeyResponse, n4 as UpsertI18nDraftKeyResponses, n5 as UpsertI18nKeysData, n6 as UpsertI18nKeysError, n7 as UpsertI18nKeysErrors, n8 as UpsertI18nKeysRequest, n9 as UpsertI18nKeysResponse, na as UpsertI18nKeysResponse2, nb as UpsertI18nKeysResponses, nc as UpsertProjectData, nd as UpsertProjectError, ne as UpsertProjectErrors, nf as UpsertProjectRequest, ng as UpsertProjectResponse, nh as UpsertProjectResponse2, ni as UpsertProjectResponses, nj as ackOpsItem, nk as approveEvent, nl as client, nm as configure, nn as createAlertRule, no as createAttribute, np as createClient, nq as createClientConfig, nr as createConfig, ns as createConnector, nt as createEvent, nu as createExperiment, nv as createExperimentReadout, nw as createGate, nx as createGateTemplate, ny as createI18nDraft, nz as createI18nProfile, nA as createKey, nB as createKillswitch, nC as createMetric, nD as createOpsComment, nE as createOpsInvestigation, nF as createOpsItem, nG as createTriggerConnector, nH as createUniverse, nI as deleteAlertRule, nJ as deleteAttribute, nK as deleteConfig, nL as deleteConnector, nM as deleteEvent, nN as deleteExperiment, nO as deleteGate, nP as deleteGateTemplate, nQ as deleteI18nDraft, nR as deleteI18nKey, nS as deleteI18nProfile, nT as deleteKillswitch, nU as deleteMetric, nV as deleteOpsItem, nW as deleteUniverse, nX as disableGate, nY as discardConfigDraft, nZ as enableGate, n_ as fileErrorTicket, n$ as fireConnector, o0 as getAttribute, o1 as getConfig, o2 as getConnector, o3 as getCurrentProject, o4 as getError, o5 as getErrorSeries, o6 as getEvent, o7 as getExperiment, o8 as getExperimentReadout, o9 as getExperimentResults, oa as getExperimentTimeseries, ob as getGate, oc as getGateTemplate, od as getKillswitch, oe as getMetric, of as getMetricSeries, og as getOpsItem, oh as getProject, oi as linkPrToOpsItem, oj as listAlertRules, ok as listAlerts, ol as listAttributes, om as listConfigActivity, on as listConfigVersions, oo as listConfigs, op as listConnectors, oq as listErrors, or as listEvents, os as listExperiments, ot as listGateActivity, ou as listGateTemplates, ov as listGates, ow as listI18nDraftKeys, ox as listI18nDrafts, oy as listI18nKeys, oz as listI18nProfiles, oA as listKeys, oB as listKillswitches, oC as listMetricExperiments, oD as listMetrics, oE as listOpsAgents, oF as listOpsComments, oG as listOpsInvestigations, oH as listOpsItems, oI as listSlackChannels, oJ as listUniverses, oK as notifyOps, oL as publishConfigDraft, oM as publishI18nProfile, oN as pushI18nKeys, oO as reanalyzeExperiment, oP as resolveError, oQ as revokeKey, oR as saveConfigDraft, oS as searchResources, oT as setExperimentMetrics, oU as setExperimentStatus, oV as setI18nLabel, oW as setKillswitchSwitch, oX as setKillswitchValue, oY as testConnector, oZ as unarchiveMetric, o_ as unsetKillswitchSwitch, o$ as updateAlert, p0 as updateAlertRule, p1 as updateAttribute, p2 as updateConfig, p3 as updateConfigSchema, p4 as updateConnector, p5 as updateErrorStatus, p6 as updateEvent, p7 as updateExperiment, p8 as updateGate, p9 as updateGateTemplate, pa as updateI18nDraft, pb as updateI18nKey, pc as updateKillswitch, pd as updateMetric, pe as updateOpsInvestigation, pf as updateOpsItem, pg as updateProject, ph as updateTriggerConnector, pi as updateUniverse, pj as upsertI18nDraftKey, pk as upsertI18nKeys, pl as upsertProject } from './client-yqGYju-M.js'; | ||
| import { E as ErrorCode, a as Error } from './client-BPVn4hMC.js'; | ||
| export { A as AckOpsItemData, b as AckOpsItemError, c as AckOpsItemErrors, d as AckOpsItemRequest, e as AckOpsItemResponse, f as AckOpsItemResponse2, g as AckOpsItemResponses, h as AddToGateWhitelistData, i as AddToGateWhitelistError, j as AddToGateWhitelistErrors, k as AddToGateWhitelistRequest, l as AddToGateWhitelistResponse, m as AddToGateWhitelistResponses, n as AlertApiRow, o as ApproveEventData, p as ApproveEventError, q as ApproveEventErrors, r as ApproveEventRequest, s as ApproveEventResponse, t as ApproveEventResponse2, u as ApproveEventResponses, v as AttributeType, C as ClaudeTriggerConfig, w as Client, x as ClientOptions, y as Config, z as ConfigName, B as ConfigureOptions, D as ConnectorData, F as ConnectorEvent, G as ConnectorProvider, H as ConnectorRecord, I as CopilotTriggerConfig, J as CreateAlertRuleData, K as CreateAlertRuleError, L as CreateAlertRuleErrors, M as CreateAlertRuleRequest, N as CreateAlertRuleResponse, O as CreateAlertRuleResponse2, P as CreateAlertRuleResponses, Q as CreateAttributeData, R as CreateAttributeError, S as CreateAttributeErrors, T as CreateAttributeRequest, U as CreateAttributeResponse, V as CreateAttributeResponse2, W as CreateAttributeResponses, X as CreateBugRequest, Y as CreateClaudeTriggerRequest, Z as CreateClientConfig, _ as CreateConfigData, $ as CreateConfigError, a0 as CreateConfigErrors, a1 as CreateConfigRequest, a2 as CreateConfigResponse, a3 as CreateConfigResponse2, a4 as CreateConfigResponses, a5 as CreateConnectorData, a6 as CreateConnectorError, a7 as CreateConnectorErrors, a8 as CreateConnectorRequest, a9 as CreateConnectorResponse, aa as CreateConnectorResponse2, ab as CreateConnectorResponses, ac as CreateCopilotTriggerRequest, ad as CreateCursorTriggerRequest, ae as CreateEventData, af as CreateEventError, ag as CreateEventErrors, ah as CreateEventRequest, ai as CreateEventResponse, aj as CreateEventResponse2, ak as CreateEventResponses, al as CreateExperimentData, am as CreateExperimentError, an as CreateExperimentErrors, ao as CreateExperimentReadoutData, ap as CreateExperimentReadoutError, aq as CreateExperimentReadoutErrors, ar as CreateExperimentReadoutRequest, as as CreateExperimentReadoutResponse, at as CreateExperimentReadoutResponse2, au as CreateExperimentReadoutResponses, av as CreateExperimentRequest, aw as CreateExperimentResponse, ax as CreateExperimentResponse2, ay as CreateExperimentResponses, az as CreateFeatureRequestRequest, aA as CreateGateData, aB as CreateGateError, aC as CreateGateErrors, aD as CreateGateRequest, aE as CreateGateResponse, aF as CreateGateResponse2, aG as CreateGateResponses, aH as CreateGateTemplateData, aI as CreateGateTemplateError, aJ as CreateGateTemplateErrors, aK as CreateGateTemplateRequest, aL as CreateGateTemplateResponse, aM as CreateGateTemplateResponse2, aN as CreateGateTemplateResponses, aO as CreateI18nDraftData, aP as CreateI18nDraftError, aQ as CreateI18nDraftErrors, aR as CreateI18nDraftRequest, aS as CreateI18nDraftResponse, aT as CreateI18nDraftResponses, aU as CreateI18nProfileData, aV as CreateI18nProfileError, aW as CreateI18nProfileErrors, aX as CreateI18nProfileRequest, aY as CreateI18nProfileResponse, aZ as CreateI18nProfileResponse2, a_ as CreateI18nProfileResponses, a$ as CreateJulesTriggerRequest, b0 as CreateKeyData, b1 as CreateKeyError, b2 as CreateKeyErrors, b3 as CreateKeyRequest, b4 as CreateKeyResponse, b5 as CreateKeyResponse2, b6 as CreateKeyResponses, b7 as CreateKillswitchData, b8 as CreateKillswitchError, b9 as CreateKillswitchErrors, ba as CreateKillswitchRequest, bb as CreateKillswitchResponse, bc as CreateKillswitchResponse2, bd as CreateKillswitchResponses, be as CreateMetricData, bf as CreateMetricError, bg as CreateMetricErrors, bh as CreateMetricRequest, bi as CreateMetricResponse, bj as CreateMetricResponse2, bk as CreateMetricResponses, bl as CreateMetricWithQuery, bm as CreateMetricWithQueryIr, bn as CreateOAuthConnectorRequest, bo as CreateOpsCommentData, bp as CreateOpsCommentError, bq as CreateOpsCommentErrors, br as CreateOpsCommentRequest, bs as CreateOpsCommentResponse, bt as CreateOpsCommentResponse2, bu as CreateOpsCommentResponses, bv as CreateOpsInvestigationData, bw as CreateOpsInvestigationError, bx as CreateOpsInvestigationErrors, by as CreateOpsInvestigationRequest, bz as CreateOpsInvestigationResponse, bA as CreateOpsInvestigationResponses, bB as CreateOpsItemData, bC as CreateOpsItemError, bD as CreateOpsItemErrors, bE as CreateOpsItemRequest, bF as CreateOpsItemResponse, bG as CreateOpsItemResponse2, bH as CreateOpsItemResponses, bI as CreatePublicBugData, bJ as CreatePublicBugError, bK as CreatePublicBugErrors, bL as CreatePublicBugRequest, bM as CreatePublicBugResponse, bN as CreatePublicBugResponses, bO as CreatePublicFeatureRequestData, bP as CreatePublicFeatureRequestError, bQ as CreatePublicFeatureRequestErrors, bR as CreatePublicFeatureRequestRequest, bS as CreatePublicFeatureRequestResponse, bT as CreatePublicFeatureRequestResponses, bU as CreatePublicTicketResponse, bV as CreateTriggerConnectorData, bW as CreateTriggerConnectorError, bX as CreateTriggerConnectorErrors, bY as CreateTriggerConnectorRequest, bZ as CreateTriggerConnectorResponse, b_ as CreateTriggerConnectorResponses, b$ as CreateUniverseData, c0 as CreateUniverseError, c1 as CreateUniverseErrors, c2 as CreateUniverseRequest, c3 as CreateUniverseResponse, c4 as CreateUniverseResponse2, c5 as CreateUniverseResponses, c6 as CursorTriggerConfig, c7 as DeleteAlertRuleData, c8 as DeleteAlertRuleError, c9 as DeleteAlertRuleErrors, ca as DeleteAlertRuleResponse, cb as DeleteAlertRuleResponse2, cc as DeleteAlertRuleResponses, cd as DeleteAttributeData, ce as DeleteAttributeError, cf as DeleteAttributeErrors, cg as DeleteAttributeResponse, ch as DeleteAttributeResponse2, ci as DeleteAttributeResponses, cj as DeleteConfigData, ck as DeleteConfigError, cl as DeleteConfigErrors, cm as DeleteConfigResponse, cn as DeleteConfigResponse2, co as DeleteConfigResponses, cp as DeleteConnectorData, cq as DeleteConnectorError, cr as DeleteConnectorErrors, cs as DeleteConnectorResponse, ct as DeleteConnectorResponse2, cu as DeleteConnectorResponses, cv as DeleteEventData, cw as DeleteEventError, cx as DeleteEventErrors, cy as DeleteEventResponse, cz as DeleteEventResponse2, cA as DeleteEventResponses, cB as DeleteExperimentData, cC as DeleteExperimentError, cD as DeleteExperimentErrors, cE as DeleteExperimentResponse, cF as DeleteExperimentResponse2, cG as DeleteExperimentResponses, cH as DeleteGateData, cI as DeleteGateError, cJ as DeleteGateErrors, cK as DeleteGateResponse, cL as DeleteGateResponse2, cM as DeleteGateResponses, cN as DeleteGateTemplateData, cO as DeleteGateTemplateError, cP as DeleteGateTemplateErrors, cQ as DeleteGateTemplateResponse, cR as DeleteGateTemplateResponse2, cS as DeleteGateTemplateResponses, cT as DeleteI18nDraftData, cU as DeleteI18nDraftError, cV as DeleteI18nDraftErrors, cW as DeleteI18nDraftResponse, cX as DeleteI18nDraftResponses, cY as DeleteI18nKeyData, cZ as DeleteI18nKeyError, c_ as DeleteI18nKeyErrors, c$ as DeleteI18nKeyResponse, d0 as DeleteI18nKeyResponses, d1 as DeleteI18nProfileData, d2 as DeleteI18nProfileError, d3 as DeleteI18nProfileErrors, d4 as DeleteI18nProfileResponse, d5 as DeleteI18nProfileResponses, d6 as DeleteKillswitchData, d7 as DeleteKillswitchError, d8 as DeleteKillswitchErrors, d9 as DeleteKillswitchResponse, da as DeleteKillswitchResponse2, db as DeleteKillswitchResponses, dc as DeleteMetricData, dd as DeleteMetricError, de as DeleteMetricErrors, df as DeleteMetricResponse, dg as DeleteMetricResponse2, dh as DeleteMetricResponses, di as DeleteOpsItemData, dj as DeleteOpsItemError, dk as DeleteOpsItemErrors, dl as DeleteOpsItemResponse, dm as DeleteOpsItemResponse2, dn as DeleteOpsItemResponses, dp as DeleteUniverseData, dq as DeleteUniverseError, dr as DeleteUniverseErrors, ds as DeleteUniverseResponse, dt as DeleteUniverseResponse2, du as DeleteUniverseResponses, dv as DisableGateData, dw as DisableGateError, dx as DisableGateErrors, dy as DisableGateResponse, dz as DisableGateResponse2, dA as DisableGateResponses, dB as DiscardConfigDraftData, dC as DiscardConfigDraftError, dD as DiscardConfigDraftErrors, dE as DiscardConfigDraftRequest, dF as DiscardConfigDraftResponse, dG as DiscardConfigDraftResponse2, dH as DiscardConfigDraftResponses, dI as Domain, dJ as EnableGateData, dK as EnableGateError, dL as EnableGateErrors, dM as EnableGateResponse, dN as EnableGateResponse2, dO as EnableGateResponses, dP as Env, dQ as ErrorOccurrence, dR as ErrorRecord, dS as ErrorSeriesRequest, dT as ErrorSeriesResponse, dU as ExperimentApiRow, dV as ExperimentInlineMetric, dW as ExperimentReadoutApiRow, dX as ExperimentReadoutCaveat, dY as ExperimentReadoutMetric, dZ as ExperimentResultRow, d_ as FileErrorTicketData, d$ as FileErrorTicketError, e0 as FileErrorTicketErrors, e1 as FileErrorTicketResponse, e2 as FileErrorTicketResponse2, e3 as FileErrorTicketResponses, e4 as FireConnectorData, e5 as FireConnectorError, e6 as FireConnectorErrors, e7 as FireConnectorRequest, e8 as FireConnectorResponse, e9 as FireConnectorResponse2, ea as FireConnectorResponses, eb as Folder, ec as GateApiRow, ed as GateTemplate, ee as GateTemplateRule, ef as GateTemplateRuleResponse, eg as GateWhitelist, eh as GateWhitelistAttr, ei as GetAttributeData, ej as GetAttributeError, ek as GetAttributeErrors, el as GetAttributeResponse, em as GetAttributeResponse2, en as GetAttributeResponses, eo as GetConfigData, ep as GetConfigError, eq as GetConfigErrors, er as GetConfigResponse, es as GetConfigResponse2, et as GetConfigResponses, eu as GetConnectorData, ev as GetConnectorError, ew as GetConnectorErrors, ex as GetConnectorResponse, ey as GetConnectorResponses, ez as GetCurrentProjectData, eA as GetCurrentProjectError, eB as GetCurrentProjectErrors, eC as GetCurrentProjectResponse, eD as GetCurrentProjectResponse2, eE as GetCurrentProjectResponses, eF as GetErrorData, eG as GetErrorError, eH as GetErrorErrors, eI as GetErrorResponse, eJ as GetErrorResponses, eK as GetErrorSeriesData, eL as GetErrorSeriesError, eM as GetErrorSeriesErrors, eN as GetErrorSeriesResponse, eO as GetErrorSeriesResponses, eP as GetEventData, eQ as GetEventError, eR as GetEventErrors, eS as GetEventResponse, eT as GetEventResponse2, eU as GetEventResponses, eV as GetExperimentData, eW as GetExperimentError, eX as GetExperimentErrors, eY as GetExperimentReadoutData, eZ as GetExperimentReadoutError, e_ as GetExperimentReadoutErrors, e$ as GetExperimentReadoutResponse, f0 as GetExperimentReadoutResponses, f1 as GetExperimentResponse, f2 as GetExperimentResponses, f3 as GetExperimentResultsData, f4 as GetExperimentResultsError, f5 as GetExperimentResultsErrors, f6 as GetExperimentResultsResponse, f7 as GetExperimentResultsResponse2, f8 as GetExperimentResultsResponses, f9 as GetExperimentTimeseriesData, fa as GetExperimentTimeseriesError, fb as GetExperimentTimeseriesErrors, fc as GetExperimentTimeseriesResponse, fd as GetExperimentTimeseriesResponse2, fe as GetExperimentTimeseriesResponses, ff as GetGateData, fg as GetGateError, fh as GetGateErrors, fi as GetGateResponse, fj as GetGateResponses, fk as GetGateTemplateData, fl as GetGateTemplateError, fm as GetGateTemplateErrors, fn as GetGateTemplateResponse, fo as GetGateTemplateResponses, fp as GetGateWhitelistData, fq as GetGateWhitelistError, fr as GetGateWhitelistErrors, fs as GetGateWhitelistResponse, ft as GetGateWhitelistResponses, fu as GetKillswitchData, fv as GetKillswitchError, fw as GetKillswitchErrors, fx as GetKillswitchResponse, fy as GetKillswitchResponse2, fz as GetKillswitchResponses, fA as GetMetricData, fB as GetMetricError, fC as GetMetricErrors, fD as GetMetricResponse, fE as GetMetricResponse2, fF as GetMetricResponses, fG as GetMetricSeriesData, fH as GetMetricSeriesError, fI as GetMetricSeriesErrors, fJ as GetMetricSeriesRequest, fK as GetMetricSeriesResponse, fL as GetMetricSeriesResponse2, fM as GetMetricSeriesResponses, fN as GetOpsItemData, fO as GetOpsItemError, fP as GetOpsItemErrors, fQ as GetOpsItemResponse, fR as GetOpsItemResponse2, fS as GetOpsItemResponses, fT as GetProjectData, fU as GetProjectError, fV as GetProjectErrors, fW as GetProjectResponse, fX as GetProjectResponses, fY as GithubConnectorData, fZ as GithubPrLink, f_ as I18nDraft, f$ as JulesTriggerConfig, g0 as KeyRecord, g1 as KillswitchValue, g2 as LinkPrToOpsItemData, g3 as LinkPrToOpsItemError, g4 as LinkPrToOpsItemErrors, g5 as LinkPrToOpsItemRequest, g6 as LinkPrToOpsItemResponse, g7 as LinkPrToOpsItemResponse2, g8 as LinkPrToOpsItemResponses, g9 as ListAlertRulesData, ga as ListAlertRulesError, gb as ListAlertRulesErrors, gc as ListAlertRulesResponse, gd as ListAlertRulesResponse2, ge as ListAlertRulesResponses, gf as ListAlertsData, gg as ListAlertsError, gh as ListAlertsErrors, gi as ListAlertsResponse, gj as ListAlertsResponse2, gk as ListAlertsResponses, gl as ListAttributesData, gm as ListAttributesError, gn as ListAttributesErrors, go as ListAttributesResponse, gp as ListAttributesResponse2, gq as ListAttributesResponses, gr as ListConfigActivityData, gs as ListConfigActivityError, gt as ListConfigActivityErrors, gu as ListConfigActivityResponse, gv as ListConfigActivityResponse2, gw as ListConfigActivityResponses, gx as ListConfigVersionsData, gy as ListConfigVersionsError, gz as ListConfigVersionsErrors, gA as ListConfigVersionsResponse, gB as ListConfigVersionsResponse2, gC as ListConfigVersionsResponses, gD as ListConfigsData, gE as ListConfigsError, gF as ListConfigsErrors, gG as ListConfigsResponse, gH as ListConfigsResponse2, gI as ListConfigsResponses, gJ as ListConnectorsData, gK as ListConnectorsError, gL as ListConnectorsErrors, gM as ListConnectorsResponse, gN as ListConnectorsResponse2, gO as ListConnectorsResponses, gP as ListErrorsData, gQ as ListErrorsError, gR as ListErrorsErrors, gS as ListErrorsResponse, gT as ListErrorsResponse2, gU as ListErrorsResponses, gV as ListEventsData, gW as ListEventsError, gX as ListEventsErrors, gY as ListEventsResponse, gZ as ListEventsResponse2, g_ as ListEventsResponses, g$ as ListExperimentsData, h0 as ListExperimentsError, h1 as ListExperimentsErrors, h2 as ListExperimentsResponse, h3 as ListExperimentsResponse2, h4 as ListExperimentsResponses, h5 as ListGateActivityData, h6 as ListGateActivityError, h7 as ListGateActivityErrors, h8 as ListGateActivityResponse, h9 as ListGateActivityResponse2, ha as ListGateActivityResponses, hb as ListGateTemplatesData, hc as ListGateTemplatesError, hd as ListGateTemplatesErrors, he as ListGateTemplatesResponse, hf as ListGateTemplatesResponse2, hg as ListGateTemplatesResponses, hh as ListGatesData, hi as ListGatesError, hj as ListGatesErrors, hk as ListGatesResponse, hl as ListGatesResponse2, hm as ListGatesResponses, hn as ListI18nDraftKeysData, ho as ListI18nDraftKeysError, hp as ListI18nDraftKeysErrors, hq as ListI18nDraftKeysResponse, hr as ListI18nDraftKeysResponse2, hs as ListI18nDraftKeysResponses, ht as ListI18nDraftsData, hu as ListI18nDraftsError, hv as ListI18nDraftsErrors, hw as ListI18nDraftsResponse, hx as ListI18nDraftsResponse2, hy as ListI18nDraftsResponses, hz as ListI18nKeysData, hA as ListI18nKeysError, hB as ListI18nKeysErrors, hC as ListI18nKeysResponse, hD as ListI18nKeysResponse2, hE as ListI18nKeysResponses, hF as ListI18nProfilesData, hG as ListI18nProfilesError, hH as ListI18nProfilesErrors, hI as ListI18nProfilesResponse, hJ as ListI18nProfilesResponse2, hK as ListI18nProfilesResponses, hL as ListKeysData, hM as ListKeysError, hN as ListKeysErrors, hO as ListKeysResponse, hP as ListKeysResponse2, hQ as ListKeysResponses, hR as ListKillswitchesData, hS as ListKillswitchesError, hT as ListKillswitchesErrors, hU as ListKillswitchesResponse, hV as ListKillswitchesResponse2, hW as ListKillswitchesResponses, hX as ListMetricExperimentsData, hY as ListMetricExperimentsError, hZ as ListMetricExperimentsErrors, h_ as ListMetricExperimentsResponse, h$ as ListMetricExperimentsResponse2, i0 as ListMetricExperimentsResponses, i1 as ListMetricsData, i2 as ListMetricsError, i3 as ListMetricsErrors, i4 as ListMetricsResponse, i5 as ListMetricsResponse2, i6 as ListMetricsResponses, i7 as ListOpsAgentsData, i8 as ListOpsAgentsError, i9 as ListOpsAgentsErrors, ia as ListOpsAgentsResponse, ib as ListOpsAgentsResponse2, ic as ListOpsAgentsResponses, id as ListOpsCommentsData, ie as ListOpsCommentsError, ig as ListOpsCommentsErrors, ih as ListOpsCommentsResponse, ii as ListOpsCommentsResponse2, ij as ListOpsCommentsResponses, ik as ListOpsInvestigationsData, il as ListOpsInvestigationsError, im as ListOpsInvestigationsErrors, io as ListOpsInvestigationsResponse, ip as ListOpsInvestigationsResponse2, iq as ListOpsInvestigationsResponses, ir as ListOpsItemsData, is as ListOpsItemsError, it as ListOpsItemsErrors, iu as ListOpsItemsResponse, iv as ListOpsItemsResponse2, iw as ListOpsItemsResponses, ix as ListSlackChannelsData, iy as ListSlackChannelsError, iz as ListSlackChannelsErrors, iA as ListSlackChannelsResponse, iB as ListSlackChannelsResponse2, iC as ListSlackChannelsResponses, iD as ListUniversesData, iE as ListUniversesError, iF as ListUniversesErrors, iG as ListUniversesResponse, iH as ListUniversesResponse2, iI as ListUniversesResponses, iJ as MeasurePlanResource, iK as MeasurePlanStep, iL as MetricDefaultMinEffectOfInterest, iM as MetricDirection, iN as MetricDisplayUnit, iO as MetricEventName, iP as MetricName, iQ as MetricQueryDsl, iR as MetricWinsorizePct, iS as NotificationTarget, iT as NotifyOpsData, iU as NotifyOpsError, iV as NotifyOpsErrors, iW as NotifyOpsRequest, iX as NotifyOpsResponse, iY as NotifyOpsResponse2, iZ as NotifyOpsResponses, i_ as OkResponse, i$ as OpsAgentProfile, j0 as OpsAlertContext, j1 as OpsAlertMetricSummary, j2 as OpsAlertRuleSummary, j3 as OpsBrowserContext, j4 as OpsComment, j5 as OpsCommentAuthorType, j6 as OpsErrorContext, j7 as OpsInvestigation, j8 as OpsInvestigationState, j9 as OpsItemAttachment, ja as OpsItemContext, jb as OpsItemNotifyOrNull, jc as OpsItemOwner, jd as OpsItemPriority, je as OpsItemPriorityOrNull, jf as OpsItemRelated, jg as OpsItemStatus, jh as OpsMeasurePlanContext, ji as OpsRun, jj as OpsRunAction, jk as OpsRunActionOrNull, jl as Options, jm as PaginationCursor, jn as PaginationLimit, jo as ProjectId, jp as PublishConfigDraftData, jq as PublishConfigDraftError, jr as PublishConfigDraftErrors, js as PublishConfigDraftRequest, jt as PublishConfigDraftResponse, ju as PublishConfigDraftResponse2, jv as PublishConfigDraftResponses, jw as PublishI18nProfileData, jx as PublishI18nProfileError, jy as PublishI18nProfileErrors, jz as PublishI18nProfileRequest, jA as PublishI18nProfileResponse, jB as PublishI18nProfileResponse2, jC as PublishI18nProfileResponses, jD as PushI18nKeysData, jE as PushI18nKeysError, jF as PushI18nKeysErrors, jG as PushI18nKeysRequest, jH as PushI18nKeysResponse, jI as PushI18nKeysResponse2, jJ as PushI18nKeysResponses, jK as Q, jL as QueryIr, jM as ReanalyzeExperimentData, jN as ReanalyzeExperimentError, jO as ReanalyzeExperimentErrors, jP as ReanalyzeExperimentResponse, jQ as ReanalyzeExperimentResponse2, jR as ReanalyzeExperimentResponses, jS as RemoveFromGateWhitelistData, jT as RemoveFromGateWhitelistError, jU as RemoveFromGateWhitelistErrors, jV as RemoveFromGateWhitelistRequest, jW as RemoveFromGateWhitelistResponse, jX as RemoveFromGateWhitelistResponses, jY as RequestResult, jZ as ResolveErrorData, j_ as ResolveErrorError, j$ as ResolveErrorErrors, k0 as ResolveErrorResponse, k1 as ResolveErrorResponses, k2 as ResourceId, k3 as RevokeKeyData, k4 as RevokeKeyError, k5 as RevokeKeyErrors, k6 as RevokeKeyResponse, k7 as RevokeKeyResponse2, k8 as RevokeKeyResponses, k9 as SaveConfigDraftData, ka as SaveConfigDraftError, kb as SaveConfigDraftErrors, kc as SaveConfigDraftRequest, kd as SaveConfigDraftResponse, ke as SaveConfigDraftResponse2, kf as SaveConfigDraftResponses, kg as SearchHit, kh as SearchResourcesData, ki as SearchResourcesError, kj as SearchResourcesErrors, kk as SearchResourcesResponse, kl as SearchResourcesResponses, km as SearchResponse, kn as SetExperimentMetricsData, ko as SetExperimentMetricsError, kp as SetExperimentMetricsErrors, kq as SetExperimentMetricsRequest, kr as SetExperimentMetricsResponse, ks as SetExperimentMetricsResponse2, kt as SetExperimentMetricsResponses, ku as SetExperimentStatusData, kv as SetExperimentStatusError, kw as SetExperimentStatusErrors, kx as SetExperimentStatusRequest, ky as SetExperimentStatusResponse, kz as SetExperimentStatusResponse2, kA as SetExperimentStatusResponses, kB as SetGateWhitelistData, kC as SetGateWhitelistError, kD as SetGateWhitelistErrors, kE as SetGateWhitelistRequest, kF as SetGateWhitelistResponse, kG as SetGateWhitelistResponses, kH as SetI18nLabelData, kI as SetI18nLabelError, kJ as SetI18nLabelErrors, kK as SetI18nLabelRequest, kL as SetI18nLabelResponse, kM as SetI18nLabelResponse2, kN as SetI18nLabelResponses, kO as SetKillswitchSwitchData, kP as SetKillswitchSwitchError, kQ as SetKillswitchSwitchErrors, kR as SetKillswitchSwitchRequest, kS as SetKillswitchSwitchResponse, kT as SetKillswitchSwitchResponse2, kU as SetKillswitchSwitchResponses, kV as SetKillswitchValueData, kW as SetKillswitchValueError, kX as SetKillswitchValueErrors, kY as SetKillswitchValueRequest, kZ as SetKillswitchValueResponse, k_ as SetKillswitchValueResponse2, k$ as SetKillswitchValueResponses, l0 as SlackConnectorData, l1 as TestConnectorData, l2 as TestConnectorError, l3 as TestConnectorErrors, l4 as TestConnectorResponse, l5 as TestConnectorResponse2, l6 as TestConnectorResponses, l7 as ToggleKillswitchData, l8 as ToggleKillswitchError, l9 as ToggleKillswitchErrors, la as ToggleKillswitchRequest, lb as ToggleKillswitchResponse, lc as ToggleKillswitchResponse2, ld as ToggleKillswitchResponses, le as UnarchiveMetricData, lf as UnarchiveMetricError, lg as UnarchiveMetricErrors, lh as UnarchiveMetricResponse, li as UnarchiveMetricResponse2, lj as UnarchiveMetricResponses, lk as UniverseParam, ll as UniverseParamSchema, lm as UnsetKillswitchSwitchData, ln as UnsetKillswitchSwitchError, lo as UnsetKillswitchSwitchErrors, lp as UnsetKillswitchSwitchRequest, lq as UnsetKillswitchSwitchResponse, lr as UnsetKillswitchSwitchResponse2, ls as UnsetKillswitchSwitchResponses, lt as UpdateAlertData, lu as UpdateAlertError, lv as UpdateAlertErrors, lw as UpdateAlertRequest, lx as UpdateAlertResponse, ly as UpdateAlertResponses, lz as UpdateAlertRuleData, lA as UpdateAlertRuleError, lB as UpdateAlertRuleErrors, lC as UpdateAlertRuleRequest, lD as UpdateAlertRuleResponse, lE as UpdateAlertRuleResponse2, lF as UpdateAlertRuleResponses, lG as UpdateAttributeData, lH as UpdateAttributeError, lI as UpdateAttributeErrors, lJ as UpdateAttributeRequest, lK as UpdateAttributeResponse, lL as UpdateAttributeResponse2, lM as UpdateAttributeResponses, lN as UpdateBugRequest, lO as UpdateClaudeTriggerRequest, lP as UpdateConfigData, lQ as UpdateConfigError, lR as UpdateConfigErrors, lS as UpdateConfigRequest, lT as UpdateConfigResponse, lU as UpdateConfigResponse2, lV as UpdateConfigResponses, lW as UpdateConfigSchemaData, lX as UpdateConfigSchemaError, lY as UpdateConfigSchemaErrors, lZ as UpdateConfigSchemaRequest, l_ as UpdateConfigSchemaResponse, l$ as UpdateConfigSchemaResponse2, m0 as UpdateConfigSchemaResponses, m1 as UpdateConnectorData, m2 as UpdateConnectorError, m3 as UpdateConnectorErrors, m4 as UpdateConnectorRequest, m5 as UpdateConnectorResponse, m6 as UpdateConnectorResponse2, m7 as UpdateConnectorResponses, m8 as UpdateCopilotTriggerRequest, m9 as UpdateCursorTriggerRequest, ma as UpdateErrorStatusData, mb as UpdateErrorStatusError, mc as UpdateErrorStatusErrors, md as UpdateErrorStatusRequest, me as UpdateErrorStatusResponse, mf as UpdateErrorStatusResponses, mg as UpdateEventData, mh as UpdateEventError, mi as UpdateEventErrors, mj as UpdateEventRequest, mk as UpdateEventResponse, ml as UpdateEventResponse2, mm as UpdateEventResponses, mn as UpdateExperimentData, mo as UpdateExperimentError, mp as UpdateExperimentErrors, mq as UpdateExperimentRequest, mr as UpdateExperimentResponse, ms as UpdateExperimentResponse2, mt as UpdateExperimentResponses, mu as UpdateFeatureRequestRequest, mv as UpdateGateData, mw as UpdateGateError, mx as UpdateGateErrors, my as UpdateGateRequest, mz as UpdateGateResponse, mA as UpdateGateResponse2, mB as UpdateGateResponses, mC as UpdateGateTemplateData, mD as UpdateGateTemplateError, mE as UpdateGateTemplateErrors, mF as UpdateGateTemplateRequest, mG as UpdateGateTemplateResponse, mH as UpdateGateTemplateResponse2, mI as UpdateGateTemplateResponses, mJ as UpdateI18nDraftData, mK as UpdateI18nDraftError, mL as UpdateI18nDraftErrors, mM as UpdateI18nDraftRequest, mN as UpdateI18nDraftResponse, mO as UpdateI18nDraftResponses, mP as UpdateI18nKeyData, mQ as UpdateI18nKeyError, mR as UpdateI18nKeyErrors, mS as UpdateI18nKeyRequest, mT as UpdateI18nKeyResponse, mU as UpdateI18nKeyResponse2, mV as UpdateI18nKeyResponses, mW as UpdateJulesTriggerRequest, mX as UpdateKillswitchData, mY as UpdateKillswitchError, mZ as UpdateKillswitchErrors, m_ as UpdateKillswitchRequest, m$ as UpdateKillswitchResponse, n0 as UpdateKillswitchResponse2, n1 as UpdateKillswitchResponses, n2 as UpdateMetricData, n3 as UpdateMetricError, n4 as UpdateMetricErrors, n5 as UpdateMetricFields, n6 as UpdateMetricRequest, n7 as UpdateMetricResponse, n8 as UpdateMetricResponses, n9 as UpdateMetricWithQuery, na as UpdateMetricWithQueryIr, nb as UpdateOpsInvestigationData, nc as UpdateOpsInvestigationError, nd as UpdateOpsInvestigationErrors, ne as UpdateOpsInvestigationRequest, nf as UpdateOpsInvestigationResponse, ng as UpdateOpsInvestigationResponses, nh as UpdateOpsItemData, ni as UpdateOpsItemError, nj as UpdateOpsItemErrors, nk as UpdateOpsItemRequest, nl as UpdateOpsItemResponse, nm as UpdateOpsItemResponse2, nn as UpdateOpsItemResponses, no as UpdateOpsItemStatusRequest, np as UpdateProjectData, nq as UpdateProjectError, nr as UpdateProjectErrors, ns as UpdateProjectRequest, nt as UpdateProjectResponse, nu as UpdateProjectResponses, nv as UpdateTriggerConnectorData, nw as UpdateTriggerConnectorError, nx as UpdateTriggerConnectorErrors, ny as UpdateTriggerConnectorRequest, nz as UpdateTriggerConnectorResponse, nA as UpdateTriggerConnectorResponses, nB as UpdateUniverseData, nC as UpdateUniverseError, nD as UpdateUniverseErrors, nE as UpdateUniverseRequest, nF as UpdateUniverseResponse, nG as UpdateUniverseResponse2, nH as UpdateUniverseResponses, nI as UpsertI18nDraftKeyData, nJ as UpsertI18nDraftKeyError, nK as UpsertI18nDraftKeyErrors, nL as UpsertI18nDraftKeyRequest, nM as UpsertI18nDraftKeyResponse, nN as UpsertI18nDraftKeyResponses, nO as UpsertI18nKeysData, nP as UpsertI18nKeysError, nQ as UpsertI18nKeysErrors, nR as UpsertI18nKeysRequest, nS as UpsertI18nKeysResponse, nT as UpsertI18nKeysResponse2, nU as UpsertI18nKeysResponses, nV as UpsertProjectData, nW as UpsertProjectError, nX as UpsertProjectErrors, nY as UpsertProjectRequest, nZ as UpsertProjectResponse, n_ as UpsertProjectResponse2, n$ as UpsertProjectResponses, o0 as ackOpsItem, o1 as addToGateWhitelist, o2 as approveEvent, o3 as client, o4 as configure, o5 as createAlertRule, o6 as createAttribute, o7 as createClient, o8 as createClientConfig, o9 as createConfig, oa as createConnector, ob as createEvent, oc as createExperiment, od as createExperimentReadout, oe as createGate, of as createGateTemplate, og as createI18nDraft, oh as createI18nProfile, oi as createKey, oj as createKillswitch, ok as createMetric, ol as createOpsComment, om as createOpsInvestigation, on as createOpsItem, oo as createPublicBug, op as createPublicFeatureRequest, oq as createTriggerConnector, or as createUniverse, os as deleteAlertRule, ot as deleteAttribute, ou as deleteConfig, ov as deleteConnector, ow as deleteEvent, ox as deleteExperiment, oy as deleteGate, oz as deleteGateTemplate, oA as deleteI18nDraft, oB as deleteI18nKey, oC as deleteI18nProfile, oD as deleteKillswitch, oE as deleteMetric, oF as deleteOpsItem, oG as deleteUniverse, oH as disableGate, oI as discardConfigDraft, oJ as enableGate, oK as fileErrorTicket, oL as fireConnector, oM as getAttribute, oN as getConfig, oO as getConnector, oP as getCurrentProject, oQ as getError, oR as getErrorSeries, oS as getEvent, oT as getExperiment, oU as getExperimentReadout, oV as getExperimentResults, oW as getExperimentTimeseries, oX as getGate, oY as getGateTemplate, oZ as getGateWhitelist, o_ as getKillswitch, o$ as getMetric, p0 as getMetricSeries, p1 as getOpsItem, p2 as getProject, p3 as linkPrToOpsItem, p4 as listAlertRules, p5 as listAlerts, p6 as listAttributes, p7 as listConfigActivity, p8 as listConfigVersions, p9 as listConfigs, pa as listConnectors, pb as listErrors, pc as listEvents, pd as listExperiments, pe as listGateActivity, pf as listGateTemplates, pg as listGates, ph as listI18nDraftKeys, pi as listI18nDrafts, pj as listI18nKeys, pk as listI18nProfiles, pl as listKeys, pm as listKillswitches, pn as listMetricExperiments, po as listMetrics, pp as listOpsAgents, pq as listOpsComments, pr as listOpsInvestigations, ps as listOpsItems, pt as listSlackChannels, pu as listUniverses, pv as notifyOps, pw as publishConfigDraft, px as publishI18nProfile, py as pushI18nKeys, pz as reanalyzeExperiment, pA as removeFromGateWhitelist, pB as resolveError, pC as revokeKey, pD as saveConfigDraft, pE as searchResources, pF as setExperimentMetrics, pG as setExperimentStatus, pH as setGateWhitelist, pI as setI18nLabel, pJ as setKillswitchSwitch, pK as setKillswitchValue, pL as testConnector, pM as toggleKillswitch, pN as unarchiveMetric, pO as unsetKillswitchSwitch, pP as updateAlert, pQ as updateAlertRule, pR as updateAttribute, pS as updateConfig, pT as updateConfigSchema, pU as updateConnector, pV as updateErrorStatus, pW as updateEvent, pX as updateExperiment, pY as updateGate, pZ as updateGateTemplate, p_ as updateI18nDraft, p$ as updateI18nKey, q0 as updateKillswitch, q1 as updateMetric, q2 as updateOpsInvestigation, q3 as updateOpsItem, q4 as updateProject, q5 as updateTriggerConnector, q6 as updateUniverse, q7 as upsertI18nDraftKey, q8 as upsertI18nKeys, q9 as upsertProject } from './client-BPVn4hMC.js'; | ||
@@ -4,0 +4,0 @@ /** |
+16
-2
| import { | ||
| ackOpsItem, | ||
| addToGateWhitelist, | ||
| approveEvent, | ||
@@ -25,2 +26,4 @@ client, | ||
| createOpsItem, | ||
| createPublicBug, | ||
| createPublicFeatureRequest, | ||
| createTriggerConnector, | ||
@@ -61,2 +64,3 @@ createUniverse, | ||
| getGateTemplate, | ||
| getGateWhitelist, | ||
| getKillswitch, | ||
@@ -100,2 +104,3 @@ getMetric, | ||
| reanalyzeExperiment, | ||
| removeFromGateWhitelist, | ||
| resolveError, | ||
@@ -107,2 +112,3 @@ revokeKey, | ||
| setExperimentStatus, | ||
| setGateWhitelist, | ||
| setI18nLabel, | ||
@@ -112,2 +118,3 @@ setKillswitchSwitch, | ||
| testConnector, | ||
| toggleKillswitch, | ||
| unarchiveMetric, | ||
@@ -138,6 +145,6 @@ unsetKillswitchSwitch, | ||
| upsertProject | ||
| } from "./chunk-V4ZESAIF.js"; | ||
| } from "./chunk-RTN572TI.js"; | ||
| import { | ||
| zErrorCode | ||
| } from "./chunk-UV333BIK.js"; | ||
| } from "./chunk-DW33MG4B.js"; | ||
@@ -186,2 +193,3 @@ // src/errors.ts | ||
| ackOpsItem, | ||
| addToGateWhitelist, | ||
| approveEvent, | ||
@@ -209,2 +217,4 @@ client, | ||
| createOpsItem, | ||
| createPublicBug, | ||
| createPublicFeatureRequest, | ||
| createTriggerConnector, | ||
@@ -247,2 +257,3 @@ createUniverse, | ||
| getGateTemplate, | ||
| getGateWhitelist, | ||
| getKillswitch, | ||
@@ -287,2 +298,3 @@ getMetric, | ||
| reanalyzeExperiment, | ||
| removeFromGateWhitelist, | ||
| resolveError, | ||
@@ -294,2 +306,3 @@ revokeKey, | ||
| setExperimentStatus, | ||
| setGateWhitelist, | ||
| setI18nLabel, | ||
@@ -299,2 +312,3 @@ setKillswitchSwitch, | ||
| testConnector, | ||
| toggleKillswitch, | ||
| unarchiveMetric, | ||
@@ -301,0 +315,0 @@ unsetKillswitchSwitch, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/errors.ts"],"sourcesContent":["import { zErrorCode } from \"./generated/zod.gen.js\";\nimport type { Error as ApiErrorBody, ErrorCode } from \"./generated/types.gen.js\";\n\nexport type { ErrorCode };\nexport type { ApiErrorBody };\n\n/**\n * The canonical `ErrorCode` catalogue as a runtime array — derived from the\n * generated Zod enum so it can never drift from the spec. Mirrors\n * `@shipeasy/core`'s `ErrorCode`; the parity test (`scripts/check-drift.mjs`)\n * asserts every `x-error-codes` entry in the spec is one of these.\n */\nexport const ERROR_CODES = zErrorCode.options as readonly ErrorCode[];\n\n/** Type guard for the uniform `{ error, code?, detail? }` error envelope. */\nexport function isApiErrorBody(value: unknown): value is ApiErrorBody {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"error\" in value &&\n typeof (value as { error: unknown }).error === \"string\"\n );\n}\n\n/** Narrow an error body to a known `ErrorCode`, or `undefined` if uncatalogued. */\nexport function errorCodeOf(value: unknown): ErrorCode | undefined {\n if (!isApiErrorBody(value)) return undefined;\n const code = value.code;\n return code && (ERROR_CODES as readonly string[]).includes(code) ? code : undefined;\n}\n\n/** Which binary is reporting the failure — determines which command to tell the caller to run. */\nexport type AuthSurface = \"cli\" | \"mcp\";\n\nconst REAUTH_COMMAND: Record<AuthSurface, string> = {\n cli: \"shipeasy login --force\",\n mcp: \"shipeasy-mcp install --force\",\n};\n\n/**\n * Structured, agent-parseable remediation text for an admin-API auth failure\n * (401/403) — shared by the CLI's and MCP's error printers so every command\n * and every tool call reports auth failures the same way. The leading\n * `AUTH_REQUIRED:` / `AUTH_FORBIDDEN:` token is a stable marker a calling\n * agent can grep for; everything after it is human-readable remediation.\n *\n * Returns `undefined` for non-auth statuses so callers fall back to their\n * normal error formatting.\n */\nexport function formatAuthFailure(\n surface: AuthSurface,\n status: number,\n message: string,\n): string | undefined {\n const reauth = REAUTH_COMMAND[surface];\n if (status === 401) {\n return [\n `AUTH_REQUIRED: ${message} (401)`,\n ``,\n `Cause: the request's Shipeasy credentials are missing, invalid, or expired.`,\n `Fix:`,\n ` 1. Run: ${reauth}`,\n ` 2. Retry the command that failed.`,\n ].join(\"\\n\");\n }\n if (status === 403) {\n return [\n `AUTH_FORBIDDEN: ${message} (403)`,\n ``,\n `Cause: the credentials are valid but don't have access to this project or resource.`,\n `Fix:`,\n ` 1. Confirm the bound project is correct (check the .shipeasy file, or run: shipeasy root --json).`,\n ` 2. If it's the wrong project, run: shipeasy bind <project_id>.`,\n ` 3. If it's the right project, ask a workspace admin to grant access — retrying will not help.`,\n ].join(\"\\n\");\n }\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,IAAM,cAAc,WAAW;AAG/B,SAAS,eAAe,OAAuC;AACpE,SACE,OAAO,UAAU,YACjB,UAAU,QACV,WAAW,SACX,OAAQ,MAA6B,UAAU;AAEnD;AAGO,SAAS,YAAY,OAAuC;AACjE,MAAI,CAAC,eAAe,KAAK,EAAG,QAAO;AACnC,QAAM,OAAO,MAAM;AACnB,SAAO,QAAS,YAAkC,SAAS,IAAI,IAAI,OAAO;AAC5E;AAKA,IAAM,iBAA8C;AAAA,EAClD,KAAK;AAAA,EACL,KAAK;AACP;AAYO,SAAS,kBACd,SACA,QACA,SACoB;AACpB,QAAM,SAAS,eAAe,OAAO;AACrC,MAAI,WAAW,KAAK;AAClB,WAAO;AAAA,MACL,kBAAkB,OAAO;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa,MAAM;AAAA,MACnB;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACA,MAAI,WAAW,KAAK;AAClB,WAAO;AAAA,MACL,mBAAmB,OAAO;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACA,SAAO;AACT;","names":[]} | ||
| {"version":3,"sources":["../src/errors.ts"],"sourcesContent":["import { zErrorCode } from \"./generated/zod.gen.js\";\nimport type { Error as ApiErrorBody, ErrorCode } from \"./generated/types.gen.js\";\n\nexport type { ErrorCode };\nexport type { ApiErrorBody };\n\n/**\n * The canonical `ErrorCode` catalogue as a runtime array — derived from the\n * generated Zod enum so it can never drift from the spec. Mirrors\n * `@shipeasy/core`'s `ErrorCode`; the parity test (`scripts/check-drift.mjs`)\n * asserts every `x-error-codes` entry in the spec is one of these.\n */\nexport const ERROR_CODES = zErrorCode.options as readonly ErrorCode[];\n\n/** Type guard for the uniform `{ error, code?, detail? }` error envelope. */\nexport function isApiErrorBody(value: unknown): value is ApiErrorBody {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"error\" in value &&\n typeof (value as { error: unknown }).error === \"string\"\n );\n}\n\n/** Narrow an error body to a known `ErrorCode`, or `undefined` if uncatalogued. */\nexport function errorCodeOf(value: unknown): ErrorCode | undefined {\n if (!isApiErrorBody(value)) return undefined;\n const code = value.code;\n return code && (ERROR_CODES as readonly string[]).includes(code) ? code : undefined;\n}\n\n/** Which binary is reporting the failure — determines which command to tell the caller to run. */\nexport type AuthSurface = \"cli\" | \"mcp\";\n\nconst REAUTH_COMMAND: Record<AuthSurface, string> = {\n cli: \"shipeasy login --force\",\n mcp: \"shipeasy-mcp install --force\",\n};\n\n/**\n * Structured, agent-parseable remediation text for an admin-API auth failure\n * (401/403) — shared by the CLI's and MCP's error printers so every command\n * and every tool call reports auth failures the same way. The leading\n * `AUTH_REQUIRED:` / `AUTH_FORBIDDEN:` token is a stable marker a calling\n * agent can grep for; everything after it is human-readable remediation.\n *\n * Returns `undefined` for non-auth statuses so callers fall back to their\n * normal error formatting.\n */\nexport function formatAuthFailure(\n surface: AuthSurface,\n status: number,\n message: string,\n): string | undefined {\n const reauth = REAUTH_COMMAND[surface];\n if (status === 401) {\n return [\n `AUTH_REQUIRED: ${message} (401)`,\n ``,\n `Cause: the request's Shipeasy credentials are missing, invalid, or expired.`,\n `Fix:`,\n ` 1. Run: ${reauth}`,\n ` 2. Retry the command that failed.`,\n ].join(\"\\n\");\n }\n if (status === 403) {\n return [\n `AUTH_FORBIDDEN: ${message} (403)`,\n ``,\n `Cause: the credentials are valid but don't have access to this project or resource.`,\n `Fix:`,\n ` 1. Confirm the bound project is correct (check the .shipeasy file, or run: shipeasy root --json).`,\n ` 2. If it's the wrong project, run: shipeasy bind <project_id>.`,\n ` 3. If it's the right project, ask a workspace admin to grant access — retrying will not help.`,\n ].join(\"\\n\");\n }\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,IAAM,cAAc,WAAW;AAG/B,SAAS,eAAe,OAAuC;AACpE,SACE,OAAO,UAAU,YACjB,UAAU,QACV,WAAW,SACX,OAAQ,MAA6B,UAAU;AAEnD;AAGO,SAAS,YAAY,OAAuC;AACjE,MAAI,CAAC,eAAe,KAAK,EAAG,QAAO;AACnC,QAAM,OAAO,MAAM;AACnB,SAAO,QAAS,YAAkC,SAAS,IAAI,IAAI,OAAO;AAC5E;AAKA,IAAM,iBAA8C;AAAA,EAClD,KAAK;AAAA,EACL,KAAK;AACP;AAYO,SAAS,kBACd,SACA,QACA,SACoB;AACpB,QAAM,SAAS,eAAe,OAAO;AACrC,MAAI,WAAW,KAAK;AAClB,WAAO;AAAA,MACL,kBAAkB,OAAO;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa,MAAM;AAAA,MACnB;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACA,MAAI,WAAW,KAAK;AAClB,WAAO;AAAA,MACL,mBAAmB,OAAO;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACA,SAAO;AACT;","names":[]} |
+67
-1
@@ -8,2 +8,7 @@ import { | ||
| zAckOpsItemResponse2, | ||
| zAddToGateWhitelistBody, | ||
| zAddToGateWhitelistHeaders, | ||
| zAddToGateWhitelistPath, | ||
| zAddToGateWhitelistRequest, | ||
| zAddToGateWhitelistResponse, | ||
| zAlertApiRow, | ||
@@ -119,2 +124,9 @@ zApproveEventBody, | ||
| zCreateOpsItemResponse2, | ||
| zCreatePublicBugBody, | ||
| zCreatePublicBugRequest, | ||
| zCreatePublicBugResponse, | ||
| zCreatePublicFeatureRequestBody, | ||
| zCreatePublicFeatureRequestRequest, | ||
| zCreatePublicFeatureRequestResponse, | ||
| zCreatePublicTicketResponse, | ||
| zCreateTriggerConnectorBody, | ||
@@ -230,2 +242,4 @@ zCreateTriggerConnectorHeaders, | ||
| zGateTemplateRuleResponse, | ||
| zGateWhitelist, | ||
| zGateWhitelistAttr, | ||
| zGetAttributeHeaders, | ||
@@ -277,2 +291,5 @@ zGetAttributePath, | ||
| zGetGateTemplateResponse, | ||
| zGetGateWhitelistHeaders, | ||
| zGetGateWhitelistPath, | ||
| zGetGateWhitelistResponse, | ||
| zGetKillswitchHeaders, | ||
@@ -482,2 +499,7 @@ zGetKillswitchPath, | ||
| zReanalyzeExperimentResponse2, | ||
| zRemoveFromGateWhitelistBody, | ||
| zRemoveFromGateWhitelistHeaders, | ||
| zRemoveFromGateWhitelistPath, | ||
| zRemoveFromGateWhitelistRequest, | ||
| zRemoveFromGateWhitelistResponse, | ||
| zResolveErrorHeaders, | ||
@@ -514,2 +536,7 @@ zResolveErrorPath, | ||
| zSetExperimentStatusResponse2, | ||
| zSetGateWhitelistBody, | ||
| zSetGateWhitelistHeaders, | ||
| zSetGateWhitelistPath, | ||
| zSetGateWhitelistRequest, | ||
| zSetGateWhitelistResponse, | ||
| zSetI18nLabelBody, | ||
@@ -537,2 +564,8 @@ zSetI18nLabelHeaders, | ||
| zTestConnectorResponse2, | ||
| zToggleKillswitchBody, | ||
| zToggleKillswitchHeaders, | ||
| zToggleKillswitchPath, | ||
| zToggleKillswitchRequest, | ||
| zToggleKillswitchResponse, | ||
| zToggleKillswitchResponse2, | ||
| zUnarchiveMetricHeaders, | ||
@@ -688,3 +721,3 @@ zUnarchiveMetricPath, | ||
| zUpsertProjectResponse2 | ||
| } from "./chunk-UV333BIK.js"; | ||
| } from "./chunk-DW33MG4B.js"; | ||
| export { | ||
@@ -697,2 +730,7 @@ zAckOpsItemBody, | ||
| zAckOpsItemResponse2, | ||
| zAddToGateWhitelistBody, | ||
| zAddToGateWhitelistHeaders, | ||
| zAddToGateWhitelistPath, | ||
| zAddToGateWhitelistRequest, | ||
| zAddToGateWhitelistResponse, | ||
| zAlertApiRow, | ||
@@ -808,2 +846,9 @@ zApproveEventBody, | ||
| zCreateOpsItemResponse2, | ||
| zCreatePublicBugBody, | ||
| zCreatePublicBugRequest, | ||
| zCreatePublicBugResponse, | ||
| zCreatePublicFeatureRequestBody, | ||
| zCreatePublicFeatureRequestRequest, | ||
| zCreatePublicFeatureRequestResponse, | ||
| zCreatePublicTicketResponse, | ||
| zCreateTriggerConnectorBody, | ||
@@ -919,2 +964,4 @@ zCreateTriggerConnectorHeaders, | ||
| zGateTemplateRuleResponse, | ||
| zGateWhitelist, | ||
| zGateWhitelistAttr, | ||
| zGetAttributeHeaders, | ||
@@ -966,2 +1013,5 @@ zGetAttributePath, | ||
| zGetGateTemplateResponse, | ||
| zGetGateWhitelistHeaders, | ||
| zGetGateWhitelistPath, | ||
| zGetGateWhitelistResponse, | ||
| zGetKillswitchHeaders, | ||
@@ -1171,2 +1221,7 @@ zGetKillswitchPath, | ||
| zReanalyzeExperimentResponse2, | ||
| zRemoveFromGateWhitelistBody, | ||
| zRemoveFromGateWhitelistHeaders, | ||
| zRemoveFromGateWhitelistPath, | ||
| zRemoveFromGateWhitelistRequest, | ||
| zRemoveFromGateWhitelistResponse, | ||
| zResolveErrorHeaders, | ||
@@ -1203,2 +1258,7 @@ zResolveErrorPath, | ||
| zSetExperimentStatusResponse2, | ||
| zSetGateWhitelistBody, | ||
| zSetGateWhitelistHeaders, | ||
| zSetGateWhitelistPath, | ||
| zSetGateWhitelistRequest, | ||
| zSetGateWhitelistResponse, | ||
| zSetI18nLabelBody, | ||
@@ -1226,2 +1286,8 @@ zSetI18nLabelHeaders, | ||
| zTestConnectorResponse2, | ||
| zToggleKillswitchBody, | ||
| zToggleKillswitchHeaders, | ||
| zToggleKillswitchPath, | ||
| zToggleKillswitchRequest, | ||
| zToggleKillswitchResponse, | ||
| zToggleKillswitchResponse2, | ||
| zUnarchiveMetricHeaders, | ||
@@ -1228,0 +1294,0 @@ zUnarchiveMetricPath, |
+6
-4
| { | ||
| "name": "@shipeasy/openapi", | ||
| "version": "3.1.0", | ||
| "version": "3.2.0", | ||
| "description": "Shipeasy admin OpenAPI 3.2 spec (hand-authored, single source of truth) + the generated TypeScript client, Zod schemas, and types. Consumed by @shipeasy/cli and @shipeasy/mcp.", | ||
@@ -43,3 +43,4 @@ "type": "module", | ||
| "./openapi.yaml": "./openapi.yaml", | ||
| "./openapi.json": "./openapi.json" | ||
| "./openapi.json": "./openapi.json", | ||
| "./openapi-sdk.json": "./openapi-sdk.json" | ||
| }, | ||
@@ -50,7 +51,8 @@ "files": [ | ||
| "openapi.json", | ||
| "openapi-sdk.json", | ||
| "spec/" | ||
| ], | ||
| "scripts": { | ||
| "lint:spec": "redocly lint spec/openapi.yaml", | ||
| "bundle": "redocly bundle spec/openapi.yaml -o openapi.yaml && redocly bundle spec/openapi.yaml -o openapi.json", | ||
| "lint:spec": "redocly lint spec/openapi.yaml && redocly lint spec/openapi-sdk.yaml", | ||
| "bundle": "redocly bundle spec/openapi.yaml -o openapi.yaml && redocly bundle spec/openapi.yaml -o openapi.json && redocly bundle spec/openapi-sdk.yaml -o openapi-sdk.json", | ||
| "gen:sdk": "openapi-ts", | ||
@@ -57,0 +59,0 @@ "gen": "pnpm bundle && pnpm gen:sdk", |
@@ -123,1 +123,40 @@ BadRequest: | ||
| error: "GitHub API responded 403: resource not accessible by integration." | ||
| PayloadTooLarge: | ||
| description: The request body exceeded the intake's fixed size cap (16 KB). | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ./errors.yaml#/Error | ||
| examples: | ||
| BAD_REQUEST: | ||
| summary: Body too large | ||
| value: | ||
| error: Body too large | ||
| code: BAD_REQUEST | ||
| TooManyRequests: | ||
| description: |- | ||
| The public intake is rate-limited per (project, client IP). Back off and retry; | ||
| the limit is a burst guard, not a quota, so a modest delay clears it. | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ./errors.yaml#/Error | ||
| examples: | ||
| BAD_REQUEST: | ||
| summary: Rate limited | ||
| value: | ||
| error: Too many requests | ||
| code: BAD_REQUEST | ||
| ServiceUnavailable: | ||
| description: |- | ||
| A backing store the endpoint needs is not bound in this environment. Transient | ||
| and infrastructural — no stable `ErrorCode` is assigned, so `code` is omitted. | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ./errors.yaml#/Error | ||
| examples: | ||
| UNAVAILABLE: | ||
| summary: Storage unbound | ||
| value: | ||
| error: Unavailable |
@@ -983,1 +983,88 @@ # The single wire shape for a gate row, shared by `ListGatesResponse` | ||
| description: Recent audit rows for one gate, newest first. | ||
| GateWhitelistAttr: | ||
| type: string | ||
| enum: | ||
| - user_id | ||
| description: Which identity attribute the whitelist matches on. `email` compares the caller's `email`; `user_id` compares the caller's `userID`. A whitelist matches on exactly one of the two at a time. | ||
| GateWhitelist: | ||
| type: object | ||
| properties: | ||
| id: | ||
| type: string | ||
| description: Resolved gate id. | ||
| name: | ||
| type: string | ||
| description: The gate's stable `name`. | ||
| attr: | ||
| $ref: "#/GateWhitelistAttr" | ||
| entries: | ||
| type: array | ||
| items: | ||
| type: string | ||
| minLength: 1 | ||
| description: The whitelisted identities, in the order they are stored. Deduplicated case-sensitively; an empty array means the gate has no whitelist. | ||
| required: | ||
| - id | ||
| - name | ||
| - attr | ||
| - entries | ||
| additionalProperties: false | ||
| description: A gate's whitelist — the always-first allowlist that admits the listed identities before any targeting rule or rollout runs. Backed by the pinned `whitelist` entry at the head of the gate's `stack`, so it is the same list the dashboard's Whitelist block edits. | ||
| SetGateWhitelistRequest: | ||
| type: object | ||
| properties: | ||
| attr: | ||
| anyOf: | ||
| - $ref: "#/GateWhitelistAttr" | ||
| description: Identity attribute to match on. Defaults to the whitelist's current attribute, or `email` when the gate has no whitelist yet. | ||
| entries: | ||
| type: array | ||
| items: | ||
| type: string | ||
| minLength: 1 | ||
| description: The complete whitelist after the call. Pass `[]` to remove the whitelist from the gate entirely. | ||
| required: | ||
| - entries | ||
| additionalProperties: false | ||
| description: Body for `PUT /api/admin/gates/{id}/whitelist`. Replaces the whole list — idempotent, and the only call that can switch `attr` or clear the whitelist. | ||
| AddToGateWhitelistRequest: | ||
| type: object | ||
| properties: | ||
| attr: | ||
| anyOf: | ||
| - $ref: "#/GateWhitelistAttr" | ||
| description: Identity attribute to match on. Only honoured when the gate has no whitelist yet (this call creates it); passing an attribute that disagrees with an existing whitelist is a 409 rather than a silent re-key of the entries already there. | ||
| entries: | ||
| type: array | ||
| minItems: 1 | ||
| items: | ||
| type: string | ||
| minLength: 1 | ||
| description: Identities to admit. Already-listed entries are skipped, so the call is idempotent. | ||
| required: | ||
| - entries | ||
| additionalProperties: false | ||
| description: Body for `POST /api/admin/gates/{id}/whitelist`. Adds entries to the whitelist, creating it if the gate doesn't have one. | ||
| RemoveFromGateWhitelistRequest: | ||
| type: object | ||
| properties: | ||
| entries: | ||
| type: array | ||
| minItems: 1 | ||
| items: | ||
| type: string | ||
| minLength: 1 | ||
| description: Identities to stop admitting. Entries that aren't listed are skipped, so the call is idempotent. | ||
| required: | ||
| - entries | ||
| additionalProperties: false | ||
| description: "Body for `DELETE /api/admin/gates/{id}/whitelist`. Removes entries from the whitelist. Removing the last entry leaves an empty whitelist in place — use `PUT` with `entries: []` to drop the block itself." | ||
| GetGateWhitelistResponse: | ||
| $ref: "#/GateWhitelist" | ||
| SetGateWhitelistResponse: | ||
| $ref: "#/GateWhitelist" | ||
| AddToGateWhitelistResponse: | ||
| $ref: "#/GateWhitelist" | ||
| RemoveFromGateWhitelistResponse: | ||
| $ref: "#/GateWhitelist" |
@@ -105,4 +105,4 @@ ListKeysResponse: | ||
| minLength: 1 | ||
| maxLength: 80 | ||
| description: Optional human label. Programmatic (API) mints that omit it get an auto-generated descriptive name; dashboard mints may leave it blank. | ||
| maxLength: 160 | ||
| description: "Optional human label. Programmatic (API) mints that omit it get an auto-generated descriptive name; dashboard mints may leave it blank. The cap is generous because provenance labels are composed, not typed — `shipeasy setup` mints keys named with the stack, package, date, and operator that produced them, which does not fit in a one-line-input budget." | ||
| scopes: | ||
@@ -109,0 +109,0 @@ type: array |
@@ -346,1 +346,65 @@ ListKillswitchesResponse: | ||
| additionalProperties: false | ||
| ToggleKillswitchRequest: | ||
| type: object | ||
| properties: | ||
| switchKey: | ||
| anyOf: | ||
| - type: string | ||
| maxLength: 64 | ||
| pattern: ^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$ | ||
| - type: "null" | ||
| description: Which target to flip. Omit (or `null`) to flip the killswitch's own flat `value`; name a switch key to flip that nested sub-switch instead, creating the entry if it doesn't exist yet. | ||
| value: | ||
| anyOf: | ||
| - type: boolean | ||
| - type: "null" | ||
| description: The value to publish. Omit (or `null`) to flip whatever is stored now — read-modify-write in one call. Pass an explicit `true`/`false` to make the call idempotent, so a retry can't undo the first attempt. | ||
| env: | ||
| anyOf: | ||
| - $ref: ./common.yaml#/Env | ||
| description: Environment to publish on. Defaults to `prod` — the environment an incident response means when it says "kill it". | ||
| additionalProperties: false | ||
| description: |- | ||
| Body for `POST /api/admin/killswitches/{id}/toggle`. Every field is optional, so the four useful calls read as one method with a widening argument list: | ||
| - `{}` — flip the flat value on prod. | ||
| - `{ "switchKey": "eu_region" }` — flip that sub-switch on prod. | ||
| - `{ "switchKey": "eu_region", "value": true }` — set that sub-switch on prod, idempotently. | ||
| - `{ "switchKey": "eu_region", "value": true, "env": "staging" }` — the same, on a chosen env. | ||
| ToggleKillswitchResponse: | ||
| type: object | ||
| properties: | ||
| id: | ||
| type: string | ||
| description: Resolved killswitch id. | ||
| env: | ||
| $ref: ./common.yaml#/Env | ||
| switchKey: | ||
| anyOf: | ||
| - type: string | ||
| maxLength: 64 | ||
| pattern: ^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$ | ||
| - type: "null" | ||
| description: The sub-switch that was flipped, or `null` when the flat `value` was. | ||
| previous: | ||
| type: boolean | ||
| description: The value that was in effect before this call. Equal to `value` when an idempotent `value` matched what was already stored. | ||
| value: | ||
| type: boolean | ||
| description: The value now in effect on `env`. | ||
| version: | ||
| type: integer | ||
| minimum: -9007199254740991 | ||
| maximum: 9007199254740991 | ||
| description: Newly published version on `env`. | ||
| published: | ||
| $ref: ./common.yaml#/KillswitchValue | ||
| required: | ||
| - id | ||
| - env | ||
| - switchKey | ||
| - previous | ||
| - value | ||
| - version | ||
| - published | ||
| additionalProperties: false |
+18
-0
@@ -285,2 +285,4 @@ openapi: 3.2.0 | ||
| $ref: ./paths/gates.yaml#/~1api~1admin~1gates~1{id}~1activity | ||
| /api/admin/gates/{id}/whitelist: | ||
| $ref: ./paths/gates.yaml#/~1api~1admin~1gates~1{id}~1whitelist | ||
| /api/admin/experiments: | ||
@@ -326,2 +328,4 @@ $ref: ./paths/experiments.yaml#/~1api~1admin~1experiments | ||
| $ref: ./paths/killswitches.yaml#/~1api~1admin~1killswitches~1{id}~1value | ||
| /api/admin/killswitches/{id}/toggle: | ||
| $ref: ./paths/killswitches.yaml#/~1api~1admin~1killswitches~1{id}~1toggle | ||
| /api/admin/universes: | ||
@@ -357,2 +361,6 @@ $ref: ./paths/universes.yaml#/~1api~1admin~1universes | ||
| $ref: ./paths/ops.yaml#/~1api~1admin~1ops | ||
| /ops/bug: | ||
| $ref: ./paths/ops.yaml#/~1ops~1bug | ||
| /ops/feature-request: | ||
| $ref: ./paths/ops.yaml#/~1ops~1feature-request | ||
| /api/admin/ops/{handle}: | ||
@@ -443,1 +451,11 @@ $ref: ./paths/ops.yaml#/~1api~1admin~1ops~1{handle} | ||
| description: 'Pass an admin SDK key as `Authorization: Bearer sdk_admin_…`. Mint via `POST /api/admin/keys` with `type: "admin"`.' | ||
| clientSdkKey: | ||
| type: apiKey | ||
| in: header | ||
| name: X-SDK-Key | ||
| description: |- | ||
| Pass a **client** SDK key as `X-SDK-Key: sdk_client_…`. Used only by the public ticket intake (`POST /ops/bug`, `POST /ops/feature-request`), which is served by the edge worker rather than the admin API. | ||
| Client keys are designed to be embedded in shipped code — a CLI, an installer, a browser bundle — so presenting one here is safe by construction: it can do nothing but file a rate-limited ticket into its own project, in a state a human must approve. It carries no read access and cannot reach any other operation in this contract. | ||
| The key must additionally carry the `tickets:public_create` scope, and its project must have public ticket creation enabled. |
+282
-0
@@ -604,1 +604,283 @@ /api/admin/gates: | ||
| - id | ||
| /api/admin/gates/{id}/whitelist: | ||
| get: | ||
| operationId: getGateWhitelist | ||
| summary: Read a gate's whitelist | ||
| description: |- | ||
| Returns the gate's whitelist — the always-first allowlist that admits the listed identities before any targeting rule or percentage rollout is evaluated. | ||
| A gate with no whitelist returns `entries: []` (and the default `attr`), never a 404 — so a caller can read-then-write without special-casing the empty gate. | ||
| **Use case:** Check whether an account is already let through before adding it. | ||
| tags: | ||
| - Flags | ||
| parameters: | ||
| - $ref: ../components/parameters.yaml#/ProjectId | ||
| - name: id | ||
| in: path | ||
| required: true | ||
| description: Stable opaque gate id (`gate_…`) or the gate's `name`. | ||
| schema: | ||
| $ref: ../components/schemas/common.yaml#/ResourceId | ||
| responses: | ||
| "200": | ||
| description: Read a gate's whitelist | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/gates.yaml#/GetGateWhitelistResponse | ||
| example: | ||
| id: gate_01j7w8a1b2c3d4e5f6g7h8i9j0 | ||
| name: new_checkout | ||
| attr: email | ||
| entries: | ||
| - alice@acme.dev | ||
| - bob@acme.dev | ||
| "400": | ||
| $ref: ../components/responses.yaml#/BadRequest | ||
| "401": | ||
| $ref: ../components/responses.yaml#/Unauthorized | ||
| "403": | ||
| $ref: ../components/responses.yaml#/Forbidden | ||
| "404": | ||
| $ref: ../components/responses.yaml#/NotFound | ||
| "409": | ||
| $ref: ../components/responses.yaml#/Conflict | ||
| "422": | ||
| $ref: ../components/responses.yaml#/UnprocessableEntity | ||
| x-error-codes: | ||
| - BAD_REQUEST | ||
| - UNAUTHORIZED | ||
| - FORBIDDEN | ||
| - NOT_FOUND | ||
| x-cli: | ||
| name: whitelist | ||
| positional: | ||
| - id | ||
| put: | ||
| operationId: setGateWhitelist | ||
| summary: Replace a gate's whitelist | ||
| description: |- | ||
| Replaces the gate's whole whitelist with `entries`, creating the block if the gate didn't have one. Idempotent — the same call twice leaves the same list. | ||
| This is the only whitelist call that can switch `attr` (`email` ⇄ `user_id`) or clear the block: `entries: []` removes the whitelist from the gate entirely. | ||
| **Use cases** | ||
| - **Pin an exact list** — `{ "entries": ["alice@acme.dev", "bob@acme.dev"] }`. | ||
| - **Switch to user ids** — `{ "attr": "user_id", "entries": ["usr_123"] }`. | ||
| - **Drop the whitelist** — `{ "entries": [] }`. | ||
| tags: | ||
| - Flags | ||
| parameters: | ||
| - $ref: ../components/parameters.yaml#/ProjectId | ||
| - name: id | ||
| in: path | ||
| required: true | ||
| description: Stable opaque gate id (`gate_…`) or the gate's `name`. | ||
| schema: | ||
| $ref: ../components/schemas/common.yaml#/ResourceId | ||
| requestBody: | ||
| required: true | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/gates.yaml#/SetGateWhitelistRequest | ||
| examples: | ||
| pinList: | ||
| summary: Pin an exact list of emails | ||
| value: | ||
| entries: | ||
| - alice@acme.dev | ||
| - bob@acme.dev | ||
| switchToUserIds: | ||
| summary: Re-key the whitelist onto user ids | ||
| description: Switching `attr` replaces the entries wholesale — the old emails are not translated. | ||
| value: | ||
| attr: user_id | ||
| entries: | ||
| - usr_01j7w8a1b2c3d4e5f6g7h8i9j0 | ||
| clear: | ||
| summary: Remove the whitelist | ||
| description: An empty list drops the pinned block from the gate's stack. | ||
| value: | ||
| entries: [] | ||
| responses: | ||
| "200": | ||
| description: Replace a gate's whitelist | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/gates.yaml#/SetGateWhitelistResponse | ||
| example: | ||
| id: gate_01j7w8a1b2c3d4e5f6g7h8i9j0 | ||
| name: new_checkout | ||
| attr: email | ||
| entries: | ||
| - alice@acme.dev | ||
| - bob@acme.dev | ||
| "400": | ||
| $ref: ../components/responses.yaml#/BadRequest | ||
| "401": | ||
| $ref: ../components/responses.yaml#/Unauthorized | ||
| "403": | ||
| $ref: ../components/responses.yaml#/Forbidden | ||
| "404": | ||
| $ref: ../components/responses.yaml#/NotFound | ||
| "409": | ||
| $ref: ../components/responses.yaml#/Conflict | ||
| "422": | ||
| $ref: ../components/responses.yaml#/UnprocessableEntity | ||
| x-error-codes: | ||
| - BAD_REQUEST | ||
| - UNAUTHORIZED | ||
| - FORBIDDEN | ||
| - NOT_FOUND | ||
| - VALIDATION | ||
| x-cli: | ||
| name: whitelist-set | ||
| positional: | ||
| - id | ||
| post: | ||
| operationId: addToGateWhitelist | ||
| summary: Add entries to a gate's whitelist | ||
| description: |- | ||
| Adds identities to the gate's whitelist, creating the block if the gate doesn't have one yet. Entries already on the list are skipped, so the call is idempotent and safe to retry. | ||
| Adding to a gate that already has a whitelist keyed on the other attribute is rejected (409) rather than silently re-keying the entries already there — use `PUT` to switch `attr` deliberately. | ||
| **Use case:** Let one more customer into a private beta without reading the current list first. | ||
| tags: | ||
| - Flags | ||
| parameters: | ||
| - $ref: ../components/parameters.yaml#/ProjectId | ||
| - name: id | ||
| in: path | ||
| required: true | ||
| description: Stable opaque gate id (`gate_…`) or the gate's `name`. | ||
| schema: | ||
| $ref: ../components/schemas/common.yaml#/ResourceId | ||
| requestBody: | ||
| required: true | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/gates.yaml#/AddToGateWhitelistRequest | ||
| examples: | ||
| addOne: | ||
| summary: Admit one more email | ||
| value: | ||
| entries: | ||
| - carol@acme.dev | ||
| createOnUserIds: | ||
| summary: Start a whitelist keyed on user ids | ||
| description: "`attr` is honoured only because this gate has no whitelist yet." | ||
| value: | ||
| attr: user_id | ||
| entries: | ||
| - usr_01j7w8a1b2c3d4e5f6g7h8i9j0 | ||
| responses: | ||
| "200": | ||
| description: Add entries to a gate's whitelist | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/gates.yaml#/AddToGateWhitelistResponse | ||
| example: | ||
| id: gate_01j7w8a1b2c3d4e5f6g7h8i9j0 | ||
| name: new_checkout | ||
| attr: email | ||
| entries: | ||
| - alice@acme.dev | ||
| - bob@acme.dev | ||
| - carol@acme.dev | ||
| "400": | ||
| $ref: ../components/responses.yaml#/BadRequest | ||
| "401": | ||
| $ref: ../components/responses.yaml#/Unauthorized | ||
| "403": | ||
| $ref: ../components/responses.yaml#/Forbidden | ||
| "404": | ||
| $ref: ../components/responses.yaml#/NotFound | ||
| "409": | ||
| $ref: ../components/responses.yaml#/Conflict | ||
| "422": | ||
| $ref: ../components/responses.yaml#/UnprocessableEntity | ||
| x-error-codes: | ||
| - BAD_REQUEST | ||
| - UNAUTHORIZED | ||
| - FORBIDDEN | ||
| - NOT_FOUND | ||
| - IMMUTABLE_FIELD | ||
| - VALIDATION | ||
| x-cli: | ||
| name: whitelist-add | ||
| positional: | ||
| - id | ||
| delete: | ||
| operationId: removeFromGateWhitelist | ||
| summary: Remove entries from a gate's whitelist | ||
| description: |- | ||
| Removes identities from the gate's whitelist. Entries that aren't on the list are skipped, so the call is idempotent. | ||
| Removing the last entry leaves an empty whitelist block in place; to drop the block itself use `PUT` with `entries: []`. | ||
| **Use case:** Revoke one beta tester's access without touching anyone else's. | ||
| tags: | ||
| - Flags | ||
| parameters: | ||
| - $ref: ../components/parameters.yaml#/ProjectId | ||
| - name: id | ||
| in: path | ||
| required: true | ||
| description: Stable opaque gate id (`gate_…`) or the gate's `name`. | ||
| schema: | ||
| $ref: ../components/schemas/common.yaml#/ResourceId | ||
| requestBody: | ||
| required: true | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/gates.yaml#/RemoveFromGateWhitelistRequest | ||
| examples: | ||
| removeOne: | ||
| summary: Revoke one email | ||
| value: | ||
| entries: | ||
| - carol@acme.dev | ||
| responses: | ||
| "200": | ||
| description: Remove entries from a gate's whitelist | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/gates.yaml#/RemoveFromGateWhitelistResponse | ||
| example: | ||
| id: gate_01j7w8a1b2c3d4e5f6g7h8i9j0 | ||
| name: new_checkout | ||
| attr: email | ||
| entries: | ||
| - alice@acme.dev | ||
| - bob@acme.dev | ||
| "400": | ||
| $ref: ../components/responses.yaml#/BadRequest | ||
| "401": | ||
| $ref: ../components/responses.yaml#/Unauthorized | ||
| "403": | ||
| $ref: ../components/responses.yaml#/Forbidden | ||
| "404": | ||
| $ref: ../components/responses.yaml#/NotFound | ||
| "409": | ||
| $ref: ../components/responses.yaml#/Conflict | ||
| "422": | ||
| $ref: ../components/responses.yaml#/UnprocessableEntity | ||
| x-error-codes: | ||
| - BAD_REQUEST | ||
| - UNAUTHORIZED | ||
| - FORBIDDEN | ||
| - NOT_FOUND | ||
| - VALIDATION | ||
| x-cli: | ||
| name: whitelist-remove | ||
| positional: | ||
| - id |
@@ -582,1 +582,97 @@ /api/admin/killswitches: | ||
| - id | ||
| /api/admin/killswitches/{id}/toggle: | ||
| post: | ||
| operationId: toggleKillswitch | ||
| summary: Toggle a killswitch or one of its switches | ||
| description: |- | ||
| Flips a killswitch on one environment and publishes a new version there. This is the one-call incident verb: it reads the current value, flips it, and publishes, so you don't have to fetch the killswitch first. | ||
| Every body field is optional, which is what makes the call widen cleanly: | ||
| - **Flip the killswitch** — `{}`. Flips the flat `value` on `prod`. | ||
| - **Flip one sub-switch** — `{ "switchKey": "eu_region" }`. Flips that entry on `prod`, creating it (from `false`) if it isn't in the map yet. | ||
| - **Set it idempotently** — `{ "switchKey": "eu_region", "value": true }`. Publishes exactly that value, so a retried call can't undo the first one. A `null` `value` means "flip", not "set to null". | ||
| - **Choose the environment** — add `"env": "staging"`. Omitted, `env` is `prod`. | ||
| The response reports both `previous` and `value`, so a caller that asked for a flip can see what it actually changed. | ||
| Prefer this over `PUT /{id}/value` and `PUT /{id}/switch` unless you specifically need those endpoints' unconditional set semantics. | ||
| tags: | ||
| - Killswitch | ||
| parameters: | ||
| - $ref: ../components/parameters.yaml#/ProjectId | ||
| - name: id | ||
| in: path | ||
| required: true | ||
| description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`. | ||
| schema: | ||
| $ref: ../components/schemas/common.yaml#/ResourceId | ||
| requestBody: | ||
| required: false | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/killswitches.yaml#/ToggleKillswitchRequest | ||
| examples: | ||
| flipOnProd: | ||
| summary: Flip the killswitch on prod | ||
| description: No body fields — reads the flat `value` on prod and publishes its opposite. | ||
| value: {} | ||
| flipOneSwitch: | ||
| summary: Flip one sub-switch on prod | ||
| description: Flips `switches.eu_region` on prod, leaving the flat `value` and every other key alone. | ||
| value: | ||
| switchKey: eu_region | ||
| setOneSwitch: | ||
| summary: Trip one sub-switch idempotently | ||
| description: Publishes `switches.eu_region = true` on prod whatever it was before — safe to retry. | ||
| value: | ||
| switchKey: eu_region | ||
| value: true | ||
| setOneSwitchOnStaging: | ||
| summary: Trip one sub-switch on a chosen env | ||
| description: The same idempotent set, published on staging instead of prod. | ||
| value: | ||
| switchKey: eu_region | ||
| value: true | ||
| env: staging | ||
| responses: | ||
| "200": | ||
| description: Toggle a killswitch or one of its switches | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/killswitches.yaml#/ToggleKillswitchResponse | ||
| example: | ||
| id: ksw_01j7w9d8h2k4m6n8p0q2r4s6t8 | ||
| env: prod | ||
| switchKey: eu_region | ||
| previous: false | ||
| value: true | ||
| version: 7 | ||
| published: | ||
| value: false | ||
| switches: | ||
| eu_region: true | ||
| "400": | ||
| $ref: ../components/responses.yaml#/BadRequest | ||
| "401": | ||
| $ref: ../components/responses.yaml#/Unauthorized | ||
| "403": | ||
| $ref: ../components/responses.yaml#/Forbidden | ||
| "404": | ||
| $ref: ../components/responses.yaml#/NotFound | ||
| "409": | ||
| $ref: ../components/responses.yaml#/Conflict | ||
| "422": | ||
| $ref: ../components/responses.yaml#/UnprocessableEntity | ||
| x-error-codes: | ||
| - BAD_REQUEST | ||
| - UNAUTHORIZED | ||
| - FORBIDDEN | ||
| - NOT_FOUND | ||
| - VALIDATION | ||
| x-cli: | ||
| name: toggle | ||
| positional: | ||
| - id |
+179
-0
@@ -183,2 +183,181 @@ /api/admin/ops: | ||
| type: feature_request | ||
| /ops/bug: | ||
| post: | ||
| operationId: createPublicBug | ||
| summary: File a bug | ||
| description: |- | ||
| Files one bug onto a project's queue, awaiting human approval. This is the **public** intake: it authenticates with a *client* SDK key rather than an admin key, so it can be called from a CLI, an installer script, a devtools overlay, or any shipped code — the same places a client key already lives. | ||
| Three gates decide whether a ticket is filed, and nothing else the caller sends can widen them: | ||
| 1. the key is a `client` key carrying the `tickets:public_create` scope, | ||
| 2. the key's project has public ticket creation enabled, and | ||
| 3. the item is filed as `pending_approval` — parked out of the work queue until a human promotes it in the dashboard. | ||
| The project is the key's own project; there is no `X-Project-Id` to pass and no way to file into someone else's queue. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. | ||
| This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. | ||
| **Use case:** `shipeasy setup` fails on a customer's machine and self-reports the failure with the user's consent — `{ "title": "Setup failed at Feature installs", "stepsToReproduce": "…", "actualResult": "…" }`. | ||
| tags: | ||
| - Ops | ||
| servers: | ||
| - url: https://api.shipeasy.ai | ||
| description: Shipeasy edge worker (production) | ||
| - url: http://localhost:8787 | ||
| description: Local `wrangler dev` | ||
| security: | ||
| - clientSdkKey: [] | ||
| requestBody: | ||
| required: true | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/ops.yaml#/CreatePublicBugRequest | ||
| examples: | ||
| minimal: | ||
| summary: Just a title | ||
| description: Every other field is optional — the queue triages from `open` at default priority. | ||
| value: | ||
| title: Checkout button misaligned on mobile | ||
| full: | ||
| summary: A full report | ||
| value: | ||
| title: Checkout button misaligned on mobile | ||
| stepsToReproduce: Open the cart on iOS Safari and tap the price row. | ||
| actualResult: The primary CTA overlaps the price. | ||
| expectedResult: The CTA sits below the price with clear spacing. | ||
| priority: high | ||
| reporterEmail: alice@acme.dev | ||
| pageUrl: https://acme.dev/cart | ||
| responses: | ||
| "200": | ||
| description: An open ticket already tracks this report; nothing was filed | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/ops.yaml#/CreatePublicTicketResponse | ||
| example: | ||
| number: 7 | ||
| deduped: true | ||
| "201": | ||
| description: File a bug | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/ops.yaml#/CreatePublicTicketResponse | ||
| example: | ||
| id: fb_01j7w8a1b2c3d4e5f6g7h8i9j0 | ||
| number: 7 | ||
| "400": | ||
| $ref: ../components/responses.yaml#/BadRequest | ||
| "401": | ||
| $ref: ../components/responses.yaml#/Unauthorized | ||
| "403": | ||
| $ref: ../components/responses.yaml#/Forbidden | ||
| "413": | ||
| $ref: ../components/responses.yaml#/PayloadTooLarge | ||
| "429": | ||
| $ref: ../components/responses.yaml#/TooManyRequests | ||
| "503": | ||
| $ref: ../components/responses.yaml#/ServiceUnavailable | ||
| x-error-codes: | ||
| - BAD_REQUEST | ||
| - UNAUTHORIZED | ||
| - FORBIDDEN | ||
| - VALIDATION | ||
| x-cli: | ||
| hidden: true | ||
| # Spec- and SDK-only. The generated CLI/MCP client resolves ONE base URL | ||
| # and ONE credential for the whole contract, so it cannot honour this | ||
| # operation's own `servers` (the edge worker) or its `clientSdkKey` | ||
| # security — it would POST to the admin host with an admin bearer and 404. | ||
| # Both surfaces are authenticated admin tools anyway: `shipeasy ops bug` | ||
| # and the `ops_bug` MCP tool file through `createOpsItem`, which lands an | ||
| # `open` item with the full field set rather than a `pending_approval` one. | ||
| /ops/feature-request: | ||
| post: | ||
| operationId: createPublicFeatureRequest | ||
| summary: File a feature request | ||
| description: |- | ||
| Files one feature request onto a project's queue, awaiting human approval. The feature-request counterpart to `POST /ops/bug`, with the same three gates: a `client` key carrying `tickets:public_create`, a project that has opted in, and a `pending_approval` state forced server-side. | ||
| The project is the key's own project; there is no `X-Project-Id` to pass. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. | ||
| This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. | ||
| **Use case:** An in-product "request a feature" form posts what the user asked for — `{ "title": "Dark mode", "useCase": "Reduce eye strain at night" }`. | ||
| tags: | ||
| - Ops | ||
| servers: | ||
| - url: https://api.shipeasy.ai | ||
| description: Shipeasy edge worker (production) | ||
| - url: http://localhost:8787 | ||
| description: Local `wrangler dev` | ||
| security: | ||
| - clientSdkKey: [] | ||
| requestBody: | ||
| required: true | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/ops.yaml#/CreatePublicFeatureRequestRequest | ||
| examples: | ||
| minimal: | ||
| summary: Just a title | ||
| value: | ||
| title: Dark mode for the dashboard | ||
| full: | ||
| summary: A full request | ||
| value: | ||
| title: Dark mode for the dashboard | ||
| description: Add a theme toggle that persists per user. | ||
| useCase: Reduce eye strain for users working at night. | ||
| priority: nice_to_have | ||
| reporterEmail: alice@acme.dev | ||
| responses: | ||
| "200": | ||
| description: An open ticket already tracks this report; nothing was filed | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/ops.yaml#/CreatePublicTicketResponse | ||
| example: | ||
| number: 7 | ||
| deduped: true | ||
| "201": | ||
| description: File a feature request | ||
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: ../components/schemas/ops.yaml#/CreatePublicTicketResponse | ||
| example: | ||
| id: fb_01j7w8a1b2c3d4e5f6g7h8i9j0 | ||
| number: 8 | ||
| "400": | ||
| $ref: ../components/responses.yaml#/BadRequest | ||
| "401": | ||
| $ref: ../components/responses.yaml#/Unauthorized | ||
| "403": | ||
| $ref: ../components/responses.yaml#/Forbidden | ||
| "413": | ||
| $ref: ../components/responses.yaml#/PayloadTooLarge | ||
| "429": | ||
| $ref: ../components/responses.yaml#/TooManyRequests | ||
| "503": | ||
| $ref: ../components/responses.yaml#/ServiceUnavailable | ||
| x-error-codes: | ||
| - BAD_REQUEST | ||
| - UNAUTHORIZED | ||
| - FORBIDDEN | ||
| - VALIDATION | ||
| x-cli: | ||
| hidden: true | ||
| # Spec- and SDK-only. The generated CLI/MCP client resolves ONE base URL | ||
| # and ONE credential for the whole contract, so it cannot honour this | ||
| # operation's own `servers` (the edge worker) or its `clientSdkKey` | ||
| # security — it would POST to the admin host with an admin bearer and 404. | ||
| # Both surfaces are authenticated admin tools anyway: `shipeasy ops bug` | ||
| # and the `ops_bug` MCP tool file through `createOpsItem`, which lands an | ||
| # `open` item with the full field set rather than a `pending_approval` one. | ||
| /api/admin/ops/{handle}: | ||
@@ -185,0 +364,0 @@ get: |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| // src/generated/core/bodySerializer.gen.ts | ||
| var jsonBodySerializer = { | ||
| bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value) | ||
| }; | ||
| // src/generated/core/params.gen.ts | ||
| var extraPrefixesMap = { | ||
| $body_: "body", | ||
| $headers_: "headers", | ||
| $path_: "path", | ||
| $query_: "query" | ||
| }; | ||
| var extraPrefixes = Object.entries(extraPrefixesMap); | ||
| // src/generated/core/serverSentEvents.gen.ts | ||
| function createSseClient({ | ||
| onRequest, | ||
| onSseError, | ||
| onSseEvent, | ||
| responseTransformer, | ||
| responseValidator, | ||
| sseDefaultRetryDelay, | ||
| sseMaxRetryAttempts, | ||
| sseMaxRetryDelay, | ||
| sseSleepFn, | ||
| url, | ||
| ...options | ||
| }) { | ||
| let lastEventId; | ||
| const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms))); | ||
| const createStream = async function* () { | ||
| let retryDelay = sseDefaultRetryDelay ?? 3e3; | ||
| let attempt = 0; | ||
| const signal = options.signal ?? new AbortController().signal; | ||
| while (true) { | ||
| if (signal.aborted) break; | ||
| attempt++; | ||
| const headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers); | ||
| if (lastEventId !== void 0) { | ||
| headers.set("Last-Event-ID", lastEventId); | ||
| } | ||
| try { | ||
| const requestInit = { | ||
| redirect: "follow", | ||
| ...options, | ||
| body: options.serializedBody, | ||
| headers, | ||
| signal | ||
| }; | ||
| let request = new Request(url, requestInit); | ||
| if (onRequest) { | ||
| request = await onRequest(url, requestInit); | ||
| } | ||
| const _fetch = options.fetch ?? globalThis.fetch; | ||
| const response = await _fetch(request); | ||
| if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`); | ||
| if (!response.body) throw new Error("No body in SSE response"); | ||
| const reader = response.body.pipeThrough(new TextDecoderStream()).getReader(); | ||
| let buffer = ""; | ||
| const abortHandler = () => { | ||
| try { | ||
| reader.cancel(); | ||
| } catch { | ||
| } | ||
| }; | ||
| signal.addEventListener("abort", abortHandler); | ||
| try { | ||
| while (true) { | ||
| const { done, value } = await reader.read(); | ||
| if (done) break; | ||
| buffer += value; | ||
| buffer = buffer.replace(/\r\n?/g, "\n"); | ||
| const chunks = buffer.split("\n\n"); | ||
| buffer = chunks.pop() ?? ""; | ||
| for (const chunk of chunks) { | ||
| const lines = chunk.split("\n"); | ||
| const dataLines = []; | ||
| let eventName; | ||
| for (const line of lines) { | ||
| if (line.startsWith("data:")) { | ||
| dataLines.push(line.replace(/^data:\s*/, "")); | ||
| } else if (line.startsWith("event:")) { | ||
| eventName = line.replace(/^event:\s*/, ""); | ||
| } else if (line.startsWith("id:")) { | ||
| lastEventId = line.replace(/^id:\s*/, ""); | ||
| } else if (line.startsWith("retry:")) { | ||
| const parsed = Number.parseInt(line.replace(/^retry:\s*/, ""), 10); | ||
| if (!Number.isNaN(parsed)) { | ||
| retryDelay = parsed; | ||
| } | ||
| } | ||
| } | ||
| let data; | ||
| let parsedJson = false; | ||
| if (dataLines.length) { | ||
| const rawData = dataLines.join("\n"); | ||
| try { | ||
| data = JSON.parse(rawData); | ||
| parsedJson = true; | ||
| } catch { | ||
| data = rawData; | ||
| } | ||
| } | ||
| if (parsedJson) { | ||
| if (responseValidator) { | ||
| await responseValidator(data); | ||
| } | ||
| if (responseTransformer) { | ||
| data = await responseTransformer(data); | ||
| } | ||
| } | ||
| onSseEvent?.({ | ||
| data, | ||
| event: eventName, | ||
| id: lastEventId, | ||
| retry: retryDelay | ||
| }); | ||
| if (dataLines.length) { | ||
| yield data; | ||
| } | ||
| } | ||
| } | ||
| } finally { | ||
| signal.removeEventListener("abort", abortHandler); | ||
| reader.releaseLock(); | ||
| } | ||
| break; | ||
| } catch (error) { | ||
| onSseError?.(error); | ||
| if (sseMaxRetryAttempts !== void 0 && attempt >= sseMaxRetryAttempts) { | ||
| break; | ||
| } | ||
| const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 3e4); | ||
| await sleep(backoff); | ||
| } | ||
| } | ||
| }; | ||
| const stream = createStream(); | ||
| return { stream }; | ||
| } | ||
| // src/generated/core/pathSerializer.gen.ts | ||
| var separatorArrayExplode = (style) => { | ||
| switch (style) { | ||
| case "label": | ||
| return "."; | ||
| case "matrix": | ||
| return ";"; | ||
| case "simple": | ||
| return ","; | ||
| default: | ||
| return "&"; | ||
| } | ||
| }; | ||
| var separatorArrayNoExplode = (style) => { | ||
| switch (style) { | ||
| case "form": | ||
| return ","; | ||
| case "pipeDelimited": | ||
| return "|"; | ||
| case "spaceDelimited": | ||
| return "%20"; | ||
| default: | ||
| return ","; | ||
| } | ||
| }; | ||
| var separatorObjectExplode = (style) => { | ||
| switch (style) { | ||
| case "label": | ||
| return "."; | ||
| case "matrix": | ||
| return ";"; | ||
| case "simple": | ||
| return ","; | ||
| default: | ||
| return "&"; | ||
| } | ||
| }; | ||
| var serializeArrayParam = ({ | ||
| allowReserved, | ||
| explode, | ||
| name, | ||
| style, | ||
| value | ||
| }) => { | ||
| if (!explode) { | ||
| const joinedValues2 = (allowReserved ? value : value.map((v) => encodeURIComponent(v))).join(separatorArrayNoExplode(style)); | ||
| switch (style) { | ||
| case "label": | ||
| return `.${joinedValues2}`; | ||
| case "matrix": | ||
| return `;${name}=${joinedValues2}`; | ||
| case "simple": | ||
| return joinedValues2; | ||
| default: | ||
| return `${name}=${joinedValues2}`; | ||
| } | ||
| } | ||
| const separator = separatorArrayExplode(style); | ||
| const joinedValues = value.map((v) => { | ||
| if (style === "label" || style === "simple") { | ||
| return allowReserved ? v : encodeURIComponent(v); | ||
| } | ||
| return serializePrimitiveParam({ | ||
| allowReserved, | ||
| name, | ||
| value: v | ||
| }); | ||
| }).join(separator); | ||
| return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues; | ||
| }; | ||
| var serializePrimitiveParam = ({ | ||
| allowReserved, | ||
| name, | ||
| value | ||
| }) => { | ||
| if (value === void 0 || value === null) { | ||
| return ""; | ||
| } | ||
| if (typeof value === "object") { | ||
| throw new Error( | ||
| "Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these." | ||
| ); | ||
| } | ||
| return `${name}=${allowReserved ? value : encodeURIComponent(value)}`; | ||
| }; | ||
| var serializeObjectParam = ({ | ||
| allowReserved, | ||
| explode, | ||
| name, | ||
| style, | ||
| value, | ||
| valueOnly | ||
| }) => { | ||
| if (value instanceof Date) { | ||
| return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`; | ||
| } | ||
| if (style !== "deepObject" && !explode) { | ||
| let values = []; | ||
| Object.entries(value).forEach(([key, v]) => { | ||
| values = [...values, key, allowReserved ? v : encodeURIComponent(v)]; | ||
| }); | ||
| const joinedValues2 = values.join(","); | ||
| switch (style) { | ||
| case "form": | ||
| return `${name}=${joinedValues2}`; | ||
| case "label": | ||
| return `.${joinedValues2}`; | ||
| case "matrix": | ||
| return `;${name}=${joinedValues2}`; | ||
| default: | ||
| return joinedValues2; | ||
| } | ||
| } | ||
| const separator = separatorObjectExplode(style); | ||
| const joinedValues = Object.entries(value).map( | ||
| ([key, v]) => serializePrimitiveParam({ | ||
| allowReserved, | ||
| name: style === "deepObject" ? `${name}[${key}]` : key, | ||
| value: v | ||
| }) | ||
| ).join(separator); | ||
| return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues; | ||
| }; | ||
| // src/generated/core/utils.gen.ts | ||
| var PATH_PARAM_RE = /\{[^{}]+\}/g; | ||
| var defaultPathSerializer = ({ path, url: _url }) => { | ||
| let url = _url; | ||
| const matches = _url.match(PATH_PARAM_RE); | ||
| if (matches) { | ||
| for (const match of matches) { | ||
| let explode = false; | ||
| let name = match.substring(1, match.length - 1); | ||
| let style = "simple"; | ||
| if (name.endsWith("*")) { | ||
| explode = true; | ||
| name = name.substring(0, name.length - 1); | ||
| } | ||
| if (name.startsWith(".")) { | ||
| name = name.substring(1); | ||
| style = "label"; | ||
| } else if (name.startsWith(";")) { | ||
| name = name.substring(1); | ||
| style = "matrix"; | ||
| } | ||
| const value = path[name]; | ||
| if (value === void 0 || value === null) { | ||
| continue; | ||
| } | ||
| if (Array.isArray(value)) { | ||
| url = url.replace(match, serializeArrayParam({ explode, name, style, value })); | ||
| continue; | ||
| } | ||
| if (typeof value === "object") { | ||
| url = url.replace( | ||
| match, | ||
| serializeObjectParam({ | ||
| explode, | ||
| name, | ||
| style, | ||
| value, | ||
| valueOnly: true | ||
| }) | ||
| ); | ||
| continue; | ||
| } | ||
| if (style === "matrix") { | ||
| url = url.replace( | ||
| match, | ||
| `;${serializePrimitiveParam({ | ||
| name, | ||
| value | ||
| })}` | ||
| ); | ||
| continue; | ||
| } | ||
| const replaceValue = encodeURIComponent( | ||
| style === "label" ? `.${value}` : value | ||
| ); | ||
| url = url.replace(match, replaceValue); | ||
| } | ||
| } | ||
| return url; | ||
| }; | ||
| var getUrl = ({ | ||
| baseUrl, | ||
| path, | ||
| query, | ||
| querySerializer, | ||
| url: _url | ||
| }) => { | ||
| const pathUrl = _url.startsWith("/") ? _url : `/${_url}`; | ||
| let url = (baseUrl ?? "") + pathUrl; | ||
| if (path) { | ||
| url = defaultPathSerializer({ path, url }); | ||
| } | ||
| let search = query ? querySerializer(query) : ""; | ||
| if (search.startsWith("?")) { | ||
| search = search.substring(1); | ||
| } | ||
| if (search) { | ||
| url += `?${search}`; | ||
| } | ||
| return url; | ||
| }; | ||
| function getValidRequestBody(options) { | ||
| const hasBody = options.body !== void 0; | ||
| const isSerializedBody = hasBody && options.bodySerializer; | ||
| if (isSerializedBody) { | ||
| if ("serializedBody" in options) { | ||
| const hasSerializedBody = options.serializedBody !== void 0 && options.serializedBody !== ""; | ||
| return hasSerializedBody ? options.serializedBody : null; | ||
| } | ||
| return options.body !== "" ? options.body : null; | ||
| } | ||
| if (hasBody) { | ||
| return options.body; | ||
| } | ||
| return void 0; | ||
| } | ||
| // src/generated/core/auth.gen.ts | ||
| var getAuthToken = async (auth, callback) => { | ||
| const token = typeof callback === "function" ? await callback(auth) : callback; | ||
| if (!token) { | ||
| return; | ||
| } | ||
| if (auth.scheme === "bearer") { | ||
| return `Bearer ${token}`; | ||
| } | ||
| if (auth.scheme === "basic") { | ||
| return `Basic ${btoa(token)}`; | ||
| } | ||
| return token; | ||
| }; | ||
| // src/generated/client/utils.gen.ts | ||
| var createQuerySerializer = ({ | ||
| parameters = {}, | ||
| ...args | ||
| } = {}) => { | ||
| const querySerializer = (queryParams) => { | ||
| const search = []; | ||
| if (queryParams && typeof queryParams === "object") { | ||
| for (const name in queryParams) { | ||
| const value = queryParams[name]; | ||
| if (value === void 0 || value === null) { | ||
| continue; | ||
| } | ||
| const options = parameters[name] || args; | ||
| if (Array.isArray(value)) { | ||
| const serializedArray = serializeArrayParam({ | ||
| allowReserved: options.allowReserved, | ||
| explode: true, | ||
| name, | ||
| style: "form", | ||
| value, | ||
| ...options.array | ||
| }); | ||
| if (serializedArray) search.push(serializedArray); | ||
| } else if (typeof value === "object") { | ||
| const serializedObject = serializeObjectParam({ | ||
| allowReserved: options.allowReserved, | ||
| explode: true, | ||
| name, | ||
| style: "deepObject", | ||
| value, | ||
| ...options.object | ||
| }); | ||
| if (serializedObject) search.push(serializedObject); | ||
| } else { | ||
| const serializedPrimitive = serializePrimitiveParam({ | ||
| allowReserved: options.allowReserved, | ||
| name, | ||
| value | ||
| }); | ||
| if (serializedPrimitive) search.push(serializedPrimitive); | ||
| } | ||
| } | ||
| } | ||
| return search.join("&"); | ||
| }; | ||
| return querySerializer; | ||
| }; | ||
| var getParseAs = (contentType) => { | ||
| if (!contentType) { | ||
| return "stream"; | ||
| } | ||
| const cleanContent = contentType.split(";")[0]?.trim(); | ||
| if (!cleanContent) { | ||
| return; | ||
| } | ||
| if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) { | ||
| return "json"; | ||
| } | ||
| if (cleanContent === "multipart/form-data") { | ||
| return "formData"; | ||
| } | ||
| if (["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))) { | ||
| return "blob"; | ||
| } | ||
| if (cleanContent.startsWith("text/")) { | ||
| return "text"; | ||
| } | ||
| return; | ||
| }; | ||
| var checkForExistence = (options, name) => { | ||
| if (!name) { | ||
| return false; | ||
| } | ||
| if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) { | ||
| return true; | ||
| } | ||
| return false; | ||
| }; | ||
| async function setAuthParams(options) { | ||
| for (const auth of options.security ?? []) { | ||
| if (checkForExistence(options, auth.name)) { | ||
| continue; | ||
| } | ||
| const token = await getAuthToken(auth, options.auth); | ||
| if (!token) { | ||
| continue; | ||
| } | ||
| const name = auth.name ?? "Authorization"; | ||
| switch (auth.in) { | ||
| case "query": | ||
| if (!options.query) { | ||
| options.query = {}; | ||
| } | ||
| options.query[name] = token; | ||
| break; | ||
| case "cookie": | ||
| options.headers.append("Cookie", `${name}=${token}`); | ||
| break; | ||
| case "header": | ||
| default: | ||
| options.headers.set(name, token); | ||
| break; | ||
| } | ||
| } | ||
| } | ||
| var buildUrl = (options) => getUrl({ | ||
| baseUrl: options.baseUrl, | ||
| path: options.path, | ||
| query: options.query, | ||
| querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer(options.querySerializer), | ||
| url: options.url | ||
| }); | ||
| var mergeConfigs = (a, b) => { | ||
| const config = { ...a, ...b }; | ||
| if (config.baseUrl?.endsWith("/")) { | ||
| config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1); | ||
| } | ||
| config.headers = mergeHeaders(a.headers, b.headers); | ||
| return config; | ||
| }; | ||
| var headersEntries = (headers) => { | ||
| const entries = []; | ||
| headers.forEach((value, key) => { | ||
| entries.push([key, value]); | ||
| }); | ||
| return entries; | ||
| }; | ||
| var mergeHeaders = (...headers) => { | ||
| const mergedHeaders = new Headers(); | ||
| for (const header of headers) { | ||
| if (!header) { | ||
| continue; | ||
| } | ||
| const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header); | ||
| for (const [key, value] of iterator) { | ||
| if (value === null) { | ||
| mergedHeaders.delete(key); | ||
| } else if (Array.isArray(value)) { | ||
| for (const v of value) { | ||
| mergedHeaders.append(key, v); | ||
| } | ||
| } else if (value !== void 0) { | ||
| mergedHeaders.set( | ||
| key, | ||
| typeof value === "object" ? JSON.stringify(value) : value | ||
| ); | ||
| } | ||
| } | ||
| } | ||
| return mergedHeaders; | ||
| }; | ||
| var Interceptors = class { | ||
| fns = []; | ||
| clear() { | ||
| this.fns = []; | ||
| } | ||
| eject(id) { | ||
| const index = this.getInterceptorIndex(id); | ||
| if (this.fns[index]) { | ||
| this.fns[index] = null; | ||
| } | ||
| } | ||
| exists(id) { | ||
| const index = this.getInterceptorIndex(id); | ||
| return Boolean(this.fns[index]); | ||
| } | ||
| getInterceptorIndex(id) { | ||
| if (typeof id === "number") { | ||
| return this.fns[id] ? id : -1; | ||
| } | ||
| return this.fns.indexOf(id); | ||
| } | ||
| update(id, fn) { | ||
| const index = this.getInterceptorIndex(id); | ||
| if (this.fns[index]) { | ||
| this.fns[index] = fn; | ||
| return id; | ||
| } | ||
| return false; | ||
| } | ||
| use(fn) { | ||
| this.fns.push(fn); | ||
| return this.fns.length - 1; | ||
| } | ||
| }; | ||
| var createInterceptors = () => ({ | ||
| error: new Interceptors(), | ||
| request: new Interceptors(), | ||
| response: new Interceptors() | ||
| }); | ||
| var defaultQuerySerializer = createQuerySerializer({ | ||
| allowReserved: false, | ||
| array: { | ||
| explode: true, | ||
| style: "form" | ||
| }, | ||
| object: { | ||
| explode: true, | ||
| style: "deepObject" | ||
| } | ||
| }); | ||
| var defaultHeaders = { | ||
| "Content-Type": "application/json" | ||
| }; | ||
| var createConfig = (override = {}) => ({ | ||
| ...jsonBodySerializer, | ||
| headers: defaultHeaders, | ||
| parseAs: "auto", | ||
| querySerializer: defaultQuerySerializer, | ||
| ...override | ||
| }); | ||
| // src/generated/client/client.gen.ts | ||
| var createClient = (config = {}) => { | ||
| let _config = mergeConfigs(createConfig(), config); | ||
| const getConfig2 = () => ({ ..._config }); | ||
| const setConfig = (config2) => { | ||
| _config = mergeConfigs(_config, config2); | ||
| return getConfig2(); | ||
| }; | ||
| const interceptors = createInterceptors(); | ||
| const beforeRequest = async (options) => { | ||
| const opts = { | ||
| ..._config, | ||
| ...options, | ||
| fetch: options.fetch ?? _config.fetch ?? globalThis.fetch, | ||
| headers: mergeHeaders(_config.headers, options.headers), | ||
| serializedBody: void 0 | ||
| }; | ||
| if (opts.security) { | ||
| await setAuthParams(opts); | ||
| } | ||
| if (opts.requestValidator) { | ||
| await opts.requestValidator(opts); | ||
| } | ||
| if (opts.body !== void 0 && opts.bodySerializer) { | ||
| opts.serializedBody = opts.bodySerializer(opts.body); | ||
| } | ||
| if (opts.body === void 0 || opts.serializedBody === "") { | ||
| opts.headers.delete("Content-Type"); | ||
| } | ||
| const resolvedOpts = opts; | ||
| const url = buildUrl(resolvedOpts); | ||
| return { opts: resolvedOpts, url }; | ||
| }; | ||
| const request = async (options) => { | ||
| const throwOnError = options.throwOnError ?? _config.throwOnError; | ||
| const responseStyle = options.responseStyle ?? _config.responseStyle; | ||
| let request2; | ||
| let response; | ||
| try { | ||
| const { opts, url } = await beforeRequest(options); | ||
| const requestInit = { | ||
| redirect: "follow", | ||
| ...opts, | ||
| body: getValidRequestBody(opts) | ||
| }; | ||
| request2 = new Request(url, requestInit); | ||
| for (const fn of interceptors.request.fns) { | ||
| if (fn) { | ||
| request2 = await fn(request2, opts); | ||
| } | ||
| } | ||
| const _fetch = opts.fetch; | ||
| response = await _fetch(request2); | ||
| for (const fn of interceptors.response.fns) { | ||
| if (fn) { | ||
| response = await fn(response, request2, opts); | ||
| } | ||
| } | ||
| const result = { | ||
| request: request2, | ||
| response | ||
| }; | ||
| if (response.ok) { | ||
| const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json"; | ||
| if (response.status === 204 || response.headers.get("Content-Length") === "0") { | ||
| let emptyData; | ||
| switch (parseAs) { | ||
| case "arrayBuffer": | ||
| case "blob": | ||
| case "text": | ||
| emptyData = await response[parseAs](); | ||
| break; | ||
| case "formData": | ||
| emptyData = new FormData(); | ||
| break; | ||
| case "stream": | ||
| emptyData = response.body; | ||
| break; | ||
| case "json": | ||
| default: | ||
| emptyData = {}; | ||
| break; | ||
| } | ||
| return opts.responseStyle === "data" ? emptyData : { | ||
| data: emptyData, | ||
| ...result | ||
| }; | ||
| } | ||
| let data; | ||
| switch (parseAs) { | ||
| case "arrayBuffer": | ||
| case "blob": | ||
| case "formData": | ||
| case "text": | ||
| data = await response[parseAs](); | ||
| break; | ||
| case "json": { | ||
| const text = await response.text(); | ||
| data = text ? JSON.parse(text) : {}; | ||
| break; | ||
| } | ||
| case "stream": | ||
| return opts.responseStyle === "data" ? response.body : { | ||
| data: response.body, | ||
| ...result | ||
| }; | ||
| } | ||
| if (parseAs === "json") { | ||
| if (opts.responseValidator) { | ||
| await opts.responseValidator(data); | ||
| } | ||
| if (opts.responseTransformer) { | ||
| data = await opts.responseTransformer(data); | ||
| } | ||
| } | ||
| return opts.responseStyle === "data" ? data : { | ||
| data, | ||
| ...result | ||
| }; | ||
| } | ||
| const textError = await response.text(); | ||
| let jsonError; | ||
| try { | ||
| jsonError = JSON.parse(textError); | ||
| } catch { | ||
| } | ||
| throw jsonError ?? textError; | ||
| } catch (error) { | ||
| let finalError = error; | ||
| for (const fn of interceptors.error.fns) { | ||
| if (fn) { | ||
| finalError = await fn(finalError, response, request2, options); | ||
| } | ||
| } | ||
| finalError = finalError || {}; | ||
| if (throwOnError) { | ||
| throw finalError; | ||
| } | ||
| return responseStyle === "data" ? void 0 : { | ||
| error: finalError, | ||
| request: request2, | ||
| response | ||
| }; | ||
| } | ||
| }; | ||
| const makeMethodFn = (method) => (options) => request({ ...options, method }); | ||
| const makeSseFn = (method) => async (options) => { | ||
| const { opts, url } = await beforeRequest(options); | ||
| return createSseClient({ | ||
| ...opts, | ||
| body: opts.body, | ||
| method, | ||
| onRequest: async (url2, init) => { | ||
| let request2 = new Request(url2, init); | ||
| for (const fn of interceptors.request.fns) { | ||
| if (fn) { | ||
| request2 = await fn(request2, opts); | ||
| } | ||
| } | ||
| return request2; | ||
| }, | ||
| serializedBody: getValidRequestBody(opts), | ||
| url | ||
| }); | ||
| }; | ||
| const _buildUrl = (options) => buildUrl({ ..._config, ...options }); | ||
| return { | ||
| buildUrl: _buildUrl, | ||
| connect: makeMethodFn("CONNECT"), | ||
| delete: makeMethodFn("DELETE"), | ||
| get: makeMethodFn("GET"), | ||
| getConfig: getConfig2, | ||
| head: makeMethodFn("HEAD"), | ||
| interceptors, | ||
| options: makeMethodFn("OPTIONS"), | ||
| patch: makeMethodFn("PATCH"), | ||
| post: makeMethodFn("POST"), | ||
| put: makeMethodFn("PUT"), | ||
| request, | ||
| setConfig, | ||
| sse: { | ||
| connect: makeSseFn("CONNECT"), | ||
| delete: makeSseFn("DELETE"), | ||
| get: makeSseFn("GET"), | ||
| head: makeSseFn("HEAD"), | ||
| options: makeSseFn("OPTIONS"), | ||
| patch: makeSseFn("PATCH"), | ||
| post: makeSseFn("POST"), | ||
| put: makeSseFn("PUT"), | ||
| trace: makeSseFn("TRACE") | ||
| }, | ||
| trace: makeMethodFn("TRACE") | ||
| }; | ||
| }; | ||
| // src/generated/client.gen.ts | ||
| var client = createClient(createConfig({ baseUrl: "https://shipeasy.ai" })); | ||
| // src/generated/sdk.gen.ts | ||
| var listGates = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates", | ||
| ...options | ||
| }); | ||
| var createGate = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteGate = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}", | ||
| ...options | ||
| }); | ||
| var getGate = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}", | ||
| ...options | ||
| }); | ||
| var updateGate = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var enableGate = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}/enable", | ||
| ...options | ||
| }); | ||
| var disableGate = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}/disable", | ||
| ...options | ||
| }); | ||
| var listGateActivity = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/{id}/activity", | ||
| ...options | ||
| }); | ||
| var listExperiments = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments", | ||
| ...options | ||
| }); | ||
| var createExperiment = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteExperiment = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}", | ||
| ...options | ||
| }); | ||
| var getExperiment = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}", | ||
| ...options | ||
| }); | ||
| var updateExperiment = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setExperimentStatus = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/status", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setExperimentMetrics = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/metrics", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var getExperimentResults = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/results", | ||
| ...options | ||
| }); | ||
| var getExperimentTimeseries = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/timeseries", | ||
| ...options | ||
| }); | ||
| var reanalyzeExperiment = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/reanalyze", | ||
| ...options | ||
| }); | ||
| var createExperimentReadout = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/readouts", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var getExperimentReadout = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/experiments/{id}/readouts/{readoutId}", | ||
| ...options | ||
| }); | ||
| var listConfigs = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs", | ||
| ...options | ||
| }); | ||
| var createConfig2 = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteConfig = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}", | ||
| ...options | ||
| }); | ||
| var getConfig = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}", | ||
| ...options | ||
| }); | ||
| var updateConfig = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var discardConfigDraft = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/drafts", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var saveConfigDraft = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/drafts", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var publishConfigDraft = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/publish", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listConfigActivity = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/activity", | ||
| ...options | ||
| }); | ||
| var updateConfigSchema = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/schema", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listConfigVersions = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/configs/{id}/versions", | ||
| ...options | ||
| }); | ||
| var listKillswitches = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches", | ||
| ...options | ||
| }); | ||
| var createKillswitch = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteKillswitch = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}", | ||
| ...options | ||
| }); | ||
| var getKillswitch = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}", | ||
| ...options | ||
| }); | ||
| var updateKillswitch = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var unsetKillswitchSwitch = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}/switch", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setKillswitchSwitch = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}/switch", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setKillswitchValue = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/killswitches/{id}/value", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listUniverses = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/universes", | ||
| ...options | ||
| }); | ||
| var createUniverse = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/universes", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteUniverse = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/universes/{id}", | ||
| ...options | ||
| }); | ||
| var updateUniverse = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/universes/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listGateTemplates = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/templates", | ||
| ...options | ||
| }); | ||
| var createGateTemplate = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/templates", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteGateTemplate = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/templates/{id}", | ||
| ...options | ||
| }); | ||
| var getGateTemplate = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/templates/{id}", | ||
| ...options | ||
| }); | ||
| var updateGateTemplate = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/gates/templates/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listAttributes = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/attributes", | ||
| ...options | ||
| }); | ||
| var createAttribute = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/attributes", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteAttribute = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/attributes/{id}", | ||
| ...options | ||
| }); | ||
| var getAttribute = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/attributes/{id}", | ||
| ...options | ||
| }); | ||
| var updateAttribute = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/attributes/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listMetrics = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics", | ||
| ...options | ||
| }); | ||
| var createMetric = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteMetric = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}", | ||
| ...options | ||
| }); | ||
| var getMetric = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}", | ||
| ...options | ||
| }); | ||
| var updateMetric = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listMetricExperiments = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}/experiments", | ||
| ...options | ||
| }); | ||
| var unarchiveMetric = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}/unarchive", | ||
| ...options | ||
| }); | ||
| var getMetricSeries = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/metrics/{id}/series", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listEvents = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events", | ||
| ...options | ||
| }); | ||
| var createEvent = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteEvent = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events/{id}", | ||
| ...options | ||
| }); | ||
| var getEvent = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events/{id}", | ||
| ...options | ||
| }); | ||
| var updateEvent = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var approveEvent = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/events/{id}/approve", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listOpsItems = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops", | ||
| ...options | ||
| }); | ||
| var createOpsItem = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteOpsItem = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}", | ||
| ...options | ||
| }); | ||
| var getOpsItem = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}", | ||
| ...options | ||
| }); | ||
| var updateOpsItem = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var linkPrToOpsItem = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/link-pr", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var ackOpsItem = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/ack", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listOpsInvestigations = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/investigation", | ||
| ...options | ||
| }); | ||
| var createOpsInvestigation = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/investigation", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var updateOpsInvestigation = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/investigation/{investigationId}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listOpsAgents = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/agent-profiles", | ||
| ...options | ||
| }); | ||
| var listOpsComments = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/comments", | ||
| ...options | ||
| }); | ||
| var createOpsComment = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/ops/{handle}/comments", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var notifyOps = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/notifications", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listSlackChannels = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/slack/channels", | ||
| ...options | ||
| }); | ||
| var listAlertRules = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alert-rules", | ||
| ...options | ||
| }); | ||
| var createAlertRule = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alert-rules", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteAlertRule = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alert-rules/{id}", | ||
| ...options | ||
| }); | ||
| var updateAlertRule = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alert-rules/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listAlerts = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alerts", | ||
| ...options | ||
| }); | ||
| var updateAlert = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/alerts/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var getCurrentProject = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/projects/current", | ||
| ...options | ||
| }); | ||
| var upsertProject = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/projects/upsert", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var getProject = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/projects/{id}", | ||
| ...options | ||
| }); | ||
| var updateProject = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/projects/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listI18nProfiles = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/profiles", | ||
| ...options | ||
| }); | ||
| var createI18nProfile = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/profiles", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listI18nKeys = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/keys", | ||
| ...options | ||
| }); | ||
| var pushI18nKeys = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/keys", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var upsertI18nKeys = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/keys", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteI18nKey = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/keys/{id}", | ||
| ...options | ||
| }); | ||
| var updateI18nKey = (options) => (options.client ?? client).put({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/keys/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listI18nDrafts = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts", | ||
| ...options | ||
| }); | ||
| var createI18nDraft = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteI18nDraft = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts/{draftId}", | ||
| ...options | ||
| }); | ||
| var updateI18nDraft = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts/{draftId}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteI18nProfile = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/profiles/{profileId}", | ||
| ...options | ||
| }); | ||
| var listI18nDraftKeys = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts/{draftId}/keys", | ||
| ...options | ||
| }); | ||
| var upsertI18nDraftKey = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/drafts/{draftId}/keys", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var publishI18nProfile = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/profiles/{profileId}/publish", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var setI18nLabel = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/i18n/set", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listErrors = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors", | ||
| ...options | ||
| }); | ||
| var getError = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors/{id}", | ||
| ...options | ||
| }); | ||
| var updateErrorStatus = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var fileErrorTicket = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors/{id}/file", | ||
| ...options | ||
| }); | ||
| var resolveError = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors/{id}/resolve", | ||
| ...options | ||
| }); | ||
| var getErrorSeries = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/errors/{id}/series", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listConnectors = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors", | ||
| ...options | ||
| }); | ||
| var createConnector = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var deleteConnector = (options) => (options.client ?? client).delete({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}", | ||
| ...options | ||
| }); | ||
| var getConnector = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}", | ||
| ...options | ||
| }); | ||
| var updateConnector = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var fireConnector = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}/fire", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var testConnector = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}/test", | ||
| ...options | ||
| }); | ||
| var updateTriggerConnector = (options) => (options.client ?? client).patch({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/{id}/trigger", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var createTriggerConnector = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/connectors/trigger", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var listKeys = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/keys", | ||
| ...options | ||
| }); | ||
| var createKey = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/keys", | ||
| ...options, | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| ...options.headers | ||
| } | ||
| }); | ||
| var revokeKey = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/keys/{id}/revoke", | ||
| ...options | ||
| }); | ||
| var searchResources = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: "bearer", type: "http" }], | ||
| url: "/api/admin/search", | ||
| ...options | ||
| }); | ||
| // src/client.ts | ||
| function configure({ apiKey, projectId, baseUrl }) { | ||
| client.setConfig({ | ||
| ...baseUrl ? { baseUrl } : {}, | ||
| auth: () => apiKey, | ||
| headers: projectId ? { "X-Project-Id": projectId } : {} | ||
| }); | ||
| } | ||
| export { | ||
| createConfig, | ||
| createClient, | ||
| client, | ||
| listGates, | ||
| createGate, | ||
| deleteGate, | ||
| getGate, | ||
| updateGate, | ||
| enableGate, | ||
| disableGate, | ||
| listGateActivity, | ||
| listExperiments, | ||
| createExperiment, | ||
| deleteExperiment, | ||
| getExperiment, | ||
| updateExperiment, | ||
| setExperimentStatus, | ||
| setExperimentMetrics, | ||
| getExperimentResults, | ||
| getExperimentTimeseries, | ||
| reanalyzeExperiment, | ||
| createExperimentReadout, | ||
| getExperimentReadout, | ||
| listConfigs, | ||
| createConfig2, | ||
| deleteConfig, | ||
| getConfig, | ||
| updateConfig, | ||
| discardConfigDraft, | ||
| saveConfigDraft, | ||
| publishConfigDraft, | ||
| listConfigActivity, | ||
| updateConfigSchema, | ||
| listConfigVersions, | ||
| listKillswitches, | ||
| createKillswitch, | ||
| deleteKillswitch, | ||
| getKillswitch, | ||
| updateKillswitch, | ||
| unsetKillswitchSwitch, | ||
| setKillswitchSwitch, | ||
| setKillswitchValue, | ||
| listUniverses, | ||
| createUniverse, | ||
| deleteUniverse, | ||
| updateUniverse, | ||
| listGateTemplates, | ||
| createGateTemplate, | ||
| deleteGateTemplate, | ||
| getGateTemplate, | ||
| updateGateTemplate, | ||
| listAttributes, | ||
| createAttribute, | ||
| deleteAttribute, | ||
| getAttribute, | ||
| updateAttribute, | ||
| listMetrics, | ||
| createMetric, | ||
| deleteMetric, | ||
| getMetric, | ||
| updateMetric, | ||
| listMetricExperiments, | ||
| unarchiveMetric, | ||
| getMetricSeries, | ||
| listEvents, | ||
| createEvent, | ||
| deleteEvent, | ||
| getEvent, | ||
| updateEvent, | ||
| approveEvent, | ||
| listOpsItems, | ||
| createOpsItem, | ||
| deleteOpsItem, | ||
| getOpsItem, | ||
| updateOpsItem, | ||
| linkPrToOpsItem, | ||
| ackOpsItem, | ||
| listOpsInvestigations, | ||
| createOpsInvestigation, | ||
| updateOpsInvestigation, | ||
| listOpsAgents, | ||
| listOpsComments, | ||
| createOpsComment, | ||
| notifyOps, | ||
| listSlackChannels, | ||
| listAlertRules, | ||
| createAlertRule, | ||
| deleteAlertRule, | ||
| updateAlertRule, | ||
| listAlerts, | ||
| updateAlert, | ||
| getCurrentProject, | ||
| upsertProject, | ||
| getProject, | ||
| updateProject, | ||
| listI18nProfiles, | ||
| createI18nProfile, | ||
| listI18nKeys, | ||
| pushI18nKeys, | ||
| upsertI18nKeys, | ||
| deleteI18nKey, | ||
| updateI18nKey, | ||
| listI18nDrafts, | ||
| createI18nDraft, | ||
| deleteI18nDraft, | ||
| updateI18nDraft, | ||
| deleteI18nProfile, | ||
| listI18nDraftKeys, | ||
| upsertI18nDraftKey, | ||
| publishI18nProfile, | ||
| setI18nLabel, | ||
| listErrors, | ||
| getError, | ||
| updateErrorStatus, | ||
| fileErrorTicket, | ||
| resolveError, | ||
| getErrorSeries, | ||
| listConnectors, | ||
| createConnector, | ||
| deleteConnector, | ||
| getConnector, | ||
| updateConnector, | ||
| fireConnector, | ||
| testConnector, | ||
| updateTriggerConnector, | ||
| createTriggerConnector, | ||
| listKeys, | ||
| createKey, | ||
| revokeKey, | ||
| searchResources, | ||
| configure | ||
| }; | ||
| //# sourceMappingURL=chunk-V4ZESAIF.js.map |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
4366028
6.45%68
3.03%65829
7.29%