From 70396fea96054348cfcced76efa428aa0d71c319 Mon Sep 17 00:00:00 2001 From: meorphis <108296353+meorphis@users.noreply.github.com> Date: Mon, 29 Sep 2025 23:10:55 -0400 Subject: [PATCH 01/56] Update Dockerfile --- packages/mcp-server/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/mcp-server/Dockerfile b/packages/mcp-server/Dockerfile index 92c3f15c..c383891b 100644 --- a/packages/mcp-server/Dockerfile +++ b/packages/mcp-server/Dockerfile @@ -1,6 +1,9 @@ # Build stage FROM node:20-alpine AS builder +# Enable corepack to use pnpm (comes with Node.js 16.9+) +RUN corepack enable && corepack prepare pnpm@latest --activate + # Install bash for build script RUN apk add --no-cache bash openssl From 41fd0150d1fdf89a86ea776e32eb45a2e8f94f96 Mon Sep 17 00:00:00 2001 From: meorphis <108296353+meorphis@users.noreply.github.com> Date: Mon, 29 Sep 2025 23:20:58 -0400 Subject: [PATCH 02/56] Update Dockerfile --- packages/mcp-server/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mcp-server/Dockerfile b/packages/mcp-server/Dockerfile index c383891b..41528e76 100644 --- a/packages/mcp-server/Dockerfile +++ b/packages/mcp-server/Dockerfile @@ -29,8 +29,8 @@ WORKDIR /app # Copy the built mcp-server dist directory COPY --from=builder /build/packages/mcp-server/dist ./ -# Copy node_modules from mcp-server (includes all production deps) -COPY --from=builder /build/packages/mcp-server/node_modules ./node_modules +# Copy node_modules from root (pnpm hoists dependencies here) +COPY --from=builder /build/node_modules ./node_modules # Copy the built @stainless-api/sdk into node_modules COPY --from=builder /build/dist ./node_modules/@stainless-api/sdk From 20bdadcc2d43077f21cd8d4fc41b8667e9e04e3e Mon Sep 17 00:00:00 2001 From: meorphis <108296353+meorphis@users.noreply.github.com> Date: Mon, 29 Sep 2025 23:27:52 -0400 Subject: [PATCH 03/56] Update Dockerfile --- packages/mcp-server/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/mcp-server/Dockerfile b/packages/mcp-server/Dockerfile index 41528e76..58a8531f 100644 --- a/packages/mcp-server/Dockerfile +++ b/packages/mcp-server/Dockerfile @@ -26,6 +26,8 @@ RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001 # Set working directory WORKDIR /app +COPY --from=builder /build/packages/mcp-server/package.json ./package.json + # Copy the built mcp-server dist directory COPY --from=builder /build/packages/mcp-server/dist ./ From 641907d519df468756246d7b1d1d25574435e4cb Mon Sep 17 00:00:00 2001 From: meorphis Date: Mon, 29 Sep 2025 23:44:28 -0400 Subject: [PATCH 04/56] Revert "Update Dockerfile" This reverts commit 20bdadcc2d43077f21cd8d4fc41b8667e9e04e3e. --- packages/mcp-server/Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/mcp-server/Dockerfile b/packages/mcp-server/Dockerfile index 58a8531f..41528e76 100644 --- a/packages/mcp-server/Dockerfile +++ b/packages/mcp-server/Dockerfile @@ -26,8 +26,6 @@ RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001 # Set working directory WORKDIR /app -COPY --from=builder /build/packages/mcp-server/package.json ./package.json - # Copy the built mcp-server dist directory COPY --from=builder /build/packages/mcp-server/dist ./ From a8620b9e901e80a509217c0afdcfde3ca7db2594 Mon Sep 17 00:00:00 2001 From: meorphis Date: Mon, 29 Sep 2025 23:49:56 -0400 Subject: [PATCH 05/56] chore: fix dockerfile --- packages/mcp-server/Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/mcp-server/Dockerfile b/packages/mcp-server/Dockerfile index 41528e76..f809a848 100644 --- a/packages/mcp-server/Dockerfile +++ b/packages/mcp-server/Dockerfile @@ -26,8 +26,9 @@ RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001 # Set working directory WORKDIR /app -# Copy the built mcp-server dist directory -COPY --from=builder /build/packages/mcp-server/dist ./ +# Copy the built mcp-server preserving directory structure +COPY --from=builder /build/packages/mcp-server/dist ./packages/mcp-server/dist +COPY --from=builder /build/packages/mcp-server/node_modules ./packages/mcp-server/node_modules # Copy node_modules from root (pnpm hoists dependencies here) COPY --from=builder /build/node_modules ./node_modules @@ -45,7 +46,7 @@ USER nodejs # No exposed ports needed for stdio communication # Set the entrypoint to the MCP server -ENTRYPOINT ["node", "index.js"] +ENTRYPOINT ["node", "packages/mcp-server/dist/index.js"] # Allow passing arguments to the MCP server CMD [] From 5906dba834a1abec5399fd3cd27459b213a5d301 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 27 Sep 2025 03:24:05 +0000 Subject: [PATCH 06/56] chore(internal): fix incremental formatting in some cases --- scripts/fast-format | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/fast-format b/scripts/fast-format index ef42df58..53721ac0 100755 --- a/scripts/fast-format +++ b/scripts/fast-format @@ -35,6 +35,6 @@ echo "==> Running prettier --write" PRETTIER_FILES="$(grep '\.\(js\|json\)$' "$FILE_LIST" || true)" if ! [ -z "$PRETTIER_FILES" ]; then echo "$PRETTIER_FILES" | xargs ./node_modules/.bin/prettier \ - --write --cache --cache-strategy metadata \ + --write --cache --cache-strategy metadata --no-error-on-unmatched-pattern \ '!**/dist' '!**/*.ts' '!**/*.mts' '!**/*.cts' '!**/*.js' '!**/*.mjs' '!**/*.cjs' fi From b8df387d55a125f19cc419605b349c910c8373fe Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 27 Sep 2025 03:25:10 +0000 Subject: [PATCH 07/56] chore(mcp): allow pointing `docs_search` tool at other URLs --- .eslintcache | 1 + packages/mcp-server/src/docs-search-tool.ts | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 .eslintcache diff --git a/.eslintcache b/.eslintcache new file mode 100644 index 00000000..9eacc358 --- /dev/null +++ b/.eslintcache @@ -0,0 +1 @@ +[{"/home/tempuser-npqns7/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/docs-search-tool.ts":"1"},{"size":1466,"mtime":1758943506005}] \ No newline at end of file diff --git a/packages/mcp-server/src/docs-search-tool.ts b/packages/mcp-server/src/docs-search-tool.ts index e090d4fa..22795104 100644 --- a/packages/mcp-server/src/docs-search-tool.ts +++ b/packages/mcp-server/src/docs-search-tool.ts @@ -35,10 +35,13 @@ export const tool: Tool = { }, }; +const docsSearchURL = + process.env['DOCS_SEARCH_URL'] || 'https://api.stainless.com/api/projects/stainless-v0/docs/search'; + export const handler = async (_: unknown, args: Record | undefined) => { const body = args as any; const query = new URLSearchParams(body).toString(); - const result = await fetch('https://api.stainless.com/api/projects/stainless-v0/docs/search?' + query); + const result = await fetch(`${docsSearchURL}?${query}`); return asTextContentResult(await result.json()); }; From 4aab75e95c6be99f8340a16d0e415615db4bded8 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 27 Sep 2025 03:27:11 +0000 Subject: [PATCH 08/56] chore(internal): codegen related update --- .eslintcache | 2 +- .github/workflows/release-doctor.yml | 1 + packages/mcp-server/src/code-tool-paths.cts | 2 +- pnpm-lock.yaml | 3890 +++++-------------- pnpm-workspace.yaml | 2 +- 5 files changed, 1043 insertions(+), 2854 deletions(-) diff --git a/.eslintcache b/.eslintcache index 9eacc358..86f17eaf 100644 --- a/.eslintcache +++ b/.eslintcache @@ -1 +1 @@ -[{"/home/tempuser-npqns7/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/docs-search-tool.ts":"1"},{"size":1466,"mtime":1758943506005}] \ No newline at end of file +[{"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/jest.config.ts":"1","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/jest.config.ts":"2","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/code-tool-types.ts":"3","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/code-tool-worker.ts":"4","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/code-tool.ts":"5","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/compat.ts":"6","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/docs-search-tool.ts":"7","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/dynamic-tools.ts":"8","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/filtering.ts":"9","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/headers.ts":"10","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/http.ts":"11","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/index.ts":"12","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/options.ts":"13","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/server.ts":"14","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/stdio.ts":"15","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/builds/retrieve-builds.ts":"16","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/builds/list-builds.ts":"17","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/builds/diagnostics/list-builds-diagnostics.ts":"18","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/builds/create-builds.ts":"19","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts":"20","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/index.ts":"21","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/orgs/list-orgs.ts":"22","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/orgs/retrieve-orgs.ts":"23","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/branches/create-projects-branches.ts":"24","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/branches/delete-projects-branches.ts":"25","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts":"26","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/branches/rebase-projects-branches.ts":"27","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/branches/retrieve-projects-branches.ts":"28","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts":"29","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts":"30","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/create-projects.ts":"31","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/list-projects.ts":"32","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/retrieve-projects.ts":"33","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/update-projects.ts":"34","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/types.ts":"35","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools.ts":"36","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/compat.test.ts":"37","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/dynamic-tools.test.ts":"38","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/options.test.ts":"39","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/tools.test.ts":"40","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/scripts/publish-packages.ts":"41","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/api-promise.ts":"42","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/client.ts":"43","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/api-promise.ts":"44","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/error.ts":"45","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/pagination.ts":"46","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/resource.ts":"47","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/uploads.ts":"48","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/error.ts":"49","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/index.ts":"50","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/builtin-types.ts":"51","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/detect-platform.ts":"52","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/errors.ts":"53","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/headers.ts":"54","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/parse.ts":"55","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/formats.ts":"56","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/index.ts":"57","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/stringify.ts":"58","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/types.ts":"59","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/utils.ts":"60","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/request-options.ts":"61","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/shim-types.ts":"62","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/shims.ts":"63","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/to-file.ts":"64","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/types.ts":"65","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/uploads.ts":"66","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/base64.ts":"67","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/bytes.ts":"68","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/env.ts":"69","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/log.ts":"70","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/path.ts":"71","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/sleep.ts":"72","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/uuid.ts":"73","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/values.ts":"74","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils.ts":"75","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/pagination.ts":"76","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resource.ts":"77","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds/builds.ts":"78","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds/diagnostics.ts":"79","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds/index.ts":"80","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds/target-outputs.ts":"81","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds.ts":"82","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/index.ts":"83","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/orgs.ts":"84","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects/branches.ts":"85","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects/configs.ts":"86","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects/index.ts":"87","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects/projects.ts":"88","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects.ts":"89","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/shared.ts":"90","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources.ts":"91","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/uploads.ts":"92","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/version.ts":"93","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/builds/builds.test.ts":"94","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/builds/diagnostics.test.ts":"95","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/orgs.test.ts":"96","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/builds/target-outputs.test.ts":"97","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/projects/branches.test.ts":"98","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/projects/configs.test.ts":"99","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/projects/projects.test.ts":"100","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/base64.test.ts":"101","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/buildHeaders.test.ts":"102","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/form.test.ts":"103","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/index.test.ts":"104","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/qs/empty-keys-cases.ts":"105","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/path.test.ts":"106","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/qs/utils.test.ts":"107","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/stringifyQuery.test.ts":"108","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/uploads.test.ts":"109","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/qs/stringify.test.ts":"110"},{"size":616,"mtime":1758943611793,"results":"111","hashOfConfig":"112"},{"size":511,"mtime":1758943617829},{"size":372,"mtime":1758943617829},{"size":1186,"mtime":1758943612017,"results":"113","hashOfConfig":"114"},{"size":5810,"mtime":1758943617829},{"size":12713,"mtime":1758943611941,"results":"115","hashOfConfig":"114"},{"size":1466,"mtime":1758943617829},{"size":5599,"mtime":1758943611941,"results":"116","hashOfConfig":"114"},{"size":368,"mtime":1758943611941,"results":"117","hashOfConfig":"114"},{"size":782,"mtime":1758943617829},{"size":3400,"mtime":1758943617829},{"size":2884,"mtime":1758943611941,"results":"118","hashOfConfig":"114"},{"size":17071,"mtime":1758943612017,"results":"119","hashOfConfig":"114"},{"size":6548,"mtime":1758943617829},{"size":465,"mtime":1758943617829},{"size":11668,"mtime":1758943617829},{"size":1815,"mtime":1758943617829},{"size":5235,"mtime":1758943617829},{"size":2546,"mtime":1758943617829},{"size":4727,"mtime":1758943617829},{"size":3992,"mtime":1758943617829},{"size":2368,"mtime":1758943617829},{"size":2144,"mtime":1758943617829},{"size":1539,"mtime":1758943617829},{"size":1092,"mtime":1758943617829},{"size":4247,"mtime":1758943617829},{"size":1312,"mtime":1758943617829},{"size":1082,"mtime":1758943617829},{"size":2045,"mtime":1758943617833},{"size":2022,"mtime":1758943617833},{"size":3652,"mtime":1758943617833},{"size":3444,"mtime":1758943617833},{"size":2886,"mtime":1758943617833},{"size":2914,"mtime":1758943617833},{"size":2196,"mtime":1758943617833},{"size":31,"mtime":1758943611941,"results":"120","hashOfConfig":"114"},{"size":29411,"mtime":1758943611945,"results":"121","hashOfConfig":"114"},{"size":6851,"mtime":1758943611945,"results":"122","hashOfConfig":"114"},{"size":16226,"mtime":1758943611945,"results":"123","hashOfConfig":"114"},{"size":6594,"mtime":1758943611945,"results":"124","hashOfConfig":"114"},{"size":3689,"mtime":1758943611813,"results":"125","hashOfConfig":"112"},{"size":92,"mtime":1758943617833},{"size":28278,"mtime":1758943617833},{"size":3132,"mtime":1758943617833},{"size":3981,"mtime":1758943617833},{"size":4002,"mtime":1758943617833},{"size":270,"mtime":1758943612005,"results":"126","hashOfConfig":"112"},{"size":119,"mtime":1758943611817,"results":"127","hashOfConfig":"112"},{"size":80,"mtime":1758943617833},{"size":629,"mtime":1758943617833},{"size":2917,"mtime":1758943617833},{"size":6407,"mtime":1758943617833},{"size":1187,"mtime":1758943617833},{"size":3026,"mtime":1758943617833},{"size":1504,"mtime":1758943617833},{"size":391,"mtime":1758943611833,"results":"128","hashOfConfig":"112"},{"size":325,"mtime":1758943611833,"results":"129","hashOfConfig":"112"},{"size":11734,"mtime":1758943611837,"results":"130","hashOfConfig":"112"},{"size":2183,"mtime":1758943611837,"results":"131","hashOfConfig":"112"},{"size":6748,"mtime":1758943617833},{"size":2473,"mtime":1758943617833},{"size":929,"mtime":1758943617833},{"size":3527,"mtime":1758943617833},{"size":5211,"mtime":1758943617833},{"size":6352,"mtime":1758943617833},{"size":6751,"mtime":1758943611841,"results":"132","hashOfConfig":"112"},{"size":1278,"mtime":1758943611993,"results":"133","hashOfConfig":"112"},{"size":831,"mtime":1758943611841,"results":"134","hashOfConfig":"112"},{"size":612,"mtime":1758943611997,"results":"135","hashOfConfig":"112"},{"size":3113,"mtime":1758943617833},{"size":3213,"mtime":1758943611841,"results":"136","hashOfConfig":"112"},{"size":182,"mtime":1758943611997,"results":"137","hashOfConfig":"112"},{"size":601,"mtime":1758943617833},{"size":3146,"mtime":1758943611993,"results":"138","hashOfConfig":"112"},{"size":271,"mtime":1758943611993,"results":"139","hashOfConfig":"112"},{"size":90,"mtime":1758943617833},{"size":86,"mtime":1758943617833},{"size":9649,"mtime":1758943617833},{"size":2526,"mtime":1758943617833},{"size":552,"mtime":1758943617833},{"size":2437,"mtime":1758943617833},{"size":120,"mtime":1758943612165,"results":"140","hashOfConfig":"112"},{"size":569,"mtime":1758943617833},{"size":1075,"mtime":1758943617833},{"size":6137,"mtime":1758943617833},{"size":2315,"mtime":1758943617833},{"size":676,"mtime":1758943617833},{"size":4418,"mtime":1758943617833},{"size":122,"mtime":1758943612077,"results":"141","hashOfConfig":"112"},{"size":719,"mtime":1758943617833},{"size":35,"mtime":1758943611841,"results":"142","hashOfConfig":"112"},{"size":84,"mtime":1758943617833},{"size":68,"mtime":1758943617833},{"size":3459,"mtime":1758943617833},{"size":1300,"mtime":1758943617833},{"size":1312,"mtime":1758943617833},{"size":1158,"mtime":1758943617833},{"size":4235,"mtime":1758943617833},{"size":1882,"mtime":1758943617837},{"size":3640,"mtime":1758943617837},{"size":2072,"mtime":1758943611845,"results":"143","hashOfConfig":"114"},{"size":2192,"mtime":1758943611845,"results":"144","hashOfConfig":"114"},{"size":1908,"mtime":1758943611845,"results":"145","hashOfConfig":"114"},{"size":23594,"mtime":1758943617837},{"size":5918,"mtime":1758943611857,"results":"146","hashOfConfig":"114"},{"size":17600,"mtime":1758943611849,"results":"147","hashOfConfig":"114"},{"size":6179,"mtime":1758943617837},{"size":734,"mtime":1758943617837},{"size":3504,"mtime":1758943611865,"results":"148","hashOfConfig":"114"},{"size":81648,"mtime":1758943611865,"results":"149","hashOfConfig":"114"},{"filePath":"150","messages":"151","suppressedMessages":"152","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"uwyt2e",{"filePath":"153","messages":"154","suppressedMessages":"155","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"vyxqap",{"filePath":"156","messages":"157","suppressedMessages":"158","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"159","messages":"160","suppressedMessages":"161","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"162","messages":"163","suppressedMessages":"164","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"165","messages":"166","suppressedMessages":"167","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"168","messages":"169","suppressedMessages":"170","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"171","messages":"172","suppressedMessages":"173","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"174","messages":"175","suppressedMessages":"176","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"177","messages":"178","suppressedMessages":"179","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"180","messages":"181","suppressedMessages":"182","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"183","messages":"184","suppressedMessages":"185","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"186","messages":"187","suppressedMessages":"188","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"189","messages":"190","suppressedMessages":"191","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"192","messages":"193","suppressedMessages":"194","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"195","messages":"196","suppressedMessages":"197","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"198","messages":"199","suppressedMessages":"200","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"201","messages":"202","suppressedMessages":"203","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"204","messages":"205","suppressedMessages":"206","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"207","messages":"208","suppressedMessages":"209","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"210","messages":"211","suppressedMessages":"212","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"213","messages":"214","suppressedMessages":"215","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"216","messages":"217","suppressedMessages":"218","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"219","messages":"220","suppressedMessages":"221","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"222","messages":"223","suppressedMessages":"224","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"225","messages":"226","suppressedMessages":"227","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"228","messages":"229","suppressedMessages":"230","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"231","messages":"232","suppressedMessages":"233","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"234","messages":"235","suppressedMessages":"236","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"237","messages":"238","suppressedMessages":"239","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"240","messages":"241","suppressedMessages":"242","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"243","messages":"244","suppressedMessages":"245","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"246","messages":"247","suppressedMessages":"248","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"249","messages":"250","suppressedMessages":"251","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"252","messages":"253","suppressedMessages":"254","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"255","messages":"256","suppressedMessages":"257","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"258","messages":"259","suppressedMessages":"260","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/jest.config.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/code-tool-worker.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/compat.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/dynamic-tools.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/filtering.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/index.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/options.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/compat.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/dynamic-tools.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/options.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/tools.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/scripts/publish-packages.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/resource.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/uploads.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/formats.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/index.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/stringify.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/types.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/uploads.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/base64.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/bytes.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/env.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/path.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/sleep.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/values.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/base64.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/buildHeaders.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/form.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/qs/empty-keys-cases.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/path.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/uploads.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/qs/stringify.test.ts",[],[]] \ No newline at end of file diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml index 1e8d7952..de7e7ae6 100644 --- a/.github/workflows/release-doctor.yml +++ b/.github/workflows/release-doctor.yml @@ -20,3 +20,4 @@ jobs: env: NPM_TOKEN: ${{ secrets.STAINLESS_NPM_TOKEN || secrets.NPM_TOKEN }} DOCKERHUB_TOKEN: ${{ secrets.STAINLESS_DOCKERHUB_TOKEN || secrets.DOCKERHUB_TOKEN }} + diff --git a/packages/mcp-server/src/code-tool-paths.cts b/packages/mcp-server/src/code-tool-paths.cts index 15ce7f55..3d6655af 100644 --- a/packages/mcp-server/src/code-tool-paths.cts +++ b/packages/mcp-server/src/code-tool-paths.cts @@ -1,3 +1,3 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -export const workerPath = require.resolve('./code-tool-worker.mjs'); +export const workerPath = require.resolve('./code-tool-worker.mjs') diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 80afc3c6..38ad0d2e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false importers: + .: devDependencies: '@arethetypeswrong/cli': @@ -169,607 +170,359 @@ importers: version: 5.8.3 packages: + '@aashutoshrathi/word-wrap@1.2.6': - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} '@ampproject/remapping@2.2.1': - resolution: - { - integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} '@andrewbranch/untar.js@1.0.3': - resolution: - { - integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==, - } + resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} '@anthropic-ai/mcpb@1.1.1': - resolution: - { - integrity: sha512-a8R5pQcPPwUfuswR2of4tHDd/NJHv1L6mKJ97hfqE/gZq/xaqL12mDUtQVcyl3g1BV8csi9JOpyf15jLvfIXvQ==, - } + resolution: {integrity: sha512-a8R5pQcPPwUfuswR2of4tHDd/NJHv1L6mKJ97hfqE/gZq/xaqL12mDUtQVcyl3g1BV8csi9JOpyf15jLvfIXvQ==} hasBin: true '@arethetypeswrong/cli@0.17.0': - resolution: - { - integrity: sha512-xSMW7bfzVWpYw5JFgZqBXqr6PdR0/REmn3DkxCES5N0JTcB0CVgbIynJCvKBFmXaPc3hzmmTrb7+yPDRoOSZdA==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-xSMW7bfzVWpYw5JFgZqBXqr6PdR0/REmn3DkxCES5N0JTcB0CVgbIynJCvKBFmXaPc3hzmmTrb7+yPDRoOSZdA==} + engines: {node: '>=18'} hasBin: true '@arethetypeswrong/core@0.17.0': - resolution: - { - integrity: sha512-FHyhFizXNetigTVsIhqXKGYLpazPS5YNojEPpZEUcBPt9wVvoEbNIvG+hybuBR+pjlRcbyuqhukHZm1fr+bDgA==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-FHyhFizXNetigTVsIhqXKGYLpazPS5YNojEPpZEUcBPt9wVvoEbNIvG+hybuBR+pjlRcbyuqhukHZm1fr+bDgA==} + engines: {node: '>=18'} '@babel/code-frame@7.23.5': - resolution: - { - integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} '@babel/compat-data@7.23.5': - resolution: - { - integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} '@babel/core@7.23.6': - resolution: - { - integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==} + engines: {node: '>=6.9.0'} '@babel/generator@7.23.6': - resolution: - { - integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + engines: {node: '>=6.9.0'} '@babel/helper-compilation-targets@7.23.6': - resolution: - { - integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} '@babel/helper-environment-visitor@7.22.20': - resolution: - { - integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} '@babel/helper-function-name@7.23.0': - resolution: - { - integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} '@babel/helper-hoist-variables@7.22.5': - resolution: - { - integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.22.15': - resolution: - { - integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} '@babel/helper-module-transforms@7.23.3': - resolution: - { - integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 '@babel/helper-plugin-utils@7.22.5': - resolution: - { - integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} '@babel/helper-simple-access@7.22.5': - resolution: - { - integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} '@babel/helper-split-export-declaration@7.22.6': - resolution: - { - integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} '@babel/helper-string-parser@7.23.4': - resolution: - { - integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@7.22.20': - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} '@babel/helper-validator-option@7.23.5': - resolution: - { - integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} '@babel/helpers@7.23.6': - resolution: - { - integrity: sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==} + engines: {node: '>=6.9.0'} '@babel/highlight@7.23.4': - resolution: - { - integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} '@babel/parser@7.23.6': - resolution: - { - integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + engines: {node: '>=6.0.0'} hasBin: true '@babel/plugin-syntax-async-generators@7.8.4': - resolution: - { - integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, - } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-bigint@7.8.3': - resolution: - { - integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==, - } + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-class-properties@7.12.13': - resolution: - { - integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, - } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-import-meta@7.10.4': - resolution: - { - integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, - } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-json-strings@7.8.3': - resolution: - { - integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, - } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-jsx@7.23.3': - resolution: - { - integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: - { - integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, - } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: - { - integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, - } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: - { - integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, - } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: - { - integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, - } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: - { - integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, - } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: - { - integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, - } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: - { - integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-typescript@7.23.3': - resolution: - { - integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/template@7.22.15': - resolution: - { - integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} '@babel/traverse@7.23.6': - resolution: - { - integrity: sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==} + engines: {node: '>=6.9.0'} '@babel/types@7.23.6': - resolution: - { - integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} '@cloudflare/cabidela@0.2.4': - resolution: - { - integrity: sha512-u/1OwwqfcMvjmUFOcb6QtFzVVGpncHJxwl254wjzp0JC5CUlBkV6r5BbRrHI5ZYJEAgu8NeeorirxngmMFPZjQ==, - } + resolution: {integrity: sha512-u/1OwwqfcMvjmUFOcb6QtFzVVGpncHJxwl254wjzp0JC5CUlBkV6r5BbRrHI5ZYJEAgu8NeeorirxngmMFPZjQ==} '@colors/colors@1.5.0': - resolution: - { - integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==, - } - engines: { node: '>=0.1.90' } + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} '@cspotcode/source-map-consumer@0.8.0': - resolution: - { - integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==} + engines: {node: '>= 12'} '@cspotcode/source-map-support@0.7.0': - resolution: - { - integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==} + engines: {node: '>=12'} '@eslint-community/eslint-utils@4.4.0': - resolution: - { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 '@eslint-community/regexpp@4.12.1': - resolution: - { - integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/config-array@0.19.2': - resolution: - { - integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/core@0.10.0': - resolution: - { - integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/core@0.11.0': - resolution: - { - integrity: sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@2.1.4': - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@eslint/eslintrc@3.2.0': - resolution: - { - integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/js@8.57.1': - resolution: - { - integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@eslint/js@9.20.0': - resolution: - { - integrity: sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': - resolution: - { - integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/plugin-kit@0.2.5': - resolution: - { - integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanfs/core@0.19.1': - resolution: - { - integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==, - } - engines: { node: '>=18.18.0' } + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} '@humanfs/node@0.16.6': - resolution: - { - integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==, - } - engines: { node: '>=18.18.0' } + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} '@humanwhocodes/config-array@0.13.0': - resolution: - { - integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==, - } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: '>=12.22' } + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} '@humanwhocodes/object-schema@2.0.3': - resolution: - { - integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==, - } + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead '@humanwhocodes/retry@0.3.1': - resolution: - { - integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==, - } - engines: { node: '>=18.18' } + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} '@humanwhocodes/retry@0.4.1': - resolution: - { - integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==, - } - engines: { node: '>=18.18' } + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} '@inquirer/checkbox@3.0.1': - resolution: - { - integrity: sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==} + engines: {node: '>=18'} '@inquirer/confirm@4.0.1': - resolution: - { - integrity: sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==} + engines: {node: '>=18'} '@inquirer/core@9.2.1': - resolution: - { - integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} + engines: {node: '>=18'} '@inquirer/editor@3.0.1': - resolution: - { - integrity: sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==} + engines: {node: '>=18'} '@inquirer/expand@3.0.1': - resolution: - { - integrity: sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==} + engines: {node: '>=18'} '@inquirer/figures@1.0.13': - resolution: - { - integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} + engines: {node: '>=18'} '@inquirer/input@3.0.1': - resolution: - { - integrity: sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==} + engines: {node: '>=18'} '@inquirer/number@2.0.1': - resolution: - { - integrity: sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==} + engines: {node: '>=18'} '@inquirer/password@3.0.1': - resolution: - { - integrity: sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==} + engines: {node: '>=18'} '@inquirer/prompts@6.0.1': - resolution: - { - integrity: sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==} + engines: {node: '>=18'} '@inquirer/rawlist@3.0.1': - resolution: - { - integrity: sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==} + engines: {node: '>=18'} '@inquirer/search@2.0.1': - resolution: - { - integrity: sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==} + engines: {node: '>=18'} '@inquirer/select@3.0.1': - resolution: - { - integrity: sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==} + engines: {node: '>=18'} '@inquirer/type@2.0.0': - resolution: - { - integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} + engines: {node: '>=18'} '@istanbuljs/load-nyc-config@1.1.0': - resolution: - { - integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} '@istanbuljs/schema@0.1.3': - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} '@jest/console@29.7.0': - resolution: - { - integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/core@29.7.0': - resolution: - { - integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -777,53 +530,32 @@ packages: optional: true '@jest/create-cache-key-function@29.7.0': - resolution: - { - integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/environment@29.7.0': - resolution: - { - integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/expect-utils@29.7.0': - resolution: - { - integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/expect@29.7.0': - resolution: - { - integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/fake-timers@29.7.0': - resolution: - { - integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/globals@29.7.0': - resolution: - { - integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/reporters@29.7.0': - resolution: - { - integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -831,236 +563,143 @@ packages: optional: true '@jest/schemas@29.6.3': - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/source-map@29.6.3': - resolution: - { - integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/test-result@29.7.0': - resolution: - { - integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/test-sequencer@29.7.0': - resolution: - { - integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/transform@29.7.0': - resolution: - { - integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jest/types@29.6.3': - resolution: - { - integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} '@jridgewell/gen-mapping@0.3.3': - resolution: - { - integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} '@jridgewell/resolve-uri@3.1.1': - resolution: - { - integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} '@jridgewell/set-array@1.1.2': - resolution: - { - integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} '@jridgewell/sourcemap-codec@1.4.15': - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} '@jridgewell/trace-mapping@0.3.20': - resolution: - { - integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==, - } + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} '@modelcontextprotocol/sdk@1.17.3': - resolution: - { - integrity: sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==} + engines: {node: '>=18'} '@nodelib/fs.scandir@2.1.5': - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} '@nodelib/fs.stat@2.0.5': - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} '@nodelib/fs.walk@1.2.8': - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} '@pkgr/core@0.2.4': - resolution: - { - integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==, - } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} '@sinclair/typebox@0.27.8': - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} '@sindresorhus/is@4.6.0': - resolution: - { - integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} '@sinonjs/commons@3.0.0': - resolution: - { - integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==, - } + resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} '@sinonjs/fake-timers@10.3.0': - resolution: - { - integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==, - } + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} '@swc/core-darwin-arm64@1.4.16': - resolution: - { - integrity: sha512-UOCcH1GvjRnnM/LWT6VCGpIk0OhHRq6v1U6QXuPt5wVsgXnXQwnf5k3sG5Cm56hQHDvhRPY6HCsHi/p0oek8oQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-UOCcH1GvjRnnM/LWT6VCGpIk0OhHRq6v1U6QXuPt5wVsgXnXQwnf5k3sG5Cm56hQHDvhRPY6HCsHi/p0oek8oQ==} + engines: {node: '>=10'} cpu: [arm64] os: [darwin] '@swc/core-darwin-x64@1.4.16': - resolution: - { - integrity: sha512-t3bgqFoYLWvyVtVL6KkFNCINEoOrIlyggT/kJRgi1y0aXSr0oVgcrQ4ezJpdeahZZ4N+Q6vT3ffM30yIunELNA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-t3bgqFoYLWvyVtVL6KkFNCINEoOrIlyggT/kJRgi1y0aXSr0oVgcrQ4ezJpdeahZZ4N+Q6vT3ffM30yIunELNA==} + engines: {node: '>=10'} cpu: [x64] os: [darwin] '@swc/core-linux-arm-gnueabihf@1.4.16': - resolution: - { - integrity: sha512-DvHuwvEF86YvSd0lwnzVcjOTZ0jcxewIbsN0vc/0fqm9qBdMMjr9ox6VCam1n3yYeRtj4VFgrjeNFksqbUejdQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-DvHuwvEF86YvSd0lwnzVcjOTZ0jcxewIbsN0vc/0fqm9qBdMMjr9ox6VCam1n3yYeRtj4VFgrjeNFksqbUejdQ==} + engines: {node: '>=10'} cpu: [arm] os: [linux] '@swc/core-linux-arm64-gnu@1.4.16': - resolution: - { - integrity: sha512-9Uu5YlPbyCvbidjKtYEsPpyZlu16roOZ5c2tP1vHfnU9bgf5Tz5q5VovSduNxPHx+ed2iC1b1URODHvDzbbDuQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-9Uu5YlPbyCvbidjKtYEsPpyZlu16roOZ5c2tP1vHfnU9bgf5Tz5q5VovSduNxPHx+ed2iC1b1URODHvDzbbDuQ==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] '@swc/core-linux-arm64-musl@1.4.16': - resolution: - { - integrity: sha512-/YZq/qB1CHpeoL0eMzyqK5/tYZn/rzKoCYDviFU4uduSUIJsDJQuQA/skdqUzqbheOXKAd4mnJ1hT04RbJ8FPQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-/YZq/qB1CHpeoL0eMzyqK5/tYZn/rzKoCYDviFU4uduSUIJsDJQuQA/skdqUzqbheOXKAd4mnJ1hT04RbJ8FPQ==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] '@swc/core-linux-x64-gnu@1.4.16': - resolution: - { - integrity: sha512-UUjaW5VTngZYDcA8yQlrFmqs1tLi1TxbKlnaJwoNhel9zRQ0yG1YEVGrzTvv4YApSuIiDK18t+Ip927bwucuVQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-UUjaW5VTngZYDcA8yQlrFmqs1tLi1TxbKlnaJwoNhel9zRQ0yG1YEVGrzTvv4YApSuIiDK18t+Ip927bwucuVQ==} + engines: {node: '>=10'} cpu: [x64] os: [linux] '@swc/core-linux-x64-musl@1.4.16': - resolution: - { - integrity: sha512-aFhxPifevDTwEDKPi4eRYWzC0p/WYJeiFkkpNU5Uc7a7M5iMWPAbPFUbHesdlb9Jfqs5c07oyz86u+/HySBNPQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-aFhxPifevDTwEDKPi4eRYWzC0p/WYJeiFkkpNU5Uc7a7M5iMWPAbPFUbHesdlb9Jfqs5c07oyz86u+/HySBNPQ==} + engines: {node: '>=10'} cpu: [x64] os: [linux] '@swc/core-win32-arm64-msvc@1.4.16': - resolution: - { - integrity: sha512-bTD43MbhIHL2s5QgCwyleaGwl96Gk/scF2TaVKdUe4QlJCDV/YK9h5oIBAp63ckHtE8GHlH4c8dZNBiAXn4Org==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-bTD43MbhIHL2s5QgCwyleaGwl96Gk/scF2TaVKdUe4QlJCDV/YK9h5oIBAp63ckHtE8GHlH4c8dZNBiAXn4Org==} + engines: {node: '>=10'} cpu: [arm64] os: [win32] '@swc/core-win32-ia32-msvc@1.4.16': - resolution: - { - integrity: sha512-/lmZeAN/qV5XbK2SEvi8e2RkIg8FQNYiSA8y2/Zb4gTUMKVO5JMLH0BSWMiIKMstKDPDSxMWgwJaQHF8UMyPmQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-/lmZeAN/qV5XbK2SEvi8e2RkIg8FQNYiSA8y2/Zb4gTUMKVO5JMLH0BSWMiIKMstKDPDSxMWgwJaQHF8UMyPmQ==} + engines: {node: '>=10'} cpu: [ia32] os: [win32] '@swc/core-win32-x64-msvc@1.4.16': - resolution: - { - integrity: sha512-BPAfFfODWXtUu6SwaTTftDHvcbDyWBSI/oanUeRbQR5vVWkXoQ3cxLTsDluc3H74IqXS5z1Uyoe0vNo2hB1opA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-BPAfFfODWXtUu6SwaTTftDHvcbDyWBSI/oanUeRbQR5vVWkXoQ3cxLTsDluc3H74IqXS5z1Uyoe0vNo2hB1opA==} + engines: {node: '>=10'} cpu: [x64] os: [win32] '@swc/core@1.4.16': - resolution: - { - integrity: sha512-Xaf+UBvW6JNuV131uvSNyMXHn+bh6LyKN4tbv7tOUFQpXyz/t9YWRE04emtlUW9Y0qrm/GKFCbY8n3z6BpZbTA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Xaf+UBvW6JNuV131uvSNyMXHn+bh6LyKN4tbv7tOUFQpXyz/t9YWRE04emtlUW9Y0qrm/GKFCbY8n3z6BpZbTA==} + engines: {node: '>=10'} peerDependencies: '@swc/helpers': ^0.5.0 peerDependenciesMeta: @@ -1068,805 +707,448 @@ packages: optional: true '@swc/counter@0.1.3': - resolution: - { - integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==, - } + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} '@swc/jest@0.2.36': - resolution: - { - integrity: sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==, - } - engines: { npm: '>= 7.0.0' } + resolution: {integrity: sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==} + engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' '@swc/types@0.1.6': - resolution: - { - integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==, - } + resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==} '@ts-morph/common@0.20.0': - resolution: - { - integrity: sha512-7uKjByfbPpwuzkstL3L5MQyuXPSKdoNG93Fmi2JoDcTf3pEP731JdRFAduRVkOs8oqxPsXKA+ScrWkdQ8t/I+Q==, - } + resolution: {integrity: sha512-7uKjByfbPpwuzkstL3L5MQyuXPSKdoNG93Fmi2JoDcTf3pEP731JdRFAduRVkOs8oqxPsXKA+ScrWkdQ8t/I+Q==} '@tsconfig/node10@1.0.8': - resolution: - { - integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==, - } + resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} '@tsconfig/node12@1.0.9': - resolution: - { - integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==, - } + resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} '@tsconfig/node14@1.0.1': - resolution: - { - integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==, - } + resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} '@tsconfig/node16@1.0.2': - resolution: - { - integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==, - } + resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} '@types/babel__core@7.20.5': - resolution: - { - integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, - } + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} '@types/babel__generator@7.6.8': - resolution: - { - integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==, - } + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} '@types/babel__template@7.4.4': - resolution: - { - integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, - } + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} '@types/babel__traverse@7.20.4': - resolution: - { - integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==, - } + resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==} '@types/body-parser@1.19.6': - resolution: - { - integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==, - } + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} '@types/connect@3.4.38': - resolution: - { - integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==, - } + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} '@types/cors@2.8.19': - resolution: - { - integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==, - } + resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} '@types/estree@1.0.6': - resolution: - { - integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==, - } + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} '@types/express-serve-static-core@5.0.7': - resolution: - { - integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==, - } + resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} '@types/express@5.0.3': - resolution: - { - integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==, - } + resolution: {integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==} '@types/graceful-fs@4.1.9': - resolution: - { - integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==, - } + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} '@types/http-errors@2.0.5': - resolution: - { - integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==, - } + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} '@types/istanbul-lib-coverage@2.0.6': - resolution: - { - integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, - } + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} '@types/istanbul-lib-report@3.0.3': - resolution: - { - integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==, - } + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} '@types/istanbul-reports@3.0.4': - resolution: - { - integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==, - } + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} '@types/jest@29.5.11': - resolution: - { - integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==, - } + resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} '@types/json-schema@7.0.15': - resolution: - { - integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, - } + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} '@types/mime@1.3.5': - resolution: - { - integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==, - } + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} '@types/mute-stream@0.0.4': - resolution: - { - integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==, - } + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} '@types/node@20.17.6': - resolution: - { - integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==, - } + resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==} '@types/node@22.18.6': - resolution: - { - integrity: sha512-r8uszLPpeIWbNKtvWRt/DbVi5zbqZyj1PTmhRMqBMvDnaz1QpmSKujUtJLrqGZeoM8v72MfYggDceY4K1itzWQ==, - } + resolution: {integrity: sha512-r8uszLPpeIWbNKtvWRt/DbVi5zbqZyj1PTmhRMqBMvDnaz1QpmSKujUtJLrqGZeoM8v72MfYggDceY4K1itzWQ==} '@types/qs@6.14.0': - resolution: - { - integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==, - } + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} '@types/range-parser@1.2.7': - resolution: - { - integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==, - } + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} '@types/send@0.17.5': - resolution: - { - integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==, - } + resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} '@types/serve-static@1.15.8': - resolution: - { - integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==, - } + resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} '@types/stack-utils@2.0.3': - resolution: - { - integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==, - } + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} '@types/wrap-ansi@3.0.0': - resolution: - { - integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==, - } + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} '@types/yargs-parser@21.0.3': - resolution: - { - integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==, - } + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} '@types/yargs@17.0.32': - resolution: - { - integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==, - } + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} '@typescript-eslint/eslint-plugin@8.31.1': - resolution: - { - integrity: sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/parser@8.31.1': - resolution: - { - integrity: sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/scope-manager@8.31.1': - resolution: - { - integrity: sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@8.31.1': - resolution: - { - integrity: sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/types@8.31.1': - resolution: - { - integrity: sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@8.31.1': - resolution: - { - integrity: sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/utils@8.31.1': - resolution: - { - integrity: sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/visitor-keys@8.31.1': - resolution: - { - integrity: sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': - resolution: - { - integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==, - } + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} '@valtown/deno-http-worker@0.0.21': - resolution: - { - integrity: sha512-16kFuUykann75lNytnXXIQlmpzreZjzdyT27ebT3yNGCS3kKaS1iZYWHc3Si9An54Cphwr4qEcviChQkEeJBlA==, - } - engines: { node: 20 || 22 || 24 } + resolution: {integrity: sha512-16kFuUykann75lNytnXXIQlmpzreZjzdyT27ebT3yNGCS3kKaS1iZYWHc3Si9An54Cphwr4qEcviChQkEeJBlA==} + engines: {node: 20 || 22 || 24} accepts@2.0.0: - resolution: - { - integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} + engines: {node: '>= 0.6'} acorn-jsx@5.3.2: - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn-walk@8.2.0: - resolution: - { - integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} acorn@8.14.0: - resolution: - { - integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} hasBin: true aggregate-error@3.1.0: - resolution: - { - integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ansi-escapes@4.3.2: - resolution: - { - integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} ansi-escapes@7.0.0: - resolution: - { - integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} ansi-regex@6.1.0: - resolution: - { - integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} ansi-styles@3.2.1: - resolution: - { - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} any-promise@1.3.0: - resolution: - { - integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, - } + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} anymatch@3.1.3: - resolution: - { - integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} arg@4.1.3: - resolution: - { - integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, - } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} babel-jest@29.7.0: - resolution: - { - integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 babel-plugin-istanbul@6.1.1: - resolution: - { - integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} babel-plugin-jest-hoist@29.6.3: - resolution: - { - integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} babel-preset-current-node-syntax@1.0.1: - resolution: - { - integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==, - } + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 babel-preset-jest@29.6.3: - resolution: - { - integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} body-parser@2.2.0: - resolution: - { - integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} + engines: {node: '>=18'} brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} braces@3.0.3: - resolution: - { - integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} browserslist@4.22.2: - resolution: - { - integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true bs-logger@0.2.6: - resolution: - { - integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} bser@2.1.1: - resolution: - { - integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, - } + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} buffer-from@1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} bytes@3.1.2: - resolution: - { - integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} call-bind-apply-helpers@1.0.2: - resolution: - { - integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} call-bound@1.0.4: - resolution: - { - integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} camelcase@5.3.1: - resolution: - { - integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} camelcase@6.3.0: - resolution: - { - integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} caniuse-lite@1.0.30001570: - resolution: - { - integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==, - } + resolution: {integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==} chalk@2.4.2: - resolution: - { - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} chalk@5.3.0: - resolution: - { - integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==, - } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} char-regex@1.0.2: - resolution: - { - integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} chardet@0.7.0: - resolution: - { - integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, - } + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} ci-info@3.9.0: - resolution: - { - integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} cjs-module-lexer@1.4.1: - resolution: - { - integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==, - } + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} clean-stack@2.2.0: - resolution: - { - integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} cli-highlight@2.1.11: - resolution: - { - integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==, - } - engines: { node: '>=8.0.0', npm: '>=5.0.0' } + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true cli-table3@0.6.5: - resolution: - { - integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==, - } - engines: { node: 10.* || >= 12.* } + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} cli-width@4.1.0: - resolution: - { - integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} cliui@7.0.4: - resolution: - { - integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==, - } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} cliui@8.0.1: - resolution: - { - integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} co@4.6.0: - resolution: - { - integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==, - } - engines: { iojs: '>= 1.0.0', node: '>= 0.12.0' } + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} code-block-writer@12.0.0: - resolution: - { - integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==, - } + resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==} collect-v8-coverage@1.0.2: - resolution: - { - integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==, - } + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} color-convert@1.9.3: - resolution: - { - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, - } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: '>=7.0.0' } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} color-name@1.1.3: - resolution: - { - integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, - } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} commander@10.0.1: - resolution: - { - integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} commander@13.1.0: - resolution: - { - integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} + engines: {node: '>=18'} concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} content-disposition@1.0.0: - resolution: - { - integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} + engines: {node: '>= 0.6'} content-type@1.0.5: - resolution: - { - integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} cookie-signature@1.2.2: - resolution: - { - integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==, - } - engines: { node: '>=6.6.0' } + resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} + engines: {node: '>=6.6.0'} cookie@0.7.2: - resolution: - { - integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} cors@2.8.5: - resolution: - { - integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} create-jest@29.7.0: - resolution: - { - integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true create-require@1.1.1: - resolution: - { - integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, - } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} cross-spawn@7.0.6: - resolution: - { - integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} debug@4.4.1: - resolution: - { - integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==, - } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -1874,10 +1156,7 @@ packages: optional: true dedent@1.5.1: - resolution: - { - integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==, - } + resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -1885,172 +1164,97 @@ packages: optional: true deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} deepmerge@4.3.1: - resolution: - { - integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} detect-newline@3.1.0: - resolution: - { - integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} diff-sequences@29.6.3: - resolution: - { - integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} diff@4.0.2: - resolution: - { - integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==, - } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} dunder-proto@1.0.1: - resolution: - { - integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} ee-first@1.1.1: - resolution: - { - integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, - } + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} electron-to-chromium@1.4.614: - resolution: - { - integrity: sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==, - } + resolution: {integrity: sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==} emittery@0.13.1: - resolution: - { - integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emojilib@2.4.0: - resolution: - { - integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==, - } + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} encodeurl@2.0.0: - resolution: - { - integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} environment@1.1.0: - resolution: - { - integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} error-ex@1.3.2: - resolution: - { - integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, - } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} es-define-property@1.0.1: - resolution: - { - integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} es-errors@1.3.0: - resolution: - { - integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} es-object-atoms@1.1.1: - resolution: - { - integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} escalade@3.1.1: - resolution: - { - integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} escape-html@1.0.3: - resolution: - { - integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, - } + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} escape-string-regexp@2.0.0: - resolution: - { - integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} eslint-plugin-prettier@5.4.1: - resolution: - { - integrity: sha512-9dF+KuU/Ilkq27A8idRP7N2DH8iUR6qXcjF3FR2wETY21PZdBrIjwCau8oboyGj9b7etWmTGEeM8e7oOed6ZWg==, - } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-9dF+KuU/Ilkq27A8idRP7N2DH8iUR6qXcjF3FR2wETY21PZdBrIjwCau8oboyGj9b7etWmTGEeM8e7oOed6ZWg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' eslint: '>=8.0.0' @@ -2063,11 +1267,8 @@ packages: optional: true eslint-plugin-unused-imports@3.2.0: - resolution: - { - integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': 6 - 7 eslint: '8' @@ -2076,10 +1277,7 @@ packages: optional: true eslint-plugin-unused-imports@4.1.4: - resolution: - { - integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==, - } + resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} peerDependencies: '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 eslint: ^9.0.0 || ^8.0.0 @@ -2088,55 +1286,34 @@ packages: optional: true eslint-rule-composer@0.3.0: - resolution: - { - integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} eslint-scope@8.2.0: - resolution: - { - integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} eslint-visitor-keys@4.2.0: - resolution: - { - integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint@8.57.1: - resolution: - { - integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true eslint@9.20.1: - resolution: - { - integrity: sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: jiti: '*' @@ -2145,684 +1322,387 @@ packages: optional: true espree@10.3.0: - resolution: - { - integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} esprima@4.0.1: - resolution: - { - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true esquery@1.6.0: - resolution: - { - integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} etag@1.8.1: - resolution: - { - integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} eventsource-parser@3.0.5: - resolution: - { - integrity: sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==, - } - engines: { node: '>=20.0.0' } + resolution: {integrity: sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==} + engines: {node: '>=20.0.0'} eventsource@3.0.7: - resolution: - { - integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==, - } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} + engines: {node: '>=18.0.0'} execa@5.1.1: - resolution: - { - integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} exit@0.1.2: - resolution: - { - integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} expect@29.7.0: - resolution: - { - integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} express-rate-limit@7.5.1: - resolution: - { - integrity: sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==, - } - engines: { node: '>= 16' } + resolution: {integrity: sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==} + engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' express@5.1.0: - resolution: - { - integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} + engines: {node: '>= 18'} external-editor@3.1.0: - resolution: - { - integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} fast-diff@1.3.0: - resolution: - { - integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, - } + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} fast-glob@3.3.2: - resolution: - { - integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, - } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} fb-watchman@2.0.2: - resolution: - { - integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==, - } + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} fflate@0.8.2: - resolution: - { - integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==, - } + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} file-entry-cache@8.0.0: - resolution: - { - integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.1.1: - resolution: - { - integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} finalhandler@2.1.0: - resolution: - { - integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} + engines: {node: '>= 0.8'} find-up@4.1.0: - resolution: - { - integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} flat-cache@4.0.1: - resolution: - { - integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, - } - engines: { node: '>=16' } + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatted@3.3.2: - resolution: - { - integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==, - } + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} flora-colossus@2.0.0: - resolution: - { - integrity: sha512-dz4HxH6pOvbUzZpZ/yXhafjbR2I8cenK5xL0KtBFb7U2ADsR+OwXifnxZjij/pZWF775uSCMzWVd+jDik2H2IA==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-dz4HxH6pOvbUzZpZ/yXhafjbR2I8cenK5xL0KtBFb7U2ADsR+OwXifnxZjij/pZWF775uSCMzWVd+jDik2H2IA==} + engines: {node: '>= 12'} forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} fresh@2.0.0: - resolution: - { - integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} fs-extra@10.1.0: - resolution: - { - integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} galactus@1.0.0: - resolution: - { - integrity: sha512-R1fam6D4CyKQGNlvJne4dkNF+PvUUl7TAJInvTGa9fti9qAv95quQz29GXapA4d8Ec266mJJxFVh82M4GIIGDQ==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-R1fam6D4CyKQGNlvJne4dkNF+PvUUl7TAJInvTGa9fti9qAv95quQz29GXapA4d8Ec266mJJxFVh82M4GIIGDQ==} + engines: {node: '>= 12'} gensync@1.0.0-beta.2: - resolution: - { - integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} get-caller-file@2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} get-intrinsic@1.3.0: - resolution: - { - integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} get-package-type@0.1.0: - resolution: - { - integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} get-proto@1.0.1: - resolution: - { - integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} get-stdin@8.0.0: - resolution: - { - integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} + engines: {node: '>=10'} get-stream@6.0.1: - resolution: - { - integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} glob-parent@5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} deprecated: Glob versions prior to v9 are no longer supported globals@11.12.0: - resolution: - { - integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} globals@14.0.0: - resolution: - { - integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} gopd@1.2.0: - resolution: - { - integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} has-flag@3.0.0: - resolution: - { - integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} has-symbols@1.1.0: - resolution: - { - integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} hasown@2.0.0: - resolution: - { - integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} hasown@2.0.2: - resolution: - { - integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} highlight.js@10.7.3: - resolution: - { - integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==, - } + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} human-signals@2.1.0: - resolution: - { - integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, - } - engines: { node: '>=10.17.0' } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} iconv-lite@0.4.24: - resolution: - { - integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} iconv-lite@0.6.3: - resolution: - { - integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} ignore-walk@5.0.1: - resolution: - { - integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} ignore@5.3.2: - resolution: - { - integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} ignore@7.0.5: - resolution: - { - integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} import-local@3.1.0: - resolution: - { - integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} hasBin: true imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: '>=0.8.19' } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} indent-string@4.0.0: - resolution: - { - integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} is-arrayish@0.2.1: - resolution: - { - integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, - } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} is-generator-fn@2.1.0: - resolution: - { - integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} is-number@7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} is-promise@4.0.0: - resolution: - { - integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==, - } + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} is-stream@2.0.1: - resolution: - { - integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} istanbul-lib-coverage@3.2.2: - resolution: - { - integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} istanbul-lib-instrument@5.2.1: - resolution: - { - integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} istanbul-lib-instrument@6.0.1: - resolution: - { - integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} + engines: {node: '>=10'} istanbul-lib-report@3.0.1: - resolution: - { - integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} istanbul-lib-source-maps@4.0.1: - resolution: - { - integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} istanbul-reports@3.1.6: - resolution: - { - integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + engines: {node: '>=8'} jest-changed-files@29.7.0: - resolution: - { - integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-circus@29.7.0: - resolution: - { - integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-cli@29.7.0: - resolution: - { - integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -2831,11 +1711,8 @@ packages: optional: true jest-config@29.7.0: - resolution: - { - integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' ts-node: '>=9.0.0' @@ -2846,81 +1723,48 @@ packages: optional: true jest-diff@29.7.0: - resolution: - { - integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-docblock@29.7.0: - resolution: - { - integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-each@29.7.0: - resolution: - { - integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-environment-node@29.7.0: - resolution: - { - integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-get-type@29.6.3: - resolution: - { - integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-haste-map@29.7.0: - resolution: - { - integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-leak-detector@29.7.0: - resolution: - { - integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-matcher-utils@29.7.0: - resolution: - { - integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-message-util@29.7.0: - resolution: - { - integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-mock@29.7.0: - resolution: - { - integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-pnp-resolver@1.2.3: - resolution: - { - integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} peerDependencies: jest-resolve: '*' peerDependenciesMeta: @@ -2928,81 +1772,48 @@ packages: optional: true jest-regex-util@29.6.3: - resolution: - { - integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-resolve-dependencies@29.7.0: - resolution: - { - integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-resolve@29.7.0: - resolution: - { - integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-runner@29.7.0: - resolution: - { - integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-runtime@29.7.0: - resolution: - { - integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-snapshot@29.7.0: - resolution: - { - integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-util@29.7.0: - resolution: - { - integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-validate@29.7.0: - resolution: - { - integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-watcher@29.7.0: - resolution: - { - integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-worker@29.7.0: - resolution: - { - integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest@29.7.0: - resolution: - { - integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -3011,1137 +1822,639 @@ packages: optional: true jq-web@https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz: - resolution: { tarball: https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz } + resolution: {tarball: https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz} version: 0.8.6 js-tokens@4.0.0: - resolution: - { - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, - } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} js-yaml@3.14.1: - resolution: - { - integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, - } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true jsesc@2.5.2: - resolution: - { - integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} json-parse-even-better-errors@2.3.1: - resolution: - { - integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, - } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true jsonc-parser@3.2.1: - resolution: - { - integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, - } + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} jsonfile@6.2.0: - resolution: - { - integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==, - } + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kleur@3.0.3: - resolution: - { - integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} leven@3.1.0: - resolution: - { - integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} lines-and-columns@1.2.4: - resolution: - { - integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, - } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} locate-path@5.0.0: - resolution: - { - integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} lodash.memoize@4.1.2: - resolution: - { - integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==, - } + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} lru-cache@10.4.3: - resolution: - { - integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==, - } + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} lru-cache@5.1.1: - resolution: - { - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, - } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} make-dir@4.0.0: - resolution: - { - integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} make-error@1.3.6: - resolution: - { - integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, - } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} makeerror@1.0.12: - resolution: - { - integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, - } + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} marked-terminal@7.2.1: - resolution: - { - integrity: sha512-rQ1MoMFXZICWNsKMiiHwP/Z+92PLKskTPXj+e7uwXmuMPkNn7iTqC+IvDekVm1MPeC9wYQeLxeFaOvudRR/XbQ==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-rQ1MoMFXZICWNsKMiiHwP/Z+92PLKskTPXj+e7uwXmuMPkNn7iTqC+IvDekVm1MPeC9wYQeLxeFaOvudRR/XbQ==} + engines: {node: '>=16.0.0'} peerDependencies: marked: '>=1 <15' marked@9.1.6: - resolution: - { - integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==, - } - engines: { node: '>= 16' } + resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} + engines: {node: '>= 16'} hasBin: true math-intrinsics@1.1.0: - resolution: - { - integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} media-typer@1.1.0: - resolution: - { - integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} + engines: {node: '>= 0.8'} merge-descriptors@2.0.0: - resolution: - { - integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} + engines: {node: '>=18'} merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} merge2@1.4.1: - resolution: - { - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} micromatch@4.0.8: - resolution: - { - integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} mime-db@1.54.0: - resolution: - { - integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} mime-types@3.0.1: - resolution: - { - integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} + engines: {node: '>= 0.6'} mimic-fn@2.1.0: - resolution: - { - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} minimatch@7.4.6: - resolution: - { - integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} minimatch@9.0.5: - resolution: - { - integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==, - } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.6: - resolution: - { - integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==, - } + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} mkdirp@2.1.6: - resolution: - { - integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} + engines: {node: '>=10'} hasBin: true mri@1.2.0: - resolution: - { - integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} ms@2.1.3: - resolution: - { - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, - } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} mute-stream@1.0.0: - resolution: - { - integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} mz@2.7.0: - resolution: - { - integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, - } + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} negotiator@1.0.0: - resolution: - { - integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} + engines: {node: '>= 0.6'} node-emoji@2.1.3: - resolution: - { - integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} + engines: {node: '>=18'} node-forge@1.3.1: - resolution: - { - integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==, - } - engines: { node: '>= 6.13.0' } + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} node-int64@0.4.0: - resolution: - { - integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, - } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} node-releases@2.0.14: - resolution: - { - integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, - } + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} normalize-path@3.0.0: - resolution: - { - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} npm-bundled@2.0.1: - resolution: - { - integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} npm-normalize-package-bin@2.0.0: - resolution: - { - integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} npm-packlist@5.1.3: - resolution: - { - integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} hasBin: true npm-run-path@4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} object-assign@4.1.1: - resolution: - { - integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} object-inspect@1.13.4: - resolution: - { - integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} on-finished@2.4.1: - resolution: - { - integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} onetime@5.1.2: - resolution: - { - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} os-tmpdir@1.0.2: - resolution: - { - integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} p-all@3.0.0: - resolution: - { - integrity: sha512-qUZbvbBFVXm6uJ7U/WDiO0fv6waBMbjlCm4E66oZdRR+egswICarIdHyVSZZHudH8T5SF8x/JG0q0duFzPnlBw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-qUZbvbBFVXm6uJ7U/WDiO0fv6waBMbjlCm4E66oZdRR+egswICarIdHyVSZZHudH8T5SF8x/JG0q0duFzPnlBw==} + engines: {node: '>=10'} p-limit@2.3.0: - resolution: - { - integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} p-locate@4.1.0: - resolution: - { - integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} p-map@4.0.0: - resolution: - { - integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} p-try@2.2.0: - resolution: - { - integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} parse-json@5.2.0: - resolution: - { - integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} parse5-htmlparser2-tree-adapter@6.0.1: - resolution: - { - integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==, - } + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} parse5@5.1.1: - resolution: - { - integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==, - } + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} parse5@6.0.1: - resolution: - { - integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==, - } + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} parseurl@1.3.3: - resolution: - { - integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} path-browserify@1.0.1: - resolution: - { - integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==, - } + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} path-to-regexp@8.2.0: - resolution: - { - integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==, - } - engines: { node: '>=16' } + resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} + engines: {node: '>=16'} picocolors@1.1.1: - resolution: - { - integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, - } + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.1: - resolution: - { - integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} pirates@4.0.6: - resolution: - { - integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} pkce-challenge@5.0.0: - resolution: - { - integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==, - } - engines: { node: '>=16.20.0' } + resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} + engines: {node: '>=16.20.0'} pkg-dir@4.2.0: - resolution: - { - integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} prettier-linter-helpers@1.0.0: - resolution: - { - integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} prettier@3.1.1: - resolution: - { - integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==} + engines: {node: '>=14'} hasBin: true pretty-bytes@5.6.0: - resolution: - { - integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} pretty-format@29.7.0: - resolution: - { - integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} prompts@2.4.2: - resolution: - { - integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} publint@0.2.12: - resolution: - { - integrity: sha512-YNeUtCVeM4j9nDiTT2OPczmlyzOkIXNtdDZnSuajAxS/nZ6j3t7Vs9SUB4euQNddiltIwu7Tdd3s+hr08fAsMw==, - } - engines: { node: '>=16' } + resolution: {integrity: sha512-YNeUtCVeM4j9nDiTT2OPczmlyzOkIXNtdDZnSuajAxS/nZ6j3t7Vs9SUB4euQNddiltIwu7Tdd3s+hr08fAsMw==} + engines: {node: '>=16'} hasBin: true punycode@2.3.0: - resolution: - { - integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} pure-rand@6.0.4: - resolution: - { - integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==, - } + resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} qs@6.14.0: - resolution: - { - integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} range-parser@1.2.1: - resolution: - { - integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} raw-body@3.0.0: - resolution: - { - integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} + engines: {node: '>= 0.8'} react-is@18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} readable-stream@3.6.2: - resolution: - { - integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} require-directory@2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} resolve-cwd@3.0.0: - resolution: - { - integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} resolve-from@5.0.0: - resolution: - { - integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} resolve.exports@2.0.2: - resolution: - { - integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true router@2.2.0: - resolution: - { - integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} + engines: {node: '>= 18'} run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} sade@1.8.1: - resolution: - { - integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} safer-buffer@2.1.2: - resolution: - { - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, - } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} semver@6.3.1: - resolution: - { - integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, - } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true semver@7.7.1: - resolution: - { - integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + engines: {node: '>=10'} hasBin: true send@1.2.0: - resolution: - { - integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} + engines: {node: '>= 18'} serve-static@2.2.0: - resolution: - { - integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} + engines: {node: '>= 18'} setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} side-channel-list@1.0.0: - resolution: - { - integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} side-channel-map@1.0.1: - resolution: - { - integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} side-channel-weakmap@1.0.2: - resolution: - { - integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} side-channel@1.1.0: - resolution: - { - integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} signal-exit@3.0.7: - resolution: - { - integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, - } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} sisteransi@1.0.5: - resolution: - { - integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, - } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} skin-tone@2.0.0: - resolution: - { - integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} slash@3.0.0: - resolution: - { - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} source-map-support@0.5.13: - resolution: - { - integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==, - } + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} stack-utils@2.0.6: - resolution: - { - integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} statuses@2.0.2: - resolution: - { - integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} string-length@4.0.2: - resolution: - { - integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} string-to-stream@3.0.1: - resolution: - { - integrity: sha512-Hl092MV3USJuUCC6mfl9sPzGloA3K5VwdIeJjYIkXY/8K+mUvaeEabWJgArp+xXrsWxCajeT2pc4axbVhIZJyg==, - } + resolution: {integrity: sha512-Hl092MV3USJuUCC6mfl9sPzGloA3K5VwdIeJjYIkXY/8K+mUvaeEabWJgArp+xXrsWxCajeT2pc4axbVhIZJyg==} string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} strip-bom@4.0.0: - resolution: - { - integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} strip-final-newline@2.0.0: - resolution: - { - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} superstruct@1.0.4: - resolution: - { - integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==} + engines: {node: '>=14.0.0'} supports-color@5.5.0: - resolution: - { - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} supports-hyperlinks@3.1.0: - resolution: - { - integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==, - } - engines: { node: '>=14.18' } + resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==} + engines: {node: '>=14.18'} supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} synckit@0.11.8: - resolution: - { - integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==, - } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} + engines: {node: ^14.18.0 || >=16.0.0} test-exclude@6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} thenify-all@1.6.0: - resolution: - { - integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} thenify@3.3.1: - resolution: - { - integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, - } + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} tmp@0.0.33: - resolution: - { - integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==, - } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} tmpl@1.0.5: - resolution: - { - integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==, - } + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} to-regex-range@5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} ts-api-utils@2.0.1: - resolution: - { - integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==, - } - engines: { node: '>=18.12' } + resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} + engines: {node: '>=18.12'} peerDependencies: typescript: '>=4.8.4' ts-jest@29.1.1: - resolution: - { - integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' @@ -4161,16 +2474,10 @@ packages: optional: true ts-morph@19.0.0: - resolution: - { - integrity: sha512-D6qcpiJdn46tUqV45vr5UGM2dnIEuTGNxVhg0sk5NX11orcouwj6i1bMqZIz2mZTZB1Hcgy7C3oEVhAT+f6mbQ==, - } + resolution: {integrity: sha512-D6qcpiJdn46tUqV45vr5UGM2dnIEuTGNxVhg0sk5NX11orcouwj6i1bMqZIz2mZTZB1Hcgy7C3oEVhAT+f6mbQ==} ts-node@10.7.0: - resolution: - { - integrity: sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==, - } + resolution: {integrity: sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -4184,295 +2491,176 @@ packages: optional: true tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz: - resolution: { tarball: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz } + resolution: {tarball: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz} version: 1.1.9 - engines: { node: '>=14' } + engines: {node: '>=14'} hasBin: true peerDependencies: typescript: '>=4.3.0' tsconfig-paths@4.2.0: - resolution: - { - integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} tslib@2.8.1: - resolution: - { - integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, - } + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} type-fest@0.21.3: - resolution: - { - integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} type-is@2.0.1: - resolution: - { - integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} + engines: {node: '>= 0.6'} typescript-eslint@8.31.1: - resolution: - { - integrity: sha512-j6DsEotD/fH39qKzXTQRwYYWlt7D+0HmfpOK+DVhwJOFLcdmn92hq3mBb7HlKJHbjjI/gTOqEcc9d6JfpFf/VA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-j6DsEotD/fH39qKzXTQRwYYWlt7D+0HmfpOK+DVhwJOFLcdmn92hq3mBb7HlKJHbjjI/gTOqEcc9d6JfpFf/VA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' typescript@5.6.1-rc: - resolution: - { - integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} + engines: {node: '>=14.17'} hasBin: true typescript@5.8.3: - resolution: - { - integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} hasBin: true undici-types@6.19.8: - resolution: - { - integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==, - } + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} undici-types@6.21.0: - resolution: - { - integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==, - } + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} unicode-emoji-modifier-base@1.0.0: - resolution: - { - integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} universalify@2.0.1: - resolution: - { - integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} unpipe@1.0.0: - resolution: - { - integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} update-browserslist-db@1.0.13: - resolution: - { - integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, - } + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} v8-compile-cache-lib@3.0.0: - resolution: - { - integrity: sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==, - } + resolution: {integrity: sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==} v8-to-istanbul@9.2.0: - resolution: - { - integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, - } - engines: { node: '>=10.12.0' } + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} validate-npm-package-name@5.0.1: - resolution: - { - integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} walker@1.0.8: - resolution: - { - integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==, - } + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true wrap-ansi@6.2.0: - resolution: - { - integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} write-file-atomic@4.0.2: - resolution: - { - integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} y18n@5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} yallist@3.1.1: - resolution: - { - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, - } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} yargs-parser@20.2.9: - resolution: - { - integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} yargs-parser@21.1.1: - resolution: - { - integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} yargs@16.2.0: - resolution: - { - integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} yargs@17.7.2: - resolution: - { - integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} yn@3.1.1: - resolution: - { - integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} yoctocolors-cjs@2.1.3: - resolution: - { - integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} + engines: {node: '>=18'} zod-to-json-schema@3.24.6: - resolution: - { - integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==, - } + resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} peerDependencies: zod: ^3.24.1 zod-validation-error@4.0.1: - resolution: - { - integrity: sha512-F3rdaCOHs5ViJ5YTz5zzRtfkQdMdIeKudJAoxy7yB/2ZMEHw73lmCAcQw11r7++20MyGl4WV59EVh7A9rNAyog==, - } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-F3rdaCOHs5ViJ5YTz5zzRtfkQdMdIeKudJAoxy7yB/2ZMEHw73lmCAcQw11r7++20MyGl4WV59EVh7A9rNAyog==} + engines: {node: '>=18.0.0'} peerDependencies: zod: ^3.25.0 || ^4.0.0 zod@3.25.76: - resolution: - { - integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==, - } + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} snapshots: + '@aashutoshrathi/word-wrap@1.2.6': {} '@ampproject/remapping@2.2.1': diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 1fdd1a1e..cd35f70c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,4 @@ -packages: +packages: - 'packages/*' onlyBuiltDependencies: - '@swc/core' From c1fe61994b503fbd898b01feda816845436045a6 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 27 Sep 2025 03:29:08 +0000 Subject: [PATCH 09/56] chore(internal): ignore .eslintcache --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 74cba895..d62bea50 100644 --- a/.gitignore +++ b/.gitignore @@ -7,5 +7,6 @@ dist dist-deno /*.tgz .idea/ +.eslintcache dist-bundle *.mcpb From a4f392b24af3b8edd027a2519cbc79ac362669b0 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 02:57:25 +0000 Subject: [PATCH 10/56] chore(internal): codegen related update --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38ad0d2e..14715995 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,19 +146,19 @@ importers: version: 3.2.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) jest: specifier: ^29.4.0 - version: 29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) prettier: specifier: ^3.0.0 version: 3.1.1 ts-jest: specifier: ^29.1.0 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)))(typescript@5.8.3) ts-morph: specifier: ^19.0.0 version: 19.0.0 ts-node: specifier: ^10.5.0 - version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3) + version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3) tsc-multi: specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) @@ -793,8 +793,8 @@ packages: '@types/node@20.17.6': resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==} - '@types/node@22.18.6': - resolution: {integrity: sha512-r8uszLPpeIWbNKtvWRt/DbVi5zbqZyj1PTmhRMqBMvDnaz1QpmSKujUtJLrqGZeoM8v72MfYggDceY4K1itzWQ==} + '@types/node@22.18.7': + resolution: {integrity: sha512-3E97nlWEVp2V6J7aMkR8eOnw/w0pArPwf/5/W0865f+xzBoGL/ZuHkTAKAGN7cOWNwd+sG+hZOqj+fjzeHS75g==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3021,7 +3021,7 @@ snapshots: '@inquirer/figures': 1.0.13 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.18.6 + '@types/node': 22.18.7 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -3153,7 +3153,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3167,7 +3167,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3526,7 +3526,7 @@ snapshots: dependencies: undici-types: 6.19.8 - '@types/node@22.18.6': + '@types/node@22.18.7': dependencies: undici-types: 6.21.0 @@ -3975,13 +3975,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4641,16 +4641,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -4691,7 +4691,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4717,12 +4717,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.17.6 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3) + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4747,8 +4747,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.18.6 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3) + '@types/node': 22.18.7 + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -4980,12 +4980,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5576,11 +5576,11 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.23.6) - ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.18.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -5618,14 +5618,14 @@ snapshots: optionalDependencies: '@swc/core': 1.4.16 - ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.6)(typescript@5.8.3): + ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.7.0 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 22.18.6 + '@types/node': 22.18.7 acorn: 8.14.0 acorn-walk: 8.2.0 arg: 4.1.3 From 6f5129610f26504aa48d94375dbff726406aef51 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 02:57:51 +0000 Subject: [PATCH 11/56] fix(mcp): fix cli argument parsing logic --- .eslintcache | 2 +- packages/mcp-server/src/options.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.eslintcache b/.eslintcache index 86f17eaf..2cf0c147 100644 --- a/.eslintcache +++ b/.eslintcache @@ -1 +1 @@ -[{"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/jest.config.ts":"1","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/jest.config.ts":"2","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/code-tool-types.ts":"3","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/code-tool-worker.ts":"4","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/code-tool.ts":"5","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/compat.ts":"6","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/docs-search-tool.ts":"7","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/dynamic-tools.ts":"8","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/filtering.ts":"9","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/headers.ts":"10","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/http.ts":"11","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/index.ts":"12","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/options.ts":"13","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/server.ts":"14","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/stdio.ts":"15","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/builds/retrieve-builds.ts":"16","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/builds/list-builds.ts":"17","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/builds/diagnostics/list-builds-diagnostics.ts":"18","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/builds/create-builds.ts":"19","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts":"20","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/index.ts":"21","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/orgs/list-orgs.ts":"22","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/orgs/retrieve-orgs.ts":"23","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/branches/create-projects-branches.ts":"24","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/branches/delete-projects-branches.ts":"25","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts":"26","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/branches/rebase-projects-branches.ts":"27","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/branches/retrieve-projects-branches.ts":"28","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts":"29","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts":"30","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/create-projects.ts":"31","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/list-projects.ts":"32","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/retrieve-projects.ts":"33","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/projects/update-projects.ts":"34","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools/types.ts":"35","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools.ts":"36","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/compat.test.ts":"37","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/dynamic-tools.test.ts":"38","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/options.test.ts":"39","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/tools.test.ts":"40","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/scripts/publish-packages.ts":"41","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/api-promise.ts":"42","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/client.ts":"43","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/api-promise.ts":"44","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/error.ts":"45","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/pagination.ts":"46","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/resource.ts":"47","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/uploads.ts":"48","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/error.ts":"49","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/index.ts":"50","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/builtin-types.ts":"51","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/detect-platform.ts":"52","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/errors.ts":"53","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/headers.ts":"54","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/parse.ts":"55","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/formats.ts":"56","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/index.ts":"57","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/stringify.ts":"58","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/types.ts":"59","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/utils.ts":"60","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/request-options.ts":"61","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/shim-types.ts":"62","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/shims.ts":"63","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/to-file.ts":"64","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/types.ts":"65","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/uploads.ts":"66","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/base64.ts":"67","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/bytes.ts":"68","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/env.ts":"69","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/log.ts":"70","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/path.ts":"71","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/sleep.ts":"72","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/uuid.ts":"73","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/values.ts":"74","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils.ts":"75","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/pagination.ts":"76","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resource.ts":"77","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds/builds.ts":"78","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds/diagnostics.ts":"79","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds/index.ts":"80","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds/target-outputs.ts":"81","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds.ts":"82","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/index.ts":"83","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/orgs.ts":"84","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects/branches.ts":"85","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects/configs.ts":"86","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects/index.ts":"87","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects/projects.ts":"88","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects.ts":"89","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/shared.ts":"90","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources.ts":"91","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/uploads.ts":"92","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/version.ts":"93","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/builds/builds.test.ts":"94","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/builds/diagnostics.test.ts":"95","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/orgs.test.ts":"96","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/builds/target-outputs.test.ts":"97","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/projects/branches.test.ts":"98","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/projects/configs.test.ts":"99","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/api-resources/projects/projects.test.ts":"100","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/base64.test.ts":"101","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/buildHeaders.test.ts":"102","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/form.test.ts":"103","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/index.test.ts":"104","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/qs/empty-keys-cases.ts":"105","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/path.test.ts":"106","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/qs/utils.test.ts":"107","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/stringifyQuery.test.ts":"108","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/uploads.test.ts":"109","/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/qs/stringify.test.ts":"110"},{"size":616,"mtime":1758943611793,"results":"111","hashOfConfig":"112"},{"size":511,"mtime":1758943617829},{"size":372,"mtime":1758943617829},{"size":1186,"mtime":1758943612017,"results":"113","hashOfConfig":"114"},{"size":5810,"mtime":1758943617829},{"size":12713,"mtime":1758943611941,"results":"115","hashOfConfig":"114"},{"size":1466,"mtime":1758943617829},{"size":5599,"mtime":1758943611941,"results":"116","hashOfConfig":"114"},{"size":368,"mtime":1758943611941,"results":"117","hashOfConfig":"114"},{"size":782,"mtime":1758943617829},{"size":3400,"mtime":1758943617829},{"size":2884,"mtime":1758943611941,"results":"118","hashOfConfig":"114"},{"size":17071,"mtime":1758943612017,"results":"119","hashOfConfig":"114"},{"size":6548,"mtime":1758943617829},{"size":465,"mtime":1758943617829},{"size":11668,"mtime":1758943617829},{"size":1815,"mtime":1758943617829},{"size":5235,"mtime":1758943617829},{"size":2546,"mtime":1758943617829},{"size":4727,"mtime":1758943617829},{"size":3992,"mtime":1758943617829},{"size":2368,"mtime":1758943617829},{"size":2144,"mtime":1758943617829},{"size":1539,"mtime":1758943617829},{"size":1092,"mtime":1758943617829},{"size":4247,"mtime":1758943617829},{"size":1312,"mtime":1758943617829},{"size":1082,"mtime":1758943617829},{"size":2045,"mtime":1758943617833},{"size":2022,"mtime":1758943617833},{"size":3652,"mtime":1758943617833},{"size":3444,"mtime":1758943617833},{"size":2886,"mtime":1758943617833},{"size":2914,"mtime":1758943617833},{"size":2196,"mtime":1758943617833},{"size":31,"mtime":1758943611941,"results":"120","hashOfConfig":"114"},{"size":29411,"mtime":1758943611945,"results":"121","hashOfConfig":"114"},{"size":6851,"mtime":1758943611945,"results":"122","hashOfConfig":"114"},{"size":16226,"mtime":1758943611945,"results":"123","hashOfConfig":"114"},{"size":6594,"mtime":1758943611945,"results":"124","hashOfConfig":"114"},{"size":3689,"mtime":1758943611813,"results":"125","hashOfConfig":"112"},{"size":92,"mtime":1758943617833},{"size":28278,"mtime":1758943617833},{"size":3132,"mtime":1758943617833},{"size":3981,"mtime":1758943617833},{"size":4002,"mtime":1758943617833},{"size":270,"mtime":1758943612005,"results":"126","hashOfConfig":"112"},{"size":119,"mtime":1758943611817,"results":"127","hashOfConfig":"112"},{"size":80,"mtime":1758943617833},{"size":629,"mtime":1758943617833},{"size":2917,"mtime":1758943617833},{"size":6407,"mtime":1758943617833},{"size":1187,"mtime":1758943617833},{"size":3026,"mtime":1758943617833},{"size":1504,"mtime":1758943617833},{"size":391,"mtime":1758943611833,"results":"128","hashOfConfig":"112"},{"size":325,"mtime":1758943611833,"results":"129","hashOfConfig":"112"},{"size":11734,"mtime":1758943611837,"results":"130","hashOfConfig":"112"},{"size":2183,"mtime":1758943611837,"results":"131","hashOfConfig":"112"},{"size":6748,"mtime":1758943617833},{"size":2473,"mtime":1758943617833},{"size":929,"mtime":1758943617833},{"size":3527,"mtime":1758943617833},{"size":5211,"mtime":1758943617833},{"size":6352,"mtime":1758943617833},{"size":6751,"mtime":1758943611841,"results":"132","hashOfConfig":"112"},{"size":1278,"mtime":1758943611993,"results":"133","hashOfConfig":"112"},{"size":831,"mtime":1758943611841,"results":"134","hashOfConfig":"112"},{"size":612,"mtime":1758943611997,"results":"135","hashOfConfig":"112"},{"size":3113,"mtime":1758943617833},{"size":3213,"mtime":1758943611841,"results":"136","hashOfConfig":"112"},{"size":182,"mtime":1758943611997,"results":"137","hashOfConfig":"112"},{"size":601,"mtime":1758943617833},{"size":3146,"mtime":1758943611993,"results":"138","hashOfConfig":"112"},{"size":271,"mtime":1758943611993,"results":"139","hashOfConfig":"112"},{"size":90,"mtime":1758943617833},{"size":86,"mtime":1758943617833},{"size":9649,"mtime":1758943617833},{"size":2526,"mtime":1758943617833},{"size":552,"mtime":1758943617833},{"size":2437,"mtime":1758943617833},{"size":120,"mtime":1758943612165,"results":"140","hashOfConfig":"112"},{"size":569,"mtime":1758943617833},{"size":1075,"mtime":1758943617833},{"size":6137,"mtime":1758943617833},{"size":2315,"mtime":1758943617833},{"size":676,"mtime":1758943617833},{"size":4418,"mtime":1758943617833},{"size":122,"mtime":1758943612077,"results":"141","hashOfConfig":"112"},{"size":719,"mtime":1758943617833},{"size":35,"mtime":1758943611841,"results":"142","hashOfConfig":"112"},{"size":84,"mtime":1758943617833},{"size":68,"mtime":1758943617833},{"size":3459,"mtime":1758943617833},{"size":1300,"mtime":1758943617833},{"size":1312,"mtime":1758943617833},{"size":1158,"mtime":1758943617833},{"size":4235,"mtime":1758943617833},{"size":1882,"mtime":1758943617837},{"size":3640,"mtime":1758943617837},{"size":2072,"mtime":1758943611845,"results":"143","hashOfConfig":"114"},{"size":2192,"mtime":1758943611845,"results":"144","hashOfConfig":"114"},{"size":1908,"mtime":1758943611845,"results":"145","hashOfConfig":"114"},{"size":23594,"mtime":1758943617837},{"size":5918,"mtime":1758943611857,"results":"146","hashOfConfig":"114"},{"size":17600,"mtime":1758943611849,"results":"147","hashOfConfig":"114"},{"size":6179,"mtime":1758943617837},{"size":734,"mtime":1758943617837},{"size":3504,"mtime":1758943611865,"results":"148","hashOfConfig":"114"},{"size":81648,"mtime":1758943611865,"results":"149","hashOfConfig":"114"},{"filePath":"150","messages":"151","suppressedMessages":"152","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"uwyt2e",{"filePath":"153","messages":"154","suppressedMessages":"155","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"vyxqap",{"filePath":"156","messages":"157","suppressedMessages":"158","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"159","messages":"160","suppressedMessages":"161","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"162","messages":"163","suppressedMessages":"164","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"165","messages":"166","suppressedMessages":"167","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"168","messages":"169","suppressedMessages":"170","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"171","messages":"172","suppressedMessages":"173","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"174","messages":"175","suppressedMessages":"176","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"177","messages":"178","suppressedMessages":"179","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"180","messages":"181","suppressedMessages":"182","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"183","messages":"184","suppressedMessages":"185","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"186","messages":"187","suppressedMessages":"188","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"189","messages":"190","suppressedMessages":"191","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"192","messages":"193","suppressedMessages":"194","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"195","messages":"196","suppressedMessages":"197","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"198","messages":"199","suppressedMessages":"200","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"201","messages":"202","suppressedMessages":"203","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"204","messages":"205","suppressedMessages":"206","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"207","messages":"208","suppressedMessages":"209","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"210","messages":"211","suppressedMessages":"212","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"213","messages":"214","suppressedMessages":"215","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"216","messages":"217","suppressedMessages":"218","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"219","messages":"220","suppressedMessages":"221","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"222","messages":"223","suppressedMessages":"224","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"225","messages":"226","suppressedMessages":"227","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"228","messages":"229","suppressedMessages":"230","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"231","messages":"232","suppressedMessages":"233","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"234","messages":"235","suppressedMessages":"236","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"237","messages":"238","suppressedMessages":"239","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"240","messages":"241","suppressedMessages":"242","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"243","messages":"244","suppressedMessages":"245","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"246","messages":"247","suppressedMessages":"248","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"249","messages":"250","suppressedMessages":"251","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"252","messages":"253","suppressedMessages":"254","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"255","messages":"256","suppressedMessages":"257","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"258","messages":"259","suppressedMessages":"260","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/jest.config.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/code-tool-worker.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/compat.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/dynamic-tools.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/filtering.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/index.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/options.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/tools.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/compat.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/dynamic-tools.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/options.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/tests/tools.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/scripts/publish-packages.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/resource.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/core/uploads.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/formats.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/index.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/stringify.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/qs/types.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/uploads.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/base64.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/bytes.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/env.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/path.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/sleep.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils/values.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/internal/utils.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/builds.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources/projects.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/src/resources.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/base64.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/buildHeaders.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/form.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/qs/empty-keys-cases.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/path.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/uploads.test.ts",[],[],"/home/tempuser-bqw345/run/codegen-output/stainless/stainless-v0-typescript/tests/qs/stringify.test.ts",[],[]] \ No newline at end of file +[{"/home/tempuser-en6d97/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/options.ts":"1"},{"size":17015,"mtime":1759201066704,"results":"2","hashOfConfig":"3"},{"filePath":"4","messages":"5","suppressedMessages":"6","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"vyxqap","/home/tempuser-en6d97/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/options.ts",[],[]] \ No newline at end of file diff --git a/packages/mcp-server/src/options.ts b/packages/mcp-server/src/options.ts index 348a33d0..4fe3b987 100644 --- a/packages/mcp-server/src/options.ts +++ b/packages/mcp-server/src/options.ts @@ -247,9 +247,10 @@ export function parseCLIOptions(): CLIOptions { } const shouldIncludeToolType = (toolType: 'dynamic' | 'all' | 'code' | 'docs') => - explicitTools ? argv.tools?.includes(toolType) && !argv.noTools?.includes(toolType) : undefined; + argv.noTools?.includes(toolType) ? false + : argv.tools?.includes(toolType) ? true + : undefined; - const explicitTools = Boolean(argv.tools || argv.noTools); const includeDynamicTools = shouldIncludeToolType('dynamic'); const includeAllTools = shouldIncludeToolType('all'); const includeCodeTools = shouldIncludeToolType('code'); From 3695b9cf8da2c80a10e0164ea689cee3e8e05b4d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 02:59:59 +0000 Subject: [PATCH 12/56] fix(mcp): resolve a linting issue in server code --- packages/mcp-server/src/code-tool-paths.cts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mcp-server/src/code-tool-paths.cts b/packages/mcp-server/src/code-tool-paths.cts index 3d6655af..15ce7f55 100644 --- a/packages/mcp-server/src/code-tool-paths.cts +++ b/packages/mcp-server/src/code-tool-paths.cts @@ -1,3 +1,3 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -export const workerPath = require.resolve('./code-tool-worker.mjs') +export const workerPath = require.resolve('./code-tool-worker.mjs'); From 3972fce8d4d77f2cc734c3bc6e8812d1941d41ce Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 03:00:31 +0000 Subject: [PATCH 13/56] chore: update lockfile --- pnpm-lock.yaml | 162 +++++++++++++++++++++++++------------------------ 1 file changed, 82 insertions(+), 80 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 14715995..74609272 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,7 +22,7 @@ importers: version: 29.5.11 '@types/node': specifier: ^20.17.6 - version: 20.17.6 + version: 20.19.11 '@typescript-eslint/eslint-plugin': specifier: 8.31.1 version: 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.20.1)(typescript@5.8.3))(eslint@9.20.1)(typescript@5.8.3) @@ -43,7 +43,7 @@ importers: version: 0.6.3 jest: specifier: ^29.4.0 - version: 29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)) + version: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)) prettier: specifier: ^3.0.0 version: 3.1.1 @@ -52,10 +52,10 @@ importers: version: 0.2.12 ts-jest: specifier: ^29.1.0 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)))(typescript@5.8.3) ts-node: specifier: ^10.5.0 - version: 10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3) + version: 10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3) tsc-multi: specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) @@ -79,7 +79,7 @@ importers: version: 0.2.4 '@modelcontextprotocol/sdk': specifier: ^1.11.5 - version: 1.17.3 + version: 1.18.2 '@stainless-api/sdk': specifier: workspace:* version: link:../.. @@ -604,8 +604,8 @@ packages: '@jridgewell/trace-mapping@0.3.20': resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} - '@modelcontextprotocol/sdk@1.17.3': - resolution: {integrity: sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==} + '@modelcontextprotocol/sdk@1.18.2': + resolution: {integrity: sha512-beedclIvFcCnPrYgHsylqiYJVJ/CI47Vyc4tY8no1/Li/O8U4BTlJfy6ZwxkYwx+Mx10nrgwSVrA7VBbhh4slg==} engines: {node: '>=18'} '@nodelib/fs.scandir@2.1.5': @@ -790,8 +790,8 @@ packages: '@types/mute-stream@0.0.4': resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} - '@types/node@20.17.6': - resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==} + '@types/node@20.19.11': + resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} '@types/node@22.18.7': resolution: {integrity: sha512-3E97nlWEVp2V6J7aMkR8eOnw/w0pArPwf/5/W0865f+xzBoGL/ZuHkTAKAGN7cOWNwd+sG+hZOqj+fjzeHS75g==} @@ -1354,9 +1354,9 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - eventsource-parser@3.0.5: - resolution: {integrity: sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==} - engines: {node: '>=20.0.0'} + eventsource-parser@3.0.6: + resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} + engines: {node: '>=18.0.0'} eventsource@3.0.7: resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} @@ -1588,6 +1588,10 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + engines: {node: '>=0.10.0'} + ignore-walk@5.0.1: resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -2131,9 +2135,8 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-to-regexp@8.2.0: - resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} - engines: {node: '>=16'} + path-to-regexp@8.3.0: + resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -2206,9 +2209,9 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - raw-body@3.0.0: - resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} - engines: {node: '>= 0.8'} + raw-body@3.0.1: + resolution: {integrity: sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==} + engines: {node: '>= 0.10'} react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} @@ -2542,9 +2545,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} @@ -3112,27 +3112,27 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3160,14 +3160,14 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3196,7 +3196,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -3214,7 +3214,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.17.6 + '@types/node': 20.19.11 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -3236,7 +3236,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.20 - '@types/node': 20.17.6 + '@types/node': 20.19.11 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -3306,7 +3306,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.6 + '@types/node': 20.19.11 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -3327,18 +3327,18 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@modelcontextprotocol/sdk@1.17.3': + '@modelcontextprotocol/sdk@1.18.2': dependencies: ajv: 6.12.6 content-type: 1.0.5 cors: 2.8.5 cross-spawn: 7.0.6 eventsource: 3.0.7 - eventsource-parser: 3.0.5 + eventsource-parser: 3.0.6 express: 5.1.0 express-rate-limit: 7.5.1(express@5.1.0) pkce-challenge: 5.0.0 - raw-body: 3.0.0 + raw-body: 3.0.1 zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) transitivePeerDependencies: @@ -3468,21 +3468,21 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.17.6 + '@types/node': 20.19.11 '@types/connect@3.4.38': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.19.11 '@types/cors@2.8.19': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.19.11 '@types/estree@1.0.6': {} '@types/express-serve-static-core@5.0.7': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.19.11 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 0.17.5 @@ -3495,7 +3495,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.19.11 '@types/http-errors@2.0.5': {} @@ -3520,11 +3520,11 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.19.11 - '@types/node@20.17.6': + '@types/node@20.19.11': dependencies: - undici-types: 6.19.8 + undici-types: 6.21.0 '@types/node@22.18.7': dependencies: @@ -3537,12 +3537,12 @@ snapshots: '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.17.6 + '@types/node': 20.19.11 '@types/serve-static@1.15.8': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.17.6 + '@types/node': 20.19.11 '@types/send': 0.17.5 '@types/stack-utils@2.0.3': {} @@ -3812,7 +3812,7 @@ snapshots: iconv-lite: 0.6.3 on-finished: 2.4.1 qs: 6.14.0 - raw-body: 3.0.0 + raw-body: 3.0.1 type-is: 2.0.1 transitivePeerDependencies: - supports-color @@ -3960,13 +3960,13 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - create-jest@29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4215,11 +4215,11 @@ snapshots: etag@1.8.1: {} - eventsource-parser@3.0.5: {} + eventsource-parser@3.0.6: {} eventsource@3.0.7: dependencies: - eventsource-parser: 3.0.5 + eventsource-parser: 3.0.6 execa@5.1.1: dependencies: @@ -4492,6 +4492,10 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.7.0: + dependencies: + safer-buffer: 2.1.2 + ignore-walk@5.0.1: dependencies: minimatch: 5.1.6 @@ -4602,7 +4606,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 @@ -4622,16 +4626,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -4660,7 +4664,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4685,13 +4689,13 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 20.17.6 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3) + '@types/node': 20.19.11 + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4716,7 +4720,7 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 20.17.6 + '@types/node': 20.19.11 ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros @@ -4777,7 +4781,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -4787,7 +4791,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.17.6 + '@types/node': 20.19.11 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -4826,7 +4830,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -4861,7 +4865,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -4889,7 +4893,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 chalk: 4.1.2 cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 @@ -4935,7 +4939,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -4954,7 +4958,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.6 + '@types/node': 20.19.11 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -4963,17 +4967,17 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 20.17.6 + '@types/node': 20.19.11 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)): + jest@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5256,7 +5260,7 @@ snapshots: path-parse@1.0.7: {} - path-to-regexp@8.2.0: {} + path-to-regexp@8.3.0: {} picocolors@1.1.1: {} @@ -5314,11 +5318,11 @@ snapshots: range-parser@1.2.1: {} - raw-body@3.0.0: + raw-body@3.0.1: dependencies: bytes: 3.1.2 http-errors: 2.0.0 - iconv-lite: 0.6.3 + iconv-lite: 0.7.0 unpipe: 1.0.0 react-is@18.2.0: {} @@ -5359,7 +5363,7 @@ snapshots: depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 - path-to-regexp: 8.2.0 + path-to-regexp: 8.3.0 transitivePeerDependencies: - supports-color @@ -5559,11 +5563,11 @@ snapshots: dependencies: typescript: 5.8.3 - ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.17.6)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3)) + jest: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -5598,14 +5602,14 @@ snapshots: '@ts-morph/common': 0.20.0 code-block-writer: 12.0.0 - ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.17.6)(typescript@5.8.3): + ts-node@10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.7.0 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.17.6 + '@types/node': 20.19.11 acorn: 8.14.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -5692,8 +5696,6 @@ snapshots: typescript@5.8.3: {} - undici-types@6.19.8: {} - undici-types@6.21.0: {} unicode-emoji-modifier-base@1.0.0: {} From 80c9762d8834f3fd1ad9ec8a4f8639a6732c8c43 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 02:32:35 +0000 Subject: [PATCH 14/56] chore(internal): remove .eslintcache --- .eslintcache | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .eslintcache diff --git a/.eslintcache b/.eslintcache deleted file mode 100644 index 2cf0c147..00000000 --- a/.eslintcache +++ /dev/null @@ -1 +0,0 @@ -[{"/home/tempuser-en6d97/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/options.ts":"1"},{"size":17015,"mtime":1759201066704,"results":"2","hashOfConfig":"3"},{"filePath":"4","messages":"5","suppressedMessages":"6","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"vyxqap","/home/tempuser-en6d97/run/codegen-output/stainless/stainless-v0-typescript/packages/mcp-server/src/options.ts",[],[]] \ No newline at end of file From 0f35c1778e16bc0f8c6542624d6325f34305d758 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 02:32:33 +0000 Subject: [PATCH 15/56] chore(internal): codegen related update --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 74609272..94822b53 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,19 +146,19 @@ importers: version: 3.2.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) jest: specifier: ^29.4.0 - version: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) prettier: specifier: ^3.0.0 version: 3.1.1 ts-jest: specifier: ^29.1.0 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)))(typescript@5.8.3) ts-morph: specifier: ^19.0.0 version: 19.0.0 ts-node: specifier: ^10.5.0 - version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3) + version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3) tsc-multi: specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) @@ -793,8 +793,8 @@ packages: '@types/node@20.19.11': resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} - '@types/node@22.18.7': - resolution: {integrity: sha512-3E97nlWEVp2V6J7aMkR8eOnw/w0pArPwf/5/W0865f+xzBoGL/ZuHkTAKAGN7cOWNwd+sG+hZOqj+fjzeHS75g==} + '@types/node@22.18.8': + resolution: {integrity: sha512-pAZSHMiagDR7cARo/cch1f3rXy0AEXwsVsVH09FcyeJVAzCnGgmYis7P3JidtTUjyadhTeSo8TgRPswstghDaw==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3021,7 +3021,7 @@ snapshots: '@inquirer/figures': 1.0.13 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.18.7 + '@types/node': 22.18.8 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -3153,7 +3153,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3167,7 +3167,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3526,7 +3526,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.18.7': + '@types/node@22.18.8': dependencies: undici-types: 6.21.0 @@ -3975,13 +3975,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4645,16 +4645,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -4695,7 +4695,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4721,12 +4721,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.11 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3) + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4751,8 +4751,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.18.7 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3) + '@types/node': 22.18.8 + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -4984,12 +4984,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5580,11 +5580,11 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.23.6) - ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.18.7)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -5622,14 +5622,14 @@ snapshots: optionalDependencies: '@swc/core': 1.4.16 - ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.7)(typescript@5.8.3): + ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.7.0 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 22.18.7 + '@types/node': 22.18.8 acorn: 8.14.0 acorn-walk: 8.2.0 arg: 4.1.3 From d531f3f03874c84bba354b3a1a2a210946b0658c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 3 Oct 2025 04:45:50 +0000 Subject: [PATCH 16/56] chore: update mcp dockerfile --- packages/mcp-server/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mcp-server/Dockerfile b/packages/mcp-server/Dockerfile index f809a848..1ceb30d6 100644 --- a/packages/mcp-server/Dockerfile +++ b/packages/mcp-server/Dockerfile @@ -1,7 +1,7 @@ # Build stage FROM node:20-alpine AS builder -# Enable corepack to use pnpm (comes with Node.js 16.9+) +# Enable corepack to use pnpm RUN corepack enable && corepack prepare pnpm@latest --activate # Install bash for build script From d443db20c8a895993c651a0d8681f526f970e028 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 4 Oct 2025 02:38:01 +0000 Subject: [PATCH 17/56] =?UTF-8?q?chore(jsdoc):=20fix=20@link=20annotations?= =?UTF-8?q?=20to=20refer=20only=20to=20parts=20of=20the=20package=E2=80=98?= =?UTF-8?q?s=20public=20interface?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/internal/to-file.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/internal/to-file.ts b/src/internal/to-file.ts index 245e8493..30eada32 100644 --- a/src/internal/to-file.ts +++ b/src/internal/to-file.ts @@ -73,7 +73,7 @@ export type ToFileInput = /** * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats - * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s + * @param value the raw content of the file. Can be an {@link Uploadable}, BlobLikePart, or AsyncIterable of BlobLikeParts * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible * @param {Object=} options additional properties * @param {string=} options.type the MIME type of the content From 64381d5bda0c0469711d936b76bf728965b6c5de Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 03:26:15 +0000 Subject: [PATCH 18/56] chore(internal): use npm pack for build uploads --- scripts/utils/upload-artifact.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/utils/upload-artifact.sh b/scripts/utils/upload-artifact.sh index 674325b0..093b345a 100755 --- a/scripts/utils/upload-artifact.sh +++ b/scripts/utils/upload-artifact.sh @@ -12,9 +12,11 @@ if [[ "$SIGNED_URL" == "null" ]]; then exit 1 fi -UPLOAD_RESPONSE=$(tar "${BASE_PATH:+-C$BASE_PATH}" -cz "${ARTIFACT_PATH:-dist}" | curl -v -X PUT \ +TARBALL=$(cd dist && npm pack --silent) + +UPLOAD_RESPONSE=$(curl -v -X PUT \ -H "Content-Type: application/gzip" \ - --data-binary @- "$SIGNED_URL" 2>&1) + --data-binary "@dist/$TARBALL" "$SIGNED_URL" 2>&1) if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then echo -e "\033[32mUploaded build to Stainless storage.\033[0m" From f5bf0d19f2aa16e2725268f09723437707eaa398 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 15:15:42 +0000 Subject: [PATCH 19/56] feat: Expose connection-specific decorated OAS --- .stats.yml | 8 ++-- api.md | 10 +++++ packages/mcp-server/README.md | 5 +++ packages/mcp-server/src/tools/index.ts | 2 + .../spec/retrieve-decorated-spec-spec.ts | 41 +++++++++++++++++++ src/client.ts | 9 ++++ src/resources/index.ts | 1 + src/resources/spec.ts | 33 +++++++++++++++ tests/api-resources/spec.test.ts | 27 ++++++++++++ 9 files changed, 132 insertions(+), 4 deletions(-) create mode 100644 packages/mcp-server/src/tools/spec/retrieve-decorated-spec-spec.ts create mode 100644 src/resources/spec.ts create mode 100644 tests/api-resources/spec.test.ts diff --git a/.stats.yml b/.stats.yml index f8afb0ab..ac737d00 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/stainless%2Fstainless-v0-5c1008fd27f64bcde1a146a4158f1c3113b4e13437a4d880bd6811fb063cfcd6.yml -openapi_spec_hash: 9583f62164b5dc15b10051dad6a7fca4 -config_hash: e895f7992a607a15865ed026cbe5470d +configured_endpoints: 20 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/stainless%2Fstainless-v0-030e47a1bfd79a657974f5beddd685940ec04b1aa1786c3b2cb0f4610ad2b42c.yml +openapi_spec_hash: 33b337af28bcc1c9aa1a5218acf2a7fe +config_hash: ebaca4741c1a2caf1372aa5bba88d4c7 diff --git a/api.md b/api.md index 450d2bd9..4c0ed2c9 100644 --- a/api.md +++ b/api.md @@ -95,3 +95,13 @@ Methods: - client.orgs.retrieve(org) -> Org - client.orgs.list() -> OrgListResponse + +# Spec + +Types: + +- SpecRetrieveDecoratedSpecResponse + +Methods: + +- client.spec.retrieveDecoratedSpec(projectName, { ...params }) -> unknown diff --git a/packages/mcp-server/README.md b/packages/mcp-server/README.md index 6daa9236..ab2157db 100644 --- a/packages/mcp-server/README.md +++ b/packages/mcp-server/README.md @@ -285,3 +285,8 @@ The following tools are available in this MCP server. - `retrieve_orgs` (`read`): Retrieve an organization by name. - `list_orgs` (`read`): List organizations accessible to the current authentication method. + +### Resource `spec`: + +- `retrieve_decorated_spec_spec` (`read`): + Retrieve the decorated spec for a given application and project. diff --git a/packages/mcp-server/src/tools/index.ts b/packages/mcp-server/src/tools/index.ts index bb1b0e0b..3b9227ed 100644 --- a/packages/mcp-server/src/tools/index.ts +++ b/packages/mcp-server/src/tools/index.ts @@ -22,6 +22,7 @@ import list_builds_diagnostics from './builds/diagnostics/list-builds-diagnostic import retrieve_builds_target_outputs from './builds/target-outputs/retrieve-builds-target-outputs'; import retrieve_orgs from './orgs/retrieve-orgs'; import list_orgs from './orgs/list-orgs'; +import retrieve_decorated_spec_spec from './spec/retrieve-decorated-spec-spec'; export const endpoints: Endpoint[] = []; @@ -47,6 +48,7 @@ addEndpoint(list_builds_diagnostics); addEndpoint(retrieve_builds_target_outputs); addEndpoint(retrieve_orgs); addEndpoint(list_orgs); +addEndpoint(retrieve_decorated_spec_spec); export type Filter = { type: 'resource' | 'operation' | 'tag' | 'tool'; diff --git a/packages/mcp-server/src/tools/spec/retrieve-decorated-spec-spec.ts b/packages/mcp-server/src/tools/spec/retrieve-decorated-spec-spec.ts new file mode 100644 index 00000000..e29e76c4 --- /dev/null +++ b/packages/mcp-server/src/tools/spec/retrieve-decorated-spec-spec.ts @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; + +import { Tool } from '@modelcontextprotocol/sdk/types.js'; +import Stainless from '@stainless-api/sdk'; + +export const metadata: Metadata = { + resource: 'spec', + operation: 'read', + tags: [], + httpMethod: 'get', + httpPath: '/v0/spec/application/{clientId}/{projectName}', +}; + +export const tool: Tool = { + name: 'retrieve_decorated_spec_spec', + description: '\n Retrieve the decorated spec for a given application and project.\n ', + inputSchema: { + type: 'object', + properties: { + clientId: { + type: 'string', + }, + projectName: { + type: 'string', + }, + }, + required: ['clientId', 'projectName'], + }, + annotations: { + readOnlyHint: true, + }, +}; + +export const handler = async (client: Stainless, args: Record | undefined) => { + const { projectName, ...body } = args as any; + return asTextContentResult((await client.spec.retrieveDecoratedSpec(projectName, body)) as object); +}; + +export default { metadata, tool, handler }; diff --git a/src/client.ts b/src/client.ts index d4300c9c..3bd77a3c 100644 --- a/src/client.ts +++ b/src/client.ts @@ -20,6 +20,7 @@ import * as Uploads from './core/uploads'; import * as API from './resources/index'; import { APIPromise } from './core/api-promise'; import { Org, OrgListResponse, Orgs } from './resources/orgs'; +import { Spec, SpecRetrieveDecoratedSpecParams, SpecRetrieveDecoratedSpecResponse } from './resources/spec'; import { Build, BuildCompareParams, @@ -783,11 +784,13 @@ export class Stainless { projects: API.Projects = new API.Projects(this); builds: API.Builds = new API.Builds(this); orgs: API.Orgs = new API.Orgs(this); + spec: API.Spec = new API.Spec(this); } Stainless.Projects = Projects; Stainless.Builds = Builds; Stainless.Orgs = Orgs; +Stainless.Spec = Spec; export declare namespace Stainless { export type RequestOptions = Opts.RequestOptions; @@ -819,6 +822,12 @@ export declare namespace Stainless { export { Orgs as Orgs, type Org as Org, type OrgListResponse as OrgListResponse }; + export { + Spec as Spec, + type SpecRetrieveDecoratedSpecResponse as SpecRetrieveDecoratedSpecResponse, + type SpecRetrieveDecoratedSpecParams as SpecRetrieveDecoratedSpecParams, + }; + export type Commit = API.Commit; export type FileInput = API.FileInput; export type Target = API.Target; diff --git a/src/resources/index.ts b/src/resources/index.ts index 92f85a9f..59609ccd 100644 --- a/src/resources/index.ts +++ b/src/resources/index.ts @@ -22,3 +22,4 @@ export { type ProjectListParams, type ProjectsPage, } from './projects/projects'; +export { Spec, type SpecRetrieveDecoratedSpecResponse, type SpecRetrieveDecoratedSpecParams } from './spec'; diff --git a/src/resources/spec.ts b/src/resources/spec.ts new file mode 100644 index 00000000..1561c356 --- /dev/null +++ b/src/resources/spec.ts @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +import { APIResource } from '../core/resource'; +import { APIPromise } from '../core/api-promise'; +import { RequestOptions } from '../internal/request-options'; +import { path } from '../internal/utils/path'; + +export class Spec extends APIResource { + /** + * Retrieve the decorated spec for a given application and project. + */ + retrieveDecoratedSpec( + projectName: string, + params: SpecRetrieveDecoratedSpecParams, + options?: RequestOptions, + ): APIPromise { + const { clientId } = params; + return this._client.get(path`/v0/spec/application/${clientId}/${projectName}`, options); + } +} + +export type SpecRetrieveDecoratedSpecResponse = unknown; + +export interface SpecRetrieveDecoratedSpecParams { + clientId: string; +} + +export declare namespace Spec { + export { + type SpecRetrieveDecoratedSpecResponse as SpecRetrieveDecoratedSpecResponse, + type SpecRetrieveDecoratedSpecParams as SpecRetrieveDecoratedSpecParams, + }; +} diff --git a/tests/api-resources/spec.test.ts b/tests/api-resources/spec.test.ts new file mode 100644 index 00000000..147e5d80 --- /dev/null +++ b/tests/api-resources/spec.test.ts @@ -0,0 +1,27 @@ +// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +import Stainless from '@stainless-api/sdk'; + +const client = new Stainless({ + apiKey: 'My API Key', + baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010', +}); + +describe('resource spec', () => { + // Prism tests are disabled + test.skip('retrieveDecoratedSpec: only required params', async () => { + const responsePromise = client.spec.retrieveDecoratedSpec('projectName', { clientId: 'clientId' }); + const rawResponse = await responsePromise.asResponse(); + expect(rawResponse).toBeInstanceOf(Response); + const response = await responsePromise; + expect(response).not.toBeInstanceOf(Response); + const dataAndResponse = await responsePromise.withResponse(); + expect(dataAndResponse.data).toBe(response); + expect(dataAndResponse.response).toBe(rawResponse); + }); + + // Prism tests are disabled + test.skip('retrieveDecoratedSpec: required and optional params', async () => { + const response = await client.spec.retrieveDecoratedSpec('projectName', { clientId: 'clientId' }); + }); +}); From 8be59d8d750c483fcf89e09f8c115ce55b3c7e04 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 03:31:50 +0000 Subject: [PATCH 20/56] chore(internal): codegen related update --- packages/mcp-server/Dockerfile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/mcp-server/Dockerfile b/packages/mcp-server/Dockerfile index 1ceb30d6..b0544fa0 100644 --- a/packages/mcp-server/Dockerfile +++ b/packages/mcp-server/Dockerfile @@ -18,7 +18,9 @@ RUN pnpm install --frozen-lockfile && \ pnpm build # Production stage -FROM node:20-alpine + + FROM denoland/deno:alpine + RUN apk add --no-cache npm # Add non-root user RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001 @@ -45,6 +47,10 @@ USER nodejs # The MCP server uses stdio transport by default # No exposed ports needed for stdio communication + # This is needed for node to run on the deno:alpine image. + # See . + ENV LD_LIBRARY_PATH=/usr/lib:/usr/local/lib + # Set the entrypoint to the MCP server ENTRYPOINT ["node", "packages/mcp-server/dist/index.js"] From 6953e19081e6fd162450cb352745829803870036 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 03:40:17 +0000 Subject: [PATCH 21/56] chore: extract some types in mcp docs --- .../builds/target-outputs/retrieve-builds-target-outputs.ts | 2 +- packages/mcp-server/src/tools/orgs/list-orgs.ts | 2 +- .../src/tools/projects/branches/list-projects-branches.ts | 2 +- .../src/tools/projects/configs/guess-projects-configs.ts | 2 +- .../src/tools/projects/configs/retrieve-projects-configs.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts b/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts index 4810ee8c..2280dd4e 100644 --- a/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts +++ b/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts @@ -17,7 +17,7 @@ export const metadata: Metadata = { export const tool: Tool = { name: 'retrieve_builds_target_outputs', description: - "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a method to download an output for a given build target.\n\nIf the requested type of output is `source`, and the requested output\nmethod is `url`, a download link to a tarball of the source files is\nreturned. If the requested output method is `git`, a Git remote, ref,\nand access token (if necessary) is returned.\n\nOtherwise, the possible types of outputs are specific to the requested\ntarget, and the output method _must_ be `url`. See the documentation for\n`type` for more information.\n\n# Response Schema\n```json\n{\n anyOf: [ {\n type: 'object',\n properties: {\n output: {\n type: 'string',\n enum: [ 'url'\n ]\n },\n target: {\n $ref: '#/$defs/target'\n },\n type: {\n type: 'string',\n enum: [ 'source',\n 'dist',\n 'wheel'\n ]\n },\n url: {\n type: 'string',\n description: 'URL for direct download'\n }\n },\n required: [ 'output',\n 'target',\n 'type',\n 'url'\n ]\n },\n {\n type: 'object',\n properties: {\n token: {\n type: 'string',\n description: 'Temporary GitHub access token'\n },\n output: {\n type: 'string',\n enum: [ 'git'\n ]\n },\n ref: {\n type: 'string',\n description: 'Git reference (commit SHA, branch, or tag)'\n },\n target: {\n $ref: '#/$defs/target'\n },\n type: {\n type: 'string',\n enum: [ 'source',\n 'dist',\n 'wheel'\n ]\n },\n url: {\n type: 'string',\n description: 'URL to git remote'\n }\n },\n required: [ 'token',\n 'output',\n 'ref',\n 'target',\n 'type',\n 'url'\n ]\n }\n ],\n $defs: {\n target: {\n type: 'string',\n enum: [ 'node',\n 'typescript',\n 'python',\n 'go',\n 'java',\n 'kotlin',\n 'ruby',\n 'terraform',\n 'cli',\n 'php',\n 'csharp'\n ]\n }\n }\n}\n```", + "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a method to download an output for a given build target.\n\nIf the requested type of output is `source`, and the requested output\nmethod is `url`, a download link to a tarball of the source files is\nreturned. If the requested output method is `git`, a Git remote, ref,\nand access token (if necessary) is returned.\n\nOtherwise, the possible types of outputs are specific to the requested\ntarget, and the output method _must_ be `url`. See the documentation for\n`type` for more information.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/target_output_retrieve_response',\n $defs: {\n target_output_retrieve_response: {\n anyOf: [ {\n type: 'object',\n properties: {\n output: {\n type: 'string',\n enum: [ 'url'\n ]\n },\n target: {\n $ref: '#/$defs/target'\n },\n type: {\n type: 'string',\n enum: [ 'source',\n 'dist',\n 'wheel'\n ]\n },\n url: {\n type: 'string',\n description: 'URL for direct download'\n }\n },\n required: [ 'output',\n 'target',\n 'type',\n 'url'\n ]\n },\n {\n type: 'object',\n properties: {\n token: {\n type: 'string',\n description: 'Temporary GitHub access token'\n },\n output: {\n type: 'string',\n enum: [ 'git'\n ]\n },\n ref: {\n type: 'string',\n description: 'Git reference (commit SHA, branch, or tag)'\n },\n target: {\n $ref: '#/$defs/target'\n },\n type: {\n type: 'string',\n enum: [ 'source',\n 'dist',\n 'wheel'\n ]\n },\n url: {\n type: 'string',\n description: 'URL to git remote'\n }\n },\n required: [ 'token',\n 'output',\n 'ref',\n 'target',\n 'type',\n 'url'\n ]\n }\n ]\n },\n target: {\n type: 'string',\n enum: [ 'node',\n 'typescript',\n 'python',\n 'go',\n 'java',\n 'kotlin',\n 'ruby',\n 'terraform',\n 'cli',\n 'php',\n 'csharp'\n ]\n }\n }\n}\n```", inputSchema: { type: 'object', properties: { diff --git a/packages/mcp-server/src/tools/orgs/list-orgs.ts b/packages/mcp-server/src/tools/orgs/list-orgs.ts index bf2ccc4a..ae32dba2 100644 --- a/packages/mcp-server/src/tools/orgs/list-orgs.ts +++ b/packages/mcp-server/src/tools/orgs/list-orgs.ts @@ -17,7 +17,7 @@ export const metadata: Metadata = { export const tool: Tool = { name: 'list_orgs', description: - "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList organizations accessible to the current authentication method.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/org'\n }\n },\n has_more: {\n type: 'boolean'\n },\n next_cursor: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'has_more'\n ],\n $defs: {\n org: {\n type: 'object',\n properties: {\n display_name: {\n type: 'string'\n },\n object: {\n type: 'string',\n enum: [ 'org'\n ]\n },\n slug: {\n type: 'string'\n }\n },\n required: [ 'display_name',\n 'object',\n 'slug'\n ]\n }\n }\n}\n```", + "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList organizations accessible to the current authentication method.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/org_list_response',\n $defs: {\n org_list_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/org'\n }\n },\n has_more: {\n type: 'boolean'\n },\n next_cursor: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'has_more'\n ]\n },\n org: {\n type: 'object',\n properties: {\n display_name: {\n type: 'string'\n },\n object: {\n type: 'string',\n enum: [ 'org'\n ]\n },\n slug: {\n type: 'string'\n }\n },\n required: [ 'display_name',\n 'object',\n 'slug'\n ]\n }\n }\n}\n```", inputSchema: { type: 'object', properties: { diff --git a/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts b/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts index ab370537..68bcdb41 100644 --- a/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts +++ b/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts @@ -17,7 +17,7 @@ export const metadata: Metadata = { export const tool: Tool = { name: 'list_projects_branches', description: - "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a project branch by name.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n description: 'A project branch names a line of development for a project. Like a Git\\nbranch, it points to a Git commit with a set of config files. In addition, a\\nproject branch also points to a set of custom code changes, corresponding to\\nGit branches in the staging repos.',\n properties: {\n branch: {\n type: 'string',\n description: 'Branch name'\n },\n config_commit: {\n type: 'object',\n description: 'A Git commit that points to the latest set of config files on a given\\nbranch.',\n properties: {\n repo: {\n type: 'object',\n properties: {\n branch: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n owner: {\n type: 'string'\n }\n },\n required: [ 'branch',\n 'name',\n 'owner'\n ]\n },\n sha: {\n type: 'string'\n }\n },\n required: [ 'repo',\n 'sha'\n ]\n },\n latest_build_id: {\n type: 'string'\n },\n object: {\n type: 'string',\n enum: [ 'project_branch'\n ]\n },\n org: {\n type: 'string'\n },\n project: {\n type: 'string',\n description: 'Project name'\n }\n },\n required: [ 'branch',\n 'config_commit',\n 'latest_build_id',\n 'object',\n 'org',\n 'project'\n ]\n }\n },\n has_more: {\n type: 'boolean'\n },\n next_cursor: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'has_more'\n ]\n}\n```", + "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a project branch by name.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/branch_list_response'\n }\n },\n has_more: {\n type: 'boolean'\n },\n next_cursor: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'has_more'\n ],\n $defs: {\n branch_list_response: {\n type: 'object',\n description: 'A project branch names a line of development for a project. Like a Git\\nbranch, it points to a Git commit with a set of config files. In addition, a\\nproject branch also points to a set of custom code changes, corresponding to\\nGit branches in the staging repos.',\n properties: {\n branch: {\n type: 'string',\n description: 'Branch name'\n },\n config_commit: {\n type: 'object',\n description: 'A Git commit that points to the latest set of config files on a given\\nbranch.',\n properties: {\n repo: {\n type: 'object',\n properties: {\n branch: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n owner: {\n type: 'string'\n }\n },\n required: [ 'branch',\n 'name',\n 'owner'\n ]\n },\n sha: {\n type: 'string'\n }\n },\n required: [ 'repo',\n 'sha'\n ]\n },\n latest_build_id: {\n type: 'string'\n },\n object: {\n type: 'string',\n enum: [ 'project_branch'\n ]\n },\n org: {\n type: 'string'\n },\n project: {\n type: 'string',\n description: 'Project name'\n }\n },\n required: [ 'branch',\n 'config_commit',\n 'latest_build_id',\n 'object',\n 'org',\n 'project'\n ]\n }\n }\n}\n```", inputSchema: { type: 'object', properties: { diff --git a/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts b/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts index 26747b5b..145c60cc 100644 --- a/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts +++ b/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts @@ -17,7 +17,7 @@ export const metadata: Metadata = { export const tool: Tool = { name: 'guess_projects_configs', description: - "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\n\n Generate suggestions for changes to config files based on an OpenAPI spec.\n \n\n# Response Schema\n```json\n{\n type: 'object',\n description: 'Config files contents',\n additionalProperties: true\n}\n```", + "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\n\n Generate suggestions for changes to config files based on an OpenAPI spec.\n \n\n# Response Schema\n```json\n{\n $ref: '#/$defs/config_guess_response',\n $defs: {\n config_guess_response: {\n type: 'object',\n description: 'Config files contents',\n additionalProperties: true\n }\n }\n}\n```", inputSchema: { type: 'object', properties: { diff --git a/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts b/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts index 5b7bf821..6d65e26a 100644 --- a/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts +++ b/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts @@ -17,7 +17,7 @@ export const metadata: Metadata = { export const tool: Tool = { name: 'retrieve_projects_configs', description: - "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\n\n Retrieve the configuration files for a given project.\n \n\n# Response Schema\n```json\n{\n type: 'object',\n description: 'Config files contents',\n additionalProperties: true\n}\n```", + "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\n\n Retrieve the configuration files for a given project.\n \n\n# Response Schema\n```json\n{\n $ref: '#/$defs/config_retrieve_response',\n $defs: {\n config_retrieve_response: {\n type: 'object',\n description: 'Config files contents',\n additionalProperties: true\n }\n }\n}\n```", inputSchema: { type: 'object', properties: { From c4f88d941696d5f25dd449c33ffe71a46f9a2b2a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 02:25:18 +0000 Subject: [PATCH 22/56] chore: update docstrings --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 94822b53..3c6724a5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,19 +146,19 @@ importers: version: 3.2.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) jest: specifier: ^29.4.0 - version: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) prettier: specifier: ^3.0.0 version: 3.1.1 ts-jest: specifier: ^29.1.0 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)))(typescript@5.8.3) ts-morph: specifier: ^19.0.0 version: 19.0.0 ts-node: specifier: ^10.5.0 - version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3) + version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3) tsc-multi: specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) @@ -793,8 +793,8 @@ packages: '@types/node@20.19.11': resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} - '@types/node@22.18.8': - resolution: {integrity: sha512-pAZSHMiagDR7cARo/cch1f3rXy0AEXwsVsVH09FcyeJVAzCnGgmYis7P3JidtTUjyadhTeSo8TgRPswstghDaw==} + '@types/node@22.18.9': + resolution: {integrity: sha512-5yBtK0k/q8PjkMXbTfeIEP/XVYnz1R9qZJ3yUicdEW7ppdDJfe+MqXEhpqDL3mtn4Wvs1u0KLEG0RXzCgNpsSg==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3021,7 +3021,7 @@ snapshots: '@inquirer/figures': 1.0.13 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.18.8 + '@types/node': 22.18.9 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -3153,7 +3153,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3167,7 +3167,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3526,7 +3526,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.18.8': + '@types/node@22.18.9': dependencies: undici-types: 6.21.0 @@ -3975,13 +3975,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4645,16 +4645,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -4695,7 +4695,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4721,12 +4721,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.11 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3) + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4751,8 +4751,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.18.8 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3) + '@types/node': 22.18.9 + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -4984,12 +4984,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5580,11 +5580,11 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.23.6) - ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.18.8)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -5622,14 +5622,14 @@ snapshots: optionalDependencies: '@swc/core': 1.4.16 - ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.8)(typescript@5.8.3): + ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.7.0 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 22.18.8 + '@types/node': 22.18.9 acorn: 8.14.0 acorn-walk: 8.2.0 arg: 4.1.3 From d8d72b0c940d6f71d93a93e657226cc49ac7e65b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 02:25:33 +0000 Subject: [PATCH 23/56] chore(internal): codegen related update --- pnpm-lock.yaml | 68 +++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3c6724a5..57f7e8d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,19 +146,19 @@ importers: version: 3.2.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) jest: specifier: ^29.4.0 - version: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) prettier: specifier: ^3.0.0 version: 3.1.1 ts-jest: specifier: ^29.1.0 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)))(typescript@5.8.3) ts-morph: specifier: ^19.0.0 version: 19.0.0 ts-node: specifier: ^10.5.0 - version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3) + version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3) tsc-multi: specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) @@ -472,8 +472,8 @@ packages: resolution: {integrity: sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==} engines: {node: '>=18'} - '@inquirer/figures@1.0.13': - resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} + '@inquirer/figures@1.0.14': + resolution: {integrity: sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==} engines: {node: '>=18'} '@inquirer/input@3.0.1': @@ -793,8 +793,8 @@ packages: '@types/node@20.19.11': resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} - '@types/node@22.18.9': - resolution: {integrity: sha512-5yBtK0k/q8PjkMXbTfeIEP/XVYnz1R9qZJ3yUicdEW7ppdDJfe+MqXEhpqDL3mtn4Wvs1u0KLEG0RXzCgNpsSg==} + '@types/node@22.18.10': + resolution: {integrity: sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3006,7 +3006,7 @@ snapshots: '@inquirer/checkbox@3.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.13 + '@inquirer/figures': 1.0.14 '@inquirer/type': 2.0.0 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.3 @@ -3018,10 +3018,10 @@ snapshots: '@inquirer/core@9.2.1': dependencies: - '@inquirer/figures': 1.0.13 + '@inquirer/figures': 1.0.14 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.18.9 + '@types/node': 22.18.10 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -3043,7 +3043,7 @@ snapshots: '@inquirer/type': 2.0.0 yoctocolors-cjs: 2.1.3 - '@inquirer/figures@1.0.13': {} + '@inquirer/figures@1.0.14': {} '@inquirer/input@3.0.1': dependencies: @@ -3083,14 +3083,14 @@ snapshots: '@inquirer/search@2.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.13 + '@inquirer/figures': 1.0.14 '@inquirer/type': 2.0.0 yoctocolors-cjs: 2.1.3 '@inquirer/select@3.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.13 + '@inquirer/figures': 1.0.14 '@inquirer/type': 2.0.0 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.3 @@ -3153,7 +3153,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3167,7 +3167,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3526,7 +3526,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.18.9': + '@types/node@22.18.10': dependencies: undici-types: 6.21.0 @@ -3975,13 +3975,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4645,16 +4645,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -4695,7 +4695,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4721,12 +4721,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.11 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3) + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4751,8 +4751,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.18.9 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3) + '@types/node': 22.18.10 + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -4984,12 +4984,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5580,11 +5580,11 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.23.6) - ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.18.9)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -5622,14 +5622,14 @@ snapshots: optionalDependencies: '@swc/core': 1.4.16 - ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.9)(typescript@5.8.3): + ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.7.0 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 22.18.9 + '@types/node': 22.18.10 acorn: 8.14.0 acorn-walk: 8.2.0 arg: 4.1.3 From ac322213ce1d438055c5b15834cceb36634155ab Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 02:23:43 +0000 Subject: [PATCH 24/56] chore(internal): codegen related update --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 57f7e8d1..4f1ebc3c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,19 +146,19 @@ importers: version: 3.2.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) jest: specifier: ^29.4.0 - version: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) prettier: specifier: ^3.0.0 version: 3.1.1 ts-jest: specifier: ^29.1.0 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)))(typescript@5.8.3) ts-morph: specifier: ^19.0.0 version: 19.0.0 ts-node: specifier: ^10.5.0 - version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3) + version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3) tsc-multi: specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) @@ -793,8 +793,8 @@ packages: '@types/node@20.19.11': resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} - '@types/node@22.18.10': - resolution: {integrity: sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==} + '@types/node@22.18.11': + resolution: {integrity: sha512-Gd33J2XIrXurb+eT2ktze3rJAfAp9ZNjlBdh4SVgyrKEOADwCbdUDaK7QgJno8Ue4kcajscsKqu6n8OBG3hhCQ==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3021,7 +3021,7 @@ snapshots: '@inquirer/figures': 1.0.14 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.18.10 + '@types/node': 22.18.11 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -3153,7 +3153,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3167,7 +3167,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3526,7 +3526,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.18.10': + '@types/node@22.18.11': dependencies: undici-types: 6.21.0 @@ -3975,13 +3975,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4645,16 +4645,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -4695,7 +4695,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4721,12 +4721,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.11 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3) + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4751,8 +4751,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.18.10 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3) + '@types/node': 22.18.11 + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -4984,12 +4984,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5580,11 +5580,11 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.23.6) - ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.18.10)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -5622,14 +5622,14 @@ snapshots: optionalDependencies: '@swc/core': 1.4.16 - ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.10)(typescript@5.8.3): + ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.7.0 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 22.18.10 + '@types/node': 22.18.11 acorn: 8.14.0 acorn-walk: 8.2.0 arg: 4.1.3 From 31e390345ee472e95a30bc6c95d261499419772c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 21 Oct 2025 02:49:12 +0000 Subject: [PATCH 25/56] chore(internal): codegen related update --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4f1ebc3c..e2a14a9b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,19 +146,19 @@ importers: version: 3.2.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) jest: specifier: ^29.4.0 - version: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) prettier: specifier: ^3.0.0 version: 3.1.1 ts-jest: specifier: ^29.1.0 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)))(typescript@5.8.3) ts-morph: specifier: ^19.0.0 version: 19.0.0 ts-node: specifier: ^10.5.0 - version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3) + version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3) tsc-multi: specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) @@ -793,8 +793,8 @@ packages: '@types/node@20.19.11': resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} - '@types/node@22.18.11': - resolution: {integrity: sha512-Gd33J2XIrXurb+eT2ktze3rJAfAp9ZNjlBdh4SVgyrKEOADwCbdUDaK7QgJno8Ue4kcajscsKqu6n8OBG3hhCQ==} + '@types/node@22.18.12': + resolution: {integrity: sha512-BICHQ67iqxQGFSzfCFTT7MRQ5XcBjG5aeKh5Ok38UBbPe5fxTyE+aHFxwVrGyr8GNlqFMLKD1D3P2K/1ks8tog==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3021,7 +3021,7 @@ snapshots: '@inquirer/figures': 1.0.14 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.18.11 + '@types/node': 22.18.12 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -3153,7 +3153,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3167,7 +3167,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3526,7 +3526,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.18.11': + '@types/node@22.18.12': dependencies: undici-types: 6.21.0 @@ -3975,13 +3975,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4645,16 +4645,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -4695,7 +4695,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4721,12 +4721,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.11 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3) + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4751,8 +4751,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.18.11 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3) + '@types/node': 22.18.12 + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -4984,12 +4984,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5580,11 +5580,11 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.23.6) - ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.18.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -5622,14 +5622,14 @@ snapshots: optionalDependencies: '@swc/core': 1.4.16 - ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.11)(typescript@5.8.3): + ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.7.0 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 22.18.11 + '@types/node': 22.18.12 acorn: 8.14.0 acorn-walk: 8.2.0 arg: 4.1.3 From 74e7d3dfb18419129629b00c9c8ea463c9f4544e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 23 Oct 2025 21:38:51 +0000 Subject: [PATCH 26/56] codegen metadata --- .stats.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.stats.yml b/.stats.yml index ac737d00..e76dae00 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 20 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/stainless%2Fstainless-v0-030e47a1bfd79a657974f5beddd685940ec04b1aa1786c3b2cb0f4610ad2b42c.yml openapi_spec_hash: 33b337af28bcc1c9aa1a5218acf2a7fe -config_hash: ebaca4741c1a2caf1372aa5bba88d4c7 +config_hash: 6b235571b537b4814a33a1008b443e36 From 72f8a2ab5ea125c3731fe33c73b18b3875184c7f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 29 Oct 2025 03:10:53 +0000 Subject: [PATCH 27/56] chore(internal): codegen related update --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e2a14a9b..de185f11 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,19 +146,19 @@ importers: version: 3.2.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) jest: specifier: ^29.4.0 - version: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) prettier: specifier: ^3.0.0 version: 3.1.1 ts-jest: specifier: ^29.1.0 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)))(typescript@5.8.3) ts-morph: specifier: ^19.0.0 version: 19.0.0 ts-node: specifier: ^10.5.0 - version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3) + version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3) tsc-multi: specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) @@ -793,8 +793,8 @@ packages: '@types/node@20.19.11': resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} - '@types/node@22.18.12': - resolution: {integrity: sha512-BICHQ67iqxQGFSzfCFTT7MRQ5XcBjG5aeKh5Ok38UBbPe5fxTyE+aHFxwVrGyr8GNlqFMLKD1D3P2K/1ks8tog==} + '@types/node@22.18.13': + resolution: {integrity: sha512-Bo45YKIjnmFtv6I1TuC8AaHBbqXtIo+Om5fE4QiU1Tj8QR/qt+8O3BAtOimG5IFmwaWiPmB3Mv3jtYzBA4Us2A==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3021,7 +3021,7 @@ snapshots: '@inquirer/figures': 1.0.14 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.18.12 + '@types/node': 22.18.13 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -3153,7 +3153,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3167,7 +3167,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3526,7 +3526,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.18.12': + '@types/node@22.18.13': dependencies: undici-types: 6.21.0 @@ -3975,13 +3975,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4645,16 +4645,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -4695,7 +4695,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4721,12 +4721,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.11 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3) + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4751,8 +4751,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.18.12 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3) + '@types/node': 22.18.13 + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -4984,12 +4984,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5580,11 +5580,11 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.23.6) - ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.18.12)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -5622,14 +5622,14 @@ snapshots: optionalDependencies: '@swc/core': 1.4.16 - ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.12)(typescript@5.8.3): + ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.7.0 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 22.18.12 + '@types/node': 22.18.13 acorn: 8.14.0 acorn-walk: 8.2.0 arg: 4.1.3 From be77a0b78be435dee9aa3093d0fef7b023fac3c4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 30 Oct 2025 02:51:03 +0000 Subject: [PATCH 28/56] chore(internal): codegen related update --- pnpm-lock.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de185f11..1b7a63c6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -113,7 +113,7 @@ importers: devDependencies: '@anthropic-ai/mcpb': specifier: ^1.1.0 - version: 1.1.1 + version: 1.1.3 '@types/cors': specifier: ^2.8.19 version: 2.8.19 @@ -182,8 +182,8 @@ packages: '@andrewbranch/untar.js@1.0.3': resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} - '@anthropic-ai/mcpb@1.1.1': - resolution: {integrity: sha512-a8R5pQcPPwUfuswR2of4tHDd/NJHv1L6mKJ97hfqE/gZq/xaqL12mDUtQVcyl3g1BV8csi9JOpyf15jLvfIXvQ==} + '@anthropic-ai/mcpb@1.1.3': + resolution: {integrity: sha512-bi9MRLPfgp82KBz1lQfShroqujYTkOWwfuIlnp3PLn5Mk68Xo92kWnEM3jfDstoiMhDhzdHAqii9ZbGQ/UpAVg==} hasBin: true '@arethetypeswrong/cli@0.17.0': @@ -2670,7 +2670,7 @@ snapshots: '@andrewbranch/untar.js@1.0.3': {} - '@anthropic-ai/mcpb@1.1.1': + '@anthropic-ai/mcpb@1.1.3': dependencies: '@inquirer/prompts': 6.0.1 commander: 13.1.0 @@ -2680,6 +2680,7 @@ snapshots: node-forge: 1.3.1 pretty-bytes: 5.6.0 zod: 3.25.76 + zod-to-json-schema: 3.24.6(zod@3.25.76) transitivePeerDependencies: - supports-color From c9bda4fc8d89ea78eb94ef8f8a759aa8c4ea1988 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 31 Oct 2025 04:02:20 +0000 Subject: [PATCH 29/56] chore(internal): codegen related update --- pnpm-lock.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b7a63c6..74df19d3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -113,7 +113,7 @@ importers: devDependencies: '@anthropic-ai/mcpb': specifier: ^1.1.0 - version: 1.1.3 + version: 1.1.5 '@types/cors': specifier: ^2.8.19 version: 2.8.19 @@ -182,8 +182,8 @@ packages: '@andrewbranch/untar.js@1.0.3': resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} - '@anthropic-ai/mcpb@1.1.3': - resolution: {integrity: sha512-bi9MRLPfgp82KBz1lQfShroqujYTkOWwfuIlnp3PLn5Mk68Xo92kWnEM3jfDstoiMhDhzdHAqii9ZbGQ/UpAVg==} + '@anthropic-ai/mcpb@1.1.5': + resolution: {integrity: sha512-G67j23jdEy4U0Dr1WOy3YtRwCid9ReLXmq/2LFBS3jIL+ulqrI+2JedtQuVgQzAnPc41R4AGirH7S4TRbK0RPg==} hasBin: true '@arethetypeswrong/cli@0.17.0': @@ -2670,7 +2670,7 @@ snapshots: '@andrewbranch/untar.js@1.0.3': {} - '@anthropic-ai/mcpb@1.1.3': + '@anthropic-ai/mcpb@1.1.5': dependencies: '@inquirer/prompts': 6.0.1 commander: 13.1.0 From 6128a17ea4d7769d69d32776e971841d88c8b6b2 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 31 Oct 2025 04:07:21 +0000 Subject: [PATCH 30/56] fix(mcpb): pin @anthropic-ai/mcpb version --- packages/mcp-server/package.json | 2 +- pnpm-lock.yaml | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 1a95a6c3..1ce41d8e 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -46,7 +46,7 @@ "mcp-server": "dist/index.js" }, "devDependencies": { - "@anthropic-ai/mcpb": "^1.1.0", + "@anthropic-ai/mcpb": "1.1.0", "@types/cors": "^2.8.19", "@types/express": "^5.0.3", "@types/jest": "^29.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 74df19d3..8084d1ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -112,8 +112,8 @@ importers: version: 4.0.1(zod@3.25.76) devDependencies: '@anthropic-ai/mcpb': - specifier: ^1.1.0 - version: 1.1.5 + specifier: 1.1.0 + version: 1.1.0 '@types/cors': specifier: ^2.8.19 version: 2.8.19 @@ -182,8 +182,8 @@ packages: '@andrewbranch/untar.js@1.0.3': resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} - '@anthropic-ai/mcpb@1.1.5': - resolution: {integrity: sha512-G67j23jdEy4U0Dr1WOy3YtRwCid9ReLXmq/2LFBS3jIL+ulqrI+2JedtQuVgQzAnPc41R4AGirH7S4TRbK0RPg==} + '@anthropic-ai/mcpb@1.1.0': + resolution: {integrity: sha512-nOnhG1eNpGKSIDv6lt3xsI3w2p2k0D/rPTMGXXugLovCEaJ7svh8XMfCe145vs8qo384t8wKbokWAvx9PkQMDA==} hasBin: true '@arethetypeswrong/cli@0.17.0': @@ -2670,7 +2670,7 @@ snapshots: '@andrewbranch/untar.js@1.0.3': {} - '@anthropic-ai/mcpb@1.1.5': + '@anthropic-ai/mcpb@1.1.0': dependencies: '@inquirer/prompts': 6.0.1 commander: 13.1.0 @@ -2680,7 +2680,6 @@ snapshots: node-forge: 1.3.1 pretty-bytes: 5.6.0 zod: 3.25.76 - zod-to-json-schema: 3.24.6(zod@3.25.76) transitivePeerDependencies: - supports-color From 692e4f42982d3eedb78719ea10a44474756f7d5e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 1 Nov 2025 02:32:47 +0000 Subject: [PATCH 31/56] chore(internal): codegen related update --- packages/mcp-server/Dockerfile | 58 +++++++++++++++++----------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/packages/mcp-server/Dockerfile b/packages/mcp-server/Dockerfile index b0544fa0..164ac71d 100644 --- a/packages/mcp-server/Dockerfile +++ b/packages/mcp-server/Dockerfile @@ -1,32 +1,32 @@ # Build stage -FROM node:20-alpine AS builder + FROM node:20-alpine AS builder # Enable corepack to use pnpm RUN corepack enable && corepack prepare pnpm@latest --activate -# Install bash for build script -RUN apk add --no-cache bash openssl + # Install bash for build script + RUN apk add --no-cache bash openssl -# Set working directory -WORKDIR /build + # Set working directory + WORKDIR /build -# Copy entire repository -COPY . . + # Copy entire repository + COPY . . -# Install all dependencies and build everything -RUN pnpm install --frozen-lockfile && \ - pnpm build + # Install all dependencies and build everything + RUN pnpm install --frozen-lockfile && \ + pnpm build -# Production stage + # Production stage - FROM denoland/deno:alpine - RUN apk add --no-cache npm + FROM denoland/deno:alpine + RUN apk add --no-cache npm -# Add non-root user -RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001 + # Add non-root user + RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001 -# Set working directory -WORKDIR /app + # Set working directory + WORKDIR /app # Copy the built mcp-server preserving directory structure COPY --from=builder /build/packages/mcp-server/dist ./packages/mcp-server/dist @@ -35,24 +35,24 @@ COPY --from=builder /build/packages/mcp-server/node_modules ./packages/mcp-serve # Copy node_modules from root (pnpm hoists dependencies here) COPY --from=builder /build/node_modules ./node_modules -# Copy the built @stainless-api/sdk into node_modules -COPY --from=builder /build/dist ./node_modules/@stainless-api/sdk + # Copy the built @stainless-api/sdk into node_modules + COPY --from=builder /build/dist ./node_modules/@stainless-api/sdk -# Change ownership to nodejs user -RUN chown -R nodejs:nodejs /app + # Change ownership to nodejs user + RUN chown -R nodejs:nodejs /app -# Switch to non-root user -USER nodejs + # Switch to non-root user + USER nodejs -# The MCP server uses stdio transport by default -# No exposed ports needed for stdio communication + # The MCP server uses stdio transport by default + # No exposed ports needed for stdio communication # This is needed for node to run on the deno:alpine image. # See . ENV LD_LIBRARY_PATH=/usr/lib:/usr/local/lib -# Set the entrypoint to the MCP server -ENTRYPOINT ["node", "packages/mcp-server/dist/index.js"] + # Set the entrypoint to the MCP server + ENTRYPOINT ["node", "packages/mcp-server/dist/index.js"] -# Allow passing arguments to the MCP server -CMD [] + # Allow passing arguments to the MCP server + CMD [] From 31e06eeef3fe4c186ce2f9b84ae125fff6a2d16a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 4 Nov 2025 05:52:45 +0000 Subject: [PATCH 32/56] chore(internal): codegen related update --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8084d1ed..3c77e198 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,19 +146,19 @@ importers: version: 3.2.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) jest: specifier: ^29.4.0 - version: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) prettier: specifier: ^3.0.0 version: 3.1.1 ts-jest: specifier: ^29.1.0 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)))(typescript@5.8.3) ts-morph: specifier: ^19.0.0 version: 19.0.0 ts-node: specifier: ^10.5.0 - version: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3) + version: 10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3) tsc-multi: specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) @@ -793,8 +793,8 @@ packages: '@types/node@20.19.11': resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} - '@types/node@22.18.13': - resolution: {integrity: sha512-Bo45YKIjnmFtv6I1TuC8AaHBbqXtIo+Om5fE4QiU1Tj8QR/qt+8O3BAtOimG5IFmwaWiPmB3Mv3jtYzBA4Us2A==} + '@types/node@22.19.0': + resolution: {integrity: sha512-xpr/lmLPQEj+TUnHmR+Ab91/glhJvsqcjB+yY0Ix9GO70H6Lb4FHH5GeqdOE5btAx7eIMwuHkp4H2MSkLcqWbA==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3021,7 +3021,7 @@ snapshots: '@inquirer/figures': 1.0.14 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.18.13 + '@types/node': 22.19.0 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -3153,7 +3153,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3167,7 +3167,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3526,7 +3526,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.18.13': + '@types/node@22.19.0': dependencies: undici-types: 6.21.0 @@ -3975,13 +3975,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4645,16 +4645,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -4695,7 +4695,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4721,12 +4721,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.11 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3) + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4751,8 +4751,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.18.13 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3) + '@types/node': 22.19.0 + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -4984,12 +4984,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5580,11 +5580,11 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.23.6) - ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.18.13)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -5622,14 +5622,14 @@ snapshots: optionalDependencies: '@swc/core': 1.4.16 - ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.18.13)(typescript@5.8.3): + ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.7.0 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 22.18.13 + '@types/node': 22.19.0 acorn: 8.14.0 acorn-walk: 8.2.0 arg: 4.1.3 From 26f73e01ba9f1e7a827ea482adb6654b8c98714c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 4 Nov 2025 05:55:31 +0000 Subject: [PATCH 33/56] chore(internal): grammar fix (it's -> its) --- packages/mcp-server/src/code-tool.ts | 4 ++-- packages/mcp-server/src/dynamic-tools.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mcp-server/src/code-tool.ts b/packages/mcp-server/src/code-tool.ts index 5503585a..09248c01 100644 --- a/packages/mcp-server/src/code-tool.ts +++ b/packages/mcp-server/src/code-tool.ts @@ -12,7 +12,7 @@ import { WorkerInput, WorkerError, WorkerSuccess } from './code-tool-types'; /** * A tool that runs code against a copy of the SDK. * - * Instead of exposing every endpoint as it's own tool, which uses up too many tokens for LLMs to use at once, + * Instead of exposing every endpoint as its own tool, which uses up too many tokens for LLMs to use at once, * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then * a generic endpoint that can be used to invoke any endpoint with the provided arguments. * @@ -23,7 +23,7 @@ export async function codeTool(): Promise { const tool: Tool = { name: 'execute', description: - 'Runs Typescript code to interact with the API.\nYou are a skilled programmer writing code to interface with the service.\nDefine an async function named "run" that takes a single parameter of an initialized client, and it will be run.\nDo not initialize a client, but instead use the client that you are given as a parameter.\nYou will be returned anything that your function returns, plus the results of any console.log statements.\nIf any code triggers an error, the tool will return an error response, so you do not need to add error handling unless you want to output something more helpful than the raw error.\nIt is not necessary to add comments to code, unless by adding those comments you believe that you can generate better code.\nThis code will run in a container, and you will not be able to use fetch or otherwise interact with the network calls other than through the client you are given.\nAny variables you define won\'t live between successive uses of this call, so make sure to return or log any data you might need later.', + 'Runs TypeScript code to interact with the API.\nYou are a skilled programmer writing code to interface with the service.\nDefine an async function named "run" that takes a single parameter of an initialized client, and it will be run.\nDo not initialize a client, but instead use the client that you are given as a parameter.\nYou will be returned anything that your function returns, plus the results of any console.log statements.\nIf any code triggers an error, the tool will return an error response, so you do not need to add error handling unless you want to output something more helpful than the raw error.\nIt is not necessary to add comments to code, unless by adding those comments you believe that you can generate better code.\nThis code will run in a container, and you will not be able to use fetch or otherwise interact with the network calls other than through the client you are given.\nAny variables you define won\'t live between successive uses of this call, so make sure to return or log any data you might need later.', inputSchema: { type: 'object', properties: { code: { type: 'string' } } }, }; diff --git a/packages/mcp-server/src/dynamic-tools.ts b/packages/mcp-server/src/dynamic-tools.ts index 70ea85d3..f967f213 100644 --- a/packages/mcp-server/src/dynamic-tools.ts +++ b/packages/mcp-server/src/dynamic-tools.ts @@ -14,7 +14,7 @@ function zodToInputSchema(schema: z.ZodSchema) { /** * A list of tools that expose all the endpoints in the API dynamically. * - * Instead of exposing every endpoint as it's own tool, which uses up too many tokens for LLMs to use at once, + * Instead of exposing every endpoint as its own tool, which uses up too many tokens for LLMs to use at once, * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then * a generic endpoint that can be used to invoke any endpoint with the provided arguments. * From 4b5b5ea49614cdaea1a65680c2235827f775490e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 4 Nov 2025 06:02:16 +0000 Subject: [PATCH 34/56] chore: use structured error when code execution tool errors --- packages/mcp-server/src/code-tool.ts | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/mcp-server/src/code-tool.ts b/packages/mcp-server/src/code-tool.ts index 09248c01..96258cf9 100644 --- a/packages/mcp-server/src/code-tool.ts +++ b/packages/mcp-server/src/code-tool.ts @@ -3,7 +3,7 @@ import { dirname } from 'node:path'; import { pathToFileURL } from 'node:url'; import Stainless, { ClientOptions } from '@stainless-api/sdk'; -import { Endpoint, ContentBlock, Metadata } from './tools/types'; +import { ContentBlock, Endpoint, Metadata, ToolCallResult } from './tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; @@ -31,7 +31,7 @@ export async function codeTool(): Promise { const { newDenoHTTPWorker } = await import('@valtown/deno-http-worker'); const { workerPath } = await import('./code-tool-paths.cjs'); - const handler = async (client: Stainless, args: unknown) => { + const handler = async (client: Stainless, args: unknown): Promise => { const baseURLHostname = new URL(client.baseURL).hostname; const { code } = args as { code: string }; @@ -98,7 +98,7 @@ export async function codeTool(): Promise { } satisfies WorkerInput); req.write(body, (err) => { - if (err !== null && err !== undefined) { + if (err != null) { reject(err); } }); @@ -109,12 +109,12 @@ export async function codeTool(): Promise { if (resp.status === 200) { const { result, logLines, errLines } = (await resp.json()) as WorkerSuccess; const returnOutput: ContentBlock | null = - result === null ? null - : result === undefined ? null - : { + result == null ? null : ( + { type: 'text', - text: typeof result === 'string' ? (result as string) : JSON.stringify(result), - }; + text: typeof result === 'string' ? result : JSON.stringify(result), + } + ); const logOutput: ContentBlock | null = logLines.length === 0 ? null @@ -134,10 +134,11 @@ export async function codeTool(): Promise { }; } else { const { message } = (await resp.json()) as WorkerError; - throw new Error(message); + return { + content: message == null ? [] : [{ type: 'text', text: message }], + isError: true, + }; } - } catch (e) { - throw e; } finally { worker.terminate(); } From 15e25b504f097d09eadf6ba2a2587dbec407182a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 5 Nov 2025 05:29:08 +0000 Subject: [PATCH 35/56] chore: mcp code tool explicit error message when missing a run function --- packages/mcp-server/package.json | 4 +- packages/mcp-server/src/code-tool-worker.ts | 47 +++++++++++++++++++++ pnpm-lock.yaml | 6 +-- 3 files changed, 52 insertions(+), 5 deletions(-) diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 1ce41d8e..56f1f777 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -37,6 +37,7 @@ "express": "^5.1.0", "jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz", "qs": "^6.14.0", + "typescript": "5.8.3", "yargs": "^17.7.2", "zod": "^3.25.20", "zod-to-json-schema": "^3.24.5", @@ -63,8 +64,7 @@ "ts-morph": "^19.0.0", "ts-node": "^10.5.0", "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz", - "tsconfig-paths": "^4.0.0", - "typescript": "5.8.3" + "tsconfig-paths": "^4.0.0" }, "imports": { "@stainless-api/sdk-mcp": ".", diff --git a/packages/mcp-server/src/code-tool-worker.ts b/packages/mcp-server/src/code-tool-worker.ts index 9ac3e255..efba3c42 100644 --- a/packages/mcp-server/src/code-tool-worker.ts +++ b/packages/mcp-server/src/code-tool-worker.ts @@ -1,11 +1,58 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import util from 'node:util'; + +import ts from 'typescript'; + import { WorkerInput, WorkerSuccess, WorkerError } from './code-tool-types'; import { Stainless } from '@stainless-api/sdk'; +function getRunFunctionNode( + code: string, +): ts.FunctionDeclaration | ts.FunctionExpression | ts.ArrowFunction | null { + const sourceFile = ts.createSourceFile('code.ts', code, ts.ScriptTarget.Latest, true); + + for (const statement of sourceFile.statements) { + // Check for top-level function declarations + if (ts.isFunctionDeclaration(statement)) { + if (statement.name?.text === 'run') { + return statement; + } + } + + // Check for variable declarations: const run = () => {} or const run = function() {} + if (ts.isVariableStatement(statement)) { + for (const declaration of statement.declarationList.declarations) { + if (ts.isIdentifier(declaration.name) && declaration.name.text === 'run') { + // Check if it's initialized with a function + if ( + declaration.initializer && + (ts.isFunctionExpression(declaration.initializer) || ts.isArrowFunction(declaration.initializer)) + ) { + return declaration.initializer; + } + } + } + } + } + + return null; +} + const fetch = async (req: Request): Promise => { const { opts, code } = (await req.json()) as WorkerInput; + + const runFunctionNode = getRunFunctionNode(code); + if (!runFunctionNode) { + return Response.json( + { + message: + 'The code is missing a top-level `run` function. Write code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```', + } satisfies WorkerError, + { status: 400, statusText: 'Code execution error' }, + ); + } + const client = new Stainless({ ...opts, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3c77e198..8f5b835f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -98,6 +98,9 @@ importers: qs: specifier: ^6.14.0 version: 6.14.0 + typescript: + specifier: 5.8.3 + version: 5.8.3 yargs: specifier: ^17.7.2 version: 17.7.2 @@ -165,9 +168,6 @@ importers: tsconfig-paths: specifier: ^4.0.0 version: 4.2.0 - typescript: - specifier: 5.8.3 - version: 5.8.3 packages: From 46723815835990f657488a48c95e57450fbd6956 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 5 Nov 2025 05:33:28 +0000 Subject: [PATCH 36/56] feat(mcp): enable optional code execution tool on http mcp servers --- packages/mcp-server/src/options.ts | 13 ++++++++++--- packages/mcp-server/tests/options.test.ts | 22 ++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/packages/mcp-server/src/options.ts b/packages/mcp-server/src/options.ts index 4fe3b987..b6ff5976 100644 --- a/packages/mcp-server/src/options.ts +++ b/packages/mcp-server/src/options.ts @@ -284,8 +284,10 @@ const coerceArray = (zodType: T) => ); const QueryOptions = z.object({ - tools: coerceArray(z.enum(['dynamic', 'all', 'docs'])).describe('Use dynamic tools or all tools'), - no_tools: coerceArray(z.enum(['dynamic', 'all', 'docs'])).describe('Do not use dynamic tools or all tools'), + tools: coerceArray(z.enum(['dynamic', 'all', 'code', 'docs'])).describe('Specify which MCP tools to use'), + no_tools: coerceArray(z.enum(['dynamic', 'all', 'code', 'docs'])).describe( + 'Specify which MCP tools to not use.', + ), tool: coerceArray(z.string()).describe('Include tools matching the specified names'), resource: coerceArray(z.string()).describe('Include tools matching the specified resources'), operation: coerceArray(z.enum(['read', 'write'])).describe( @@ -385,11 +387,16 @@ export function parseQueryOptions(defaultOptions: McpOptions, query: unknown): M : queryOptions.tools?.includes('docs') ? true : defaultOptions.includeDocsTools; + let codeTools: boolean | undefined = + queryOptions.no_tools && queryOptions.no_tools?.includes('code') ? false + : queryOptions.tools?.includes('code') && defaultOptions.includeCodeTools ? true + : defaultOptions.includeCodeTools; + return { client: queryOptions.client ?? defaultOptions.client, includeDynamicTools: dynamicTools, includeAllTools: allTools, - includeCodeTools: undefined, + includeCodeTools: codeTools, includeDocsTools: docsTools, filters, capabilities: clientCapabilities, diff --git a/packages/mcp-server/tests/options.test.ts b/packages/mcp-server/tests/options.test.ts index a8a5b81a..4d9b60ca 100644 --- a/packages/mcp-server/tests/options.test.ts +++ b/packages/mcp-server/tests/options.test.ts @@ -171,6 +171,7 @@ describe('parseQueryOptions', () => { const defaultOptions = { client: undefined, includeDynamicTools: undefined, + includeCodeTools: undefined, includeAllTools: undefined, filters: [], capabilities: { @@ -383,6 +384,27 @@ describe('parseQueryOptions', () => { { type: 'tool', op: 'exclude', value: 'exclude-tool' }, ]); }); + + it('code tools are enabled on http servers with default option set', () => { + const query = 'tools=code'; + const result = parseQueryOptions({ ...defaultOptions, includeCodeTools: true }, query); + + expect(result.includeCodeTools).toBe(true); + }); + + it('code tools are prevented on http servers when no default option set', () => { + const query = 'tools=code'; + const result = parseQueryOptions(defaultOptions, query); + + expect(result.includeCodeTools).toBe(undefined); + }); + + it('code tools are prevented on http servers when default option is explicitly false', () => { + const query = 'tools=code'; + const result = parseQueryOptions({ ...defaultOptions, includeCodeTools: false }, query); + + expect(result.includeCodeTools).toBe(false); + }); }); describe('parseEmbeddedJSON', () => { From 41d708546062afff0b5be01a91f3e4b7f148e589 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 6 Nov 2025 05:45:43 +0000 Subject: [PATCH 37/56] chore(mcp): add friendlier MCP code tool errors on incorrect method invocations --- packages/mcp-server/package.json | 1 + packages/mcp-server/src/code-tool-worker.ts | 108 +++++++++++++++++++- packages/mcp-server/src/code-tool.ts | 2 +- pnpm-lock.yaml | 9 ++ 4 files changed, 118 insertions(+), 2 deletions(-) diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 56f1f777..b3560fc4 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -35,6 +35,7 @@ "@valtown/deno-http-worker": "^0.0.21", "cors": "^2.8.5", "express": "^5.1.0", + "fuse.js": "^7.1.0", "jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz", "qs": "^6.14.0", "typescript": "5.8.3", diff --git a/packages/mcp-server/src/code-tool-worker.ts b/packages/mcp-server/src/code-tool-worker.ts index efba3c42..57733a44 100644 --- a/packages/mcp-server/src/code-tool-worker.ts +++ b/packages/mcp-server/src/code-tool-worker.ts @@ -2,6 +2,7 @@ import util from 'node:util'; +import Fuse from 'fuse.js'; import ts from 'typescript'; import { WorkerInput, WorkerSuccess, WorkerError } from './code-tool-types'; @@ -39,8 +40,113 @@ function getRunFunctionNode( return null; } +const fuse = new Fuse( + [ + 'client.projects.create', + 'client.projects.list', + 'client.projects.retrieve', + 'client.projects.update', + 'client.projects.branches.create', + 'client.projects.branches.delete', + 'client.projects.branches.list', + 'client.projects.branches.rebase', + 'client.projects.branches.retrieve', + 'client.projects.configs.guess', + 'client.projects.configs.retrieve', + 'client.builds.compare', + 'client.builds.create', + 'client.builds.list', + 'client.builds.retrieve', + 'client.builds.diagnostics.list', + 'client.builds.targetOutputs.retrieve', + 'client.orgs.list', + 'client.orgs.retrieve', + 'client.spec.retrieveDecoratedSpec', + ], + { threshold: 1, shouldSort: true }, +); + +function getMethodSuggestions(fullyQualifiedMethodName: string): string[] { + return fuse + .search(fullyQualifiedMethodName) + .map(({ item }) => item) + .slice(0, 5); +} + +const proxyToObj = new WeakMap(); +const objToProxy = new WeakMap(); + +type ClientProxyConfig = { + path: string[]; + isBelievedBad?: boolean; +}; + +function makeSdkProxy(obj: T, { path, isBelievedBad = false }: ClientProxyConfig): T { + let proxy: T = objToProxy.get(obj); + + if (!proxy) { + proxy = new Proxy(obj, { + get(target, prop, receiver) { + const propPath = [...path, String(prop)]; + const value = Reflect.get(target, prop, receiver); + + if (isBelievedBad || (!(prop in target) && value === undefined)) { + // If we're accessing a path that doesn't exist, it will probably eventually error. + // Let's proxy it and mark it bad so that we can control the error message. + // We proxy an empty class so that an invocation or construction attempt is possible. + return makeSdkProxy(class {}, { path: propPath, isBelievedBad: true }); + } + + if (value !== null && (typeof value === 'object' || typeof value === 'function')) { + return makeSdkProxy(value, { path: propPath, isBelievedBad }); + } + + return value; + }, + + apply(target, thisArg, args) { + if (isBelievedBad || typeof target !== 'function') { + const fullyQualifiedMethodName = path.join('.'); + const suggestions = getMethodSuggestions(fullyQualifiedMethodName); + throw new Error( + `${fullyQualifiedMethodName} is not a function. Did you mean: ${suggestions.join(', ')}`, + ); + } + + return Reflect.apply(target, proxyToObj.get(thisArg) ?? thisArg, args); + }, + + construct(target, args, newTarget) { + if (isBelievedBad || typeof target !== 'function') { + const fullyQualifiedMethodName = path.join('.'); + const suggestions = getMethodSuggestions(fullyQualifiedMethodName); + throw new Error( + `${fullyQualifiedMethodName} is not a constructor. Did you mean: ${suggestions.join(', ')}`, + ); + } + + return Reflect.construct(target, args, newTarget); + }, + }); + + objToProxy.set(obj, proxy); + proxyToObj.set(proxy, obj); + } + + return proxy; +} + const fetch = async (req: Request): Promise => { const { opts, code } = (await req.json()) as WorkerInput; + if (code == null) { + return Response.json( + { + message: + 'The code param is missing. Provide one containing a top-level `run` function. Write code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```', + } satisfies WorkerError, + { status: 400, statusText: 'Code execution error' }, + ); + } const runFunctionNode = getRunFunctionNode(code); if (!runFunctionNode) { @@ -73,7 +179,7 @@ const fetch = async (req: Request): Promise => { ${code} run_ = run; `); - const result = await run_(client); + const result = await run_(makeSdkProxy(client, { path: ['client'] })); return Response.json({ result, logLines, diff --git a/packages/mcp-server/src/code-tool.ts b/packages/mcp-server/src/code-tool.ts index 96258cf9..ed3a2e97 100644 --- a/packages/mcp-server/src/code-tool.ts +++ b/packages/mcp-server/src/code-tool.ts @@ -23,7 +23,7 @@ export async function codeTool(): Promise { const tool: Tool = { name: 'execute', description: - 'Runs TypeScript code to interact with the API.\nYou are a skilled programmer writing code to interface with the service.\nDefine an async function named "run" that takes a single parameter of an initialized client, and it will be run.\nDo not initialize a client, but instead use the client that you are given as a parameter.\nYou will be returned anything that your function returns, plus the results of any console.log statements.\nIf any code triggers an error, the tool will return an error response, so you do not need to add error handling unless you want to output something more helpful than the raw error.\nIt is not necessary to add comments to code, unless by adding those comments you believe that you can generate better code.\nThis code will run in a container, and you will not be able to use fetch or otherwise interact with the network calls other than through the client you are given.\nAny variables you define won\'t live between successive uses of this call, so make sure to return or log any data you might need later.', + 'Runs TypeScript code to interact with the API.\n\nYou are a skilled programmer writing code to interface with the service.\nDefine an async function named "run" that takes a single parameter of an initialized client named "client", and it will be run.\nWrite code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```\n\nYou will be returned anything that your function returns, plus the results of any console.log statements.\nIf any code triggers an error, the tool will return an error response, so you do not need to add error handling unless you want to output something more helpful than the raw error.\nIt is not necessary to add comments to code, unless by adding those comments you believe that you can generate better code.\nThis code will run in a container, and you will not be able to use fetch or otherwise interact with the network calls other than through the client you are given.\nAny variables you define won\'t live between successive uses of this call, so make sure to return or log any data you might need later.', inputSchema: { type: 'object', properties: { code: { type: 'string' } } }, }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8f5b835f..ab414f2e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -92,6 +92,9 @@ importers: express: specifier: ^5.1.0 version: 5.1.0 + fuse.js: + specifier: ^7.1.0 + version: 7.1.0 jq-web: specifier: https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz version: https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz @@ -1475,6 +1478,10 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + fuse.js@7.1.0: + resolution: {integrity: sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==} + engines: {node: '>=10'} + galactus@1.0.0: resolution: {integrity: sha512-R1fam6D4CyKQGNlvJne4dkNF+PvUUl7TAJInvTGa9fti9qAv95quQz29GXapA4d8Ec266mJJxFVh82M4GIIGDQ==} engines: {node: '>= 12'} @@ -4381,6 +4388,8 @@ snapshots: function-bind@1.1.2: {} + fuse.js@7.1.0: {} + galactus@1.0.0: dependencies: debug: 4.4.1 From f2514246e9ed694632eb18b67ffe90730948353e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 6 Nov 2025 05:46:36 +0000 Subject: [PATCH 38/56] chore(mcp): add line numbers to code tool errors --- packages/mcp-server/src/code-tool-worker.ts | 27 ++++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/mcp-server/src/code-tool-worker.ts b/packages/mcp-server/src/code-tool-worker.ts index 57733a44..dcff9eb5 100644 --- a/packages/mcp-server/src/code-tool-worker.ts +++ b/packages/mcp-server/src/code-tool-worker.ts @@ -136,6 +136,25 @@ function makeSdkProxy(obj: T, { path, isBelievedBad = false }: return proxy; } +function parseError(code: string, error: unknown): string | undefined { + if (!(error instanceof Error)) return; + const message = error.name ? `${error.name}: ${error.message}` : error.message; + try { + // Deno uses V8; the first ":LINE:COLUMN" is the top of stack. + const lineNumber = error.stack?.match(/:([0-9]+):[0-9]+/)?.[1]; + // -1 for the zero-based indexing + const line = + lineNumber && + code + .split('\n') + .at(parseInt(lineNumber, 10) - 1) + ?.trim(); + return line ? `${message}\n at line ${lineNumber}\n ${line}` : message; + } catch { + return message; + } +} + const fetch = async (req: Request): Promise => { const { opts, code } = (await req.json()) as WorkerInput; if (code == null) { @@ -175,10 +194,7 @@ const fetch = async (req: Request): Promise => { }; try { let run_ = async (client: any) => {}; - eval(` - ${code} - run_ = run; - `); + eval(`${code}\nrun_ = run;`); const result = await run_(makeSdkProxy(client, { path: ['client'] })); return Response.json({ result, @@ -186,10 +202,9 @@ const fetch = async (req: Request): Promise => { errLines, } satisfies WorkerSuccess); } catch (e) { - const message = e instanceof Error ? e.message : undefined; return Response.json( { - message, + message: parseError(code, e), } satisfies WorkerError, { status: 400, statusText: 'Code execution error' }, ); From 266a2739341ece77d84c2ff128c9b2aa5d65add7 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 6 Nov 2025 05:48:18 +0000 Subject: [PATCH 39/56] docs(mcp): add a README button for one-click add to Cursor --- packages/mcp-server/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/mcp-server/README.md b/packages/mcp-server/README.md index ab2157db..cd10d01e 100644 --- a/packages/mcp-server/README.md +++ b/packages/mcp-server/README.md @@ -49,6 +49,13 @@ For clients with a configuration JSON, it might look something like this: } ``` +### Cursor + + If you use Cursor, you can install the MCP server by using the button below. You will need to set your environment variables + in Cursor's `mcp.json`, which can be found in Cursor Settings > Tools & MCP > New MCP Server. + + [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=@stainless-api/sdk-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzdGFpbmxlc3MtYXBpL3Nkay1tY3AiXSwiZW52Ijp7IlNUQUlOTEVTU19BUElfS0VZIjoiU2V0IHlvdXIgU1RBSU5MRVNTX0FQSV9LRVkgaGVyZS4iLCJTVEFJTkxFU1NfUFJPSkVDVCI6IlNldCB5b3VyIFNUQUlOTEVTU19QUk9KRUNUIGhlcmUuIn19) + ## Exposing endpoints to your MCP Client There are two ways to expose endpoints as tools in the MCP server: From 8d5c4c8a196d731f6794b4d94a0eb844adecd395 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 6 Nov 2025 05:51:36 +0000 Subject: [PATCH 40/56] chore(internal): codegen related update --- packages/mcp-server/README.md | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/packages/mcp-server/README.md b/packages/mcp-server/README.md index cd10d01e..b1e3ded3 100644 --- a/packages/mcp-server/README.md +++ b/packages/mcp-server/README.md @@ -51,17 +51,18 @@ For clients with a configuration JSON, it might look something like this: ### Cursor - If you use Cursor, you can install the MCP server by using the button below. You will need to set your environment variables - in Cursor's `mcp.json`, which can be found in Cursor Settings > Tools & MCP > New MCP Server. +If you use Cursor, you can install the MCP server by using the button below. You will need to set your environment variables +in Cursor's `mcp.json`, which can be found in Cursor Settings > Tools & MCP > New MCP Server. - [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=@stainless-api/sdk-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzdGFpbmxlc3MtYXBpL3Nkay1tY3AiXSwiZW52Ijp7IlNUQUlOTEVTU19BUElfS0VZIjoiU2V0IHlvdXIgU1RBSU5MRVNTX0FQSV9LRVkgaGVyZS4iLCJTVEFJTkxFU1NfUFJPSkVDVCI6IlNldCB5b3VyIFNUQUlOTEVTU19QUk9KRUNUIGhlcmUuIn19) +[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=@stainless-api/sdk-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzdGFpbmxlc3MtYXBpL3Nkay1tY3AiXSwiZW52Ijp7IlNUQUlOTEVTU19BUElfS0VZIjoiU2V0IHlvdXIgU1RBSU5MRVNTX0FQSV9LRVkgaGVyZS4iLCJTVEFJTkxFU1NfUFJPSkVDVCI6IlNldCB5b3VyIFNUQUlOTEVTU19QUk9KRUNUIGhlcmUuIn19) ## Exposing endpoints to your MCP Client -There are two ways to expose endpoints as tools in the MCP server: +There are three ways to expose endpoints as tools in the MCP server: 1. Exposing one tool per endpoint, and filtering as necessary 2. Exposing a set of tools to dynamically discover and invoke endpoints from the API +3. Exposing a docs search tool and a code execution tool, allowing the client to write code to be executed against the TypeScript client ### Filtering endpoints and tools @@ -96,6 +97,18 @@ All of these command-line options can be repeated, combined together, and have c Use `--list` to see the list of available tools, or see below. +### Code execution + +If you specify `--tools=code` to the MCP server, it will expose just two tools: + +- `search_docs` - Searches the API documentation and returns a list of markdown results +- `execute` - Runs code against the TypeScript client + +This allows the LLM to implement more complex logic by chaining together many API calls without loading +intermediary results into its context window. + +The code execution itself happens in a Deno sandbox that has network access only to the base URL for the API. + ### Specifying the MCP Client Different clients have varying abilities to handle arbitrary tools and schemas. From 25ed318337f817f1e12b4d8f6760ef76d74dcb4b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 7 Nov 2025 04:00:13 +0000 Subject: [PATCH 41/56] docs(mcp): add a README link to add server to VS Code or Claude Code --- packages/mcp-server/README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/mcp-server/README.md b/packages/mcp-server/README.md index b1e3ded3..3e4268b9 100644 --- a/packages/mcp-server/README.md +++ b/packages/mcp-server/README.md @@ -56,6 +56,22 @@ in Cursor's `mcp.json`, which can be found in Cursor Settings > Tools & MCP > Ne [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=@stainless-api/sdk-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzdGFpbmxlc3MtYXBpL3Nkay1tY3AiXSwiZW52Ijp7IlNUQUlOTEVTU19BUElfS0VZIjoiU2V0IHlvdXIgU1RBSU5MRVNTX0FQSV9LRVkgaGVyZS4iLCJTVEFJTkxFU1NfUFJPSkVDVCI6IlNldCB5b3VyIFNUQUlOTEVTU19QUk9KRUNUIGhlcmUuIn19) +### VS Code + +If you use MCP, you can install the MCP server by clicking the link below. You will need to set your environment variables +in VS Code's `mcp.json`, which can be found via Command Palette > MCP: Open User Configuration. + +[Open VS Code](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40stainless-api%2Fsdk-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40stainless-api%2Fsdk-mcp%22%5D%2C%22env%22%3A%7B%22STAINLESS_API_KEY%22%3A%22Set%20your%20STAINLESS_API_KEY%20here.%22%2C%22STAINLESS_PROJECT%22%3A%22Set%20your%20STAINLESS_PROJECT%20here.%22%7D%7D) + +### Claude Code + +If you use Claude Code, you can install the MCP server by running the command below in your terminal. You will need to set your +environment variables in Claude Code's `.claude.json`, which can be found in your home directory. + +``` +claude mcp add --transport stdio stainless_api_sdk_api --env STAINLESS_API_KEY="Your STAINLESS_API_KEY here." STAINLESS_PROJECT="Your STAINLESS_PROJECT here." -- npx -y @stainless-api/sdk-mcp +``` + ## Exposing endpoints to your MCP Client There are three ways to expose endpoints as tools in the MCP server: From 11cb6bd7fa124295e059111bab3f8c31a821fc73 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 8 Nov 2025 10:29:20 +0000 Subject: [PATCH 42/56] chore(internal): codegen related update --- packages/mcp-server/Dockerfile | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/packages/mcp-server/Dockerfile b/packages/mcp-server/Dockerfile index 164ac71d..8f50b0b6 100644 --- a/packages/mcp-server/Dockerfile +++ b/packages/mcp-server/Dockerfile @@ -1,4 +1,27 @@ -# Build stage +# Dockerfile for Stainless MCP Server + # + # This Dockerfile builds a Docker image for the MCP Server. + # + # To build the image locally: + # docker build -f packages/mcp-server/Dockerfile -t stainlessapi/stainless-mcp:local . + # + # To run the image: + # docker run -i stainlessapi/stainless-mcp:local [OPTIONS] + # + # Common options: + # --tool= Include specific tools + # --resource= Include tools for specific resources + # --operation=read|write Filter by operation type + # --client= Set client compatibility (e.g., claude, cursor) + # --transport= Set transport type (stdio or http) + # + # For a full list of options: + # docker run -i stainlessapi/stainless-mcp:local --help + # + # Note: The MCP server uses stdio transport by default. Docker's -i flag + # enables interactive mode, allowing the container to communicate over stdin/stdout. + + # Build stage FROM node:20-alpine AS builder # Enable corepack to use pnpm From 3dac6b5b9b954b7342a59da26bc3e0c7ac939a0e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 8 Nov 2025 10:37:31 +0000 Subject: [PATCH 43/56] chore(internal): codegen related update --- packages/mcp-server/src/code-tool.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mcp-server/src/code-tool.ts b/packages/mcp-server/src/code-tool.ts index ed3a2e97..a0079400 100644 --- a/packages/mcp-server/src/code-tool.ts +++ b/packages/mcp-server/src/code-tool.ts @@ -23,7 +23,7 @@ export async function codeTool(): Promise { const tool: Tool = { name: 'execute', description: - 'Runs TypeScript code to interact with the API.\n\nYou are a skilled programmer writing code to interface with the service.\nDefine an async function named "run" that takes a single parameter of an initialized client named "client", and it will be run.\nWrite code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```\n\nYou will be returned anything that your function returns, plus the results of any console.log statements.\nIf any code triggers an error, the tool will return an error response, so you do not need to add error handling unless you want to output something more helpful than the raw error.\nIt is not necessary to add comments to code, unless by adding those comments you believe that you can generate better code.\nThis code will run in a container, and you will not be able to use fetch or otherwise interact with the network calls other than through the client you are given.\nAny variables you define won\'t live between successive uses of this call, so make sure to return or log any data you might need later.', + 'Runs JavaScript code to interact with the API.\n\nYou are a skilled programmer writing code to interface with the service.\nDefine an async function named "run" that takes a single parameter of an initialized client named "client", and it will be run.\nWrite code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```\n\nYou will be returned anything that your function returns, plus the results of any console.log statements.\nIf any code triggers an error, the tool will return an error response, so you do not need to add error handling unless you want to output something more helpful than the raw error.\nIt is not necessary to add comments to code, unless by adding those comments you believe that you can generate better code.\nThis code will run in a container, and you will not be able to use fetch or otherwise interact with the network calls other than through the client you are given.\nAny variables you define won\'t live between successive uses of this call, so make sure to return or log any data you might need later.', inputSchema: { type: 'object', properties: { code: { type: 'string' } } }, }; From 6de1b6d21a332a82139fc62a09a339cc3e2deb34 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 11 Nov 2025 05:44:41 +0000 Subject: [PATCH 44/56] chore(internal): codegen related update --- pnpm-lock.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ab414f2e..c5c75c92 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -475,8 +475,8 @@ packages: resolution: {integrity: sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==} engines: {node: '>=18'} - '@inquirer/figures@1.0.14': - resolution: {integrity: sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==} + '@inquirer/figures@1.0.15': + resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} engines: {node: '>=18'} '@inquirer/input@3.0.1': @@ -3013,7 +3013,7 @@ snapshots: '@inquirer/checkbox@3.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.14 + '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.3 @@ -3025,7 +3025,7 @@ snapshots: '@inquirer/core@9.2.1': dependencies: - '@inquirer/figures': 1.0.14 + '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 '@types/node': 22.19.0 @@ -3050,7 +3050,7 @@ snapshots: '@inquirer/type': 2.0.0 yoctocolors-cjs: 2.1.3 - '@inquirer/figures@1.0.14': {} + '@inquirer/figures@1.0.15': {} '@inquirer/input@3.0.1': dependencies: @@ -3090,14 +3090,14 @@ snapshots: '@inquirer/search@2.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.14 + '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 yoctocolors-cjs: 2.1.3 '@inquirer/select@3.0.1': dependencies: '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.14 + '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.3 From ffad92904ee9cb02d76603d8719529f362f83228 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 11 Nov 2025 05:48:47 +0000 Subject: [PATCH 45/56] chore(mcp): clarify http auth error --- packages/mcp-server/src/headers.ts | 4 +++- packages/mcp-server/src/http.ts | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/mcp-server/src/headers.ts b/packages/mcp-server/src/headers.ts index 3a5ae519..632e8c8a 100644 --- a/packages/mcp-server/src/headers.ts +++ b/packages/mcp-server/src/headers.ts @@ -11,7 +11,9 @@ export const parseAuthHeaders = (req: IncomingMessage): Partial = case 'Bearer': return { apiKey: req.headers.authorization.slice('Bearer '.length) }; default: - throw new Error(`Unsupported authorization scheme`); + throw new Error( + 'Unsupported authorization scheme. Expected the "Authorization" header to be a supported scheme (Bearer).', + ); } } diff --git a/packages/mcp-server/src/http.ts b/packages/mcp-server/src/http.ts index ec34ab47..84517003 100644 --- a/packages/mcp-server/src/http.ts +++ b/packages/mcp-server/src/http.ts @@ -46,12 +46,12 @@ const newServer = ({ }, mcpOptions, }); - } catch { + } catch (error) { res.status(401).json({ jsonrpc: '2.0', error: { code: -32000, - message: 'Unauthorized', + message: `Unauthorized: ${error instanceof Error ? error.message : error}`, }, }); return null; From f5c0a4d3c7a8d6f2ecee1cfe6a49b6d7207e2698 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 12 Nov 2025 05:17:41 +0000 Subject: [PATCH 46/56] chore(internal): codegen related update --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c5c75c92..9e6883a9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -152,19 +152,19 @@ importers: version: 3.2.0(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) jest: specifier: ^29.4.0 - version: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)) prettier: specifier: ^3.0.0 version: 3.1.1 ts-jest: specifier: ^29.1.0 - version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)))(typescript@5.8.3) ts-morph: specifier: ^19.0.0 version: 19.0.0 ts-node: specifier: ^10.5.0 - version: 10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3) + version: 10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3) tsc-multi: specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) @@ -796,8 +796,8 @@ packages: '@types/node@20.19.11': resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} - '@types/node@22.19.0': - resolution: {integrity: sha512-xpr/lmLPQEj+TUnHmR+Ab91/glhJvsqcjB+yY0Ix9GO70H6Lb4FHH5GeqdOE5btAx7eIMwuHkp4H2MSkLcqWbA==} + '@types/node@22.19.1': + resolution: {integrity: sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3028,7 +3028,7 @@ snapshots: '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.19.0 + '@types/node': 22.19.1 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -3160,7 +3160,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3))': + '@jest/core@29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3174,7 +3174,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3533,7 +3533,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.19.0': + '@types/node@22.19.1': dependencies: undici-types: 6.21.0 @@ -3982,13 +3982,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4654,16 +4654,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -4704,7 +4704,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4730,12 +4730,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.11 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3) + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)): dependencies: '@babel/core': 7.23.6 '@jest/test-sequencer': 29.7.0 @@ -4760,8 +4760,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.19.0 - ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3) + '@types/node': 22.19.1 + ts-node: 10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -4993,12 +4993,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) + '@jest/core': 29.7.0(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5589,11 +5589,11 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.23.6) - ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.1.1(@babel/core@7.23.6)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.6))(jest@29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.19.0)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.19.1)(ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -5631,14 +5631,14 @@ snapshots: optionalDependencies: '@swc/core': 1.4.16 - ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.0)(typescript@5.8.3): + ts-node@10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.7.0 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 22.19.0 + '@types/node': 22.19.1 acorn: 8.14.0 acorn-walk: 8.2.0 arg: 4.1.3 From 9e8d18a678b57187bfc5944b247abdcd1c4c2245 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 13 Nov 2025 05:16:58 +0000 Subject: [PATCH 47/56] fix(mcp): return tool execution error on jq failure --- packages/mcp-server/src/filtering.ts | 4 ++++ .../builds/diagnostics/list-builds-diagnostics.ts | 13 ++++++++++--- .../src/tools/builds/retrieve-builds.ts | 13 ++++++++++--- .../retrieve-builds-target-outputs.ts | 15 ++++++++++++--- packages/mcp-server/src/tools/orgs/list-orgs.ts | 13 ++++++++++--- .../mcp-server/src/tools/orgs/retrieve-orgs.ts | 13 ++++++++++--- .../projects/branches/list-projects-branches.ts | 13 ++++++++++--- .../projects/configs/guess-projects-configs.ts | 13 ++++++++++--- .../projects/configs/retrieve-projects-configs.ts | 13 ++++++++++--- .../src/tools/projects/create-projects.ts | 13 ++++++++++--- .../src/tools/projects/list-projects.ts | 13 ++++++++++--- .../src/tools/projects/retrieve-projects.ts | 13 ++++++++++--- .../src/tools/projects/update-projects.ts | 13 ++++++++++--- packages/mcp-server/src/tools/types.ts | 12 ++++++++++++ 14 files changed, 138 insertions(+), 36 deletions(-) diff --git a/packages/mcp-server/src/filtering.ts b/packages/mcp-server/src/filtering.ts index 1aa9a40c..eaae0fcf 100644 --- a/packages/mcp-server/src/filtering.ts +++ b/packages/mcp-server/src/filtering.ts @@ -12,3 +12,7 @@ export async function maybeFilter(jqFilter: unknown | undefined, response: any): async function jq(json: any, jqFilter: string) { return (await initJq).json(json, jqFilter); } + +export function isJqError(error: any): error is Error { + return error instanceof Error && 'stderr' in error; +} diff --git a/packages/mcp-server/src/tools/builds/diagnostics/list-builds-diagnostics.ts b/packages/mcp-server/src/tools/builds/diagnostics/list-builds-diagnostics.ts index 95682002..685ba662 100644 --- a/packages/mcp-server/src/tools/builds/diagnostics/list-builds-diagnostics.ts +++ b/packages/mcp-server/src/tools/builds/diagnostics/list-builds-diagnostics.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -80,7 +80,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { buildId, jq_filter, ...body } = args as any; const response = await client.builds.diagnostics.list(buildId, body).asResponse(); - return asTextContentResult(await maybeFilter(jq_filter, await response.json())); + try { + return asTextContentResult(await maybeFilter(jq_filter, await response.json())); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/builds/retrieve-builds.ts b/packages/mcp-server/src/tools/builds/retrieve-builds.ts index 7514969b..58f5e9a6 100644 --- a/packages/mcp-server/src/tools/builds/retrieve-builds.ts +++ b/packages/mcp-server/src/tools/builds/retrieve-builds.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -41,7 +41,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { buildId, jq_filter, ...body } = args as any; - return asTextContentResult(await maybeFilter(jq_filter, await client.builds.retrieve(buildId))); + try { + return asTextContentResult(await maybeFilter(jq_filter, await client.builds.retrieve(buildId))); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts b/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts index 2280dd4e..240b7cc6 100644 --- a/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts +++ b/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -67,7 +67,16 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { jq_filter, ...body } = args as any; - return asTextContentResult(await maybeFilter(jq_filter, await client.builds.targetOutputs.retrieve(body))); + try { + return asTextContentResult( + await maybeFilter(jq_filter, await client.builds.targetOutputs.retrieve(body)), + ); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/orgs/list-orgs.ts b/packages/mcp-server/src/tools/orgs/list-orgs.ts index ae32dba2..161a1ea6 100644 --- a/packages/mcp-server/src/tools/orgs/list-orgs.ts +++ b/packages/mcp-server/src/tools/orgs/list-orgs.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -37,7 +37,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { jq_filter } = args as any; - return asTextContentResult(await maybeFilter(jq_filter, await client.orgs.list())); + try { + return asTextContentResult(await maybeFilter(jq_filter, await client.orgs.list())); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/orgs/retrieve-orgs.ts b/packages/mcp-server/src/tools/orgs/retrieve-orgs.ts index 3a33b3b5..d1fad6b1 100644 --- a/packages/mcp-server/src/tools/orgs/retrieve-orgs.ts +++ b/packages/mcp-server/src/tools/orgs/retrieve-orgs.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -40,7 +40,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { org, jq_filter, ...body } = args as any; - return asTextContentResult(await maybeFilter(jq_filter, await client.orgs.retrieve(org))); + try { + return asTextContentResult(await maybeFilter(jq_filter, await client.orgs.retrieve(org))); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts b/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts index 68bcdb41..33c9f90a 100644 --- a/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts +++ b/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -49,7 +49,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { jq_filter, ...body } = args as any; const response = await client.projects.branches.list(body).asResponse(); - return asTextContentResult(await maybeFilter(jq_filter, await response.json())); + try { + return asTextContentResult(await maybeFilter(jq_filter, await response.json())); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts b/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts index 145c60cc..a051df52 100644 --- a/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts +++ b/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -46,7 +46,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { jq_filter, ...body } = args as any; - return asTextContentResult(await maybeFilter(jq_filter, await client.projects.configs.guess(body))); + try { + return asTextContentResult(await maybeFilter(jq_filter, await client.projects.configs.guess(body))); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts b/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts index 6d65e26a..462a9706 100644 --- a/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts +++ b/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -47,7 +47,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { jq_filter, ...body } = args as any; - return asTextContentResult(await maybeFilter(jq_filter, await client.projects.configs.retrieve(body))); + try { + return asTextContentResult(await maybeFilter(jq_filter, await client.projects.configs.retrieve(body))); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/create-projects.ts b/packages/mcp-server/src/tools/projects/create-projects.ts index 3225fc58..4007d335 100644 --- a/packages/mcp-server/src/tools/projects/create-projects.ts +++ b/packages/mcp-server/src/tools/projects/create-projects.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -77,7 +77,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { jq_filter, ...body } = args as any; - return asTextContentResult(await maybeFilter(jq_filter, await client.projects.create(body))); + try { + return asTextContentResult(await maybeFilter(jq_filter, await client.projects.create(body))); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/list-projects.ts b/packages/mcp-server/src/tools/projects/list-projects.ts index 51d1c3a1..d8418dcd 100644 --- a/packages/mcp-server/src/tools/projects/list-projects.ts +++ b/packages/mcp-server/src/tools/projects/list-projects.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -49,7 +49,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { jq_filter, ...body } = args as any; const response = await client.projects.list(body).asResponse(); - return asTextContentResult(await maybeFilter(jq_filter, await response.json())); + try { + return asTextContentResult(await maybeFilter(jq_filter, await response.json())); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/retrieve-projects.ts b/packages/mcp-server/src/tools/projects/retrieve-projects.ts index 775ff8c4..0a530cee 100644 --- a/packages/mcp-server/src/tools/projects/retrieve-projects.ts +++ b/packages/mcp-server/src/tools/projects/retrieve-projects.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -40,7 +40,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { jq_filter, ...body } = args as any; - return asTextContentResult(await maybeFilter(jq_filter, await client.projects.retrieve(body))); + try { + return asTextContentResult(await maybeFilter(jq_filter, await client.projects.retrieve(body))); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/update-projects.ts b/packages/mcp-server/src/tools/projects/update-projects.ts index 6db03c7f..1a4a8978 100644 --- a/packages/mcp-server/src/tools/projects/update-projects.ts +++ b/packages/mcp-server/src/tools/projects/update-projects.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { maybeFilter } from '@stainless-api/sdk-mcp/filtering'; -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { isJqError, maybeFilter } from '@stainless-api/sdk-mcp/filtering'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -41,7 +41,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { jq_filter, ...body } = args as any; - return asTextContentResult(await maybeFilter(jq_filter, await client.projects.update(body))); + try { + return asTextContentResult(await maybeFilter(jq_filter, await client.projects.update(body))); + } catch (error) { + if (isJqError(error)) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/types.ts b/packages/mcp-server/src/tools/types.ts index a44ab6d4..452cbd24 100644 --- a/packages/mcp-server/src/tools/types.ts +++ b/packages/mcp-server/src/tools/types.ts @@ -87,6 +87,18 @@ export async function asBinaryContentResult(response: Response): Promise Date: Thu, 13 Nov 2025 05:20:28 +0000 Subject: [PATCH 48/56] chore(mcp): upgrade jq-web --- packages/mcp-server/package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index b3560fc4..dbd2328c 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -36,7 +36,7 @@ "cors": "^2.8.5", "express": "^5.1.0", "fuse.js": "^7.1.0", - "jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz", + "jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz", "qs": "^6.14.0", "typescript": "5.8.3", "yargs": "^17.7.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9e6883a9..073cd1e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,8 +96,8 @@ importers: specifier: ^7.1.0 version: 7.1.0 jq-web: - specifier: https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz - version: https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz + specifier: https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz + version: https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz qs: specifier: ^6.14.0 version: 6.14.0 @@ -1832,9 +1832,9 @@ packages: node-notifier: optional: true - jq-web@https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz: - resolution: {tarball: https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz} - version: 0.8.6 + jq-web@https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz: + resolution: {tarball: https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz} + version: 0.8.8 js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -5005,7 +5005,7 @@ snapshots: - supports-color - ts-node - jq-web@https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz: {} + jq-web@https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz: {} js-tokens@4.0.0: {} From 3a752b1115b7eb1aac880d57de764b9d47dc8a62 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 13 Nov 2025 15:42:35 +0000 Subject: [PATCH 49/56] feat(api): add branch reset functionality --- .stats.yml | 8 ++-- api.md | 1 + packages/mcp-server/README.md | 5 ++ packages/mcp-server/src/code-tool-worker.ts | 1 + packages/mcp-server/src/tools/index.ts | 2 + .../branches/reset-projects-branches.ts | 47 +++++++++++++++++++ src/resources/projects/branches.ts | 32 +++++++++++++ src/resources/projects/index.ts | 1 + src/resources/projects/projects.ts | 2 + tests/api-resources/projects/branches.test.ts | 20 ++++++++ 10 files changed, 115 insertions(+), 4 deletions(-) create mode 100644 packages/mcp-server/src/tools/projects/branches/reset-projects-branches.ts diff --git a/.stats.yml b/.stats.yml index e76dae00..750e9ca1 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 20 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/stainless%2Fstainless-v0-030e47a1bfd79a657974f5beddd685940ec04b1aa1786c3b2cb0f4610ad2b42c.yml -openapi_spec_hash: 33b337af28bcc1c9aa1a5218acf2a7fe -config_hash: 6b235571b537b4814a33a1008b443e36 +configured_endpoints: 21 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/stainless%2Fstainless-v0-ec93b81b2d599edd19449bae3cb40bdb17890908d97cc867e36425a45e491c16.yml +openapi_spec_hash: fe8b8fd7782670698fecfe2fcc05f693 +config_hash: 626376bcac885a796930ef32094b8387 diff --git a/api.md b/api.md index 4c0ed2c9..52445f62 100644 --- a/api.md +++ b/api.md @@ -34,6 +34,7 @@ Methods: - client.projects.branches.list({ ...params }) -> BranchListResponsesPage - client.projects.branches.delete(branch, { ...params }) -> unknown - client.projects.branches.rebase(branch, { ...params }) -> ProjectBranch +- client.projects.branches.reset(branch, { ...params }) -> ProjectBranch ## Configs diff --git a/packages/mcp-server/README.md b/packages/mcp-server/README.md index 3e4268b9..3d69984d 100644 --- a/packages/mcp-server/README.md +++ b/packages/mcp-server/README.md @@ -278,6 +278,11 @@ The following tools are available in this MCP server. The branch is rebased onto the `base` branch or commit SHA, inheriting any config and custom code changes. +- `reset_projects_branches` (`write`): Reset a project branch. + + If `branch` === `main`, the branch is reset to `target_config_sha`. Otherwise, the + branch is reset to `main`. + ### Resource `projects.configs`: - `retrieve_projects_configs` (`read`): diff --git a/packages/mcp-server/src/code-tool-worker.ts b/packages/mcp-server/src/code-tool-worker.ts index dcff9eb5..49cead97 100644 --- a/packages/mcp-server/src/code-tool-worker.ts +++ b/packages/mcp-server/src/code-tool-worker.ts @@ -50,6 +50,7 @@ const fuse = new Fuse( 'client.projects.branches.delete', 'client.projects.branches.list', 'client.projects.branches.rebase', + 'client.projects.branches.reset', 'client.projects.branches.retrieve', 'client.projects.configs.guess', 'client.projects.configs.retrieve', diff --git a/packages/mcp-server/src/tools/index.ts b/packages/mcp-server/src/tools/index.ts index 3b9227ed..d7846561 100644 --- a/packages/mcp-server/src/tools/index.ts +++ b/packages/mcp-server/src/tools/index.ts @@ -13,6 +13,7 @@ import retrieve_projects_branches from './projects/branches/retrieve-projects-br import list_projects_branches from './projects/branches/list-projects-branches'; import delete_projects_branches from './projects/branches/delete-projects-branches'; import rebase_projects_branches from './projects/branches/rebase-projects-branches'; +import reset_projects_branches from './projects/branches/reset-projects-branches'; import retrieve_projects_configs from './projects/configs/retrieve-projects-configs'; import guess_projects_configs from './projects/configs/guess-projects-configs'; import create_builds from './builds/create-builds'; @@ -39,6 +40,7 @@ addEndpoint(retrieve_projects_branches); addEndpoint(list_projects_branches); addEndpoint(delete_projects_branches); addEndpoint(rebase_projects_branches); +addEndpoint(reset_projects_branches); addEndpoint(retrieve_projects_configs); addEndpoint(guess_projects_configs); addEndpoint(create_builds); diff --git a/packages/mcp-server/src/tools/projects/branches/reset-projects-branches.ts b/packages/mcp-server/src/tools/projects/branches/reset-projects-branches.ts new file mode 100644 index 00000000..bcd77c69 --- /dev/null +++ b/packages/mcp-server/src/tools/projects/branches/reset-projects-branches.ts @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; + +import { Tool } from '@modelcontextprotocol/sdk/types.js'; +import Stainless from '@stainless-api/sdk'; + +export const metadata: Metadata = { + resource: 'projects.branches', + operation: 'write', + tags: [], + httpMethod: 'put', + httpPath: '/v0/projects/{project}/branches/{branch}/reset', +}; + +export const tool: Tool = { + name: 'reset_projects_branches', + description: + 'Reset a project branch.\n\nIf `branch` === `main`, the branch is reset to `target_config_sha`. Otherwise, the\nbranch is reset to `main`.', + inputSchema: { + type: 'object', + properties: { + project: { + type: 'string', + }, + branch: { + type: 'string', + }, + target_config_sha: { + type: 'string', + description: + 'The commit SHA to reset the main branch to. Required if resetting the main branch; disallowed otherwise.', + }, + }, + required: ['project', 'branch'], + }, + annotations: { + idempotentHint: true, + }, +}; + +export const handler = async (client: Stainless, args: Record | undefined) => { + const { branch, ...body } = args as any; + return asTextContentResult(await client.projects.branches.reset(branch, body)); +}; + +export default { metadata, tool, handler }; diff --git a/src/resources/projects/branches.ts b/src/resources/projects/branches.ts index e4eb3c70..24c76d7a 100644 --- a/src/resources/projects/branches.ts +++ b/src/resources/projects/branches.ts @@ -75,6 +75,24 @@ export class Branches extends APIResource { ...options, }); } + + /** + * Reset a project branch. + * + * If `branch` === `main`, the branch is reset to `target_config_sha`. Otherwise, + * the branch is reset to `main`. + */ + reset( + branch: string, + params: BranchResetParams | null | undefined = {}, + options?: RequestOptions, + ): APIPromise { + const { project = this._client.project, target_config_sha } = params ?? {}; + return this._client.put(path`/v0/projects/${project}/branches/${branch}/reset`, { + query: { target_config_sha }, + ...options, + }); + } } export type BranchListResponsesPage = Page; @@ -236,6 +254,19 @@ export interface BranchRebaseParams { base?: string; } +export interface BranchResetParams { + /** + * Path param: + */ + project?: string; + + /** + * Query param: The commit SHA to reset the main branch to. Required if resetting + * the main branch; disallowed otherwise. + */ + target_config_sha?: string; +} + export declare namespace Branches { export { type ProjectBranch as ProjectBranch, @@ -247,5 +278,6 @@ export declare namespace Branches { type BranchListParams as BranchListParams, type BranchDeleteParams as BranchDeleteParams, type BranchRebaseParams as BranchRebaseParams, + type BranchResetParams as BranchResetParams, }; } diff --git a/src/resources/projects/index.ts b/src/resources/projects/index.ts index 87ebdba5..4df1287d 100644 --- a/src/resources/projects/index.ts +++ b/src/resources/projects/index.ts @@ -10,6 +10,7 @@ export { type BranchListParams, type BranchDeleteParams, type BranchRebaseParams, + type BranchResetParams, type BranchListResponsesPage, } from './branches'; export { diff --git a/src/resources/projects/projects.ts b/src/resources/projects/projects.ts index 2699ffb5..1a3c2de5 100644 --- a/src/resources/projects/projects.ts +++ b/src/resources/projects/projects.ts @@ -11,6 +11,7 @@ import { BranchListResponse, BranchListResponsesPage, BranchRebaseParams, + BranchResetParams, BranchRetrieveParams, Branches, ProjectBranch, @@ -164,6 +165,7 @@ export declare namespace Projects { type BranchListParams as BranchListParams, type BranchDeleteParams as BranchDeleteParams, type BranchRebaseParams as BranchRebaseParams, + type BranchResetParams as BranchResetParams, }; export { diff --git a/tests/api-resources/projects/branches.test.ts b/tests/api-resources/projects/branches.test.ts index 4e26c3f0..f714e79e 100644 --- a/tests/api-resources/projects/branches.test.ts +++ b/tests/api-resources/projects/branches.test.ts @@ -101,4 +101,24 @@ describe('resource branches', () => { test.skip('rebase: required and optional params', async () => { const response = await client.projects.branches.rebase('branch', { project: 'project', base: 'base' }); }); + + // Prism tests are disabled + test.skip('reset: only required params', async () => { + const responsePromise = client.projects.branches.reset('branch', { project: 'project' }); + const rawResponse = await responsePromise.asResponse(); + expect(rawResponse).toBeInstanceOf(Response); + const response = await responsePromise; + expect(response).not.toBeInstanceOf(Response); + const dataAndResponse = await responsePromise.withResponse(); + expect(dataAndResponse.data).toBe(response); + expect(dataAndResponse.response).toBe(rawResponse); + }); + + // Prism tests are disabled + test.skip('reset: required and optional params', async () => { + const response = await client.projects.branches.reset('branch', { + project: 'project', + target_config_sha: 'target_config_sha', + }); + }); }); From e48376be18907ff7b3bda0a4fd89283c2f8a31ce Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 13 Nov 2025 22:23:40 +0000 Subject: [PATCH 50/56] codegen metadata --- .stats.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.stats.yml b/.stats.yml index 750e9ca1..be001acd 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 21 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/stainless%2Fstainless-v0-ec93b81b2d599edd19449bae3cb40bdb17890908d97cc867e36425a45e491c16.yml openapi_spec_hash: fe8b8fd7782670698fecfe2fcc05f693 -config_hash: 626376bcac885a796930ef32094b8387 +config_hash: 50e3bf90ab60d7fbf0d6892930a09fb1 From 8bd5749a8bbff1886c393c26523f191852d38048 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 26 Nov 2025 06:22:34 +0000 Subject: [PATCH 51/56] chore(internal): codegen related update --- pnpm-lock.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 073cd1e1..13f0c82d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2017,8 +2017,8 @@ packages: resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} engines: {node: '>=18'} - node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + node-forge@1.3.2: + resolution: {integrity: sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==} engines: {node: '>= 6.13.0'} node-int64@0.4.0: @@ -2684,7 +2684,7 @@ snapshots: fflate: 0.8.2 galactus: 1.0.0 ignore: 7.0.5 - node-forge: 1.3.1 + node-forge: 1.3.2 pretty-bytes: 5.6.0 zod: 3.25.76 transitivePeerDependencies: @@ -5160,7 +5160,7 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 - node-forge@1.3.1: {} + node-forge@1.3.2: {} node-int64@0.4.0: {} From f0d85109204bf0b13f2b4a44808899776a238c23 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 26 Nov 2025 06:25:42 +0000 Subject: [PATCH 52/56] feat(mcp): add detail field to docs search tool --- packages/mcp-server/src/docs-search-tool.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/mcp-server/src/docs-search-tool.ts b/packages/mcp-server/src/docs-search-tool.ts index 22795104..8c6a0caa 100644 --- a/packages/mcp-server/src/docs-search-tool.ts +++ b/packages/mcp-server/src/docs-search-tool.ts @@ -13,8 +13,7 @@ export const metadata: Metadata = { export const tool: Tool = { name: 'search_docs', - description: - 'Search for documentation for how to use the client to interact with the API.\nThe tool will return an array of Markdown-formatted documentation pages.', + description: 'Search for documentation for how to use the client to interact with the API.', inputSchema: { type: 'object', properties: { @@ -25,7 +24,12 @@ export const tool: Tool = { language: { type: 'string', description: 'The language for the SDK to search for.', - enum: ['http', 'python', 'go', 'typescript', 'terraform', 'ruby', 'java', 'kotlin'], + enum: ['http', 'python', 'go', 'typescript', 'javascript', 'terraform', 'ruby', 'java', 'kotlin'], + }, + detail: { + type: 'string', + description: 'The amount of detail to return.', + enum: ['default', 'verbose'], }, }, required: ['query', 'language'], From ae125747405747c52061a7eb1c1f42df980eda2b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 2 Dec 2025 01:56:33 +0000 Subject: [PATCH 53/56] chore: skip spec resource --- .stats.yml | 4 +- api.md | 10 ----- packages/mcp-server/README.md | 5 --- packages/mcp-server/src/code-tool-types.ts | 6 ++- packages/mcp-server/src/code-tool-worker.ts | 7 +++- packages/mcp-server/src/code-tool.ts | 25 ++++++++++- .../src/tools/builds/create-builds.ts | 11 ++++- .../diagnostics/list-builds-diagnostics.ts | 2 +- .../src/tools/builds/list-builds.ts | 11 ++++- .../src/tools/builds/retrieve-builds.ts | 2 +- .../retrieve-builds-target-outputs.ts | 2 +- packages/mcp-server/src/tools/index.ts | 2 - .../mcp-server/src/tools/orgs/list-orgs.ts | 2 +- .../src/tools/orgs/retrieve-orgs.ts | 2 +- .../branches/create-projects-branches.ts | 11 ++++- .../branches/list-projects-branches.ts | 2 +- .../branches/rebase-projects-branches.ts | 11 ++++- .../branches/reset-projects-branches.ts | 11 ++++- .../branches/retrieve-projects-branches.ts | 11 ++++- .../configs/guess-projects-configs.ts | 2 +- .../configs/retrieve-projects-configs.ts | 2 +- .../src/tools/projects/create-projects.ts | 2 +- .../src/tools/projects/list-projects.ts | 2 +- .../src/tools/projects/retrieve-projects.ts | 2 +- .../src/tools/projects/update-projects.ts | 2 +- .../spec/retrieve-decorated-spec-spec.ts | 41 ------------------- src/client.ts | 11 +---- src/resources/index.ts | 1 - src/resources/spec.ts | 33 --------------- tests/api-resources/spec.test.ts | 27 ------------ 30 files changed, 103 insertions(+), 159 deletions(-) delete mode 100644 packages/mcp-server/src/tools/spec/retrieve-decorated-spec-spec.ts delete mode 100644 src/resources/spec.ts delete mode 100644 tests/api-resources/spec.test.ts diff --git a/.stats.yml b/.stats.yml index be001acd..826f2778 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 21 +configured_endpoints: 20 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/stainless%2Fstainless-v0-ec93b81b2d599edd19449bae3cb40bdb17890908d97cc867e36425a45e491c16.yml openapi_spec_hash: fe8b8fd7782670698fecfe2fcc05f693 -config_hash: 50e3bf90ab60d7fbf0d6892930a09fb1 +config_hash: 8563083ae1fa5c137476fb1237aa8ea9 diff --git a/api.md b/api.md index 52445f62..dd16ab2b 100644 --- a/api.md +++ b/api.md @@ -96,13 +96,3 @@ Methods: - client.orgs.retrieve(org) -> Org - client.orgs.list() -> OrgListResponse - -# Spec - -Types: - -- SpecRetrieveDecoratedSpecResponse - -Methods: - -- client.spec.retrieveDecoratedSpec(projectName, { ...params }) -> unknown diff --git a/packages/mcp-server/README.md b/packages/mcp-server/README.md index 3d69984d..6f3a7f7e 100644 --- a/packages/mcp-server/README.md +++ b/packages/mcp-server/README.md @@ -326,8 +326,3 @@ The following tools are available in this MCP server. - `retrieve_orgs` (`read`): Retrieve an organization by name. - `list_orgs` (`read`): List organizations accessible to the current authentication method. - -### Resource `spec`: - -- `retrieve_decorated_spec_spec` (`read`): - Retrieve the decorated spec for a given application and project. diff --git a/packages/mcp-server/src/code-tool-types.ts b/packages/mcp-server/src/code-tool-types.ts index dbb8000e..3b1aa9cc 100644 --- a/packages/mcp-server/src/code-tool-types.ts +++ b/packages/mcp-server/src/code-tool-types.ts @@ -11,4 +11,8 @@ export type WorkerSuccess = { logLines: string[]; errLines: string[]; }; -export type WorkerError = { message: string | undefined }; +export type WorkerError = { + message: string | undefined; + logLines: string[]; + errLines: string[]; +}; diff --git a/packages/mcp-server/src/code-tool-worker.ts b/packages/mcp-server/src/code-tool-worker.ts index 49cead97..d85f57b1 100644 --- a/packages/mcp-server/src/code-tool-worker.ts +++ b/packages/mcp-server/src/code-tool-worker.ts @@ -62,7 +62,6 @@ const fuse = new Fuse( 'client.builds.targetOutputs.retrieve', 'client.orgs.list', 'client.orgs.retrieve', - 'client.spec.retrieveDecoratedSpec', ], { threshold: 1, shouldSort: true }, ); @@ -163,6 +162,8 @@ const fetch = async (req: Request): Promise => { { message: 'The code param is missing. Provide one containing a top-level `run` function. Write code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```', + logLines: [], + errLines: [], } satisfies WorkerError, { status: 400, statusText: 'Code execution error' }, ); @@ -174,6 +175,8 @@ const fetch = async (req: Request): Promise => { { message: 'The code is missing a top-level `run` function. Write code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```', + logLines: [], + errLines: [], } satisfies WorkerError, { status: 400, statusText: 'Code execution error' }, ); @@ -206,6 +209,8 @@ const fetch = async (req: Request): Promise => { return Response.json( { message: parseError(code, e), + logLines, + errLines, } satisfies WorkerError, { status: 400, statusText: 'Code execution error' }, ); diff --git a/packages/mcp-server/src/code-tool.ts b/packages/mcp-server/src/code-tool.ts index a0079400..c471e03e 100644 --- a/packages/mcp-server/src/code-tool.ts +++ b/packages/mcp-server/src/code-tool.ts @@ -133,9 +133,30 @@ export async function codeTool(): Promise { content: [returnOutput, logOutput, errOutput].filter((block) => block !== null), }; } else { - const { message } = (await resp.json()) as WorkerError; + const { message, logLines, errLines } = (await resp.json()) as WorkerError; + const messageOutput: ContentBlock | null = + message == null ? null : ( + { + type: 'text', + text: message, + } + ); + const logOutput: ContentBlock | null = + logLines.length === 0 ? + null + : { + type: 'text', + text: logLines.join('\n'), + }; + const errOutput: ContentBlock | null = + errLines.length === 0 ? + null + : { + type: 'text', + text: 'Error output:\n' + errLines.join('\n'), + }; return { - content: message == null ? [] : [{ type: 'text', text: message }], + content: [messageOutput, logOutput, errOutput].filter((block) => block !== null), isError: true, }; } diff --git a/packages/mcp-server/src/tools/builds/create-builds.ts b/packages/mcp-server/src/tools/builds/create-builds.ts index dc11b969..7add69c1 100644 --- a/packages/mcp-server/src/tools/builds/create-builds.ts +++ b/packages/mcp-server/src/tools/builds/create-builds.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -86,7 +86,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const body = args as any; - return asTextContentResult(await client.builds.create(body)); + try { + return asTextContentResult(await client.builds.create(body)); + } catch (error) { + if (error instanceof Stainless.APIError) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/builds/diagnostics/list-builds-diagnostics.ts b/packages/mcp-server/src/tools/builds/diagnostics/list-builds-diagnostics.ts index 685ba662..66d5e5b8 100644 --- a/packages/mcp-server/src/tools/builds/diagnostics/list-builds-diagnostics.ts +++ b/packages/mcp-server/src/tools/builds/diagnostics/list-builds-diagnostics.ts @@ -83,7 +83,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await response.json())); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/builds/list-builds.ts b/packages/mcp-server/src/tools/builds/list-builds.ts index d85589e9..c8a7a9a1 100644 --- a/packages/mcp-server/src/tools/builds/list-builds.ts +++ b/packages/mcp-server/src/tools/builds/list-builds.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -61,7 +61,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const body = args as any; const response = await client.builds.list(body).asResponse(); - return asTextContentResult(await response.json()); + try { + return asTextContentResult(await response.json()); + } catch (error) { + if (error instanceof Stainless.APIError) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/builds/retrieve-builds.ts b/packages/mcp-server/src/tools/builds/retrieve-builds.ts index 58f5e9a6..6ad06c9d 100644 --- a/packages/mcp-server/src/tools/builds/retrieve-builds.ts +++ b/packages/mcp-server/src/tools/builds/retrieve-builds.ts @@ -44,7 +44,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await client.builds.retrieve(buildId))); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts b/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts index 240b7cc6..44732ce0 100644 --- a/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts +++ b/packages/mcp-server/src/tools/builds/target-outputs/retrieve-builds-target-outputs.ts @@ -72,7 +72,7 @@ export const handler = async (client: Stainless, args: Record | await maybeFilter(jq_filter, await client.builds.targetOutputs.retrieve(body)), ); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/index.ts b/packages/mcp-server/src/tools/index.ts index d7846561..3402cc83 100644 --- a/packages/mcp-server/src/tools/index.ts +++ b/packages/mcp-server/src/tools/index.ts @@ -23,7 +23,6 @@ import list_builds_diagnostics from './builds/diagnostics/list-builds-diagnostic import retrieve_builds_target_outputs from './builds/target-outputs/retrieve-builds-target-outputs'; import retrieve_orgs from './orgs/retrieve-orgs'; import list_orgs from './orgs/list-orgs'; -import retrieve_decorated_spec_spec from './spec/retrieve-decorated-spec-spec'; export const endpoints: Endpoint[] = []; @@ -50,7 +49,6 @@ addEndpoint(list_builds_diagnostics); addEndpoint(retrieve_builds_target_outputs); addEndpoint(retrieve_orgs); addEndpoint(list_orgs); -addEndpoint(retrieve_decorated_spec_spec); export type Filter = { type: 'resource' | 'operation' | 'tag' | 'tool'; diff --git a/packages/mcp-server/src/tools/orgs/list-orgs.ts b/packages/mcp-server/src/tools/orgs/list-orgs.ts index 161a1ea6..bc6bd4f0 100644 --- a/packages/mcp-server/src/tools/orgs/list-orgs.ts +++ b/packages/mcp-server/src/tools/orgs/list-orgs.ts @@ -40,7 +40,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await client.orgs.list())); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/orgs/retrieve-orgs.ts b/packages/mcp-server/src/tools/orgs/retrieve-orgs.ts index d1fad6b1..a70b6588 100644 --- a/packages/mcp-server/src/tools/orgs/retrieve-orgs.ts +++ b/packages/mcp-server/src/tools/orgs/retrieve-orgs.ts @@ -43,7 +43,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await client.orgs.retrieve(org))); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/projects/branches/create-projects-branches.ts b/packages/mcp-server/src/tools/projects/branches/create-projects-branches.ts index d91a4350..55cfd7dc 100644 --- a/packages/mcp-server/src/tools/projects/branches/create-projects-branches.ts +++ b/packages/mcp-server/src/tools/projects/branches/create-projects-branches.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -43,7 +43,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const body = args as any; - return asTextContentResult(await client.projects.branches.create(body)); + try { + return asTextContentResult(await client.projects.branches.create(body)); + } catch (error) { + if (error instanceof Stainless.APIError) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts b/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts index 33c9f90a..a6e0d433 100644 --- a/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts +++ b/packages/mcp-server/src/tools/projects/branches/list-projects-branches.ts @@ -52,7 +52,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await response.json())); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/projects/branches/rebase-projects-branches.ts b/packages/mcp-server/src/tools/projects/branches/rebase-projects-branches.ts index e88f94ea..8474a891 100644 --- a/packages/mcp-server/src/tools/projects/branches/rebase-projects-branches.ts +++ b/packages/mcp-server/src/tools/projects/branches/rebase-projects-branches.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -40,7 +40,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { branch, ...body } = args as any; - return asTextContentResult(await client.projects.branches.rebase(branch, body)); + try { + return asTextContentResult(await client.projects.branches.rebase(branch, body)); + } catch (error) { + if (error instanceof Stainless.APIError) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/branches/reset-projects-branches.ts b/packages/mcp-server/src/tools/projects/branches/reset-projects-branches.ts index bcd77c69..0e1f1d31 100644 --- a/packages/mcp-server/src/tools/projects/branches/reset-projects-branches.ts +++ b/packages/mcp-server/src/tools/projects/branches/reset-projects-branches.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -41,7 +41,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { branch, ...body } = args as any; - return asTextContentResult(await client.projects.branches.reset(branch, body)); + try { + return asTextContentResult(await client.projects.branches.reset(branch, body)); + } catch (error) { + if (error instanceof Stainless.APIError) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/branches/retrieve-projects-branches.ts b/packages/mcp-server/src/tools/projects/branches/retrieve-projects-branches.ts index 4ef2975b..d466c0c8 100644 --- a/packages/mcp-server/src/tools/projects/branches/retrieve-projects-branches.ts +++ b/packages/mcp-server/src/tools/projects/branches/retrieve-projects-branches.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; +import { Metadata, asErrorResult, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import Stainless from '@stainless-api/sdk'; @@ -35,7 +35,14 @@ export const tool: Tool = { export const handler = async (client: Stainless, args: Record | undefined) => { const { branch, ...body } = args as any; - return asTextContentResult(await client.projects.branches.retrieve(branch, body)); + try { + return asTextContentResult(await client.projects.branches.retrieve(branch, body)); + } catch (error) { + if (error instanceof Stainless.APIError) { + return asErrorResult(error.message); + } + throw error; + } }; export default { metadata, tool, handler }; diff --git a/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts b/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts index a051df52..c0516b9f 100644 --- a/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts +++ b/packages/mcp-server/src/tools/projects/configs/guess-projects-configs.ts @@ -49,7 +49,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await client.projects.configs.guess(body))); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts b/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts index 462a9706..c6e73901 100644 --- a/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts +++ b/packages/mcp-server/src/tools/projects/configs/retrieve-projects-configs.ts @@ -50,7 +50,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await client.projects.configs.retrieve(body))); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/projects/create-projects.ts b/packages/mcp-server/src/tools/projects/create-projects.ts index 4007d335..b4c1f2e9 100644 --- a/packages/mcp-server/src/tools/projects/create-projects.ts +++ b/packages/mcp-server/src/tools/projects/create-projects.ts @@ -80,7 +80,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await client.projects.create(body))); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/projects/list-projects.ts b/packages/mcp-server/src/tools/projects/list-projects.ts index d8418dcd..829883e2 100644 --- a/packages/mcp-server/src/tools/projects/list-projects.ts +++ b/packages/mcp-server/src/tools/projects/list-projects.ts @@ -52,7 +52,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await response.json())); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/projects/retrieve-projects.ts b/packages/mcp-server/src/tools/projects/retrieve-projects.ts index 0a530cee..75abee23 100644 --- a/packages/mcp-server/src/tools/projects/retrieve-projects.ts +++ b/packages/mcp-server/src/tools/projects/retrieve-projects.ts @@ -43,7 +43,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await client.projects.retrieve(body))); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/projects/update-projects.ts b/packages/mcp-server/src/tools/projects/update-projects.ts index 1a4a8978..ff747bb4 100644 --- a/packages/mcp-server/src/tools/projects/update-projects.ts +++ b/packages/mcp-server/src/tools/projects/update-projects.ts @@ -44,7 +44,7 @@ export const handler = async (client: Stainless, args: Record | try { return asTextContentResult(await maybeFilter(jq_filter, await client.projects.update(body))); } catch (error) { - if (isJqError(error)) { + if (error instanceof Stainless.APIError || isJqError(error)) { return asErrorResult(error.message); } throw error; diff --git a/packages/mcp-server/src/tools/spec/retrieve-decorated-spec-spec.ts b/packages/mcp-server/src/tools/spec/retrieve-decorated-spec-spec.ts deleted file mode 100644 index e29e76c4..00000000 --- a/packages/mcp-server/src/tools/spec/retrieve-decorated-spec-spec.ts +++ /dev/null @@ -1,41 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -import { Metadata, asTextContentResult } from '@stainless-api/sdk-mcp/tools/types'; - -import { Tool } from '@modelcontextprotocol/sdk/types.js'; -import Stainless from '@stainless-api/sdk'; - -export const metadata: Metadata = { - resource: 'spec', - operation: 'read', - tags: [], - httpMethod: 'get', - httpPath: '/v0/spec/application/{clientId}/{projectName}', -}; - -export const tool: Tool = { - name: 'retrieve_decorated_spec_spec', - description: '\n Retrieve the decorated spec for a given application and project.\n ', - inputSchema: { - type: 'object', - properties: { - clientId: { - type: 'string', - }, - projectName: { - type: 'string', - }, - }, - required: ['clientId', 'projectName'], - }, - annotations: { - readOnlyHint: true, - }, -}; - -export const handler = async (client: Stainless, args: Record | undefined) => { - const { projectName, ...body } = args as any; - return asTextContentResult((await client.spec.retrieveDecoratedSpec(projectName, body)) as object); -}; - -export default { metadata, tool, handler }; diff --git a/src/client.ts b/src/client.ts index 3bd77a3c..f85c07a3 100644 --- a/src/client.ts +++ b/src/client.ts @@ -20,7 +20,6 @@ import * as Uploads from './core/uploads'; import * as API from './resources/index'; import { APIPromise } from './core/api-promise'; import { Org, OrgListResponse, Orgs } from './resources/orgs'; -import { Spec, SpecRetrieveDecoratedSpecParams, SpecRetrieveDecoratedSpecResponse } from './resources/spec'; import { Build, BuildCompareParams, @@ -157,7 +156,7 @@ export class Stainless { baseURL: string; maxRetries: number; timeout: number; - logger: Logger | undefined; + logger: Logger; logLevel: LogLevel | undefined; fetchOptions: MergedRequestInit | undefined; @@ -784,13 +783,11 @@ export class Stainless { projects: API.Projects = new API.Projects(this); builds: API.Builds = new API.Builds(this); orgs: API.Orgs = new API.Orgs(this); - spec: API.Spec = new API.Spec(this); } Stainless.Projects = Projects; Stainless.Builds = Builds; Stainless.Orgs = Orgs; -Stainless.Spec = Spec; export declare namespace Stainless { export type RequestOptions = Opts.RequestOptions; @@ -822,12 +819,6 @@ export declare namespace Stainless { export { Orgs as Orgs, type Org as Org, type OrgListResponse as OrgListResponse }; - export { - Spec as Spec, - type SpecRetrieveDecoratedSpecResponse as SpecRetrieveDecoratedSpecResponse, - type SpecRetrieveDecoratedSpecParams as SpecRetrieveDecoratedSpecParams, - }; - export type Commit = API.Commit; export type FileInput = API.FileInput; export type Target = API.Target; diff --git a/src/resources/index.ts b/src/resources/index.ts index 59609ccd..92f85a9f 100644 --- a/src/resources/index.ts +++ b/src/resources/index.ts @@ -22,4 +22,3 @@ export { type ProjectListParams, type ProjectsPage, } from './projects/projects'; -export { Spec, type SpecRetrieveDecoratedSpecResponse, type SpecRetrieveDecoratedSpecParams } from './spec'; diff --git a/src/resources/spec.ts b/src/resources/spec.ts deleted file mode 100644 index 1561c356..00000000 --- a/src/resources/spec.ts +++ /dev/null @@ -1,33 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -import { APIResource } from '../core/resource'; -import { APIPromise } from '../core/api-promise'; -import { RequestOptions } from '../internal/request-options'; -import { path } from '../internal/utils/path'; - -export class Spec extends APIResource { - /** - * Retrieve the decorated spec for a given application and project. - */ - retrieveDecoratedSpec( - projectName: string, - params: SpecRetrieveDecoratedSpecParams, - options?: RequestOptions, - ): APIPromise { - const { clientId } = params; - return this._client.get(path`/v0/spec/application/${clientId}/${projectName}`, options); - } -} - -export type SpecRetrieveDecoratedSpecResponse = unknown; - -export interface SpecRetrieveDecoratedSpecParams { - clientId: string; -} - -export declare namespace Spec { - export { - type SpecRetrieveDecoratedSpecResponse as SpecRetrieveDecoratedSpecResponse, - type SpecRetrieveDecoratedSpecParams as SpecRetrieveDecoratedSpecParams, - }; -} diff --git a/tests/api-resources/spec.test.ts b/tests/api-resources/spec.test.ts deleted file mode 100644 index 147e5d80..00000000 --- a/tests/api-resources/spec.test.ts +++ /dev/null @@ -1,27 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -import Stainless from '@stainless-api/sdk'; - -const client = new Stainless({ - apiKey: 'My API Key', - baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010', -}); - -describe('resource spec', () => { - // Prism tests are disabled - test.skip('retrieveDecoratedSpec: only required params', async () => { - const responsePromise = client.spec.retrieveDecoratedSpec('projectName', { clientId: 'clientId' }); - const rawResponse = await responsePromise.asResponse(); - expect(rawResponse).toBeInstanceOf(Response); - const response = await responsePromise; - expect(response).not.toBeInstanceOf(Response); - const dataAndResponse = await responsePromise.withResponse(); - expect(dataAndResponse.data).toBe(response); - expect(dataAndResponse.response).toBe(rawResponse); - }); - - // Prism tests are disabled - test.skip('retrieveDecoratedSpec: required and optional params', async () => { - const response = await client.spec.retrieveDecoratedSpec('projectName', { clientId: 'clientId' }); - }); -}); From 43e2bd2e355038dd86b7c5ed5d76a64842a0f62e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 3 Dec 2025 07:10:30 +0000 Subject: [PATCH 54/56] chore(internal): codegen related update --- package.json | 2 +- pnpm-lock.yaml | 335 +++++++++++++++++++++++++++++++------------------ 2 files changed, 213 insertions(+), 124 deletions(-) diff --git a/package.json b/package.json index dd8fc29c..4d92b16b 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "@types/node": "^20.17.6", "@typescript-eslint/eslint-plugin": "8.31.1", "@typescript-eslint/parser": "8.31.1", - "eslint": "^9.20.1", + "eslint": "^9.39.1", "eslint-plugin-prettier": "^5.4.1", "eslint-plugin-unused-imports": "^4.1.4", "iconv-lite": "^0.6.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 13f0c82d..234237f3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,19 +25,19 @@ importers: version: 20.19.11 '@typescript-eslint/eslint-plugin': specifier: 8.31.1 - version: 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.20.1)(typescript@5.8.3))(eslint@9.20.1)(typescript@5.8.3) + version: 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.1)(typescript@5.8.3))(eslint@9.39.1)(typescript@5.8.3) '@typescript-eslint/parser': specifier: 8.31.1 - version: 8.31.1(eslint@9.20.1)(typescript@5.8.3) + version: 8.31.1(eslint@9.39.1)(typescript@5.8.3) eslint: - specifier: ^9.20.1 - version: 9.20.1 + specifier: ^9.39.1 + version: 9.39.1 eslint-plugin-prettier: specifier: ^5.4.1 - version: 5.4.1(eslint@9.20.1)(prettier@3.1.1) + version: 5.4.1(eslint@9.39.1)(prettier@3.1.1) eslint-plugin-unused-imports: specifier: ^4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.20.1)(typescript@5.8.3))(eslint@9.20.1)(typescript@5.8.3))(eslint@9.20.1) + version: 4.1.4(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.1)(typescript@5.8.3))(eslint@9.39.1)(typescript@5.8.3))(eslint@9.39.1) iconv-lite: specifier: ^0.6.3 version: 0.6.3 @@ -70,7 +70,7 @@ importers: version: 5.8.3 typescript-eslint: specifier: 8.31.1 - version: 8.31.1(eslint@9.20.1)(typescript@5.8.3) + version: 8.31.1(eslint@9.39.1)(typescript@5.8.3) packages/mcp-server: dependencies: @@ -386,52 +386,62 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/regexpp@4.12.1': resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.19.2': - resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.10.0': - resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.11.0': - resolution: {integrity: sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==} + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/eslintrc@3.2.0': - resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + '@eslint/eslintrc@3.3.3': + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/js@8.57.1': resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@9.20.0': - resolution: {integrity: sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==} + '@eslint/js@9.39.1': + resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.5': - resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} engines: {node: '>=18.18.0'} '@humanwhocodes/config-array@0.13.0': @@ -447,12 +457,8 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - - '@humanwhocodes/retry@0.4.1': - resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} '@inquirer/checkbox@3.0.1': @@ -757,8 +763,8 @@ packages: '@types/cors@2.8.19': resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} '@types/express-serve-static-core@5.0.7': resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} @@ -895,6 +901,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -978,12 +989,15 @@ packages: resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} engines: {node: '>=18'} - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -1158,6 +1172,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dedent@1.5.1: resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} peerDependencies: @@ -1296,8 +1319,8 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-scope@8.2.0: - resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: @@ -1308,14 +1331,18 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@8.57.1: resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true - eslint@9.20.1: - resolution: {integrity: sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==} + eslint@9.39.1: + resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1324,8 +1351,8 @@ packages: jiti: optional: true - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: @@ -1451,6 +1478,9 @@ packages: flatted@3.3.2: resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + flora-colossus@2.0.0: resolution: {integrity: sha512-dz4HxH6pOvbUzZpZ/yXhafjbR2I8cenK5xL0KtBFb7U2ADsR+OwXifnxZjij/pZWF775uSCMzWVd+jDik2H2IA==} engines: {node: '>= 12'} @@ -1615,6 +1645,10 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} @@ -1839,14 +1873,18 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} hasBin: true js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} @@ -2071,6 +2109,10 @@ packages: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -2198,8 +2240,8 @@ packages: engines: {node: '>=16'} hasBin: true - punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} pure-rand@6.0.4: @@ -2602,6 +2644,10 @@ packages: engines: {node: '>= 8'} hasBin: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -2730,7 +2776,7 @@ snapshots: '@babel/traverse': 7.23.6 '@babel/types': 7.23.6 convert-source-map: 2.0.0 - debug: 4.4.1 + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -2896,7 +2942,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.23.6 '@babel/types': 7.23.6 - debug: 4.4.1 + debug: 4.4.3 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -2925,26 +2971,33 @@ snapshots: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.4.0(eslint@9.20.1)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.39.1)': + dependencies: + eslint: 9.39.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1)': dependencies: - eslint: 9.20.1 + eslint: 9.39.1 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.19.2': + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.1': dependencies: - '@eslint/object-schema': 2.1.6 - debug: 4.4.1 + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/core@0.10.0': + '@eslint/config-helpers@0.4.2': dependencies: - '@types/json-schema': 7.0.15 + '@eslint/core': 0.17.0 - '@eslint/core@0.11.0': + '@eslint/core@0.17.0': dependencies: '@types/json-schema': 7.0.15 @@ -2962,15 +3015,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/eslintrc@3.2.0': + '@eslint/eslintrc@3.3.3': dependencies: ajv: 6.12.6 - debug: 4.4.1 - espree: 10.3.0 + debug: 4.4.3 + espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 + import-fresh: 3.3.1 + js-yaml: 4.1.1 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: @@ -2978,21 +3031,21 @@ snapshots: '@eslint/js@8.57.1': {} - '@eslint/js@9.20.0': {} + '@eslint/js@9.39.1': {} - '@eslint/object-schema@2.1.6': {} + '@eslint/object-schema@2.1.7': {} - '@eslint/plugin-kit@0.2.5': + '@eslint/plugin-kit@0.4.1': dependencies: - '@eslint/core': 0.10.0 + '@eslint/core': 0.17.0 levn: 0.4.1 '@humanfs/core@0.19.1': {} - '@humanfs/node@0.16.6': + '@humanfs/node@0.16.7': dependencies: '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/retry': 0.4.3 '@humanwhocodes/config-array@0.13.0': dependencies: @@ -3006,9 +3059,7 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@humanwhocodes/retry@0.3.1': {} - - '@humanwhocodes/retry@0.4.1': {} + '@humanwhocodes/retry@0.4.3': {} '@inquirer/checkbox@3.0.1': dependencies: @@ -3111,7 +3162,7 @@ snapshots: camelcase: 5.3.1 find-up: 4.1.0 get-package-type: 0.1.0 - js-yaml: 3.14.1 + js-yaml: 3.14.2 resolve-from: 5.0.0 '@istanbuljs/schema@0.1.3': {} @@ -3485,7 +3536,7 @@ snapshots: dependencies: '@types/node': 20.19.11 - '@types/estree@1.0.6': {} + '@types/estree@1.0.8': {} '@types/express-serve-static-core@5.0.7': dependencies: @@ -3579,15 +3630,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.20.1)(typescript@5.8.3))(eslint@9.20.1)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.1)(typescript@5.8.3))(eslint@9.39.1)(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.31.1(eslint@9.20.1)(typescript@5.8.3) + '@typescript-eslint/parser': 8.31.1(eslint@9.39.1)(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.31.1 - '@typescript-eslint/type-utils': 8.31.1(eslint@9.20.1)(typescript@5.8.3) - '@typescript-eslint/utils': 8.31.1(eslint@9.20.1)(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.31.1(eslint@9.39.1)(typescript@5.8.3) + '@typescript-eslint/utils': 8.31.1(eslint@9.39.1)(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.31.1 - eslint: 9.20.1 + eslint: 9.39.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -3608,14 +3659,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.31.1(eslint@9.20.1)(typescript@5.8.3)': + '@typescript-eslint/parser@8.31.1(eslint@9.39.1)(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.31.1 '@typescript-eslint/types': 8.31.1 '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.31.1 debug: 4.4.1 - eslint: 9.20.1 + eslint: 9.39.1 typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -3636,12 +3687,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.31.1(eslint@9.20.1)(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.31.1(eslint@9.39.1)(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.31.1(eslint@9.20.1)(typescript@5.8.3) + '@typescript-eslint/utils': 8.31.1(eslint@9.39.1)(typescript@5.8.3) debug: 4.4.1 - eslint: 9.20.1 + eslint: 9.39.1 ts-api-utils: 2.0.1(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -3674,13 +3725,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.31.1(eslint@9.20.1)(typescript@5.8.3)': + '@typescript-eslint/utils@8.31.1(eslint@9.39.1)(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.20.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.39.1) '@typescript-eslint/scope-manager': 8.31.1 '@typescript-eslint/types': 8.31.1 '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) - eslint: 9.20.1 + eslint: 9.39.1 typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -3703,10 +3754,16 @@ snapshots: dependencies: acorn: 8.14.0 + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn-walk@8.2.0: {} acorn@8.14.0: {} + acorn@8.15.0: {} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 @@ -3824,7 +3881,7 @@ snapshots: transitivePeerDependencies: - supports-color - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 @@ -3833,6 +3890,10 @@ snapshots: dependencies: balanced-match: 1.0.2 + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -4009,6 +4070,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + dedent@1.5.1: {} deep-is@0.1.4: {} @@ -4076,9 +4141,9 @@ snapshots: prettier-linter-helpers: 1.0.0 synckit: 0.11.8 - eslint-plugin-prettier@5.4.1(eslint@9.20.1)(prettier@3.1.1): + eslint-plugin-prettier@5.4.1(eslint@9.39.1)(prettier@3.1.1): dependencies: - eslint: 9.20.1 + eslint: 9.39.1 prettier: 3.1.1 prettier-linter-helpers: 1.0.0 synckit: 0.11.8 @@ -4090,11 +4155,11 @@ snapshots: optionalDependencies: '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.20.1)(typescript@5.8.3))(eslint@9.20.1)(typescript@5.8.3))(eslint@9.20.1): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.1)(typescript@5.8.3))(eslint@9.39.1)(typescript@5.8.3))(eslint@9.39.1): dependencies: - eslint: 9.20.1 + eslint: 9.39.1 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.20.1)(typescript@5.8.3))(eslint@9.20.1)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.1)(typescript@5.8.3))(eslint@9.39.1)(typescript@5.8.3) eslint-rule-composer@0.3.0: {} @@ -4103,7 +4168,7 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-scope@8.2.0: + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -4112,6 +4177,8 @@ snapshots: eslint-visitor-keys@4.2.0: {} + eslint-visitor-keys@4.2.1: {} + eslint@8.57.1: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) @@ -4155,28 +4222,28 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@9.20.1: - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.20.1) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.2 - '@eslint/core': 0.11.0 - '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.20.0 - '@eslint/plugin-kit': 0.2.5 - '@humanfs/node': 0.16.6 + eslint@9.39.1: + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.39.1 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.1 - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1 + debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint-scope: 8.2.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -4190,15 +4257,15 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 transitivePeerDependencies: - supports-color - espree@10.3.0: + espree@10.4.0: dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 4.2.0 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 espree@9.6.1: dependencies: @@ -4359,11 +4426,13 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.3.2 + flatted: 3.3.3 keyv: 4.5.4 flatted@3.3.2: {} + flatted@3.3.3: {} + flora-colossus@2.0.0: dependencies: debug: 4.4.1 @@ -4518,6 +4587,11 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + import-local@3.1.0: dependencies: pkg-dir: 4.2.0 @@ -4592,7 +4666,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.1 + debug: 4.4.3 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -5009,7 +5083,7 @@ snapshots: js-tokens@4.0.0: {} - js-yaml@3.14.1: + js-yaml@3.14.2: dependencies: argparse: 1.0.10 esprima: 4.0.1 @@ -5018,6 +5092,10 @@ snapshots: dependencies: argparse: 2.0.1 + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + jsesc@2.5.2: {} json-buffer@3.0.1: {} @@ -5119,11 +5197,11 @@ snapshots: minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@5.1.6: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimatch@7.4.6: dependencies: @@ -5210,6 +5288,15 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + os-tmpdir@1.0.2: {} p-all@3.0.0: @@ -5315,7 +5402,7 @@ snapshots: picocolors: 1.1.1 sade: 1.8.1 - punycode@2.3.0: {} + punycode@2.3.1: {} pure-rand@6.0.4: {} @@ -5691,12 +5778,12 @@ snapshots: media-typer: 1.1.0 mime-types: 3.0.1 - typescript-eslint@8.31.1(eslint@9.20.1)(typescript@5.8.3): + typescript-eslint@8.31.1(eslint@9.39.1)(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.20.1)(typescript@5.8.3))(eslint@9.20.1)(typescript@5.8.3) - '@typescript-eslint/parser': 8.31.1(eslint@9.20.1)(typescript@5.8.3) - '@typescript-eslint/utils': 8.31.1(eslint@9.20.1)(typescript@5.8.3) - eslint: 9.20.1 + '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.39.1)(typescript@5.8.3))(eslint@9.39.1)(typescript@5.8.3) + '@typescript-eslint/parser': 8.31.1(eslint@9.39.1)(typescript@5.8.3) + '@typescript-eslint/utils': 8.31.1(eslint@9.39.1)(typescript@5.8.3) + eslint: 9.39.1 typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -5721,7 +5808,7 @@ snapshots: uri-js@4.4.1: dependencies: - punycode: 2.3.0 + punycode: 2.3.1 util-deprecate@1.0.2: {} @@ -5745,6 +5832,8 @@ snapshots: dependencies: isexe: 2.0.0 + word-wrap@1.2.5: {} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 From b78189ce59ff0aebf3cb92ad5b63d6dccd8bc01b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 5 Dec 2025 05:36:20 +0000 Subject: [PATCH 55/56] chore(internal): codegen related update --- packages/mcp-server/package.json | 2 +- packages/mcp-server/src/code-tool-worker.ts | 107 ++++++++++++++++---- packages/mcp-server/src/code-tool.ts | 16 ++- pnpm-lock.yaml | 74 ++++++++++++-- 4 files changed, 168 insertions(+), 31 deletions(-) diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index dbd2328c..90ffb5f6 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -31,7 +31,7 @@ "dependencies": { "@stainless-api/sdk": "workspace:*", "@cloudflare/cabidela": "^0.2.4", - "@modelcontextprotocol/sdk": "^1.11.5", + "@modelcontextprotocol/sdk": "^1.24.0", "@valtown/deno-http-worker": "^0.0.21", "cors": "^2.8.5", "express": "^5.1.0", diff --git a/packages/mcp-server/src/code-tool-worker.ts b/packages/mcp-server/src/code-tool-worker.ts index d85f57b1..016d754a 100644 --- a/packages/mcp-server/src/code-tool-worker.ts +++ b/packages/mcp-server/src/code-tool-worker.ts @@ -1,5 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. +import path from 'node:path'; import util from 'node:util'; import Fuse from 'fuse.js'; @@ -8,30 +9,41 @@ import ts from 'typescript'; import { WorkerInput, WorkerSuccess, WorkerError } from './code-tool-types'; import { Stainless } from '@stainless-api/sdk'; -function getRunFunctionNode( - code: string, -): ts.FunctionDeclaration | ts.FunctionExpression | ts.ArrowFunction | null { +function getRunFunctionSource(code: string): { + type: 'declaration' | 'expression'; + client: string | undefined; + code: string; +} | null { const sourceFile = ts.createSourceFile('code.ts', code, ts.ScriptTarget.Latest, true); + const printer = ts.createPrinter(); for (const statement of sourceFile.statements) { // Check for top-level function declarations if (ts.isFunctionDeclaration(statement)) { if (statement.name?.text === 'run') { - return statement; + return { + type: 'declaration', + client: statement.parameters[0]?.name.getText(), + code: printer.printNode(ts.EmitHint.Unspecified, statement.body!, sourceFile), + }; } } // Check for variable declarations: const run = () => {} or const run = function() {} if (ts.isVariableStatement(statement)) { for (const declaration of statement.declarationList.declarations) { - if (ts.isIdentifier(declaration.name) && declaration.name.text === 'run') { + if ( + ts.isIdentifier(declaration.name) && + declaration.name.text === 'run' && // Check if it's initialized with a function - if ( - declaration.initializer && - (ts.isFunctionExpression(declaration.initializer) || ts.isArrowFunction(declaration.initializer)) - ) { - return declaration.initializer; - } + declaration.initializer && + (ts.isFunctionExpression(declaration.initializer) || ts.isArrowFunction(declaration.initializer)) + ) { + return { + type: 'expression', + client: declaration.initializer.parameters[0]?.name.getText(), + code: printer.printNode(ts.EmitHint.Unspecified, declaration.initializer, sourceFile), + }; } } } @@ -40,6 +52,61 @@ function getRunFunctionNode( return null; } +function getTSDiagnostics(code: string): string[] { + const functionSource = getRunFunctionSource(code)!; + const codeWithImport = [ + 'import { Stainless } from "@stainless-api/sdk";', + functionSource.type === 'declaration' ? + `async function run(${functionSource.client}: Stainless)` + : `const run: (${functionSource.client}: Stainless) => Promise =`, + functionSource.code, + ].join('\n'); + const sourcePath = path.resolve('code.ts'); + const ast = ts.createSourceFile(sourcePath, codeWithImport, ts.ScriptTarget.Latest, true); + const options = ts.getDefaultCompilerOptions(); + options.target = ts.ScriptTarget.Latest; + options.module = ts.ModuleKind.NodeNext; + options.moduleResolution = ts.ModuleResolutionKind.NodeNext; + const host = ts.createCompilerHost(options, true); + const newHost: typeof host = { + ...host, + getSourceFile: (...args) => { + if (path.resolve(args[0]) === sourcePath) { + return ast; + } + return host.getSourceFile(...args); + }, + readFile: (...args) => { + if (path.resolve(args[0]) === sourcePath) { + return codeWithImport; + } + return host.readFile(...args); + }, + fileExists: (...args) => { + if (path.resolve(args[0]) === sourcePath) { + return true; + } + return host.fileExists(...args); + }, + }; + const program = ts.createProgram({ + options, + rootNames: [sourcePath], + host: newHost, + }); + const diagnostics = ts.getPreEmitDiagnostics(program, ast); + return diagnostics.map((d) => { + const message = ts.flattenDiagnosticMessageText(d.messageText, '\n'); + if (!d.file || !d.start) return `- ${message}`; + const { line: tsLine } = ts.getLineAndCharacterOfPosition(d.file, d.start); + // We add two lines in the beginning, for the client import and the function declaration. + // So the actual (zero-based) line number is tsLine - 2. + const lineNumber = tsLine - 2; + const line = code.split('\n').at(lineNumber)?.trim(); + return line ? `- ${message}\n at line ${lineNumber + 1}\n ${line}` : `- ${message}`; + }); +} + const fuse = new Fuse( [ 'client.projects.create', @@ -157,11 +224,16 @@ function parseError(code: string, error: unknown): string | undefined { const fetch = async (req: Request): Promise => { const { opts, code } = (await req.json()) as WorkerInput; - if (code == null) { + + const runFunctionSource = code ? getRunFunctionSource(code) : null; + if (!runFunctionSource) { + const message = + code ? + 'The code is missing a top-level `run` function.' + : 'The code argument is missing. Provide one containing a top-level `run` function.'; return Response.json( { - message: - 'The code param is missing. Provide one containing a top-level `run` function. Write code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```', + message: `${message} Write code within this template:\n\n\`\`\`\nasync function run(client) {\n // Fill this out\n}\n\`\`\``, logLines: [], errLines: [], } satisfies WorkerError, @@ -169,12 +241,11 @@ const fetch = async (req: Request): Promise => { ); } - const runFunctionNode = getRunFunctionNode(code); - if (!runFunctionNode) { + const diagnostics = getTSDiagnostics(code); + if (diagnostics.length > 0) { return Response.json( { - message: - 'The code is missing a top-level `run` function. Write code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```', + message: `The code contains TypeScript diagnostics:\n${diagnostics.join('\n')}`, logLines: [], errLines: [], } satisfies WorkerError, diff --git a/packages/mcp-server/src/code-tool.ts b/packages/mcp-server/src/code-tool.ts index c471e03e..77fb5af0 100644 --- a/packages/mcp-server/src/code-tool.ts +++ b/packages/mcp-server/src/code-tool.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { dirname } from 'node:path'; -import { pathToFileURL } from 'node:url'; +import path from 'node:path'; +import url from 'node:url'; import Stainless, { ClientOptions } from '@stainless-api/sdk'; import { ContentBlock, Endpoint, Metadata, ToolCallResult } from './tools/types'; @@ -35,10 +35,16 @@ export async function codeTool(): Promise { const baseURLHostname = new URL(client.baseURL).hostname; const { code } = args as { code: string }; - const worker = await newDenoHTTPWorker(pathToFileURL(workerPath), { + const allowRead = [ + 'code-tool-worker.mjs', + `${workerPath.replace(/([\/\\]node_modules)[\/\\].+$/, '$1')}/`, + path.resolve(path.dirname(workerPath), '..'), + ].join(','); + + const worker = await newDenoHTTPWorker(url.pathToFileURL(workerPath), { runFlags: [ `--node-modules-dir=manual`, - `--allow-read=code-tool-worker.mjs,${workerPath.replace(/([\/\\]node_modules)[\/\\].+$/, '$1')}/`, + `--allow-read=${allowRead}`, `--allow-net=${baseURLHostname}`, // Allow environment variables because instantiating the client will try to read from them, // even though they are not set. @@ -46,7 +52,7 @@ export async function codeTool(): Promise { ], printOutput: true, spawnOptions: { - cwd: dirname(workerPath), + cwd: path.dirname(workerPath), }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 234237f3..8ec67c7f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -78,8 +78,8 @@ importers: specifier: ^0.2.4 version: 0.2.4 '@modelcontextprotocol/sdk': - specifier: ^1.11.5 - version: 1.18.2 + specifier: ^1.24.0 + version: 1.24.2(zod@3.25.76) '@stainless-api/sdk': specifier: workspace:* version: link:../.. @@ -613,9 +613,15 @@ packages: '@jridgewell/trace-mapping@0.3.20': resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} - '@modelcontextprotocol/sdk@1.18.2': - resolution: {integrity: sha512-beedclIvFcCnPrYgHsylqiYJVJ/CI47Vyc4tY8no1/Li/O8U4BTlJfy6ZwxkYwx+Mx10nrgwSVrA7VBbhh4slg==} + '@modelcontextprotocol/sdk@1.24.2': + resolution: {integrity: sha512-hS/kzSfchqzvUeJUsdiDHi84/kNhLIZaZ6coGQVwbYIelOBbcAwUohUfaQTLa1MvFOK/jbTnGFzraHSFwB7pjQ==} engines: {node: '>=18'} + peerDependencies: + '@cfworker/json-schema': ^4.1.1 + zod: ^3.25 || ^4.0 + peerDependenciesMeta: + '@cfworker/json-schema': + optional: true '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -910,9 +916,20 @@ packages: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -1434,6 +1451,9 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -1866,6 +1886,9 @@ packages: node-notifier: optional: true + jose@6.1.3: + resolution: {integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==} + jq-web@https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz: resolution: {tarball: https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz} version: 0.8.8 @@ -1899,6 +1922,9 @@ packages: json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -2273,6 +2299,10 @@ packages: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -2703,6 +2733,11 @@ packages: peerDependencies: zod: ^3.24.1 + zod-to-json-schema@3.25.0: + resolution: {integrity: sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==} + peerDependencies: + zod: ^3.25 || ^4 + zod-validation-error@4.0.1: resolution: {integrity: sha512-F3rdaCOHs5ViJ5YTz5zzRtfkQdMdIeKudJAoxy7yB/2ZMEHw73lmCAcQw11r7++20MyGl4WV59EVh7A9rNAyog==} engines: {node: '>=18.0.0'} @@ -3385,9 +3420,10 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@modelcontextprotocol/sdk@1.18.2': + '@modelcontextprotocol/sdk@1.24.2(zod@3.25.76)': dependencies: - ajv: 6.12.6 + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) content-type: 1.0.5 cors: 2.8.5 cross-spawn: 7.0.6 @@ -3395,10 +3431,11 @@ snapshots: eventsource-parser: 3.0.6 express: 5.1.0 express-rate-limit: 7.5.1(express@5.1.0) + jose: 6.1.3 pkce-challenge: 5.0.0 raw-body: 3.0.1 zod: 3.25.76 - zod-to-json-schema: 3.24.6(zod@3.25.76) + zod-to-json-schema: 3.25.0(zod@3.25.76) transitivePeerDependencies: - supports-color @@ -3769,6 +3806,10 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 + ajv-formats@3.0.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -3776,6 +3817,13 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -4375,6 +4423,8 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-uri@3.1.0: {} + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -5079,6 +5129,8 @@ snapshots: - supports-color - ts-node + jose@6.1.3: {} + jq-web@https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz: {} js-tokens@4.0.0: {} @@ -5104,6 +5156,8 @@ snapshots: json-schema-traverse@0.4.1: {} + json-schema-traverse@1.0.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} json5@2.2.3: {} @@ -5431,6 +5485,8 @@ snapshots: require-directory@2.1.1: {} + require-from-string@2.0.2: {} + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 @@ -5891,6 +5947,10 @@ snapshots: dependencies: zod: 3.25.76 + zod-to-json-schema@3.25.0(zod@3.25.76): + dependencies: + zod: 3.25.76 + zod-validation-error@4.0.1(zod@3.25.76): dependencies: zod: 3.25.76 From 74b1cbce8f706cf2e1fb503de7c0c32b0dde4f1c Mon Sep 17 00:00:00 2001 From: Stainless Bot <107565488+stainless-bot@users.noreply.github.com> Date: Fri, 5 Dec 2025 00:36:55 -0500 Subject: [PATCH 56/56] release: 0.1.0-alpha.17 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 68 +++++++++++++++++++++++++++++++ package.json | 2 +- packages/mcp-server/package.json | 2 +- packages/mcp-server/src/server.ts | 2 +- src/version.ts | 2 +- 6 files changed, 73 insertions(+), 5 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 47736a5c..a23d2b16 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.16" + ".": "0.1.0-alpha.17" } diff --git a/CHANGELOG.md b/CHANGELOG.md index e709e9ac..abe4a22c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,73 @@ # Changelog +## 0.1.0-alpha.17 (2025-12-05) + +Full Changelog: [v0.1.0-alpha.16...v0.1.0-alpha.17](https://github.com/stainless-api/stainless-api-typescript/compare/v0.1.0-alpha.16...v0.1.0-alpha.17) + +### Features + +* **api:** add branch reset functionality ([3a752b1](https://github.com/stainless-api/stainless-api-typescript/commit/3a752b1115b7eb1aac880d57de764b9d47dc8a62)) +* Expose connection-specific decorated OAS ([f5bf0d1](https://github.com/stainless-api/stainless-api-typescript/commit/f5bf0d19f2aa16e2725268f09723437707eaa398)) +* **mcp:** add detail field to docs search tool ([f0d8510](https://github.com/stainless-api/stainless-api-typescript/commit/f0d85109204bf0b13f2b4a44808899776a238c23)) +* **mcp:** enable optional code execution tool on http mcp servers ([4672381](https://github.com/stainless-api/stainless-api-typescript/commit/46723815835990f657488a48c95e57450fbd6956)) + + +### Bug Fixes + +* **mcpb:** pin @anthropic-ai/mcpb version ([6128a17](https://github.com/stainless-api/stainless-api-typescript/commit/6128a17ea4d7769d69d32776e971841d88c8b6b2)) +* **mcp:** fix cli argument parsing logic ([6f51296](https://github.com/stainless-api/stainless-api-typescript/commit/6f5129610f26504aa48d94375dbff726406aef51)) +* **mcp:** resolve a linting issue in server code ([3695b9c](https://github.com/stainless-api/stainless-api-typescript/commit/3695b9cf8da2c80a10e0164ea689cee3e8e05b4d)) +* **mcp:** return tool execution error on jq failure ([9e8d18a](https://github.com/stainless-api/stainless-api-typescript/commit/9e8d18a678b57187bfc5944b247abdcd1c4c2245)) + + +### Chores + +* extract some types in mcp docs ([6953e19](https://github.com/stainless-api/stainless-api-typescript/commit/6953e19081e6fd162450cb352745829803870036)) +* fix dockerfile ([a8620b9](https://github.com/stainless-api/stainless-api-typescript/commit/a8620b9e901e80a509217c0afdcfde3ca7db2594)) +* **internal:** codegen related update ([b78189c](https://github.com/stainless-api/stainless-api-typescript/commit/b78189ce59ff0aebf3cb92ad5b63d6dccd8bc01b)) +* **internal:** codegen related update ([43e2bd2](https://github.com/stainless-api/stainless-api-typescript/commit/43e2bd2e355038dd86b7c5ed5d76a64842a0f62e)) +* **internal:** codegen related update ([8bd5749](https://github.com/stainless-api/stainless-api-typescript/commit/8bd5749a8bbff1886c393c26523f191852d38048)) +* **internal:** codegen related update ([f5c0a4d](https://github.com/stainless-api/stainless-api-typescript/commit/f5c0a4d3c7a8d6f2ecee1cfe6a49b6d7207e2698)) +* **internal:** codegen related update ([6de1b6d](https://github.com/stainless-api/stainless-api-typescript/commit/6de1b6d21a332a82139fc62a09a339cc3e2deb34)) +* **internal:** codegen related update ([3dac6b5](https://github.com/stainless-api/stainless-api-typescript/commit/3dac6b5b9b954b7342a59da26bc3e0c7ac939a0e)) +* **internal:** codegen related update ([11cb6bd](https://github.com/stainless-api/stainless-api-typescript/commit/11cb6bd7fa124295e059111bab3f8c31a821fc73)) +* **internal:** codegen related update ([8d5c4c8](https://github.com/stainless-api/stainless-api-typescript/commit/8d5c4c8a196d731f6794b4d94a0eb844adecd395)) +* **internal:** codegen related update ([31e06ee](https://github.com/stainless-api/stainless-api-typescript/commit/31e06eeef3fe4c186ce2f9b84ae125fff6a2d16a)) +* **internal:** codegen related update ([692e4f4](https://github.com/stainless-api/stainless-api-typescript/commit/692e4f42982d3eedb78719ea10a44474756f7d5e)) +* **internal:** codegen related update ([c9bda4f](https://github.com/stainless-api/stainless-api-typescript/commit/c9bda4fc8d89ea78eb94ef8f8a759aa8c4ea1988)) +* **internal:** codegen related update ([be77a0b](https://github.com/stainless-api/stainless-api-typescript/commit/be77a0b78be435dee9aa3093d0fef7b023fac3c4)) +* **internal:** codegen related update ([72f8a2a](https://github.com/stainless-api/stainless-api-typescript/commit/72f8a2ab5ea125c3731fe33c73b18b3875184c7f)) +* **internal:** codegen related update ([31e3903](https://github.com/stainless-api/stainless-api-typescript/commit/31e390345ee472e95a30bc6c95d261499419772c)) +* **internal:** codegen related update ([ac32221](https://github.com/stainless-api/stainless-api-typescript/commit/ac322213ce1d438055c5b15834cceb36634155ab)) +* **internal:** codegen related update ([d8d72b0](https://github.com/stainless-api/stainless-api-typescript/commit/d8d72b0c940d6f71d93a93e657226cc49ac7e65b)) +* **internal:** codegen related update ([8be59d8](https://github.com/stainless-api/stainless-api-typescript/commit/8be59d8d750c483fcf89e09f8c115ce55b3c7e04)) +* **internal:** codegen related update ([0f35c17](https://github.com/stainless-api/stainless-api-typescript/commit/0f35c1778e16bc0f8c6542624d6325f34305d758)) +* **internal:** codegen related update ([a4f392b](https://github.com/stainless-api/stainless-api-typescript/commit/a4f392b24af3b8edd027a2519cbc79ac362669b0)) +* **internal:** codegen related update ([4aab75e](https://github.com/stainless-api/stainless-api-typescript/commit/4aab75e95c6be99f8340a16d0e415615db4bded8)) +* **internal:** fix incremental formatting in some cases ([5906dba](https://github.com/stainless-api/stainless-api-typescript/commit/5906dba834a1abec5399fd3cd27459b213a5d301)) +* **internal:** grammar fix (it's -> its) ([26f73e0](https://github.com/stainless-api/stainless-api-typescript/commit/26f73e01ba9f1e7a827ea482adb6654b8c98714c)) +* **internal:** ignore .eslintcache ([c1fe619](https://github.com/stainless-api/stainless-api-typescript/commit/c1fe61994b503fbd898b01feda816845436045a6)) +* **internal:** remove .eslintcache ([80c9762](https://github.com/stainless-api/stainless-api-typescript/commit/80c9762d8834f3fd1ad9ec8a4f8639a6732c8c43)) +* **internal:** use npm pack for build uploads ([64381d5](https://github.com/stainless-api/stainless-api-typescript/commit/64381d5bda0c0469711d936b76bf728965b6c5de)) +* **jsdoc:** fix [@link](https://github.com/link) annotations to refer only to parts of the packageā€˜s public interface ([d443db2](https://github.com/stainless-api/stainless-api-typescript/commit/d443db20c8a895993c651a0d8681f526f970e028)) +* mcp code tool explicit error message when missing a run function ([15e25b5](https://github.com/stainless-api/stainless-api-typescript/commit/15e25b504f097d09eadf6ba2a2587dbec407182a)) +* **mcp:** add friendlier MCP code tool errors on incorrect method invocations ([41d7085](https://github.com/stainless-api/stainless-api-typescript/commit/41d708546062afff0b5be01a91f3e4b7f148e589)) +* **mcp:** add line numbers to code tool errors ([f251424](https://github.com/stainless-api/stainless-api-typescript/commit/f2514246e9ed694632eb18b67ffe90730948353e)) +* **mcp:** allow pointing `docs_search` tool at other URLs ([b8df387](https://github.com/stainless-api/stainless-api-typescript/commit/b8df387d55a125f19cc419605b349c910c8373fe)) +* **mcp:** clarify http auth error ([ffad929](https://github.com/stainless-api/stainless-api-typescript/commit/ffad92904ee9cb02d76603d8719529f362f83228)) +* **mcp:** upgrade jq-web ([13aabb5](https://github.com/stainless-api/stainless-api-typescript/commit/13aabb59fcdecbf26ed86410a7d5258571bfa9c1)) +* skip spec resource ([ae12574](https://github.com/stainless-api/stainless-api-typescript/commit/ae125747405747c52061a7eb1c1f42df980eda2b)) +* update docstrings ([c4f88d9](https://github.com/stainless-api/stainless-api-typescript/commit/c4f88d941696d5f25dd449c33ffe71a46f9a2b2a)) +* update lockfile ([3972fce](https://github.com/stainless-api/stainless-api-typescript/commit/3972fce8d4d77f2cc734c3bc6e8812d1941d41ce)) +* update mcp dockerfile ([d531f3f](https://github.com/stainless-api/stainless-api-typescript/commit/d531f3f03874c84bba354b3a1a2a210946b0658c)) +* use structured error when code execution tool errors ([4b5b5ea](https://github.com/stainless-api/stainless-api-typescript/commit/4b5b5ea49614cdaea1a65680c2235827f775490e)) + + +### Documentation + +* **mcp:** add a README button for one-click add to Cursor ([266a273](https://github.com/stainless-api/stainless-api-typescript/commit/266a2739341ece77d84c2ff128c9b2aa5d65add7)) +* **mcp:** add a README link to add server to VS Code or Claude Code ([25ed318](https://github.com/stainless-api/stainless-api-typescript/commit/25ed318337f817f1e12b4d8f6760ef76d74dcb4b)) + ## 0.1.0-alpha.16 (2025-09-26) Full Changelog: [v0.1.0-alpha.15...v0.1.0-alpha.16](https://github.com/stainless-api/stainless-api-typescript/compare/v0.1.0-alpha.15...v0.1.0-alpha.16) diff --git a/package.json b/package.json index 4d92b16b..4cd2cf2f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@stainless-api/sdk", - "version": "0.1.0-alpha.16", + "version": "0.1.0-alpha.17", "description": "The official TypeScript library for the Stainless API", "author": "Stainless ", "types": "dist/index.d.ts", diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 90ffb5f6..8ab90f89 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -1,6 +1,6 @@ { "name": "@stainless-api/sdk-mcp", - "version": "0.1.0-alpha.16", + "version": "0.1.0-alpha.17", "description": "The official MCP Server for the Stainless API", "author": "Stainless ", "types": "dist/index.d.ts", diff --git a/packages/mcp-server/src/server.ts b/packages/mcp-server/src/server.ts index 20c6e686..b15511f4 100644 --- a/packages/mcp-server/src/server.ts +++ b/packages/mcp-server/src/server.ts @@ -34,7 +34,7 @@ export const newMcpServer = () => new McpServer( { name: 'stainless_api_sdk_api', - version: '0.1.0-alpha.16', + version: '0.1.0-alpha.17', }, { capabilities: { tools: {}, logging: {} } }, ); diff --git a/src/version.ts b/src/version.ts index baebd9dd..35b0d1b4 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.1.0-alpha.16'; // x-release-please-version +export const VERSION = '0.1.0-alpha.17'; // x-release-please-version