├── .gitignore ├── Justfile ├── scripts ├── list-pkgs.sh └── build-pkgs.sh ├── pkgs ├── servers │ ├── github-mcp-server │ │ └── default.nix │ ├── mcp-server-tmdb │ │ ├── default.nix │ │ └── package-lock.json │ ├── mcp-neo4j-cypher │ │ └── default.nix │ └── mcp-server-playwright │ │ └── default.nix ├── reference-servers │ ├── sentry.nix │ ├── sqlite.nix │ ├── time.nix │ ├── git.nix │ ├── fetch.nix │ ├── slack.nix │ ├── gdrive.nix │ ├── github.nix │ ├── gitlab.nix │ ├── memory.nix │ ├── everart.nix │ ├── postgres.nix │ ├── everything.nix │ ├── filesystem.nix │ ├── puppeteer.nix │ ├── google-maps.nix │ ├── brave-search.nix │ └── sequentialthinking.nix └── default.nix ├── flake.nix ├── .github └── workflows │ └── main.yaml ├── flake.lock ├── README.md └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | /result 2 | -------------------------------------------------------------------------------- /Justfile: -------------------------------------------------------------------------------- 1 | _: 2 | @just --list 3 | 4 | fmt: 5 | nixpkgs-fmt . 6 | 7 | fmt-check: 8 | nixpkgs-fmt --check . 9 | 10 | # Update generated sections in readme 11 | readme-update: 12 | present --in-place README.md 13 | 14 | # Check generated sections in readme 15 | readme-check: _tmp 16 | present README.md > tmp/README.md 17 | diff README.md tmp/README.md 18 | 19 | _tmp: 20 | mkdir -p tmp -------------------------------------------------------------------------------- /scripts/list-pkgs.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | OS=$(uname -s | tr 'A-Z' 'a-z') 4 | ARCH=$(uname -m | sed 's/arm64/aarch64/') 5 | 6 | PLATFORM="$ARCH-$OS" 7 | 8 | PACKAGES=$(nix eval .#packages.$PLATFORM --apply builtins.attrNames | tr -d '[]"') 9 | 10 | for PACKAGE in $PACKAGES; do 11 | if [[ "$PACKAGE" == "override" || "$PACKAGE" == "overrideDerivation" ]]; then 12 | continue 13 | fi 14 | 15 | echo "$PACKAGE" 16 | done 17 | -------------------------------------------------------------------------------- /scripts/build-pkgs.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | OS=$(uname -s | tr 'A-Z' 'a-z') 4 | ARCH=$(uname -m | sed 's/arm64/aarch64/') 5 | 6 | PLATFORM="$ARCH-$OS" 7 | 8 | PACKAGES=$(nix eval .#packages.$PLATFORM --apply builtins.attrNames | tr -d '[]"') 9 | 10 | for PACKAGE in $PACKAGES; do 11 | if [[ "$PACKAGE" == "override" || "$PACKAGE" == "overrideDerivation" ]]; then 12 | continue 13 | fi 14 | 15 | echo "nix build .#$PACKAGE -L" 16 | nix build .#$PACKAGE -L 17 | done 18 | -------------------------------------------------------------------------------- /pkgs/servers/github-mcp-server/default.nix: -------------------------------------------------------------------------------- 1 | { buildGoModule 2 | , fetchFromGitHub 3 | }: 4 | 5 | buildGoModule rec { 6 | pname = "github-mcp-server"; 7 | version = "0.1.0"; 8 | 9 | src = fetchFromGitHub { 10 | owner = "github"; 11 | repo = pname; 12 | rev = "v${version}"; 13 | hash = "sha256-LpD4zLAeLFod7sCNvBW8u9Wk0lL75OmlRXZqpQsQMOs="; 14 | }; 15 | 16 | vendorHash = "sha256-YqjcPP4elzdwEVvYUcFBoPYWlFzeT+q2+pxNzgj1X0Q="; 17 | 18 | ldflags = [ 19 | "-s" 20 | "-w" 21 | "-X main.version=v${version}-nix" 22 | ]; 23 | } 24 | -------------------------------------------------------------------------------- /pkgs/servers/mcp-server-tmdb/default.nix: -------------------------------------------------------------------------------- 1 | { buildNpmPackage 2 | , fetchFromGitHub 3 | }: 4 | 5 | buildNpmPackage { 6 | pname = "mcp-server-tmdb"; 7 | version = "1.0.0"; 8 | 9 | src = fetchFromGitHub { 10 | owner = "Laksh-star"; 11 | repo = "mcp-server-tmdb"; 12 | rev = "5efa38caf714132dae7c004242a81da61fe8d4e1"; 13 | hash = "sha256-t8yrcmkdj4qg4es2v4RzyZOzy2kv/iOocgFyVAiBjN0="; 14 | }; 15 | 16 | postPatch = '' 17 | cp ${./package-lock.json} ./package-lock.json 18 | ''; 19 | 20 | npmDepsHash = "sha256-Z4HMfyDfpSY0Wh6TKQASgFa606e+/Q5Dqqg9lX8kNjk="; 21 | } 22 | -------------------------------------------------------------------------------- /pkgs/reference-servers/sentry.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , python3Packages 3 | }: 4 | 5 | python3Packages.buildPythonApplication rec { 6 | pname = "mcp-server-sentry"; 7 | version = "0.6.2"; 8 | 9 | src = fetchFromGitHub 10 | { 11 | owner = "modelcontextprotocol"; 12 | repo = "servers"; 13 | rev = "python-servers-${version}"; 14 | hash = "sha256-UGzt4stV+6N+haBwfGv2i8ruyHjpHnuw4ncECaDdbvE="; 15 | } 16 | + "/src/sentry"; 17 | 18 | pyproject = true; 19 | 20 | build-system = [ python3Packages.hatchling ]; 21 | 22 | dependencies = with python3Packages; [ 23 | mcp 24 | ]; 25 | } 26 | -------------------------------------------------------------------------------- /pkgs/reference-servers/sqlite.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , python3Packages 3 | }: 4 | 5 | python3Packages.buildPythonApplication rec { 6 | pname = "mcp-server-sqlite"; 7 | version = "0.6.2"; 8 | 9 | src = fetchFromGitHub 10 | { 11 | owner = "modelcontextprotocol"; 12 | repo = "servers"; 13 | rev = "python-servers-${version}"; 14 | hash = "sha256-UGzt4stV+6N+haBwfGv2i8ruyHjpHnuw4ncECaDdbvE="; 15 | } 16 | + "/src/sqlite"; 17 | 18 | pyproject = true; 19 | 20 | build-system = [ python3Packages.hatchling ]; 21 | 22 | dependencies = with python3Packages; [ 23 | mcp 24 | ]; 25 | } 26 | -------------------------------------------------------------------------------- /pkgs/reference-servers/time.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , python3Packages 3 | }: 4 | 5 | python3Packages.buildPythonApplication rec { 6 | pname = "mcp-server-time"; 7 | version = "0.6.2"; 8 | 9 | src = fetchFromGitHub 10 | { 11 | owner = "modelcontextprotocol"; 12 | repo = "servers"; 13 | rev = "python-servers-${version}"; 14 | hash = "sha256-UGzt4stV+6N+haBwfGv2i8ruyHjpHnuw4ncECaDdbvE="; 15 | } 16 | + "/src/time"; 17 | 18 | pyproject = true; 19 | 20 | build-system = [ python3Packages.hatchling ]; 21 | 22 | dependencies = with python3Packages; [ 23 | mcp 24 | pydantic 25 | tzdata 26 | ]; 27 | } 28 | -------------------------------------------------------------------------------- /pkgs/servers/mcp-neo4j-cypher/default.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , python3Packages 3 | }: 4 | 5 | python3Packages.buildPythonApplication rec { 6 | pname = "mcp-neo4j-cypher"; 7 | version = "0.1.1"; 8 | 9 | src = fetchFromGitHub 10 | { 11 | owner = "neo4j-contrib"; 12 | repo = "mcp-neo4j"; 13 | rev = "mcp-neo4j-cypher-v.${version}"; 14 | hash = "sha256-DF19ZNlCwCiDlE0X3D8cS39cvmVMqsPbRPySO1yLUOQ="; 15 | } 16 | + "/servers/mcp-neo4j-cypher"; 17 | 18 | pyproject = true; 19 | 20 | build-system = [ python3Packages.hatchling ]; 21 | 22 | dependencies = with python3Packages; [ 23 | mcp 24 | neo4j 25 | ]; 26 | } 27 | -------------------------------------------------------------------------------- /pkgs/reference-servers/git.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , python3Packages 3 | }: 4 | 5 | python3Packages.buildPythonApplication rec { 6 | pname = "mcp-server-git"; 7 | version = "0.6.2"; 8 | 9 | src = fetchFromGitHub 10 | { 11 | owner = "modelcontextprotocol"; 12 | repo = "servers"; 13 | rev = "python-servers-${version}"; 14 | hash = "sha256-UGzt4stV+6N+haBwfGv2i8ruyHjpHnuw4ncECaDdbvE="; 15 | } 16 | + "/src/git"; 17 | 18 | pyproject = true; 19 | 20 | build-system = [ python3Packages.hatchling ]; 21 | 22 | dependencies = with python3Packages; [ 23 | click 24 | gitpython 25 | mcp 26 | pydantic 27 | ]; 28 | } 29 | -------------------------------------------------------------------------------- /pkgs/reference-servers/fetch.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , python3Packages 3 | }: 4 | 5 | python3Packages.buildPythonApplication rec { 6 | pname = "mcp-server-fetch"; 7 | version = "0.6.2"; 8 | 9 | src = fetchFromGitHub 10 | { 11 | owner = "modelcontextprotocol"; 12 | repo = "servers"; 13 | rev = "python-servers-${version}"; 14 | hash = "sha256-UGzt4stV+6N+haBwfGv2i8ruyHjpHnuw4ncECaDdbvE="; 15 | } 16 | + "/src/fetch"; 17 | 18 | pyproject = true; 19 | 20 | build-system = [ python3Packages.hatchling ]; 21 | 22 | dependencies = with python3Packages; [ 23 | markdownify 24 | mcp 25 | protego 26 | pydantic 27 | readabilipy 28 | requests 29 | ]; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/slack.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-slack"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/slack"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/gdrive.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-gdrive"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/gdrive"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/github.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-github"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/github"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/gitlab.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-gitlab"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/gitlab"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/memory.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-memory"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/memory"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/everart.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-everart"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/everart"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/postgres.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-postgres"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/postgres"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/everything.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-everything"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/everything"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/filesystem.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-filesystem"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/filesystem"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/puppeteer.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-puppeteer"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/puppeteer"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/google-maps.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-google-maps"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/google-maps"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/brave-search.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-brave-search"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/brave-search"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/reference-servers/sequentialthinking.nix: -------------------------------------------------------------------------------- 1 | { fetchFromGitHub 2 | , buildNpmPackage 3 | , typescript 4 | , writeScriptBin 5 | }: 6 | 7 | buildNpmPackage rec { 8 | pname = "mcp-server-sequentialthinking"; 9 | version = "0.6.2"; 10 | 11 | src = fetchFromGitHub { 12 | owner = "modelcontextprotocol"; 13 | repo = "servers"; 14 | rev = "typescript-servers-${version}"; 15 | hash = "sha256-FKotJUzP29iZzfRqfWGhdZosWxGX7BBOExxznfLi7Us="; 16 | }; 17 | 18 | npmDepsHash = "sha256-fuJQxbHrv/x49I3WDMQxXC/+kuv/JiTDdHiAEaN94Zw="; 19 | 20 | npmWorkspace = "src/sequentialthinking"; 21 | 22 | nativeBuildInputs = [ 23 | typescript 24 | (writeScriptBin "shx" "") 25 | ]; 26 | 27 | dontCheckForBrokenSymlinks = true; 28 | 29 | PUPPETEER_SKIP_DOWNLOAD = true; 30 | } 31 | -------------------------------------------------------------------------------- /pkgs/servers/mcp-server-playwright/default.nix: -------------------------------------------------------------------------------- 1 | { buildNpmPackage 2 | , fetchFromGitHub 3 | , fetchpatch 4 | }: 5 | 6 | buildNpmPackage rec { 7 | pname = "mcp-server-playwright"; 8 | version = "0.0.10"; 9 | 10 | src = fetchFromGitHub { 11 | owner = "microsoft"; 12 | repo = "playwright-mcp"; 13 | rev = "v${version}"; 14 | hash = "sha256-e7zc4HC+V5W7k1khSbyggQGdcUg9pI1+p5n7Ozu0/m0="; 15 | }; 16 | 17 | # https://github.com/microsoft/playwright-mcp/pull/151 18 | # TODO: remove if this gets merged 19 | patches = [ 20 | (fetchpatch { 21 | url = "https://github.com/microsoft/playwright-mcp/commit/d5a20488306d72a431bccbeb62b4d11eaeaa9632.patch"; 22 | sha256 = "sha256-glrMm8NF1tfr8qfv3Jg7NSgaiX7RcfXU+mpWG76C1yw="; 23 | }) 24 | ]; 25 | 26 | npmDepsHash = "sha256-U2k4gZjpPnyJI0FG4S4Ne6rVzg/nvkPJsNAfqDBJDD8="; 27 | } 28 | -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | inputs = { 3 | flake-utils.url = "github:numtide/flake-utils"; 4 | nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 5 | }; 6 | 7 | outputs = inputs @ { self, ... }: 8 | (inputs.flake-utils.lib.eachDefaultSystem (system: 9 | let 10 | 11 | pkgs = import inputs.nixpkgs { 12 | inherit system; 13 | config = { 14 | allowUnfree = true; 15 | }; 16 | }; 17 | 18 | inherit (pkgs) callPackage mkShell; 19 | 20 | in 21 | rec { 22 | 23 | devShells = { 24 | default = mkShell ({ 25 | buildInputs = with pkgs; [ 26 | just 27 | nixpkgs-fmt 28 | present-cli 29 | ]; 30 | }); 31 | }; 32 | 33 | packages = callPackage ./pkgs { }; 34 | 35 | })); 36 | } 37 | -------------------------------------------------------------------------------- /.github/workflows/main.yaml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | workflow_dispatch: 8 | pull_request: 9 | types: [opened, ready_for_review, reopened, synchronize] 10 | 11 | jobs: 12 | repo-check: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Install Nix 16 | uses: cachix/install-nix-action@v27 17 | with: 18 | nix_path: nixpkgs=channel:nixos-unstable 19 | 20 | - name: Checkout Repo 21 | uses: actions/checkout@v4 22 | 23 | - name: Nix Shell 24 | run: nix develop -c true -L 25 | 26 | - name: Nix Format 27 | run: nix develop -c just fmt-check 28 | 29 | - name: Readme Check 30 | run: nix develop -c just readme-check 31 | 32 | build-packages: 33 | strategy: 34 | matrix: 35 | platform: [ubuntu-latest, macos-latest] 36 | runs-on: ${{ matrix.platform }} 37 | steps: 38 | - name: Install Nix 39 | uses: cachix/install-nix-action@v27 40 | with: 41 | nix_path: nixpkgs=channel:nixos-unstable 42 | 43 | - name: Checkout Repo 44 | uses: actions/checkout@v4 45 | 46 | - name: Nix Shell 47 | run: nix develop -c true -L 48 | 49 | - name: Build Packages 50 | run: nix develop -c scripts/build-pkgs.sh 51 | -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- 1 | { 2 | "nodes": { 3 | "flake-utils": { 4 | "inputs": { 5 | "systems": "systems" 6 | }, 7 | "locked": { 8 | "lastModified": 1731533236, 9 | "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 10 | "owner": "numtide", 11 | "repo": "flake-utils", 12 | "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 13 | "type": "github" 14 | }, 15 | "original": { 16 | "owner": "numtide", 17 | "repo": "flake-utils", 18 | "type": "github" 19 | } 20 | }, 21 | "nixpkgs": { 22 | "locked": { 23 | "lastModified": 1743583204, 24 | "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", 25 | "owner": "NixOS", 26 | "repo": "nixpkgs", 27 | "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", 28 | "type": "github" 29 | }, 30 | "original": { 31 | "owner": "NixOS", 32 | "ref": "nixos-unstable", 33 | "repo": "nixpkgs", 34 | "type": "github" 35 | } 36 | }, 37 | "root": { 38 | "inputs": { 39 | "flake-utils": "flake-utils", 40 | "nixpkgs": "nixpkgs" 41 | } 42 | }, 43 | "systems": { 44 | "locked": { 45 | "lastModified": 1681028828, 46 | "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 47 | "owner": "nix-systems", 48 | "repo": "default", 49 | "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 50 | "type": "github" 51 | }, 52 | "original": { 53 | "owner": "nix-systems", 54 | "repo": "default", 55 | "type": "github" 56 | } 57 | } 58 | }, 59 | "root": "root", 60 | "version": 7 61 | } 62 | -------------------------------------------------------------------------------- /pkgs/default.nix: -------------------------------------------------------------------------------- 1 | { pkgs, callPackage }: 2 | 3 | { 4 | # reference servers (https://github.com/modelcontextprotocol/servers) 5 | mcp-server-brave-search = callPackage ./reference-servers/brave-search.nix { }; 6 | mcp-server-everart = callPackage ./reference-servers/everart.nix { }; 7 | mcp-server-everything = callPackage ./reference-servers/everything.nix { }; 8 | mcp-server-filesystem = callPackage ./reference-servers/filesystem.nix { }; 9 | mcp-server-fetch = callPackage ./reference-servers/fetch.nix { }; 10 | mcp-server-gdrive = callPackage ./reference-servers/gdrive.nix { }; 11 | mcp-server-git = callPackage ./reference-servers/git.nix { }; 12 | mcp-server-github = callPackage ./reference-servers/github.nix { }; 13 | mcp-server-gitlab = callPackage ./reference-servers/gitlab.nix { }; 14 | mcp-server-google-maps = callPackage ./reference-servers/google-maps.nix { }; 15 | mcp-server-memory = callPackage ./reference-servers/memory.nix { }; 16 | mcp-server-postgres = callPackage ./reference-servers/postgres.nix { }; 17 | mcp-server-puppeteer = callPackage ./reference-servers/puppeteer.nix { }; 18 | mcp-server-sentry = callPackage ./reference-servers/sentry.nix { }; 19 | mcp-server-sequentialthinking = callPackage ./reference-servers/sequentialthinking.nix { }; 20 | mcp-server-slack = callPackage ./reference-servers/slack.nix { }; 21 | mcp-server-sqlite = callPackage ./reference-servers/sqlite.nix { }; 22 | mcp-server-time = callPackage ./reference-servers/time.nix { }; 23 | 24 | # servers 25 | github-mcp-server = callPackage ./servers/github-mcp-server { }; 26 | mcp-neo4j-cypher = callPackage ./servers/mcp-neo4j-cypher { }; 27 | mcp-server-tmdb = callPackage ./servers/mcp-server-tmdb { }; 28 | mcp-server-playwright = callPackage ./servers/mcp-server-playwright { }; 29 | } 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # nix-mcp-servers 2 | 3 | This is a repo to hold nix packages for various MCP servers. 4 | 5 | ## Running MCP servers 6 | 7 | MCP servers can be run directly from this flake. 8 | 9 | Run `github-mcp-server` in stdio mode: 10 | ```bash 11 | nix run github:cameronfyfe/nix-mcp-server#github-mcp-server -- stdio 12 | ``` 13 | 14 | ## Installing MCP servers 15 | 16 | MCP servers can be installed on a NixOS system or with [home-manager](https://github.com/nix-community/home-manager) by referencing this flake. 17 | 18 | Add the following to your flake.nix: 19 | 20 | ``` 21 | inputs.nix-mcp-servers.url = "github:cameronfyfe/nix-mcp-servers"; 22 | ``` 23 | 24 | And add any mcp server packages to your `environment.systemPackages` or `home.packages`: 25 | 26 | ``` 27 | [ 28 | ... 29 | inputs.nix-mcp-servers.packages.${system}.github-mcp-server 30 | ... 31 | ] 32 | ``` 33 | 34 | Example nixos-config that installs MCP servers using this flake [here](https://github.com/cameronfyfe/nixos-configs) 35 | 36 | ## MCP Servers List 37 | 38 | ```present scripts/list-pkgs.sh 39 | github-mcp-server 40 | mcp-neo4j-cypher 41 | mcp-server-brave-search 42 | mcp-server-everart 43 | mcp-server-everything 44 | mcp-server-fetch 45 | mcp-server-filesystem 46 | mcp-server-gdrive 47 | mcp-server-git 48 | mcp-server-github 49 | mcp-server-gitlab 50 | mcp-server-google-maps 51 | mcp-server-memory 52 | mcp-server-playwright 53 | mcp-server-postgres 54 | mcp-server-puppeteer 55 | mcp-server-sentry 56 | mcp-server-sequentialthinking 57 | mcp-server-slack 58 | mcp-server-sqlite 59 | mcp-server-time 60 | mcp-server-tmdb 61 | ``` 62 | 63 | ## Contributing 64 | 65 | Contributions of additional MCP servers are welcome. 66 | 67 | ## Related Projects 68 | 69 | - [github.com/aloshy-ai/nix-mcp-servers](https://github.com/aloshy-ai/nix-mcp-servers) 70 | - [github.com/natsukium/mcp-servers-nix](https://github.com/natsukium/mcp-servers-nix) 71 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. -------------------------------------------------------------------------------- /pkgs/servers/mcp-server-tmdb/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mcp-server-tmdb", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "mcp-server-tmdb", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "@modelcontextprotocol/sdk": "^1.0.3", 13 | "node-fetch": "^3.3.2" 14 | }, 15 | "bin": { 16 | "mcp-server-tmdb": "dist/index.js" 17 | }, 18 | "devDependencies": { 19 | "@types/node": "^22.10.1", 20 | "@types/node-fetch": "^2.6.12", 21 | "shx": "^0.3.4", 22 | "typescript": "^5.7.2" 23 | } 24 | }, 25 | "node_modules/@modelcontextprotocol/sdk": { 26 | "version": "1.4.1", 27 | "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.4.1.tgz", 28 | "integrity": "sha512-wS6YC4lkUZ9QpP+/7NBTlVNiEvsnyl0xF7rRusLF+RsG0xDPc/zWR7fEEyhKnnNutGsDAZh59l/AeoWGwIb1+g==", 29 | "dependencies": { 30 | "content-type": "^1.0.5", 31 | "eventsource": "^3.0.2", 32 | "raw-body": "^3.0.0", 33 | "zod": "^3.23.8", 34 | "zod-to-json-schema": "^3.24.1" 35 | }, 36 | "engines": { 37 | "node": ">=18" 38 | } 39 | }, 40 | "node_modules/@types/node": { 41 | "version": "22.12.0", 42 | "resolved": "https://registry.npmjs.org/@types/node/-/node-22.12.0.tgz", 43 | "integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==", 44 | "dev": true, 45 | "dependencies": { 46 | "undici-types": "~6.20.0" 47 | } 48 | }, 49 | "node_modules/@types/node-fetch": { 50 | "version": "2.6.12", 51 | "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", 52 | "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", 53 | "dev": true, 54 | "dependencies": { 55 | "@types/node": "*", 56 | "form-data": "^4.0.0" 57 | } 58 | }, 59 | "node_modules/asynckit": { 60 | "version": "0.4.0", 61 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 62 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", 63 | "dev": true 64 | }, 65 | "node_modules/balanced-match": { 66 | "version": "1.0.2", 67 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 68 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 69 | "dev": true 70 | }, 71 | "node_modules/brace-expansion": { 72 | "version": "1.1.11", 73 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 74 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 75 | "dev": true, 76 | "dependencies": { 77 | "balanced-match": "^1.0.0", 78 | "concat-map": "0.0.1" 79 | } 80 | }, 81 | "node_modules/bytes": { 82 | "version": "3.1.2", 83 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 84 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", 85 | "engines": { 86 | "node": ">= 0.8" 87 | } 88 | }, 89 | "node_modules/combined-stream": { 90 | "version": "1.0.8", 91 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 92 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 93 | "dev": true, 94 | "dependencies": { 95 | "delayed-stream": "~1.0.0" 96 | }, 97 | "engines": { 98 | "node": ">= 0.8" 99 | } 100 | }, 101 | "node_modules/concat-map": { 102 | "version": "0.0.1", 103 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 104 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 105 | "dev": true 106 | }, 107 | "node_modules/content-type": { 108 | "version": "1.0.5", 109 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 110 | "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", 111 | "engines": { 112 | "node": ">= 0.6" 113 | } 114 | }, 115 | "node_modules/data-uri-to-buffer": { 116 | "version": "4.0.1", 117 | "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", 118 | "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", 119 | "engines": { 120 | "node": ">= 12" 121 | } 122 | }, 123 | "node_modules/delayed-stream": { 124 | "version": "1.0.0", 125 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 126 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 127 | "dev": true, 128 | "engines": { 129 | "node": ">=0.4.0" 130 | } 131 | }, 132 | "node_modules/depd": { 133 | "version": "2.0.0", 134 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 135 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", 136 | "engines": { 137 | "node": ">= 0.8" 138 | } 139 | }, 140 | "node_modules/eventsource": { 141 | "version": "3.0.5", 142 | "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.5.tgz", 143 | "integrity": "sha512-LT/5J605bx5SNyE+ITBDiM3FxffBiq9un7Vx0EwMDM3vg8sWKx/tO2zC+LMqZ+smAM0F2hblaDZUVZF0te2pSw==", 144 | "dependencies": { 145 | "eventsource-parser": "^3.0.0" 146 | }, 147 | "engines": { 148 | "node": ">=18.0.0" 149 | } 150 | }, 151 | "node_modules/eventsource-parser": { 152 | "version": "3.0.0", 153 | "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.0.tgz", 154 | "integrity": "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==", 155 | "engines": { 156 | "node": ">=18.0.0" 157 | } 158 | }, 159 | "node_modules/fetch-blob": { 160 | "version": "3.2.0", 161 | "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", 162 | "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", 163 | "funding": [ 164 | { 165 | "type": "github", 166 | "url": "https://github.com/sponsors/jimmywarting" 167 | }, 168 | { 169 | "type": "paypal", 170 | "url": "https://paypal.me/jimmywarting" 171 | } 172 | ], 173 | "dependencies": { 174 | "node-domexception": "^1.0.0", 175 | "web-streams-polyfill": "^3.0.3" 176 | }, 177 | "engines": { 178 | "node": "^12.20 || >= 14.13" 179 | } 180 | }, 181 | "node_modules/form-data": { 182 | "version": "4.0.1", 183 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", 184 | "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", 185 | "dev": true, 186 | "dependencies": { 187 | "asynckit": "^0.4.0", 188 | "combined-stream": "^1.0.8", 189 | "mime-types": "^2.1.12" 190 | }, 191 | "engines": { 192 | "node": ">= 6" 193 | } 194 | }, 195 | "node_modules/formdata-polyfill": { 196 | "version": "4.0.10", 197 | "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", 198 | "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", 199 | "dependencies": { 200 | "fetch-blob": "^3.1.2" 201 | }, 202 | "engines": { 203 | "node": ">=12.20.0" 204 | } 205 | }, 206 | "node_modules/fs.realpath": { 207 | "version": "1.0.0", 208 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 209 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 210 | "dev": true 211 | }, 212 | "node_modules/function-bind": { 213 | "version": "1.1.2", 214 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 215 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 216 | "dev": true, 217 | "funding": { 218 | "url": "https://github.com/sponsors/ljharb" 219 | } 220 | }, 221 | "node_modules/glob": { 222 | "version": "7.2.3", 223 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 224 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 225 | "deprecated": "Glob versions prior to v9 are no longer supported", 226 | "dev": true, 227 | "dependencies": { 228 | "fs.realpath": "^1.0.0", 229 | "inflight": "^1.0.4", 230 | "inherits": "2", 231 | "minimatch": "^3.1.1", 232 | "once": "^1.3.0", 233 | "path-is-absolute": "^1.0.0" 234 | }, 235 | "engines": { 236 | "node": "*" 237 | }, 238 | "funding": { 239 | "url": "https://github.com/sponsors/isaacs" 240 | } 241 | }, 242 | "node_modules/hasown": { 243 | "version": "2.0.2", 244 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 245 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 246 | "dev": true, 247 | "dependencies": { 248 | "function-bind": "^1.1.2" 249 | }, 250 | "engines": { 251 | "node": ">= 0.4" 252 | } 253 | }, 254 | "node_modules/http-errors": { 255 | "version": "2.0.0", 256 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 257 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 258 | "dependencies": { 259 | "depd": "2.0.0", 260 | "inherits": "2.0.4", 261 | "setprototypeof": "1.2.0", 262 | "statuses": "2.0.1", 263 | "toidentifier": "1.0.1" 264 | }, 265 | "engines": { 266 | "node": ">= 0.8" 267 | } 268 | }, 269 | "node_modules/iconv-lite": { 270 | "version": "0.6.3", 271 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 272 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 273 | "dependencies": { 274 | "safer-buffer": ">= 2.1.2 < 3.0.0" 275 | }, 276 | "engines": { 277 | "node": ">=0.10.0" 278 | } 279 | }, 280 | "node_modules/inflight": { 281 | "version": "1.0.6", 282 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 283 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 284 | "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.", 285 | "dev": true, 286 | "dependencies": { 287 | "once": "^1.3.0", 288 | "wrappy": "1" 289 | } 290 | }, 291 | "node_modules/inherits": { 292 | "version": "2.0.4", 293 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 294 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 295 | }, 296 | "node_modules/interpret": { 297 | "version": "1.4.0", 298 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", 299 | "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", 300 | "dev": true, 301 | "engines": { 302 | "node": ">= 0.10" 303 | } 304 | }, 305 | "node_modules/is-core-module": { 306 | "version": "2.16.1", 307 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", 308 | "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", 309 | "dev": true, 310 | "dependencies": { 311 | "hasown": "^2.0.2" 312 | }, 313 | "engines": { 314 | "node": ">= 0.4" 315 | }, 316 | "funding": { 317 | "url": "https://github.com/sponsors/ljharb" 318 | } 319 | }, 320 | "node_modules/mime-db": { 321 | "version": "1.52.0", 322 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 323 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 324 | "dev": true, 325 | "engines": { 326 | "node": ">= 0.6" 327 | } 328 | }, 329 | "node_modules/mime-types": { 330 | "version": "2.1.35", 331 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 332 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 333 | "dev": true, 334 | "dependencies": { 335 | "mime-db": "1.52.0" 336 | }, 337 | "engines": { 338 | "node": ">= 0.6" 339 | } 340 | }, 341 | "node_modules/minimatch": { 342 | "version": "3.1.2", 343 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 344 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 345 | "dev": true, 346 | "dependencies": { 347 | "brace-expansion": "^1.1.7" 348 | }, 349 | "engines": { 350 | "node": "*" 351 | } 352 | }, 353 | "node_modules/minimist": { 354 | "version": "1.2.8", 355 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 356 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 357 | "dev": true, 358 | "funding": { 359 | "url": "https://github.com/sponsors/ljharb" 360 | } 361 | }, 362 | "node_modules/node-domexception": { 363 | "version": "1.0.0", 364 | "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", 365 | "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", 366 | "funding": [ 367 | { 368 | "type": "github", 369 | "url": "https://github.com/sponsors/jimmywarting" 370 | }, 371 | { 372 | "type": "github", 373 | "url": "https://paypal.me/jimmywarting" 374 | } 375 | ], 376 | "engines": { 377 | "node": ">=10.5.0" 378 | } 379 | }, 380 | "node_modules/node-fetch": { 381 | "version": "3.3.2", 382 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", 383 | "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", 384 | "dependencies": { 385 | "data-uri-to-buffer": "^4.0.0", 386 | "fetch-blob": "^3.1.4", 387 | "formdata-polyfill": "^4.0.10" 388 | }, 389 | "engines": { 390 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 391 | }, 392 | "funding": { 393 | "type": "opencollective", 394 | "url": "https://opencollective.com/node-fetch" 395 | } 396 | }, 397 | "node_modules/once": { 398 | "version": "1.4.0", 399 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 400 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 401 | "dev": true, 402 | "dependencies": { 403 | "wrappy": "1" 404 | } 405 | }, 406 | "node_modules/path-is-absolute": { 407 | "version": "1.0.1", 408 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 409 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 410 | "dev": true, 411 | "engines": { 412 | "node": ">=0.10.0" 413 | } 414 | }, 415 | "node_modules/path-parse": { 416 | "version": "1.0.7", 417 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 418 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 419 | "dev": true 420 | }, 421 | "node_modules/raw-body": { 422 | "version": "3.0.0", 423 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", 424 | "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", 425 | "dependencies": { 426 | "bytes": "3.1.2", 427 | "http-errors": "2.0.0", 428 | "iconv-lite": "0.6.3", 429 | "unpipe": "1.0.0" 430 | }, 431 | "engines": { 432 | "node": ">= 0.8" 433 | } 434 | }, 435 | "node_modules/rechoir": { 436 | "version": "0.6.2", 437 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 438 | "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", 439 | "dev": true, 440 | "dependencies": { 441 | "resolve": "^1.1.6" 442 | }, 443 | "engines": { 444 | "node": ">= 0.10" 445 | } 446 | }, 447 | "node_modules/resolve": { 448 | "version": "1.22.10", 449 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", 450 | "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", 451 | "dev": true, 452 | "dependencies": { 453 | "is-core-module": "^2.16.0", 454 | "path-parse": "^1.0.7", 455 | "supports-preserve-symlinks-flag": "^1.0.0" 456 | }, 457 | "bin": { 458 | "resolve": "bin/resolve" 459 | }, 460 | "engines": { 461 | "node": ">= 0.4" 462 | }, 463 | "funding": { 464 | "url": "https://github.com/sponsors/ljharb" 465 | } 466 | }, 467 | "node_modules/safer-buffer": { 468 | "version": "2.1.2", 469 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 470 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 471 | }, 472 | "node_modules/setprototypeof": { 473 | "version": "1.2.0", 474 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 475 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 476 | }, 477 | "node_modules/shelljs": { 478 | "version": "0.8.5", 479 | "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", 480 | "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", 481 | "dev": true, 482 | "dependencies": { 483 | "glob": "^7.0.0", 484 | "interpret": "^1.0.0", 485 | "rechoir": "^0.6.2" 486 | }, 487 | "bin": { 488 | "shjs": "bin/shjs" 489 | }, 490 | "engines": { 491 | "node": ">=4" 492 | } 493 | }, 494 | "node_modules/shx": { 495 | "version": "0.3.4", 496 | "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz", 497 | "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==", 498 | "dev": true, 499 | "dependencies": { 500 | "minimist": "^1.2.3", 501 | "shelljs": "^0.8.5" 502 | }, 503 | "bin": { 504 | "shx": "lib/cli.js" 505 | }, 506 | "engines": { 507 | "node": ">=6" 508 | } 509 | }, 510 | "node_modules/statuses": { 511 | "version": "2.0.1", 512 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 513 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", 514 | "engines": { 515 | "node": ">= 0.8" 516 | } 517 | }, 518 | "node_modules/supports-preserve-symlinks-flag": { 519 | "version": "1.0.0", 520 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 521 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 522 | "dev": true, 523 | "engines": { 524 | "node": ">= 0.4" 525 | }, 526 | "funding": { 527 | "url": "https://github.com/sponsors/ljharb" 528 | } 529 | }, 530 | "node_modules/toidentifier": { 531 | "version": "1.0.1", 532 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 533 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", 534 | "engines": { 535 | "node": ">=0.6" 536 | } 537 | }, 538 | "node_modules/typescript": { 539 | "version": "5.7.3", 540 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", 541 | "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", 542 | "dev": true, 543 | "bin": { 544 | "tsc": "bin/tsc", 545 | "tsserver": "bin/tsserver" 546 | }, 547 | "engines": { 548 | "node": ">=14.17" 549 | } 550 | }, 551 | "node_modules/undici-types": { 552 | "version": "6.20.0", 553 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", 554 | "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", 555 | "dev": true 556 | }, 557 | "node_modules/unpipe": { 558 | "version": "1.0.0", 559 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 560 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", 561 | "engines": { 562 | "node": ">= 0.8" 563 | } 564 | }, 565 | "node_modules/web-streams-polyfill": { 566 | "version": "3.3.3", 567 | "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", 568 | "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", 569 | "engines": { 570 | "node": ">= 8" 571 | } 572 | }, 573 | "node_modules/wrappy": { 574 | "version": "1.0.2", 575 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 576 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 577 | "dev": true 578 | }, 579 | "node_modules/zod": { 580 | "version": "3.24.1", 581 | "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", 582 | "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", 583 | "funding": { 584 | "url": "https://github.com/sponsors/colinhacks" 585 | } 586 | }, 587 | "node_modules/zod-to-json-schema": { 588 | "version": "3.24.1", 589 | "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.1.tgz", 590 | "integrity": "sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==", 591 | "peerDependencies": { 592 | "zod": "^3.24.1" 593 | } 594 | } 595 | } 596 | } --------------------------------------------------------------------------------