diff --git a/app.py b/app.py
index d5712cfe965f925110f6232cc5df79e8beee2016..8b53cf92c0dcb150ff7b19d8627354990d270004 100644
--- a/app.py
+++ b/app.py
@@ -1568,7 +1568,7 @@ with gr.Blocks(title='RVC First Rule v1', theme=theme) as app:
with gr.Tabs():
with gr.TabItem("Inference"):
gr.HTML("
First Rule -- Humanity First
")
- gr.HTML(""" A few notes on the flow of the vocal cloning features:
+ gr.HTML(""" A few notes on the flow of the vocal cloning features:
First, an audio clip needs to be either recorded or uploaded. These should
be vocals only, preferable under 30 seconds in length. Longer clips
can be cloned, but will take longer. Second, a model needs to be chosen --
diff --git a/tests/audio.mp3 b/tests/audio.mp3
deleted file mode 100644
index 0a22ae8b505ee88f8d1de8e1f7fbf2a31eef11c8..0000000000000000000000000000000000000000
Binary files a/tests/audio.mp3 and /dev/null differ
diff --git a/tests/backend.py b/tests/backend.py
deleted file mode 100644
index e4e69d9c79dec0d1c3a8b307363dc767b2a87e37..0000000000000000000000000000000000000000
--- a/tests/backend.py
+++ /dev/null
@@ -1,59 +0,0 @@
-""" Backend API for chatbot """
-import os
-import openai
-from fastapi import FastAPI
-from fastapi.responses import StreamingResponse
-import httpx
-from dotenv import load_dotenv
-
-# Load environment variables
-load_dotenv()
-
-openai.api_key = os.getenv("OPENAI_KEY2")
-openai.organization = os.getenv("OPENAI_ORG2")
-
-playht_api_key = os.getenv("PLAY_HT_KEY")
-playht_user_id = os.getenv("PLAY_HT_ID")
-
-# Initialize FastAPI app
-app = FastAPI()
-
-
-# Generate audio stream
-async def generate_audio_stream(completion):
- """ Generate audio stream from Play.ht API """
- async with httpx.AsyncClient(timeout=400) as client:
- payload = {
- "quality": "draft",
- "output_format": "mp3",
- "speed": 1,
- "sample_rate": 24000,
- "text": f"{completion}",
- "voice": "mark"
- }
- headers = {
- "Accept": "audio/mpeg",
- "Content-Type": "application/json",
- "Authorization": f"Bearer {playht_api_key}",
- "X-USER-ID": f"{playht_user_id}"
- }
- response = await client.post("https://play.ht/api/v2/tts/stream", json=payload, headers=headers)
- for block in response.iter_bytes(1024):
- yield block
-
-# API endpoint to handle chat and audio streaming
-@app.get("/chat", response_class=StreamingResponse)
-async def chat(query: str):
- FULL_RESPONSE = ""
- for completion in openai.ChatCompletion.create(
- model="gpt-3.5-turbo-0613",
- messages=[
- {"role": "system", "content": "You are a helpful assistant."},
- {"role": "user", "content": query}
- ],
- stream=True,
- max_tokens=150
- ):
- FULL_RESPONSE += completion.choices[0].delta.get("content", "")
-
- return StreamingResponse(generate_audio_stream(FULL_RESPONSE), media_type="audio/mpeg")
diff --git a/tests/chat.js b/tests/chat.js
deleted file mode 100644
index aec65d75f361eca2f5af9680e65c218b593f17a5..0000000000000000000000000000000000000000
--- a/tests/chat.js
+++ /dev/null
@@ -1,21 +0,0 @@
-async function sendMessage() {
- const userInput = document.getElementById('userInput').value;
- const chatBox = document.getElementById('chatBox');
-
- // Append user's message to chatBox
- chatBox.innerHTML += `
User: ${userInput}
`;
-
- // Send the user's message to the back-end and get LLM's response
- // Replace this with actual API call logic
- const llmResponse = await fetch('http://localhost:3000/chat', {
- method: 'POST',
- body: JSON.stringify({ message: userInput }),
- headers: { 'Content-Type': 'application/json' },
- // disable cors
- mode: 'no-cors',
- }).then(response => response.json());
-
- // Append LLM's response to chatBox
- chatBox.innerHTML += `LLM: ${llmResponse.message}
`;
- }
-
\ No newline at end of file
diff --git a/tests/hello-chatgpt.mp3 b/tests/hello-chatgpt.mp3
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/tests/node_modules/.bin/mime b/tests/node_modules/.bin/mime
deleted file mode 100644
index 0a62a1b13b965546f7aab56bbcb07d37e1cb6087..0000000000000000000000000000000000000000
--- a/tests/node_modules/.bin/mime
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../mime/cli.js" "$@"
-else
- exec node "$basedir/../mime/cli.js" "$@"
-fi
diff --git a/tests/node_modules/.bin/mime.cmd b/tests/node_modules/.bin/mime.cmd
deleted file mode 100644
index 54491f12e08014083099d3a46bf7b99f0ec22b56..0000000000000000000000000000000000000000
--- a/tests/node_modules/.bin/mime.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\mime\cli.js" %*
diff --git a/tests/node_modules/.bin/mime.ps1 b/tests/node_modules/.bin/mime.ps1
deleted file mode 100644
index 2222f40bcf2aca56c70178225cfe21cc31e2773f..0000000000000000000000000000000000000000
--- a/tests/node_modules/.bin/mime.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../mime/cli.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../mime/cli.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../mime/cli.js" $args
- } else {
- & "node$exe" "$basedir/../mime/cli.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/tests/node_modules/.bin/openai b/tests/node_modules/.bin/openai
deleted file mode 100644
index 76a67f07dbd4710d5719dd2abdf4834b11daec55..0000000000000000000000000000000000000000
--- a/tests/node_modules/.bin/openai
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../openai/bin/cli" "$@"
-else
- exec node "$basedir/../openai/bin/cli" "$@"
-fi
diff --git a/tests/node_modules/.bin/openai.cmd b/tests/node_modules/.bin/openai.cmd
deleted file mode 100644
index 422e1fce666fd4bd1a5f56b405e544a7c7386d7a..0000000000000000000000000000000000000000
--- a/tests/node_modules/.bin/openai.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\openai\bin\cli" %*
diff --git a/tests/node_modules/.bin/openai.ps1 b/tests/node_modules/.bin/openai.ps1
deleted file mode 100644
index 97f78d67786858edefef7edd70bf5fcbc03e0a85..0000000000000000000000000000000000000000
--- a/tests/node_modules/.bin/openai.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../openai/bin/cli" $args
- } else {
- & "$basedir/node$exe" "$basedir/../openai/bin/cli" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../openai/bin/cli" $args
- } else {
- & "node$exe" "$basedir/../openai/bin/cli" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/tests/node_modules/.bin/proto-loader-gen-types b/tests/node_modules/.bin/proto-loader-gen-types
deleted file mode 100644
index b2ce476cb1c551a95de8594228bf6b4d0f40ee99..0000000000000000000000000000000000000000
--- a/tests/node_modules/.bin/proto-loader-gen-types
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../@grpc/proto-loader/build/bin/proto-loader-gen-types.js" "$@"
-else
- exec node "$basedir/../@grpc/proto-loader/build/bin/proto-loader-gen-types.js" "$@"
-fi
diff --git a/tests/node_modules/.bin/proto-loader-gen-types.cmd b/tests/node_modules/.bin/proto-loader-gen-types.cmd
deleted file mode 100644
index 772529bbef3ced24d8a51b13cf4f7d571ffe80a0..0000000000000000000000000000000000000000
--- a/tests/node_modules/.bin/proto-loader-gen-types.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\@grpc\proto-loader\build\bin\proto-loader-gen-types.js" %*
diff --git a/tests/node_modules/.bin/proto-loader-gen-types.ps1 b/tests/node_modules/.bin/proto-loader-gen-types.ps1
deleted file mode 100644
index d1db451dd99edbbd6e8faa568fa724add9be9678..0000000000000000000000000000000000000000
--- a/tests/node_modules/.bin/proto-loader-gen-types.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../@grpc/proto-loader/build/bin/proto-loader-gen-types.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../@grpc/proto-loader/build/bin/proto-loader-gen-types.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../@grpc/proto-loader/build/bin/proto-loader-gen-types.js" $args
- } else {
- & "node$exe" "$basedir/../@grpc/proto-loader/build/bin/proto-loader-gen-types.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/tests/node_modules/.package-lock.json b/tests/node_modules/.package-lock.json
deleted file mode 100644
index c97450c16e824b4806a88f88fba9fe0d5752c2c7..0000000000000000000000000000000000000000
--- a/tests/node_modules/.package-lock.json
+++ /dev/null
@@ -1,1385 +0,0 @@
-{
- "name": "tests",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "node_modules/@grpc/grpc-js": {
- "version": "1.9.7",
- "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.7.tgz",
- "integrity": "sha512-yMaA/cIsRhGzW3ymCNpdlPcInXcovztlgu/rirThj2b87u3RzWUszliOqZ/pldy7yhmJPS8uwog+kZSTa4A0PQ==",
- "dependencies": {
- "@grpc/proto-loader": "^0.7.8",
- "@types/node": ">=12.12.47"
- },
- "engines": {
- "node": "^8.13.0 || >=10.10.0"
- }
- },
- "node_modules/@grpc/proto-loader": {
- "version": "0.7.10",
- "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
- "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
- "dependencies": {
- "lodash.camelcase": "^4.3.0",
- "long": "^5.0.0",
- "protobufjs": "^7.2.4",
- "yargs": "^17.7.2"
- },
- "bin": {
- "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@protobufjs/aspromise": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
- "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
- },
- "node_modules/@protobufjs/base64": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
- },
- "node_modules/@protobufjs/codegen": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
- "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
- },
- "node_modules/@protobufjs/eventemitter": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
- "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
- },
- "node_modules/@protobufjs/fetch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
- "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.1",
- "@protobufjs/inquire": "^1.1.0"
- }
- },
- "node_modules/@protobufjs/float": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
- "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
- },
- "node_modules/@protobufjs/inquire": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
- "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
- },
- "node_modules/@protobufjs/path": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
- "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
- },
- "node_modules/@protobufjs/pool": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
- "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
- },
- "node_modules/@protobufjs/utf8": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
- "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
- },
- "node_modules/@tokenizer/token": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
- "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="
- },
- "node_modules/@types/node": {
- "version": "20.8.7",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
- "integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
- "dependencies": {
- "undici-types": "~5.25.1"
- }
- },
- "node_modules/@types/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-lX17GZVpJ/fuCjguZ5b3TjEbSENxmEk1B2z02yoXSK9WMEWRivhdSY73wWMn6bpcCDAOh6qAdktpKHIlkDk2lg==",
- "dependencies": {
- "@types/node": "*",
- "form-data": "^4.0.0"
- }
- },
- "node_modules/abort-controller": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
- "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
- "dependencies": {
- "event-target-shim": "^5.0.0"
- },
- "engines": {
- "node": ">=6.5"
- }
- },
- "node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/agentkeepalive": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
- "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
- "dependencies": {
- "humanize-ms": "^1.2.1"
- },
- "engines": {
- "node": ">= 8.0.0"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
- },
- "node_modules/axios": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz",
- "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==",
- "dependencies": {
- "follow-redirects": "^1.15.0",
- "form-data": "^4.0.0",
- "proxy-from-env": "^1.1.0"
- }
- },
- "node_modules/base-64": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz",
- "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA=="
- },
- "node_modules/body-parser": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
- "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
- "dependencies": {
- "bytes": "3.1.2",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.11.0",
- "raw-body": "2.5.1",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
- "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
- "dependencies": {
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.1",
- "set-function-length": "^1.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/charenc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
- "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
- },
- "node_modules/cors": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
- "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
- "dependencies": {
- "object-assign": "^4",
- "vary": "^1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dependencies": {
- "node-fetch": "^2.6.12"
- }
- },
- "node_modules/crypt": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
- "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "node_modules/define-data-property": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
- "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
- "dependencies": {
- "get-intrinsic": "^1.2.1",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/digest-fetch": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz",
- "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==",
- "dependencies": {
- "base-64": "^0.1.0",
- "md5": "^2.3.0"
- }
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/event-target-shim": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
- "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/express": {
- "version": "4.18.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
- "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
- "dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.1",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.5.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.2.0",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.7",
- "qs": "6.11.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.18.0",
- "serve-static": "1.15.0",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/file-type": {
- "version": "18.5.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.5.0.tgz",
- "integrity": "sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ==",
- "dependencies": {
- "readable-web-to-node-stream": "^3.0.2",
- "strtok3": "^7.0.0",
- "token-types": "^5.0.1"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/file-type?sponsor=1"
- }
- },
- "node_modules/finalhandler": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
- "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/follow-redirects": {
- "version": "1.15.3",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
- "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/form-data-encoder": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz",
- "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A=="
- },
- "node_modules/formdata-node": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz",
- "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==",
- "dependencies": {
- "node-domexception": "1.0.0",
- "web-streams-polyfill": "4.0.0-beta.3"
- },
- "engines": {
- "node": ">= 12.20"
- }
- },
- "node_modules/formdata-node/node_modules/web-streams-polyfill": {
- "version": "4.0.0-beta.3",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz",
- "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==",
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
- "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
- "dependencies": {
- "function-bind": "^1.1.2",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dependencies": {
- "get-intrinsic": "^1.1.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
- "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
- "dependencies": {
- "get-intrinsic": "^1.2.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
- "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/humanize-ms": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
- "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
- "dependencies": {
- "ms": "^2.0.0"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "node_modules/ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
- },
- "node_modules/long": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
- "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
- },
- "node_modules/md5": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
- "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
- "dependencies": {
- "charenc": "0.0.2",
- "crypt": "0.0.2",
- "is-buffer": "~1.1.6"
- }
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- },
- "node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/node-domexception": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
- "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/jimmywarting"
- },
- {
- "type": "github",
- "url": "https://paypal.me/jimmywarting"
- }
- ],
- "engines": {
- "node": ">=10.5.0"
- }
- },
- "node_modules/node-fetch": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
- "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
- "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/openai": {
- "version": "4.12.4",
- "resolved": "https://registry.npmjs.org/openai/-/openai-4.12.4.tgz",
- "integrity": "sha512-oPNVJkpgxDUKF6WGGdHEZh5m/kjmYxS2Y1q7YVFCkvKUGthb8OGYRGCFBRPq5CQJezifzABTZRlVYnXLd6L4vQ==",
- "dependencies": {
- "@types/node": "^18.11.18",
- "@types/node-fetch": "^2.6.4",
- "abort-controller": "^3.0.0",
- "agentkeepalive": "^4.2.1",
- "digest-fetch": "^1.3.0",
- "form-data-encoder": "1.7.2",
- "formdata-node": "^4.3.2",
- "node-fetch": "^2.6.7",
- "web-streams-polyfill": "^3.2.1"
- },
- "bin": {
- "openai": "bin/cli"
- }
- },
- "node_modules/openai/node_modules/@types/node": {
- "version": "18.18.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz",
- "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w=="
- },
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
- },
- "node_modules/peek-readable": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz",
- "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/playht": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/playht/-/playht-0.9.3.tgz",
- "integrity": "sha512-MLYq4ulHjakAy0uTFyx54ZjdyxZ4pbsA7D1r7XO/gu89OSCBYViNZPM6ux1OEsnk2dwtqwmC8Cof6FCveOzL8Q==",
- "dependencies": {
- "@grpc/grpc-js": "^1.9.4",
- "axios": "^1.4.0",
- "cross-fetch": "^4.0.0",
- "file-type": "^18.5.0",
- "protobufjs": "^7.2.5",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/protobufjs": {
- "version": "7.2.5",
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz",
- "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==",
- "hasInstallScript": true,
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.2",
- "@protobufjs/base64": "^1.1.2",
- "@protobufjs/codegen": "^2.0.4",
- "@protobufjs/eventemitter": "^1.1.0",
- "@protobufjs/fetch": "^1.1.0",
- "@protobufjs/float": "^1.0.2",
- "@protobufjs/inquire": "^1.1.0",
- "@protobufjs/path": "^1.1.2",
- "@protobufjs/pool": "^1.1.0",
- "@protobufjs/utf8": "^1.1.0",
- "@types/node": ">=13.7.0",
- "long": "^5.0.0"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
- },
- "node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
- "dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/readable-web-to-node-stream": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz",
- "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==",
- "dependencies": {
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "node_modules/send": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
- "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
- "dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/serve-static": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
- "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
- "dependencies": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.18.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/set-function-length": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
- "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
- "dependencies": {
- "define-data-property": "^1.1.1",
- "get-intrinsic": "^1.2.1",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
- },
- "node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strtok3": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz",
- "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==",
- "dependencies": {
- "@tokenizer/token": "^0.3.0",
- "peek-readable": "^5.0.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/token-types": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz",
- "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==",
- "dependencies": {
- "@tokenizer/token": "^0.3.0",
- "ieee754": "^1.2.1"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
- },
- "node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/undici-types": {
- "version": "5.25.3",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
- "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA=="
- },
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/web-streams-polyfill": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
- "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "engines": {
- "node": ">=12"
- }
- }
- }
-}
diff --git a/tests/node_modules/@grpc/grpc-js/LICENSE b/tests/node_modules/@grpc/grpc-js/LICENSE
deleted file mode 100644
index 8dada3edaf50dbc082c9a125058f25def75e625a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "{}"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright {yyyy} {name of copyright owner}
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/tests/node_modules/@grpc/grpc-js/README.md b/tests/node_modules/@grpc/grpc-js/README.md
deleted file mode 100644
index eb04ece2f5a46c4e7e00c5c46f706850b7724572..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/README.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Pure JavaScript gRPC Client
-
-## Installation
-
-Node 12 is recommended. The exact set of compatible Node versions can be found in the `engines` field of the `package.json` file.
-
-```sh
-npm install @grpc/grpc-js
-```
-
-## Documentation
-
-Documentation specifically for the `@grpc/grpc-js` package is currently not available. However, [documentation is available for the `grpc` package](https://grpc.github.io/grpc/node/grpc.html), and the two packages contain mostly the same interface. There are a few notable differences, however, and these differences are noted in the "Migrating from grpc" section below.
-
-## Features
-
-- Clients
-- Automatic reconnection
-- Servers
-- Streaming
-- Metadata
-- Partial compression support: clients can compress and decompress messages, and servers can decompress request messages
-- Pick first and round robin load balancing policies
-- Client Interceptors
-- Connection Keepalives
-- HTTP Connect support (proxies)
-
-If you need a feature from the `grpc` package that is not provided by the `@grpc/grpc-js`, please file a feature request with that information.
-
-This library does not directly handle `.proto` files. To use `.proto` files with this library we recommend using the `@grpc/proto-loader` package.
-
-## Migrating from [`grpc`](https://www.npmjs.com/package/grpc)
-
-`@grpc/grpc-js` is almost a drop-in replacement for `grpc`, but you may need to make a few code changes to use it:
-
-- If you are currently loading `.proto` files using `grpc.load`, that function is not available in this library. You should instead load your `.proto` files using `@grpc/proto-loader` and load the resulting package definition objects into `@grpc/grpc-js` using `grpc.loadPackageDefinition`.
-- If you are currently loading packages generated by `grpc-tools`, you should instead generate your files using the `generate_package_definition` option in `grpc-tools`, then load the object exported by the generated file into `@grpc/grpc-js` using `grpc.loadPackageDefinition`.
-- If you have a server and you are using `Server#bind` to bind ports, you will need to use `Server#bindAsync` instead.
-- If you are using any channel options supported in `grpc` but not supported in `@grpc/grpc-js`, you may need to adjust your code to handle the different behavior. Refer to [the list of supported options](#supported-channel-options) below.
-- Refer to the [detailed package comparison](https://github.com/grpc/grpc-node/blob/master/PACKAGE-COMPARISON.md) for more details on the differences between `grpc` and `@grpc/grpc-js`.
-
-## Supported Channel Options
-Many channel arguments supported in `grpc` are not supported in `@grpc/grpc-js`. The channel arguments supported by `@grpc/grpc-js` are:
- - `grpc.ssl_target_name_override`
- - `grpc.primary_user_agent`
- - `grpc.secondary_user_agent`
- - `grpc.default_authority`
- - `grpc.keepalive_time_ms`
- - `grpc.keepalive_timeout_ms`
- - `grpc.keepalive_permit_without_calls`
- - `grpc.service_config`
- - `grpc.max_concurrent_streams`
- - `grpc.initial_reconnect_backoff_ms`
- - `grpc.max_reconnect_backoff_ms`
- - `grpc.use_local_subchannel_pool`
- - `grpc.max_send_message_length`
- - `grpc.max_receive_message_length`
- - `grpc.enable_http_proxy`
- - `grpc.default_compression_algorithm`
- - `grpc.enable_channelz`
- - `grpc.dns_min_time_between_resolutions_ms`
- - `grpc.enable_retries`
- - `grpc.per_rpc_retry_buffer_size`
- - `grpc.retry_buffer_size`
- - `grpc.service_config_disable_resolution`
- - `grpc.client_idle_timeout_ms`
- - `grpc-node.max_session_memory`
- - `grpc-node.tls_enable_trace`
- - `channelOverride`
- - `channelFactoryOverride`
-
-## Some Notes on API Guarantees
-
-The public API of this library follows semantic versioning, with some caveats:
-
-- Some methods are prefixed with an underscore. These methods are internal and should not be considered part of the public API.
-- The class `Call` is only exposed due to limitations of TypeScript. It should not be considered part of the public API.
-- In general, any API that is exposed by this library but is not exposed by the `grpc` library is likely an error and should not be considered part of the public API.
-- The `grpc.experimental` namespace contains APIs that have not stabilized. Any API in that namespace may break in any minor version update.
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/admin.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/admin.d.ts
deleted file mode 100644
index 92b9bbaafc0588db61f40f674db5d51bc1e3f0e3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/admin.d.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { ServiceDefinition } from './make-client';
-import { Server, UntypedServiceImplementation } from './server';
-interface GetServiceDefinition {
- (): ServiceDefinition;
-}
-interface GetHandlers {
- (): UntypedServiceImplementation;
-}
-export declare function registerAdminService(getServiceDefinition: GetServiceDefinition, getHandlers: GetHandlers): void;
-export declare function addAdminServicesToServer(server: Server): void;
-export {};
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/admin.js b/tests/node_modules/@grpc/grpc-js/build/src/admin.js
deleted file mode 100644
index 9fd8e64347f0a4deb1012e6669f1bb30c1efdd26..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/admin.js
+++ /dev/null
@@ -1,31 +0,0 @@
-"use strict";
-/*
- * Copyright 2021 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.addAdminServicesToServer = exports.registerAdminService = void 0;
-const registeredAdminServices = [];
-function registerAdminService(getServiceDefinition, getHandlers) {
- registeredAdminServices.push({ getServiceDefinition, getHandlers });
-}
-exports.registerAdminService = registerAdminService;
-function addAdminServicesToServer(server) {
- for (const { getServiceDefinition, getHandlers } of registeredAdminServices) {
- server.addService(getServiceDefinition(), getHandlers());
- }
-}
-exports.addAdminServicesToServer = addAdminServicesToServer;
-//# sourceMappingURL=admin.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/admin.js.map b/tests/node_modules/@grpc/grpc-js/build/src/admin.js.map
deleted file mode 100644
index 63358dea3eaba72936e03271d994b6aa91b61067..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/admin.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/admin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAaH,MAAM,uBAAuB,GAGvB,EAAE,CAAC;AAET,SAAgB,oBAAoB,CAClC,oBAA0C,EAC1C,WAAwB;IAExB,uBAAuB,CAAC,IAAI,CAAC,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC,CAAC;AACtE,CAAC;AALD,oDAKC;AAED,SAAgB,wBAAwB,CAAC,MAAc;IACrD,KAAK,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,uBAAuB,EAAE;QAC3E,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;KAC1D;AACH,CAAC;AAJD,4DAIC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts
deleted file mode 100644
index c98e3a0b2d56a33a1641b438fea37f173a84ac45..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts
+++ /dev/null
@@ -1,90 +0,0 @@
-export interface BackoffOptions {
- initialDelay?: number;
- multiplier?: number;
- jitter?: number;
- maxDelay?: number;
-}
-export declare class BackoffTimeout {
- private callback;
- /**
- * The delay time at the start, and after each reset.
- */
- private readonly initialDelay;
- /**
- * The exponential backoff multiplier.
- */
- private readonly multiplier;
- /**
- * The maximum delay time
- */
- private readonly maxDelay;
- /**
- * The maximum fraction by which the delay time can randomly vary after
- * applying the multiplier.
- */
- private readonly jitter;
- /**
- * The delay time for the next time the timer runs.
- */
- private nextDelay;
- /**
- * The handle of the underlying timer. If running is false, this value refers
- * to an object representing a timer that has ended, but it can still be
- * interacted with without error.
- */
- private timerId;
- /**
- * Indicates whether the timer is currently running.
- */
- private running;
- /**
- * Indicates whether the timer should keep the Node process running if no
- * other async operation is doing so.
- */
- private hasRef;
- /**
- * The time that the currently running timer was started. Only valid if
- * running is true.
- */
- private startTime;
- /**
- * The approximate time that the currently running timer will end. Only valid
- * if running is true.
- */
- private endTime;
- constructor(callback: () => void, options?: BackoffOptions);
- private runTimer;
- /**
- * Call the callback after the current amount of delay time
- */
- runOnce(): void;
- /**
- * Stop the timer. The callback will not be called until `runOnce` is called
- * again.
- */
- stop(): void;
- /**
- * Reset the delay time to its initial value. If the timer is still running,
- * retroactively apply that reset to the current timer.
- */
- reset(): void;
- /**
- * Check whether the timer is currently running.
- */
- isRunning(): boolean;
- /**
- * Set that while the timer is running, it should keep the Node process
- * running.
- */
- ref(): void;
- /**
- * Set that while the timer is running, it should not keep the Node process
- * running.
- */
- unref(): void;
- /**
- * Get the approximate timestamp of when the timer will fire. Only valid if
- * this.isRunning() is true.
- */
- getEndTime(): Date;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js b/tests/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js
deleted file mode 100644
index 02762d533f8a1c255b327c37b6b50590a150c319..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js
+++ /dev/null
@@ -1,174 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.BackoffTimeout = void 0;
-const INITIAL_BACKOFF_MS = 1000;
-const BACKOFF_MULTIPLIER = 1.6;
-const MAX_BACKOFF_MS = 120000;
-const BACKOFF_JITTER = 0.2;
-/**
- * Get a number uniformly at random in the range [min, max)
- * @param min
- * @param max
- */
-function uniformRandom(min, max) {
- return Math.random() * (max - min) + min;
-}
-class BackoffTimeout {
- constructor(callback, options) {
- this.callback = callback;
- /**
- * The delay time at the start, and after each reset.
- */
- this.initialDelay = INITIAL_BACKOFF_MS;
- /**
- * The exponential backoff multiplier.
- */
- this.multiplier = BACKOFF_MULTIPLIER;
- /**
- * The maximum delay time
- */
- this.maxDelay = MAX_BACKOFF_MS;
- /**
- * The maximum fraction by which the delay time can randomly vary after
- * applying the multiplier.
- */
- this.jitter = BACKOFF_JITTER;
- /**
- * Indicates whether the timer is currently running.
- */
- this.running = false;
- /**
- * Indicates whether the timer should keep the Node process running if no
- * other async operation is doing so.
- */
- this.hasRef = true;
- /**
- * The time that the currently running timer was started. Only valid if
- * running is true.
- */
- this.startTime = new Date();
- /**
- * The approximate time that the currently running timer will end. Only valid
- * if running is true.
- */
- this.endTime = new Date();
- if (options) {
- if (options.initialDelay) {
- this.initialDelay = options.initialDelay;
- }
- if (options.multiplier) {
- this.multiplier = options.multiplier;
- }
- if (options.jitter) {
- this.jitter = options.jitter;
- }
- if (options.maxDelay) {
- this.maxDelay = options.maxDelay;
- }
- }
- this.nextDelay = this.initialDelay;
- this.timerId = setTimeout(() => { }, 0);
- clearTimeout(this.timerId);
- }
- runTimer(delay) {
- var _a, _b;
- this.endTime = this.startTime;
- this.endTime.setMilliseconds(this.endTime.getMilliseconds() + this.nextDelay);
- clearTimeout(this.timerId);
- this.timerId = setTimeout(() => {
- this.callback();
- this.running = false;
- }, delay);
- if (!this.hasRef) {
- (_b = (_a = this.timerId).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- }
- /**
- * Call the callback after the current amount of delay time
- */
- runOnce() {
- this.running = true;
- this.startTime = new Date();
- this.runTimer(this.nextDelay);
- const nextBackoff = Math.min(this.nextDelay * this.multiplier, this.maxDelay);
- const jitterMagnitude = nextBackoff * this.jitter;
- this.nextDelay =
- nextBackoff + uniformRandom(-jitterMagnitude, jitterMagnitude);
- }
- /**
- * Stop the timer. The callback will not be called until `runOnce` is called
- * again.
- */
- stop() {
- clearTimeout(this.timerId);
- this.running = false;
- }
- /**
- * Reset the delay time to its initial value. If the timer is still running,
- * retroactively apply that reset to the current timer.
- */
- reset() {
- this.nextDelay = this.initialDelay;
- if (this.running) {
- const now = new Date();
- const newEndTime = this.startTime;
- newEndTime.setMilliseconds(newEndTime.getMilliseconds() + this.nextDelay);
- clearTimeout(this.timerId);
- if (now < newEndTime) {
- this.runTimer(newEndTime.getTime() - now.getTime());
- }
- else {
- this.running = false;
- }
- }
- }
- /**
- * Check whether the timer is currently running.
- */
- isRunning() {
- return this.running;
- }
- /**
- * Set that while the timer is running, it should keep the Node process
- * running.
- */
- ref() {
- var _a, _b;
- this.hasRef = true;
- (_b = (_a = this.timerId).ref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- /**
- * Set that while the timer is running, it should not keep the Node process
- * running.
- */
- unref() {
- var _a, _b;
- this.hasRef = false;
- (_b = (_a = this.timerId).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- /**
- * Get the approximate timestamp of when the timer will fire. Only valid if
- * this.isRunning() is true.
- */
- getEndTime() {
- return this.endTime;
- }
-}
-exports.BackoffTimeout = BackoffTimeout;
-//# sourceMappingURL=backoff-timeout.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js.map b/tests/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js.map
deleted file mode 100644
index a15b094e51bc174599a0d97b67cb160c8e48537b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"backoff-timeout.js","sourceRoot":"","sources":["../../src/backoff-timeout.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts
deleted file mode 100644
index 1564eacc026c8499409dad5f0cb85dfd9132874d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Metadata } from './metadata';
-export interface CallMetadataOptions {
- service_url: string;
-}
-export type CallMetadataGenerator = (options: CallMetadataOptions, cb: (err: Error | null, metadata?: Metadata) => void) => void;
-export interface OldOAuth2Client {
- getRequestMetadata: (url: string, callback: (err: Error | null, headers?: {
- [index: string]: string;
- }) => void) => void;
-}
-export interface CurrentOAuth2Client {
- getRequestHeaders: (url?: string) => Promise<{
- [index: string]: string;
- }>;
-}
-export type OAuth2Client = OldOAuth2Client | CurrentOAuth2Client;
-/**
- * A class that represents a generic method of adding authentication-related
- * metadata on a per-request basis.
- */
-export declare abstract class CallCredentials {
- /**
- * Asynchronously generates a new Metadata object.
- * @param options Options used in generating the Metadata object.
- */
- abstract generateMetadata(options: CallMetadataOptions): Promise;
- /**
- * Creates a new CallCredentials object from properties of both this and
- * another CallCredentials object. This object's metadata generator will be
- * called first.
- * @param callCredentials The other CallCredentials object.
- */
- abstract compose(callCredentials: CallCredentials): CallCredentials;
- /**
- * Check whether two call credentials objects are equal. Separate
- * SingleCallCredentials with identical metadata generator functions are
- * equal.
- * @param other The other CallCredentials object to compare with.
- */
- abstract _equals(other: CallCredentials): boolean;
- /**
- * Creates a new CallCredentials object from a given function that generates
- * Metadata objects.
- * @param metadataGenerator A function that accepts a set of options, and
- * generates a Metadata object based on these options, which is passed back
- * to the caller via a supplied (err, metadata) callback.
- */
- static createFromMetadataGenerator(metadataGenerator: CallMetadataGenerator): CallCredentials;
- /**
- * Create a gRPC credential from a Google credential object.
- * @param googleCredentials The authentication client to use.
- * @return The resulting CallCredentials object.
- */
- static createFromGoogleCredential(googleCredentials: OAuth2Client): CallCredentials;
- static createEmpty(): CallCredentials;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call-credentials.js b/tests/node_modules/@grpc/grpc-js/build/src/call-credentials.js
deleted file mode 100644
index 67b926605993dbf5409d33a8d43298ce05a547a4..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call-credentials.js
+++ /dev/null
@@ -1,153 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.CallCredentials = void 0;
-const metadata_1 = require("./metadata");
-function isCurrentOauth2Client(client) {
- return ('getRequestHeaders' in client &&
- typeof client.getRequestHeaders === 'function');
-}
-/**
- * A class that represents a generic method of adding authentication-related
- * metadata on a per-request basis.
- */
-class CallCredentials {
- /**
- * Creates a new CallCredentials object from a given function that generates
- * Metadata objects.
- * @param metadataGenerator A function that accepts a set of options, and
- * generates a Metadata object based on these options, which is passed back
- * to the caller via a supplied (err, metadata) callback.
- */
- static createFromMetadataGenerator(metadataGenerator) {
- return new SingleCallCredentials(metadataGenerator);
- }
- /**
- * Create a gRPC credential from a Google credential object.
- * @param googleCredentials The authentication client to use.
- * @return The resulting CallCredentials object.
- */
- static createFromGoogleCredential(googleCredentials) {
- return CallCredentials.createFromMetadataGenerator((options, callback) => {
- let getHeaders;
- if (isCurrentOauth2Client(googleCredentials)) {
- getHeaders = googleCredentials.getRequestHeaders(options.service_url);
- }
- else {
- getHeaders = new Promise((resolve, reject) => {
- googleCredentials.getRequestMetadata(options.service_url, (err, headers) => {
- if (err) {
- reject(err);
- return;
- }
- if (!headers) {
- reject(new Error('Headers not set by metadata plugin'));
- return;
- }
- resolve(headers);
- });
- });
- }
- getHeaders.then(headers => {
- const metadata = new metadata_1.Metadata();
- for (const key of Object.keys(headers)) {
- metadata.add(key, headers[key]);
- }
- callback(null, metadata);
- }, err => {
- callback(err);
- });
- });
- }
- static createEmpty() {
- return new EmptyCallCredentials();
- }
-}
-exports.CallCredentials = CallCredentials;
-class ComposedCallCredentials extends CallCredentials {
- constructor(creds) {
- super();
- this.creds = creds;
- }
- async generateMetadata(options) {
- const base = new metadata_1.Metadata();
- const generated = await Promise.all(this.creds.map(cred => cred.generateMetadata(options)));
- for (const gen of generated) {
- base.merge(gen);
- }
- return base;
- }
- compose(other) {
- return new ComposedCallCredentials(this.creds.concat([other]));
- }
- _equals(other) {
- if (this === other) {
- return true;
- }
- if (other instanceof ComposedCallCredentials) {
- return this.creds.every((value, index) => value._equals(other.creds[index]));
- }
- else {
- return false;
- }
- }
-}
-class SingleCallCredentials extends CallCredentials {
- constructor(metadataGenerator) {
- super();
- this.metadataGenerator = metadataGenerator;
- }
- generateMetadata(options) {
- return new Promise((resolve, reject) => {
- this.metadataGenerator(options, (err, metadata) => {
- if (metadata !== undefined) {
- resolve(metadata);
- }
- else {
- reject(err);
- }
- });
- });
- }
- compose(other) {
- return new ComposedCallCredentials([this, other]);
- }
- _equals(other) {
- if (this === other) {
- return true;
- }
- if (other instanceof SingleCallCredentials) {
- return this.metadataGenerator === other.metadataGenerator;
- }
- else {
- return false;
- }
- }
-}
-class EmptyCallCredentials extends CallCredentials {
- generateMetadata(options) {
- return Promise.resolve(new metadata_1.Metadata());
- }
- compose(other) {
- return other;
- }
- _equals(other) {
- return other instanceof EmptyCallCredentials;
- }
-}
-//# sourceMappingURL=call-credentials.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call-credentials.js.map b/tests/node_modules/@grpc/grpc-js/build/src/call-credentials.js.map
deleted file mode 100644
index 76bc7812e139166cf53bd922e55ebcc4a78b8510..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call-credentials.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"call-credentials.js","sourceRoot":"","sources":["../../src/call-credentials.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call-interface.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/call-interface.d.ts
deleted file mode 100644
index bbb098c39177a4487ba15eac7c037d63cff959ec..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call-interface.d.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-///
-import { CallCredentials } from './call-credentials';
-import { Status } from './constants';
-import { Deadline } from './deadline';
-import { Metadata } from './metadata';
-import { ServerSurfaceCall } from './server-call';
-export interface CallStreamOptions {
- deadline: Deadline;
- flags: number;
- host: string;
- parentCall: ServerSurfaceCall | null;
-}
-export type PartialCallStreamOptions = Partial;
-export interface StatusObject {
- code: Status;
- details: string;
- metadata: Metadata;
-}
-export type PartialStatusObject = Pick & {
- metadata: Metadata | null;
-};
-export declare const enum WriteFlags {
- BufferHint = 1,
- NoCompress = 2,
- WriteThrough = 4
-}
-export interface WriteObject {
- message: Buffer;
- flags?: number;
-}
-export interface MetadataListener {
- (metadata: Metadata, next: (metadata: Metadata) => void): void;
-}
-export interface MessageListener {
- (message: any, next: (message: any) => void): void;
-}
-export interface StatusListener {
- (status: StatusObject, next: (status: StatusObject) => void): void;
-}
-export interface FullListener {
- onReceiveMetadata: MetadataListener;
- onReceiveMessage: MessageListener;
- onReceiveStatus: StatusListener;
-}
-export type Listener = Partial;
-/**
- * An object with methods for handling the responses to a call.
- */
-export interface InterceptingListener {
- onReceiveMetadata(metadata: Metadata): void;
- onReceiveMessage(message: any): void;
- onReceiveStatus(status: StatusObject): void;
-}
-export declare function isInterceptingListener(listener: Listener | InterceptingListener): listener is InterceptingListener;
-export declare class InterceptingListenerImpl implements InterceptingListener {
- private listener;
- private nextListener;
- private processingMetadata;
- private hasPendingMessage;
- private pendingMessage;
- private processingMessage;
- private pendingStatus;
- constructor(listener: FullListener, nextListener: InterceptingListener);
- private processPendingMessage;
- private processPendingStatus;
- onReceiveMetadata(metadata: Metadata): void;
- onReceiveMessage(message: any): void;
- onReceiveStatus(status: StatusObject): void;
-}
-export interface WriteCallback {
- (error?: Error | null): void;
-}
-export interface MessageContext {
- callback?: WriteCallback;
- flags?: number;
-}
-export interface Call {
- cancelWithStatus(status: Status, details: string): void;
- getPeer(): string;
- start(metadata: Metadata, listener: InterceptingListener): void;
- sendMessageWithContext(context: MessageContext, message: Buffer): void;
- startRead(): void;
- halfClose(): void;
- getCallNumber(): number;
- setCredentials(credentials: CallCredentials): void;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call-interface.js b/tests/node_modules/@grpc/grpc-js/build/src/call-interface.js
deleted file mode 100644
index cdef46fb3a7674a648a4ca38b9e08a9808b13abc..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call-interface.js
+++ /dev/null
@@ -1,84 +0,0 @@
-"use strict";
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.InterceptingListenerImpl = exports.isInterceptingListener = void 0;
-function isInterceptingListener(listener) {
- return (listener.onReceiveMetadata !== undefined &&
- listener.onReceiveMetadata.length === 1);
-}
-exports.isInterceptingListener = isInterceptingListener;
-class InterceptingListenerImpl {
- constructor(listener, nextListener) {
- this.listener = listener;
- this.nextListener = nextListener;
- this.processingMetadata = false;
- this.hasPendingMessage = false;
- this.processingMessage = false;
- this.pendingStatus = null;
- }
- processPendingMessage() {
- if (this.hasPendingMessage) {
- this.nextListener.onReceiveMessage(this.pendingMessage);
- this.pendingMessage = null;
- this.hasPendingMessage = false;
- }
- }
- processPendingStatus() {
- if (this.pendingStatus) {
- this.nextListener.onReceiveStatus(this.pendingStatus);
- }
- }
- onReceiveMetadata(metadata) {
- this.processingMetadata = true;
- this.listener.onReceiveMetadata(metadata, metadata => {
- this.processingMetadata = false;
- this.nextListener.onReceiveMetadata(metadata);
- this.processPendingMessage();
- this.processPendingStatus();
- });
- }
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- onReceiveMessage(message) {
- /* If this listener processes messages asynchronously, the last message may
- * be reordered with respect to the status */
- this.processingMessage = true;
- this.listener.onReceiveMessage(message, msg => {
- this.processingMessage = false;
- if (this.processingMetadata) {
- this.pendingMessage = msg;
- this.hasPendingMessage = true;
- }
- else {
- this.nextListener.onReceiveMessage(msg);
- this.processPendingStatus();
- }
- });
- }
- onReceiveStatus(status) {
- this.listener.onReceiveStatus(status, processedStatus => {
- if (this.processingMetadata || this.processingMessage) {
- this.pendingStatus = processedStatus;
- }
- else {
- this.nextListener.onReceiveStatus(processedStatus);
- }
- });
- }
-}
-exports.InterceptingListenerImpl = InterceptingListenerImpl;
-//# sourceMappingURL=call-interface.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call-interface.js.map b/tests/node_modules/@grpc/grpc-js/build/src/call-interface.js.map
deleted file mode 100644
index f410917d669d7e76949398664727499b5223305d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call-interface.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"call-interface.js","sourceRoot":"","sources":["../../src/call-interface.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAqEH,SAAgB,sBAAsB,CACpC,QAAyC;IAEzC,OAAO,CACL,QAAQ,CAAC,iBAAiB,KAAK,SAAS;QACxC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CACxC,CAAC;AACJ,CAAC;AAPD,wDAOC;AAED,MAAa,wBAAwB;IAMnC,YACU,QAAsB,EACtB,YAAkC;QADlC,aAAQ,GAAR,QAAQ,CAAc;QACtB,iBAAY,GAAZ,YAAY,CAAsB;QAPpC,uBAAkB,GAAG,KAAK,CAAC;QAC3B,sBAAiB,GAAG,KAAK,CAAC;QAE1B,sBAAiB,GAAG,KAAK,CAAC;QAC1B,kBAAa,GAAwB,IAAI,CAAC;IAI/C,CAAC;IAEI,qBAAqB;QAC3B,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACvD;IACH,CAAC;IAED,iBAAiB,CAAC,QAAkB;QAClC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACnD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,8DAA8D;IAC9D,gBAAgB,CAAC,OAAY;QAC3B;qDAC6C;QAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YAC5C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;gBAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,eAAe,CAAC,MAAoB;QAClC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE;YACtD,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACrD,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;aACtC;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;aACpD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA3DD,4DA2DC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call-number.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/call-number.d.ts
deleted file mode 100644
index a679ff641267b205cd14dc809ad142cc09c14ce3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call-number.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-export declare function getNextCallNumber(): number;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call-number.js b/tests/node_modules/@grpc/grpc-js/build/src/call-number.js
deleted file mode 100644
index a694f0f5a42b6ff4894252b9b6ed102dce57af9a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call-number.js
+++ /dev/null
@@ -1,25 +0,0 @@
-"use strict";
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.getNextCallNumber = void 0;
-let nextCallNumber = 0;
-function getNextCallNumber() {
- return nextCallNumber++;
-}
-exports.getNextCallNumber = getNextCallNumber;
-//# sourceMappingURL=call-number.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call-number.js.map b/tests/node_modules/@grpc/grpc-js/build/src/call-number.js.map
deleted file mode 100644
index 9a77ba95386a6719e55a2d2bae391d1dfe92b4da..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call-number.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"call-number.js","sourceRoot":"","sources":["../../src/call-number.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,SAAgB,iBAAiB;IAC/B,OAAO,cAAc,EAAE,CAAC;AAC1B,CAAC;AAFD,8CAEC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/call.d.ts
deleted file mode 100644
index d223aa309d8f1aea05a1fe953cc56eace86759e6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call.d.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-///
-///
-///
-import { EventEmitter } from 'events';
-import { Duplex, Readable, Writable } from 'stream';
-import { StatusObject } from './call-interface';
-import { EmitterAugmentation1 } from './events';
-import { Metadata } from './metadata';
-import { ObjectReadable, ObjectWritable, WriteCallback } from './object-stream';
-import { InterceptingCallInterface } from './client-interceptors';
-/**
- * A type extending the built-in Error object with additional fields.
- */
-export type ServiceError = StatusObject & Error;
-/**
- * A base type for all user-facing values returned by client-side method calls.
- */
-export type SurfaceCall = {
- call?: InterceptingCallInterface;
- cancel(): void;
- getPeer(): string;
-} & EmitterAugmentation1<'metadata', Metadata> & EmitterAugmentation1<'status', StatusObject> & EventEmitter;
-/**
- * A type representing the return value of a unary method call.
- */
-export type ClientUnaryCall = SurfaceCall;
-/**
- * A type representing the return value of a server stream method call.
- */
-export type ClientReadableStream = {
- deserialize: (chunk: Buffer) => ResponseType;
-} & SurfaceCall & ObjectReadable;
-/**
- * A type representing the return value of a client stream method call.
- */
-export type ClientWritableStream = {
- serialize: (value: RequestType) => Buffer;
-} & SurfaceCall & ObjectWritable;
-/**
- * A type representing the return value of a bidirectional stream method call.
- */
-export type ClientDuplexStream = ClientWritableStream & ClientReadableStream;
-/**
- * Construct a ServiceError from a StatusObject. This function exists primarily
- * as an attempt to make the error stack trace clearly communicate that the
- * error is not necessarily a problem in gRPC itself.
- * @param status
- */
-export declare function callErrorFromStatus(status: StatusObject, callerStack: string): ServiceError;
-export declare class ClientUnaryCallImpl extends EventEmitter implements ClientUnaryCall {
- call?: InterceptingCallInterface;
- constructor();
- cancel(): void;
- getPeer(): string;
-}
-export declare class ClientReadableStreamImpl extends Readable implements ClientReadableStream {
- readonly deserialize: (chunk: Buffer) => ResponseType;
- call?: InterceptingCallInterface;
- constructor(deserialize: (chunk: Buffer) => ResponseType);
- cancel(): void;
- getPeer(): string;
- _read(_size: number): void;
-}
-export declare class ClientWritableStreamImpl extends Writable implements ClientWritableStream {
- readonly serialize: (value: RequestType) => Buffer;
- call?: InterceptingCallInterface;
- constructor(serialize: (value: RequestType) => Buffer);
- cancel(): void;
- getPeer(): string;
- _write(chunk: RequestType, encoding: string, cb: WriteCallback): void;
- _final(cb: Function): void;
-}
-export declare class ClientDuplexStreamImpl extends Duplex implements ClientDuplexStream {
- readonly serialize: (value: RequestType) => Buffer;
- readonly deserialize: (chunk: Buffer) => ResponseType;
- call?: InterceptingCallInterface;
- constructor(serialize: (value: RequestType) => Buffer, deserialize: (chunk: Buffer) => ResponseType);
- cancel(): void;
- getPeer(): string;
- _read(_size: number): void;
- _write(chunk: RequestType, encoding: string, cb: WriteCallback): void;
- _final(cb: Function): void;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call.js b/tests/node_modules/@grpc/grpc-js/build/src/call.js
deleted file mode 100644
index 029f679e6ecb134bd01027fadec81d28619c406c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call.js
+++ /dev/null
@@ -1,136 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.ClientDuplexStreamImpl = exports.ClientWritableStreamImpl = exports.ClientReadableStreamImpl = exports.ClientUnaryCallImpl = exports.callErrorFromStatus = void 0;
-const events_1 = require("events");
-const stream_1 = require("stream");
-const constants_1 = require("./constants");
-/**
- * Construct a ServiceError from a StatusObject. This function exists primarily
- * as an attempt to make the error stack trace clearly communicate that the
- * error is not necessarily a problem in gRPC itself.
- * @param status
- */
-function callErrorFromStatus(status, callerStack) {
- const message = `${status.code} ${constants_1.Status[status.code]}: ${status.details}`;
- const error = new Error(message);
- const stack = `${error.stack}\nfor call at\n${callerStack}`;
- return Object.assign(new Error(message), status, { stack });
-}
-exports.callErrorFromStatus = callErrorFromStatus;
-class ClientUnaryCallImpl extends events_1.EventEmitter {
- constructor() {
- super();
- }
- cancel() {
- var _a;
- (_a = this.call) === null || _a === void 0 ? void 0 : _a.cancelWithStatus(constants_1.Status.CANCELLED, 'Cancelled on client');
- }
- getPeer() {
- var _a, _b;
- return (_b = (_a = this.call) === null || _a === void 0 ? void 0 : _a.getPeer()) !== null && _b !== void 0 ? _b : 'unknown';
- }
-}
-exports.ClientUnaryCallImpl = ClientUnaryCallImpl;
-class ClientReadableStreamImpl extends stream_1.Readable {
- constructor(deserialize) {
- super({ objectMode: true });
- this.deserialize = deserialize;
- }
- cancel() {
- var _a;
- (_a = this.call) === null || _a === void 0 ? void 0 : _a.cancelWithStatus(constants_1.Status.CANCELLED, 'Cancelled on client');
- }
- getPeer() {
- var _a, _b;
- return (_b = (_a = this.call) === null || _a === void 0 ? void 0 : _a.getPeer()) !== null && _b !== void 0 ? _b : 'unknown';
- }
- _read(_size) {
- var _a;
- (_a = this.call) === null || _a === void 0 ? void 0 : _a.startRead();
- }
-}
-exports.ClientReadableStreamImpl = ClientReadableStreamImpl;
-class ClientWritableStreamImpl extends stream_1.Writable {
- constructor(serialize) {
- super({ objectMode: true });
- this.serialize = serialize;
- }
- cancel() {
- var _a;
- (_a = this.call) === null || _a === void 0 ? void 0 : _a.cancelWithStatus(constants_1.Status.CANCELLED, 'Cancelled on client');
- }
- getPeer() {
- var _a, _b;
- return (_b = (_a = this.call) === null || _a === void 0 ? void 0 : _a.getPeer()) !== null && _b !== void 0 ? _b : 'unknown';
- }
- _write(chunk, encoding, cb) {
- var _a;
- const context = {
- callback: cb,
- };
- const flags = Number(encoding);
- if (!Number.isNaN(flags)) {
- context.flags = flags;
- }
- (_a = this.call) === null || _a === void 0 ? void 0 : _a.sendMessageWithContext(context, chunk);
- }
- _final(cb) {
- var _a;
- (_a = this.call) === null || _a === void 0 ? void 0 : _a.halfClose();
- cb();
- }
-}
-exports.ClientWritableStreamImpl = ClientWritableStreamImpl;
-class ClientDuplexStreamImpl extends stream_1.Duplex {
- constructor(serialize, deserialize) {
- super({ objectMode: true });
- this.serialize = serialize;
- this.deserialize = deserialize;
- }
- cancel() {
- var _a;
- (_a = this.call) === null || _a === void 0 ? void 0 : _a.cancelWithStatus(constants_1.Status.CANCELLED, 'Cancelled on client');
- }
- getPeer() {
- var _a, _b;
- return (_b = (_a = this.call) === null || _a === void 0 ? void 0 : _a.getPeer()) !== null && _b !== void 0 ? _b : 'unknown';
- }
- _read(_size) {
- var _a;
- (_a = this.call) === null || _a === void 0 ? void 0 : _a.startRead();
- }
- _write(chunk, encoding, cb) {
- var _a;
- const context = {
- callback: cb,
- };
- const flags = Number(encoding);
- if (!Number.isNaN(flags)) {
- context.flags = flags;
- }
- (_a = this.call) === null || _a === void 0 ? void 0 : _a.sendMessageWithContext(context, chunk);
- }
- _final(cb) {
- var _a;
- (_a = this.call) === null || _a === void 0 ? void 0 : _a.halfClose();
- cb();
- }
-}
-exports.ClientDuplexStreamImpl = ClientDuplexStreamImpl;
-//# sourceMappingURL=call.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/call.js.map b/tests/node_modules/@grpc/grpc-js/build/src/call.js.map
deleted file mode 100644
index c630a1b971eadaba9b590fb33b8e57a06fca639d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/call.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/call.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts
deleted file mode 100644
index 75b031263705ea4e3bdd1025fae19648820ed68d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-///
-///
-import { ConnectionOptions, PeerCertificate, SecureContext } from 'tls';
-import { CallCredentials } from './call-credentials';
-/**
- * A callback that will receive the expected hostname and presented peer
- * certificate as parameters. The callback should return an error to
- * indicate that the presented certificate is considered invalid and
- * otherwise returned undefined.
- */
-export type CheckServerIdentityCallback = (hostname: string, cert: PeerCertificate) => Error | undefined;
-/**
- * Additional peer verification options that can be set when creating
- * SSL credentials.
- */
-export interface VerifyOptions {
- /**
- * If set, this callback will be invoked after the usual hostname verification
- * has been performed on the peer certificate.
- */
- checkServerIdentity?: CheckServerIdentityCallback;
-}
-/**
- * A class that contains credentials for communicating over a channel, as well
- * as a set of per-call credentials, which are applied to every method call made
- * over a channel initialized with an instance of this class.
- */
-export declare abstract class ChannelCredentials {
- protected callCredentials: CallCredentials;
- protected constructor(callCredentials?: CallCredentials);
- /**
- * Returns a copy of this object with the included set of per-call credentials
- * expanded to include callCredentials.
- * @param callCredentials A CallCredentials object to associate with this
- * instance.
- */
- abstract compose(callCredentials: CallCredentials): ChannelCredentials;
- /**
- * Gets the set of per-call credentials associated with this instance.
- */
- _getCallCredentials(): CallCredentials;
- /**
- * Gets a SecureContext object generated from input parameters if this
- * instance was created with createSsl, or null if this instance was created
- * with createInsecure.
- */
- abstract _getConnectionOptions(): ConnectionOptions | null;
- /**
- * Indicates whether this credentials object creates a secure channel.
- */
- abstract _isSecure(): boolean;
- /**
- * Check whether two channel credentials objects are equal. Two secure
- * credentials are equal if they were constructed with the same parameters.
- * @param other The other ChannelCredentials Object
- */
- abstract _equals(other: ChannelCredentials): boolean;
- /**
- * Return a new ChannelCredentials instance with a given set of credentials.
- * The resulting instance can be used to construct a Channel that communicates
- * over TLS.
- * @param rootCerts The root certificate data.
- * @param privateKey The client certificate private key, if available.
- * @param certChain The client certificate key chain, if available.
- * @param verifyOptions Additional options to modify certificate verification
- */
- static createSsl(rootCerts?: Buffer | null, privateKey?: Buffer | null, certChain?: Buffer | null, verifyOptions?: VerifyOptions): ChannelCredentials;
- /**
- * Return a new ChannelCredentials instance with credentials created using
- * the provided secureContext. The resulting instances can be used to
- * construct a Channel that communicates over TLS. gRPC will not override
- * anything in the provided secureContext, so the environment variables
- * GRPC_SSL_CIPHER_SUITES and GRPC_DEFAULT_SSL_ROOTS_FILE_PATH will
- * not be applied.
- * @param secureContext The return value of tls.createSecureContext()
- * @param verifyOptions Additional options to modify certificate verification
- */
- static createFromSecureContext(secureContext: SecureContext, verifyOptions?: VerifyOptions): ChannelCredentials;
- /**
- * Return a new ChannelCredentials instance with no credentials.
- */
- static createInsecure(): ChannelCredentials;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channel-credentials.js b/tests/node_modules/@grpc/grpc-js/build/src/channel-credentials.js
deleted file mode 100644
index 9e00e0b04f708dcde608df495ae2dd8e39255791..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channel-credentials.js
+++ /dev/null
@@ -1,177 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.ChannelCredentials = void 0;
-const tls_1 = require("tls");
-const call_credentials_1 = require("./call-credentials");
-const tls_helpers_1 = require("./tls-helpers");
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-function verifyIsBufferOrNull(obj, friendlyName) {
- if (obj && !(obj instanceof Buffer)) {
- throw new TypeError(`${friendlyName}, if provided, must be a Buffer.`);
- }
-}
-/**
- * A class that contains credentials for communicating over a channel, as well
- * as a set of per-call credentials, which are applied to every method call made
- * over a channel initialized with an instance of this class.
- */
-class ChannelCredentials {
- constructor(callCredentials) {
- this.callCredentials = callCredentials || call_credentials_1.CallCredentials.createEmpty();
- }
- /**
- * Gets the set of per-call credentials associated with this instance.
- */
- _getCallCredentials() {
- return this.callCredentials;
- }
- /**
- * Return a new ChannelCredentials instance with a given set of credentials.
- * The resulting instance can be used to construct a Channel that communicates
- * over TLS.
- * @param rootCerts The root certificate data.
- * @param privateKey The client certificate private key, if available.
- * @param certChain The client certificate key chain, if available.
- * @param verifyOptions Additional options to modify certificate verification
- */
- static createSsl(rootCerts, privateKey, certChain, verifyOptions) {
- var _a;
- verifyIsBufferOrNull(rootCerts, 'Root certificate');
- verifyIsBufferOrNull(privateKey, 'Private key');
- verifyIsBufferOrNull(certChain, 'Certificate chain');
- if (privateKey && !certChain) {
- throw new Error('Private key must be given with accompanying certificate chain');
- }
- if (!privateKey && certChain) {
- throw new Error('Certificate chain must be given with accompanying private key');
- }
- const secureContext = (0, tls_1.createSecureContext)({
- ca: (_a = rootCerts !== null && rootCerts !== void 0 ? rootCerts : (0, tls_helpers_1.getDefaultRootsData)()) !== null && _a !== void 0 ? _a : undefined,
- key: privateKey !== null && privateKey !== void 0 ? privateKey : undefined,
- cert: certChain !== null && certChain !== void 0 ? certChain : undefined,
- ciphers: tls_helpers_1.CIPHER_SUITES,
- });
- return new SecureChannelCredentialsImpl(secureContext, verifyOptions !== null && verifyOptions !== void 0 ? verifyOptions : {});
- }
- /**
- * Return a new ChannelCredentials instance with credentials created using
- * the provided secureContext. The resulting instances can be used to
- * construct a Channel that communicates over TLS. gRPC will not override
- * anything in the provided secureContext, so the environment variables
- * GRPC_SSL_CIPHER_SUITES and GRPC_DEFAULT_SSL_ROOTS_FILE_PATH will
- * not be applied.
- * @param secureContext The return value of tls.createSecureContext()
- * @param verifyOptions Additional options to modify certificate verification
- */
- static createFromSecureContext(secureContext, verifyOptions) {
- return new SecureChannelCredentialsImpl(secureContext, verifyOptions !== null && verifyOptions !== void 0 ? verifyOptions : {});
- }
- /**
- * Return a new ChannelCredentials instance with no credentials.
- */
- static createInsecure() {
- return new InsecureChannelCredentialsImpl();
- }
-}
-exports.ChannelCredentials = ChannelCredentials;
-class InsecureChannelCredentialsImpl extends ChannelCredentials {
- constructor(callCredentials) {
- super(callCredentials);
- }
- compose(callCredentials) {
- throw new Error('Cannot compose insecure credentials');
- }
- _getConnectionOptions() {
- return null;
- }
- _isSecure() {
- return false;
- }
- _equals(other) {
- return other instanceof InsecureChannelCredentialsImpl;
- }
-}
-class SecureChannelCredentialsImpl extends ChannelCredentials {
- constructor(secureContext, verifyOptions) {
- super();
- this.secureContext = secureContext;
- this.verifyOptions = verifyOptions;
- this.connectionOptions = {
- secureContext,
- };
- // Node asserts that this option is a function, so we cannot pass undefined
- if (verifyOptions === null || verifyOptions === void 0 ? void 0 : verifyOptions.checkServerIdentity) {
- this.connectionOptions.checkServerIdentity =
- verifyOptions.checkServerIdentity;
- }
- }
- compose(callCredentials) {
- const combinedCallCredentials = this.callCredentials.compose(callCredentials);
- return new ComposedChannelCredentialsImpl(this, combinedCallCredentials);
- }
- _getConnectionOptions() {
- // Copy to prevent callers from mutating this.connectionOptions
- return Object.assign({}, this.connectionOptions);
- }
- _isSecure() {
- return true;
- }
- _equals(other) {
- if (this === other) {
- return true;
- }
- if (other instanceof SecureChannelCredentialsImpl) {
- return (this.secureContext === other.secureContext &&
- this.verifyOptions.checkServerIdentity ===
- other.verifyOptions.checkServerIdentity);
- }
- else {
- return false;
- }
- }
-}
-class ComposedChannelCredentialsImpl extends ChannelCredentials {
- constructor(channelCredentials, callCreds) {
- super(callCreds);
- this.channelCredentials = channelCredentials;
- }
- compose(callCredentials) {
- const combinedCallCredentials = this.callCredentials.compose(callCredentials);
- return new ComposedChannelCredentialsImpl(this.channelCredentials, combinedCallCredentials);
- }
- _getConnectionOptions() {
- return this.channelCredentials._getConnectionOptions();
- }
- _isSecure() {
- return true;
- }
- _equals(other) {
- if (this === other) {
- return true;
- }
- if (other instanceof ComposedChannelCredentialsImpl) {
- return (this.channelCredentials._equals(other.channelCredentials) &&
- this.callCredentials._equals(other.callCredentials));
- }
- else {
- return false;
- }
- }
-}
-//# sourceMappingURL=channel-credentials.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channel-credentials.js.map b/tests/node_modules/@grpc/grpc-js/build/src/channel-credentials.js.map
deleted file mode 100644
index ef49f7720a0f860ea623066662f88b263b0a0393..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channel-credentials.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"channel-credentials.js","sourceRoot":"","sources":["../../src/channel-credentials.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,6BAKa;AAEb,yDAAqD;AACrD,+CAAmE;AAEnE,8DAA8D;AAC9D,SAAS,oBAAoB,CAAC,GAAQ,EAAE,YAAoB;IAC1D,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,MAAM,CAAC,EAAE;QACnC,MAAM,IAAI,SAAS,CAAC,GAAG,YAAY,kCAAkC,CAAC,CAAC;KACxE;AACH,CAAC;AAyBD;;;;GAIG;AACH,MAAsB,kBAAkB;IAGtC,YAAsB,eAAiC;QACrD,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,kCAAe,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC;IASD;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAqBD;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CACd,SAAyB,EACzB,UAA0B,EAC1B,SAAyB,EACzB,aAA6B;;QAE7B,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACpD,oBAAoB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAChD,oBAAoB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACrD,IAAI,UAAU,IAAI,CAAC,SAAS,EAAE;YAC5B,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;SACH;QACD,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;YAC5B,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;SACH;QACD,MAAM,aAAa,GAAG,IAAA,yBAAmB,EAAC;YACxC,EAAE,EAAE,MAAA,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAA,iCAAmB,GAAE,mCAAI,SAAS;YACnD,GAAG,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,SAAS;YAC5B,IAAI,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,SAAS;YAC5B,OAAO,EAAE,2BAAa;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,4BAA4B,CAAC,aAAa,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,uBAAuB,CAC5B,aAA4B,EAC5B,aAA6B;QAE7B,OAAO,IAAI,4BAA4B,CAAC,aAAa,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,8BAA8B,EAAE,CAAC;IAC9C,CAAC;CACF;AApGD,gDAoGC;AAED,MAAM,8BAA+B,SAAQ,kBAAkB;IAC7D,YAAY,eAAiC;QAC3C,KAAK,CAAC,eAAe,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,eAAgC;QACtC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,SAAS;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,KAAyB;QAC/B,OAAO,KAAK,YAAY,8BAA8B,CAAC;IACzD,CAAC;CACF;AAED,MAAM,4BAA6B,SAAQ,kBAAkB;IAG3D,YACU,aAA4B,EAC5B,aAA4B;QAEpC,KAAK,EAAE,CAAC;QAHA,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAGpC,IAAI,CAAC,iBAAiB,GAAG;YACvB,aAAa;SACd,CAAC;QACF,2EAA2E;QAC3E,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,mBAAmB,EAAE;YACtC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB;gBACxC,aAAa,CAAC,mBAAmB,CAAC;SACrC;IACH,CAAC;IAED,OAAO,CAAC,eAAgC;QACtC,MAAM,uBAAuB,GAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChD,OAAO,IAAI,8BAA8B,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IAC3E,CAAC;IAED,qBAAqB;QACnB,+DAA+D;QAC/D,yBAAY,IAAI,CAAC,iBAAiB,EAAG;IACvC,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,KAAyB;QAC/B,IAAI,IAAI,KAAK,KAAK,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,KAAK,YAAY,4BAA4B,EAAE;YACjD,OAAO,CACL,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa;gBAC1C,IAAI,CAAC,aAAa,CAAC,mBAAmB;oBACpC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAC1C,CAAC;SACH;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CACF;AAED,MAAM,8BAA+B,SAAQ,kBAAkB;IAC7D,YACU,kBAAgD,EACxD,SAA0B;QAE1B,KAAK,CAAC,SAAS,CAAC,CAAC;QAHT,uBAAkB,GAAlB,kBAAkB,CAA8B;IAI1D,CAAC;IACD,OAAO,CAAC,eAAgC;QACtC,MAAM,uBAAuB,GAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChD,OAAO,IAAI,8BAA8B,CACvC,IAAI,CAAC,kBAAkB,EACvB,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;IACzD,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,KAAyB;QAC/B,IAAI,IAAI,KAAK,KAAK,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,KAAK,YAAY,8BAA8B,EAAE;YACnD,OAAO,CACL,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;gBACzD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CACpD,CAAC;SACH;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CACF"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts
deleted file mode 100644
index 8fdb06d825c3bf9375deff6edd63aa1a4898beae..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { CompressionAlgorithms } from './compression-algorithms';
-/**
- * An interface that contains options used when initializing a Channel instance.
- */
-export interface ChannelOptions {
- 'grpc.ssl_target_name_override'?: string;
- 'grpc.primary_user_agent'?: string;
- 'grpc.secondary_user_agent'?: string;
- 'grpc.default_authority'?: string;
- 'grpc.keepalive_time_ms'?: number;
- 'grpc.keepalive_timeout_ms'?: number;
- 'grpc.keepalive_permit_without_calls'?: number;
- 'grpc.service_config'?: string;
- 'grpc.max_concurrent_streams'?: number;
- 'grpc.initial_reconnect_backoff_ms'?: number;
- 'grpc.max_reconnect_backoff_ms'?: number;
- 'grpc.use_local_subchannel_pool'?: number;
- 'grpc.max_send_message_length'?: number;
- 'grpc.max_receive_message_length'?: number;
- 'grpc.enable_http_proxy'?: number;
- 'grpc.http_connect_target'?: string;
- 'grpc.http_connect_creds'?: string;
- 'grpc.default_compression_algorithm'?: CompressionAlgorithms;
- 'grpc.enable_channelz'?: number;
- 'grpc.dns_min_time_between_resolutions_ms'?: number;
- 'grpc.enable_retries'?: number;
- 'grpc.per_rpc_retry_buffer_size'?: number;
- 'grpc.retry_buffer_size'?: number;
- 'grpc.max_connection_age_ms'?: number;
- 'grpc.max_connection_age_grace_ms'?: number;
- 'grpc-node.max_session_memory'?: number;
- 'grpc.service_config_disable_resolution'?: number;
- 'grpc.client_idle_timeout_ms'?: number;
- /**
- * Set the enableTrace option in TLS clients and servers
- */
- 'grpc-node.tls_enable_trace'?: number;
- [key: string]: any;
-}
-/**
- * This is for checking provided options at runtime. This is an object for
- * easier membership checking.
- */
-export declare const recognizedOptions: {
- 'grpc.ssl_target_name_override': boolean;
- 'grpc.primary_user_agent': boolean;
- 'grpc.secondary_user_agent': boolean;
- 'grpc.default_authority': boolean;
- 'grpc.keepalive_time_ms': boolean;
- 'grpc.keepalive_timeout_ms': boolean;
- 'grpc.keepalive_permit_without_calls': boolean;
- 'grpc.service_config': boolean;
- 'grpc.max_concurrent_streams': boolean;
- 'grpc.initial_reconnect_backoff_ms': boolean;
- 'grpc.max_reconnect_backoff_ms': boolean;
- 'grpc.use_local_subchannel_pool': boolean;
- 'grpc.max_send_message_length': boolean;
- 'grpc.max_receive_message_length': boolean;
- 'grpc.enable_http_proxy': boolean;
- 'grpc.enable_channelz': boolean;
- 'grpc.dns_min_time_between_resolutions_ms': boolean;
- 'grpc.enable_retries': boolean;
- 'grpc.per_rpc_retry_buffer_size': boolean;
- 'grpc.retry_buffer_size': boolean;
- 'grpc.max_connection_age_ms': boolean;
- 'grpc.max_connection_age_grace_ms': boolean;
- 'grpc-node.max_session_memory': boolean;
- 'grpc.service_config_disable_resolution': boolean;
- 'grpc.client_idle_timeout_ms': boolean;
- 'grpc-node.tls_enable_trace': boolean;
-};
-export declare function channelOptionsEqual(options1: ChannelOptions, options2: ChannelOptions): boolean;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channel-options.js b/tests/node_modules/@grpc/grpc-js/build/src/channel-options.js
deleted file mode 100644
index 9e3bb75f86977767926160fb4f80236d640b33f2..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channel-options.js
+++ /dev/null
@@ -1,69 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.channelOptionsEqual = exports.recognizedOptions = void 0;
-/**
- * This is for checking provided options at runtime. This is an object for
- * easier membership checking.
- */
-exports.recognizedOptions = {
- 'grpc.ssl_target_name_override': true,
- 'grpc.primary_user_agent': true,
- 'grpc.secondary_user_agent': true,
- 'grpc.default_authority': true,
- 'grpc.keepalive_time_ms': true,
- 'grpc.keepalive_timeout_ms': true,
- 'grpc.keepalive_permit_without_calls': true,
- 'grpc.service_config': true,
- 'grpc.max_concurrent_streams': true,
- 'grpc.initial_reconnect_backoff_ms': true,
- 'grpc.max_reconnect_backoff_ms': true,
- 'grpc.use_local_subchannel_pool': true,
- 'grpc.max_send_message_length': true,
- 'grpc.max_receive_message_length': true,
- 'grpc.enable_http_proxy': true,
- 'grpc.enable_channelz': true,
- 'grpc.dns_min_time_between_resolutions_ms': true,
- 'grpc.enable_retries': true,
- 'grpc.per_rpc_retry_buffer_size': true,
- 'grpc.retry_buffer_size': true,
- 'grpc.max_connection_age_ms': true,
- 'grpc.max_connection_age_grace_ms': true,
- 'grpc-node.max_session_memory': true,
- 'grpc.service_config_disable_resolution': true,
- 'grpc.client_idle_timeout_ms': true,
- 'grpc-node.tls_enable_trace': true,
-};
-function channelOptionsEqual(options1, options2) {
- const keys1 = Object.keys(options1).sort();
- const keys2 = Object.keys(options2).sort();
- if (keys1.length !== keys2.length) {
- return false;
- }
- for (let i = 0; i < keys1.length; i += 1) {
- if (keys1[i] !== keys2[i]) {
- return false;
- }
- if (options1[keys1[i]] !== options2[keys2[i]]) {
- return false;
- }
- }
- return true;
-}
-exports.channelOptionsEqual = channelOptionsEqual;
-//# sourceMappingURL=channel-options.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channel-options.js.map b/tests/node_modules/@grpc/grpc-js/build/src/channel-options.js.map
deleted file mode 100644
index d2eb3e5e25020776c11dbd1c430bd8b91259e94c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channel-options.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"channel-options.js","sourceRoot":"","sources":["../../src/channel-options.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAoDH;;;GAGG;AACU,QAAA,iBAAiB,GAAG;IAC/B,+BAA+B,EAAE,IAAI;IACrC,yBAAyB,EAAE,IAAI;IAC/B,2BAA2B,EAAE,IAAI;IACjC,wBAAwB,EAAE,IAAI;IAC9B,wBAAwB,EAAE,IAAI;IAC9B,2BAA2B,EAAE,IAAI;IACjC,qCAAqC,EAAE,IAAI;IAC3C,qBAAqB,EAAE,IAAI;IAC3B,6BAA6B,EAAE,IAAI;IACnC,mCAAmC,EAAE,IAAI;IACzC,+BAA+B,EAAE,IAAI;IACrC,gCAAgC,EAAE,IAAI;IACtC,8BAA8B,EAAE,IAAI;IACpC,iCAAiC,EAAE,IAAI;IACvC,wBAAwB,EAAE,IAAI;IAC9B,sBAAsB,EAAE,IAAI;IAC5B,0CAA0C,EAAE,IAAI;IAChD,qBAAqB,EAAE,IAAI;IAC3B,gCAAgC,EAAE,IAAI;IACtC,wBAAwB,EAAE,IAAI;IAC9B,4BAA4B,EAAE,IAAI;IAClC,kCAAkC,EAAE,IAAI;IACxC,8BAA8B,EAAE,IAAI;IACpC,wCAAwC,EAAE,IAAI;IAC9C,6BAA6B,EAAE,IAAI;IACnC,4BAA4B,EAAE,IAAI;CACnC,CAAC;AAEF,SAAgB,mBAAmB,CACjC,QAAwB,EACxB,QAAwB;IAExB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;QACjC,OAAO,KAAK,CAAC;KACd;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACxC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC;SACd;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7C,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,kDAkBC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channel.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/channel.d.ts
deleted file mode 100644
index 62b43e7577b7f94b03bd0880a905b32f71b93593..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channel.d.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import { ChannelCredentials } from './channel-credentials';
-import { ChannelOptions } from './channel-options';
-import { ServerSurfaceCall } from './server-call';
-import { ConnectivityState } from './connectivity-state';
-import { ChannelRef } from './channelz';
-import { Call } from './call-interface';
-import { Deadline } from './deadline';
-/**
- * An interface that represents a communication channel to a server specified
- * by a given address.
- */
-export interface Channel {
- /**
- * Close the channel. This has the same functionality as the existing
- * grpc.Client.prototype.close
- */
- close(): void;
- /**
- * Return the target that this channel connects to
- */
- getTarget(): string;
- /**
- * Get the channel's current connectivity state. This method is here mainly
- * because it is in the existing internal Channel class, and there isn't
- * another good place to put it.
- * @param tryToConnect If true, the channel will start connecting if it is
- * idle. Otherwise, idle channels will only start connecting when a
- * call starts.
- */
- getConnectivityState(tryToConnect: boolean): ConnectivityState;
- /**
- * Watch for connectivity state changes. This is also here mainly because
- * it is in the existing external Channel class.
- * @param currentState The state to watch for transitions from. This should
- * always be populated by calling getConnectivityState immediately
- * before.
- * @param deadline A deadline for waiting for a state change
- * @param callback Called with no error when a state change, or with an
- * error if the deadline passes without a state change.
- */
- watchConnectivityState(currentState: ConnectivityState, deadline: Date | number, callback: (error?: Error) => void): void;
- /**
- * Get the channelz reference object for this channel. A request to the
- * channelz service for the id in this object will provide information
- * about this channel.
- */
- getChannelzRef(): ChannelRef;
- /**
- * Create a call object. Call is an opaque type that is used by the Client
- * class. This function is called by the gRPC library when starting a
- * request. Implementers should return an instance of Call that is returned
- * from calling createCall on an instance of the provided Channel class.
- * @param method The full method string to request.
- * @param deadline The call deadline
- * @param host A host string override for making the request
- * @param parentCall A server call to propagate some information from
- * @param propagateFlags A bitwise combination of elements of grpc.propagate
- * that indicates what information to propagate from parentCall.
- */
- createCall(method: string, deadline: Deadline, host: string | null | undefined, parentCall: ServerSurfaceCall | null, propagateFlags: number | null | undefined): Call;
-}
-export declare class ChannelImplementation implements Channel {
- private internalChannel;
- constructor(target: string, credentials: ChannelCredentials, options: ChannelOptions);
- close(): void;
- getTarget(): string;
- getConnectivityState(tryToConnect: boolean): ConnectivityState;
- watchConnectivityState(currentState: ConnectivityState, deadline: Date | number, callback: (error?: Error) => void): void;
- /**
- * Get the channelz reference object for this channel. The returned value is
- * garbage if channelz is disabled for this channel.
- * @returns
- */
- getChannelzRef(): ChannelRef;
- createCall(method: string, deadline: Deadline, host: string | null | undefined, parentCall: ServerSurfaceCall | null, propagateFlags: number | null | undefined): Call;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channel.js b/tests/node_modules/@grpc/grpc-js/build/src/channel.js
deleted file mode 100644
index 49e8639a9d3cd9e476b298c84f7b42810cab7e2a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channel.js
+++ /dev/null
@@ -1,68 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.ChannelImplementation = void 0;
-const channel_credentials_1 = require("./channel-credentials");
-const internal_channel_1 = require("./internal-channel");
-class ChannelImplementation {
- constructor(target, credentials, options) {
- if (typeof target !== 'string') {
- throw new TypeError('Channel target must be a string');
- }
- if (!(credentials instanceof channel_credentials_1.ChannelCredentials)) {
- throw new TypeError('Channel credentials must be a ChannelCredentials object');
- }
- if (options) {
- if (typeof options !== 'object') {
- throw new TypeError('Channel options must be an object');
- }
- }
- this.internalChannel = new internal_channel_1.InternalChannel(target, credentials, options);
- }
- close() {
- this.internalChannel.close();
- }
- getTarget() {
- return this.internalChannel.getTarget();
- }
- getConnectivityState(tryToConnect) {
- return this.internalChannel.getConnectivityState(tryToConnect);
- }
- watchConnectivityState(currentState, deadline, callback) {
- this.internalChannel.watchConnectivityState(currentState, deadline, callback);
- }
- /**
- * Get the channelz reference object for this channel. The returned value is
- * garbage if channelz is disabled for this channel.
- * @returns
- */
- getChannelzRef() {
- return this.internalChannel.getChannelzRef();
- }
- createCall(method, deadline, host, parentCall, propagateFlags) {
- if (typeof method !== 'string') {
- throw new TypeError('Channel#createCall: method must be a string');
- }
- if (!(typeof deadline === 'number' || deadline instanceof Date)) {
- throw new TypeError('Channel#createCall: deadline must be a number or Date');
- }
- return this.internalChannel.createCall(method, deadline, host, parentCall, propagateFlags);
- }
-}
-exports.ChannelImplementation = ChannelImplementation;
-//# sourceMappingURL=channel.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channel.js.map b/tests/node_modules/@grpc/grpc-js/build/src/channel.js.map
deleted file mode 100644
index ae31c5808fab5157e1ba20e1fcde8ceedff9fec7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channel.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,+DAA2D;AAO3D,yDAAqD;AAoErD,MAAa,qBAAqB;IAGhC,YACE,MAAc,EACd,WAA+B,EAC/B,OAAuB;QAEvB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,CAAC,WAAW,YAAY,wCAAkB,CAAC,EAAE;YAChD,MAAM,IAAI,SAAS,CACjB,yDAAyD,CAC1D,CAAC;SACH;QACD,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;aAC1D;SACF;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAe,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK;QACH,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,oBAAoB,CAAC,YAAqB;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,sBAAsB,CACpB,YAA+B,EAC/B,QAAuB,EACvB,QAAiC;QAEjC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CACzC,YAAY,EACZ,QAAQ,EACR,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;IAC/C,CAAC;IAED,UAAU,CACR,MAAc,EACd,QAAkB,EAClB,IAA+B,EAC/B,UAAoC,EACpC,cAAyC;QAEzC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,YAAY,IAAI,CAAC,EAAE;YAC/D,MAAM,IAAI,SAAS,CACjB,uDAAuD,CACxD,CAAC;SACH;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CACpC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,cAAc,CACf,CAAC;IACJ,CAAC;CACF;AAjFD,sDAiFC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channelz.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/channelz.d.ts
deleted file mode 100644
index 388ef2ddc90baa0309b817b57d64c1a5215590b5..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channelz.d.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-///
-import { ConnectivityState } from './connectivity-state';
-import { ChannelTrace } from './generated/grpc/channelz/v1/ChannelTrace';
-import { SubchannelAddress } from './subchannel-address';
-import { ChannelzDefinition, ChannelzHandlers } from './generated/grpc/channelz/v1/Channelz';
-export type TraceSeverity = 'CT_UNKNOWN' | 'CT_INFO' | 'CT_WARNING' | 'CT_ERROR';
-export interface ChannelRef {
- kind: 'channel';
- id: number;
- name: string;
-}
-export interface SubchannelRef {
- kind: 'subchannel';
- id: number;
- name: string;
-}
-export interface ServerRef {
- kind: 'server';
- id: number;
-}
-export interface SocketRef {
- kind: 'socket';
- id: number;
- name: string;
-}
-interface TraceEvent {
- description: string;
- severity: TraceSeverity;
- timestamp: Date;
- childChannel?: ChannelRef;
- childSubchannel?: SubchannelRef;
-}
-export declare class ChannelzTrace {
- events: TraceEvent[];
- creationTimestamp: Date;
- eventsLogged: number;
- constructor();
- addTrace(severity: TraceSeverity, description: string, child?: ChannelRef | SubchannelRef): void;
- getTraceMessage(): ChannelTrace;
-}
-export declare class ChannelzChildrenTracker {
- private channelChildren;
- private subchannelChildren;
- private socketChildren;
- refChild(child: ChannelRef | SubchannelRef | SocketRef): void;
- unrefChild(child: ChannelRef | SubchannelRef | SocketRef): void;
- getChildLists(): ChannelzChildren;
-}
-export declare class ChannelzCallTracker {
- callsStarted: number;
- callsSucceeded: number;
- callsFailed: number;
- lastCallStartedTimestamp: Date | null;
- addCallStarted(): void;
- addCallSucceeded(): void;
- addCallFailed(): void;
-}
-export interface ChannelzChildren {
- channels: ChannelRef[];
- subchannels: SubchannelRef[];
- sockets: SocketRef[];
-}
-export interface ChannelInfo {
- target: string;
- state: ConnectivityState;
- trace: ChannelzTrace;
- callTracker: ChannelzCallTracker;
- children: ChannelzChildren;
-}
-export type SubchannelInfo = ChannelInfo;
-export interface ServerInfo {
- trace: ChannelzTrace;
- callTracker: ChannelzCallTracker;
- listenerChildren: ChannelzChildren;
- sessionChildren: ChannelzChildren;
-}
-export interface TlsInfo {
- cipherSuiteStandardName: string | null;
- cipherSuiteOtherName: string | null;
- localCertificate: Buffer | null;
- remoteCertificate: Buffer | null;
-}
-export interface SocketInfo {
- localAddress: SubchannelAddress | null;
- remoteAddress: SubchannelAddress | null;
- security: TlsInfo | null;
- remoteName: string | null;
- streamsStarted: number;
- streamsSucceeded: number;
- streamsFailed: number;
- messagesSent: number;
- messagesReceived: number;
- keepAlivesSent: number;
- lastLocalStreamCreatedTimestamp: Date | null;
- lastRemoteStreamCreatedTimestamp: Date | null;
- lastMessageSentTimestamp: Date | null;
- lastMessageReceivedTimestamp: Date | null;
- localFlowControlWindow: number | null;
- remoteFlowControlWindow: number | null;
-}
-export declare function registerChannelzChannel(name: string, getInfo: () => ChannelInfo, channelzEnabled: boolean): ChannelRef;
-export declare function registerChannelzSubchannel(name: string, getInfo: () => SubchannelInfo, channelzEnabled: boolean): SubchannelRef;
-export declare function registerChannelzServer(getInfo: () => ServerInfo, channelzEnabled: boolean): ServerRef;
-export declare function registerChannelzSocket(name: string, getInfo: () => SocketInfo, channelzEnabled: boolean): SocketRef;
-export declare function unregisterChannelzRef(ref: ChannelRef | SubchannelRef | ServerRef | SocketRef): void;
-export declare function getChannelzHandlers(): ChannelzHandlers;
-export declare function getChannelzServiceDefinition(): ChannelzDefinition;
-export declare function setup(): void;
-export {};
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channelz.js b/tests/node_modules/@grpc/grpc-js/build/src/channelz.js
deleted file mode 100644
index 9a8fc30e59716c004b9976f6412e8b27bb49eeed..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channelz.js
+++ /dev/null
@@ -1,637 +0,0 @@
-"use strict";
-/*
- * Copyright 2021 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.setup = exports.getChannelzServiceDefinition = exports.getChannelzHandlers = exports.unregisterChannelzRef = exports.registerChannelzSocket = exports.registerChannelzServer = exports.registerChannelzSubchannel = exports.registerChannelzChannel = exports.ChannelzCallTracker = exports.ChannelzChildrenTracker = exports.ChannelzTrace = void 0;
-const net_1 = require("net");
-const connectivity_state_1 = require("./connectivity-state");
-const constants_1 = require("./constants");
-const subchannel_address_1 = require("./subchannel-address");
-const admin_1 = require("./admin");
-const make_client_1 = require("./make-client");
-function channelRefToMessage(ref) {
- return {
- channel_id: ref.id,
- name: ref.name,
- };
-}
-function subchannelRefToMessage(ref) {
- return {
- subchannel_id: ref.id,
- name: ref.name,
- };
-}
-function serverRefToMessage(ref) {
- return {
- server_id: ref.id,
- };
-}
-function socketRefToMessage(ref) {
- return {
- socket_id: ref.id,
- name: ref.name,
- };
-}
-/**
- * The loose upper bound on the number of events that should be retained in a
- * trace. This may be exceeded by up to a factor of 2. Arbitrarily chosen as a
- * number that should be large enough to contain the recent relevant
- * information, but small enough to not use excessive memory.
- */
-const TARGET_RETAINED_TRACES = 32;
-class ChannelzTrace {
- constructor() {
- this.events = [];
- this.eventsLogged = 0;
- this.creationTimestamp = new Date();
- }
- addTrace(severity, description, child) {
- const timestamp = new Date();
- this.events.push({
- description: description,
- severity: severity,
- timestamp: timestamp,
- childChannel: (child === null || child === void 0 ? void 0 : child.kind) === 'channel' ? child : undefined,
- childSubchannel: (child === null || child === void 0 ? void 0 : child.kind) === 'subchannel' ? child : undefined,
- });
- // Whenever the trace array gets too large, discard the first half
- if (this.events.length >= TARGET_RETAINED_TRACES * 2) {
- this.events = this.events.slice(TARGET_RETAINED_TRACES);
- }
- this.eventsLogged += 1;
- }
- getTraceMessage() {
- return {
- creation_timestamp: dateToProtoTimestamp(this.creationTimestamp),
- num_events_logged: this.eventsLogged,
- events: this.events.map(event => {
- return {
- description: event.description,
- severity: event.severity,
- timestamp: dateToProtoTimestamp(event.timestamp),
- channel_ref: event.childChannel
- ? channelRefToMessage(event.childChannel)
- : null,
- subchannel_ref: event.childSubchannel
- ? subchannelRefToMessage(event.childSubchannel)
- : null,
- };
- }),
- };
- }
-}
-exports.ChannelzTrace = ChannelzTrace;
-class ChannelzChildrenTracker {
- constructor() {
- this.channelChildren = new Map();
- this.subchannelChildren = new Map();
- this.socketChildren = new Map();
- }
- refChild(child) {
- var _a, _b, _c;
- switch (child.kind) {
- case 'channel': {
- const trackedChild = (_a = this.channelChildren.get(child.id)) !== null && _a !== void 0 ? _a : {
- ref: child,
- count: 0,
- };
- trackedChild.count += 1;
- this.channelChildren.set(child.id, trackedChild);
- break;
- }
- case 'subchannel': {
- const trackedChild = (_b = this.subchannelChildren.get(child.id)) !== null && _b !== void 0 ? _b : {
- ref: child,
- count: 0,
- };
- trackedChild.count += 1;
- this.subchannelChildren.set(child.id, trackedChild);
- break;
- }
- case 'socket': {
- const trackedChild = (_c = this.socketChildren.get(child.id)) !== null && _c !== void 0 ? _c : {
- ref: child,
- count: 0,
- };
- trackedChild.count += 1;
- this.socketChildren.set(child.id, trackedChild);
- break;
- }
- }
- }
- unrefChild(child) {
- switch (child.kind) {
- case 'channel': {
- const trackedChild = this.channelChildren.get(child.id);
- if (trackedChild !== undefined) {
- trackedChild.count -= 1;
- if (trackedChild.count === 0) {
- this.channelChildren.delete(child.id);
- }
- else {
- this.channelChildren.set(child.id, trackedChild);
- }
- }
- break;
- }
- case 'subchannel': {
- const trackedChild = this.subchannelChildren.get(child.id);
- if (trackedChild !== undefined) {
- trackedChild.count -= 1;
- if (trackedChild.count === 0) {
- this.subchannelChildren.delete(child.id);
- }
- else {
- this.subchannelChildren.set(child.id, trackedChild);
- }
- }
- break;
- }
- case 'socket': {
- const trackedChild = this.socketChildren.get(child.id);
- if (trackedChild !== undefined) {
- trackedChild.count -= 1;
- if (trackedChild.count === 0) {
- this.socketChildren.delete(child.id);
- }
- else {
- this.socketChildren.set(child.id, trackedChild);
- }
- }
- break;
- }
- }
- }
- getChildLists() {
- const channels = [];
- for (const { ref } of this.channelChildren.values()) {
- channels.push(ref);
- }
- const subchannels = [];
- for (const { ref } of this.subchannelChildren.values()) {
- subchannels.push(ref);
- }
- const sockets = [];
- for (const { ref } of this.socketChildren.values()) {
- sockets.push(ref);
- }
- return { channels, subchannels, sockets };
- }
-}
-exports.ChannelzChildrenTracker = ChannelzChildrenTracker;
-class ChannelzCallTracker {
- constructor() {
- this.callsStarted = 0;
- this.callsSucceeded = 0;
- this.callsFailed = 0;
- this.lastCallStartedTimestamp = null;
- }
- addCallStarted() {
- this.callsStarted += 1;
- this.lastCallStartedTimestamp = new Date();
- }
- addCallSucceeded() {
- this.callsSucceeded += 1;
- }
- addCallFailed() {
- this.callsFailed += 1;
- }
-}
-exports.ChannelzCallTracker = ChannelzCallTracker;
-let nextId = 1;
-function getNextId() {
- return nextId++;
-}
-const channels = [];
-const subchannels = [];
-const servers = [];
-const sockets = [];
-function registerChannelzChannel(name, getInfo, channelzEnabled) {
- const id = getNextId();
- const ref = { id, name, kind: 'channel' };
- if (channelzEnabled) {
- channels[id] = { ref, getInfo };
- }
- return ref;
-}
-exports.registerChannelzChannel = registerChannelzChannel;
-function registerChannelzSubchannel(name, getInfo, channelzEnabled) {
- const id = getNextId();
- const ref = { id, name, kind: 'subchannel' };
- if (channelzEnabled) {
- subchannels[id] = { ref, getInfo };
- }
- return ref;
-}
-exports.registerChannelzSubchannel = registerChannelzSubchannel;
-function registerChannelzServer(getInfo, channelzEnabled) {
- const id = getNextId();
- const ref = { id, kind: 'server' };
- if (channelzEnabled) {
- servers[id] = { ref, getInfo };
- }
- return ref;
-}
-exports.registerChannelzServer = registerChannelzServer;
-function registerChannelzSocket(name, getInfo, channelzEnabled) {
- const id = getNextId();
- const ref = { id, name, kind: 'socket' };
- if (channelzEnabled) {
- sockets[id] = { ref, getInfo };
- }
- return ref;
-}
-exports.registerChannelzSocket = registerChannelzSocket;
-function unregisterChannelzRef(ref) {
- switch (ref.kind) {
- case 'channel':
- delete channels[ref.id];
- return;
- case 'subchannel':
- delete subchannels[ref.id];
- return;
- case 'server':
- delete servers[ref.id];
- return;
- case 'socket':
- delete sockets[ref.id];
- return;
- }
-}
-exports.unregisterChannelzRef = unregisterChannelzRef;
-/**
- * Parse a single section of an IPv6 address as two bytes
- * @param addressSection A hexadecimal string of length up to 4
- * @returns The pair of bytes representing this address section
- */
-function parseIPv6Section(addressSection) {
- const numberValue = Number.parseInt(addressSection, 16);
- return [(numberValue / 256) | 0, numberValue % 256];
-}
-/**
- * Parse a chunk of an IPv6 address string to some number of bytes
- * @param addressChunk Some number of segments of up to 4 hexadecimal
- * characters each, joined by colons.
- * @returns The list of bytes representing this address chunk
- */
-function parseIPv6Chunk(addressChunk) {
- if (addressChunk === '') {
- return [];
- }
- const bytePairs = addressChunk
- .split(':')
- .map(section => parseIPv6Section(section));
- const result = [];
- return result.concat(...bytePairs);
-}
-/**
- * Converts an IPv4 or IPv6 address from string representation to binary
- * representation
- * @param ipAddress an IP address in standard IPv4 or IPv6 text format
- * @returns
- */
-function ipAddressStringToBuffer(ipAddress) {
- if ((0, net_1.isIPv4)(ipAddress)) {
- return Buffer.from(Uint8Array.from(ipAddress.split('.').map(segment => Number.parseInt(segment))));
- }
- else if ((0, net_1.isIPv6)(ipAddress)) {
- let leftSection;
- let rightSection;
- const doubleColonIndex = ipAddress.indexOf('::');
- if (doubleColonIndex === -1) {
- leftSection = ipAddress;
- rightSection = '';
- }
- else {
- leftSection = ipAddress.substring(0, doubleColonIndex);
- rightSection = ipAddress.substring(doubleColonIndex + 2);
- }
- const leftBuffer = Buffer.from(parseIPv6Chunk(leftSection));
- const rightBuffer = Buffer.from(parseIPv6Chunk(rightSection));
- const middleBuffer = Buffer.alloc(16 - leftBuffer.length - rightBuffer.length, 0);
- return Buffer.concat([leftBuffer, middleBuffer, rightBuffer]);
- }
- else {
- return null;
- }
-}
-function connectivityStateToMessage(state) {
- switch (state) {
- case connectivity_state_1.ConnectivityState.CONNECTING:
- return {
- state: 'CONNECTING',
- };
- case connectivity_state_1.ConnectivityState.IDLE:
- return {
- state: 'IDLE',
- };
- case connectivity_state_1.ConnectivityState.READY:
- return {
- state: 'READY',
- };
- case connectivity_state_1.ConnectivityState.SHUTDOWN:
- return {
- state: 'SHUTDOWN',
- };
- case connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE:
- return {
- state: 'TRANSIENT_FAILURE',
- };
- default:
- return {
- state: 'UNKNOWN',
- };
- }
-}
-function dateToProtoTimestamp(date) {
- if (!date) {
- return null;
- }
- const millisSinceEpoch = date.getTime();
- return {
- seconds: (millisSinceEpoch / 1000) | 0,
- nanos: (millisSinceEpoch % 1000) * 1000000,
- };
-}
-function getChannelMessage(channelEntry) {
- const resolvedInfo = channelEntry.getInfo();
- return {
- ref: channelRefToMessage(channelEntry.ref),
- data: {
- target: resolvedInfo.target,
- state: connectivityStateToMessage(resolvedInfo.state),
- calls_started: resolvedInfo.callTracker.callsStarted,
- calls_succeeded: resolvedInfo.callTracker.callsSucceeded,
- calls_failed: resolvedInfo.callTracker.callsFailed,
- last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp),
- trace: resolvedInfo.trace.getTraceMessage(),
- },
- channel_ref: resolvedInfo.children.channels.map(ref => channelRefToMessage(ref)),
- subchannel_ref: resolvedInfo.children.subchannels.map(ref => subchannelRefToMessage(ref)),
- };
-}
-function GetChannel(call, callback) {
- const channelId = Number.parseInt(call.request.channel_id);
- const channelEntry = channels[channelId];
- if (channelEntry === undefined) {
- callback({
- code: constants_1.Status.NOT_FOUND,
- details: 'No channel data found for id ' + channelId,
- });
- return;
- }
- callback(null, { channel: getChannelMessage(channelEntry) });
-}
-function GetTopChannels(call, callback) {
- const maxResults = Number.parseInt(call.request.max_results);
- const resultList = [];
- let i = Number.parseInt(call.request.start_channel_id);
- for (; i < channels.length; i++) {
- const channelEntry = channels[i];
- if (channelEntry === undefined) {
- continue;
- }
- resultList.push(getChannelMessage(channelEntry));
- if (resultList.length >= maxResults) {
- break;
- }
- }
- callback(null, {
- channel: resultList,
- end: i >= servers.length,
- });
-}
-function getServerMessage(serverEntry) {
- const resolvedInfo = serverEntry.getInfo();
- return {
- ref: serverRefToMessage(serverEntry.ref),
- data: {
- calls_started: resolvedInfo.callTracker.callsStarted,
- calls_succeeded: resolvedInfo.callTracker.callsSucceeded,
- calls_failed: resolvedInfo.callTracker.callsFailed,
- last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp),
- trace: resolvedInfo.trace.getTraceMessage(),
- },
- listen_socket: resolvedInfo.listenerChildren.sockets.map(ref => socketRefToMessage(ref)),
- };
-}
-function GetServer(call, callback) {
- const serverId = Number.parseInt(call.request.server_id);
- const serverEntry = servers[serverId];
- if (serverEntry === undefined) {
- callback({
- code: constants_1.Status.NOT_FOUND,
- details: 'No server data found for id ' + serverId,
- });
- return;
- }
- callback(null, { server: getServerMessage(serverEntry) });
-}
-function GetServers(call, callback) {
- const maxResults = Number.parseInt(call.request.max_results);
- const resultList = [];
- let i = Number.parseInt(call.request.start_server_id);
- for (; i < servers.length; i++) {
- const serverEntry = servers[i];
- if (serverEntry === undefined) {
- continue;
- }
- resultList.push(getServerMessage(serverEntry));
- if (resultList.length >= maxResults) {
- break;
- }
- }
- callback(null, {
- server: resultList,
- end: i >= servers.length,
- });
-}
-function GetSubchannel(call, callback) {
- const subchannelId = Number.parseInt(call.request.subchannel_id);
- const subchannelEntry = subchannels[subchannelId];
- if (subchannelEntry === undefined) {
- callback({
- code: constants_1.Status.NOT_FOUND,
- details: 'No subchannel data found for id ' + subchannelId,
- });
- return;
- }
- const resolvedInfo = subchannelEntry.getInfo();
- const subchannelMessage = {
- ref: subchannelRefToMessage(subchannelEntry.ref),
- data: {
- target: resolvedInfo.target,
- state: connectivityStateToMessage(resolvedInfo.state),
- calls_started: resolvedInfo.callTracker.callsStarted,
- calls_succeeded: resolvedInfo.callTracker.callsSucceeded,
- calls_failed: resolvedInfo.callTracker.callsFailed,
- last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp),
- trace: resolvedInfo.trace.getTraceMessage(),
- },
- socket_ref: resolvedInfo.children.sockets.map(ref => socketRefToMessage(ref)),
- };
- callback(null, { subchannel: subchannelMessage });
-}
-function subchannelAddressToAddressMessage(subchannelAddress) {
- var _a;
- if ((0, subchannel_address_1.isTcpSubchannelAddress)(subchannelAddress)) {
- return {
- address: 'tcpip_address',
- tcpip_address: {
- ip_address: (_a = ipAddressStringToBuffer(subchannelAddress.host)) !== null && _a !== void 0 ? _a : undefined,
- port: subchannelAddress.port,
- },
- };
- }
- else {
- return {
- address: 'uds_address',
- uds_address: {
- filename: subchannelAddress.path,
- },
- };
- }
-}
-function GetSocket(call, callback) {
- var _a, _b, _c, _d, _e;
- const socketId = Number.parseInt(call.request.socket_id);
- const socketEntry = sockets[socketId];
- if (socketEntry === undefined) {
- callback({
- code: constants_1.Status.NOT_FOUND,
- details: 'No socket data found for id ' + socketId,
- });
- return;
- }
- const resolvedInfo = socketEntry.getInfo();
- const securityMessage = resolvedInfo.security
- ? {
- model: 'tls',
- tls: {
- cipher_suite: resolvedInfo.security.cipherSuiteStandardName
- ? 'standard_name'
- : 'other_name',
- standard_name: (_a = resolvedInfo.security.cipherSuiteStandardName) !== null && _a !== void 0 ? _a : undefined,
- other_name: (_b = resolvedInfo.security.cipherSuiteOtherName) !== null && _b !== void 0 ? _b : undefined,
- local_certificate: (_c = resolvedInfo.security.localCertificate) !== null && _c !== void 0 ? _c : undefined,
- remote_certificate: (_d = resolvedInfo.security.remoteCertificate) !== null && _d !== void 0 ? _d : undefined,
- },
- }
- : null;
- const socketMessage = {
- ref: socketRefToMessage(socketEntry.ref),
- local: resolvedInfo.localAddress
- ? subchannelAddressToAddressMessage(resolvedInfo.localAddress)
- : null,
- remote: resolvedInfo.remoteAddress
- ? subchannelAddressToAddressMessage(resolvedInfo.remoteAddress)
- : null,
- remote_name: (_e = resolvedInfo.remoteName) !== null && _e !== void 0 ? _e : undefined,
- security: securityMessage,
- data: {
- keep_alives_sent: resolvedInfo.keepAlivesSent,
- streams_started: resolvedInfo.streamsStarted,
- streams_succeeded: resolvedInfo.streamsSucceeded,
- streams_failed: resolvedInfo.streamsFailed,
- last_local_stream_created_timestamp: dateToProtoTimestamp(resolvedInfo.lastLocalStreamCreatedTimestamp),
- last_remote_stream_created_timestamp: dateToProtoTimestamp(resolvedInfo.lastRemoteStreamCreatedTimestamp),
- messages_received: resolvedInfo.messagesReceived,
- messages_sent: resolvedInfo.messagesSent,
- last_message_received_timestamp: dateToProtoTimestamp(resolvedInfo.lastMessageReceivedTimestamp),
- last_message_sent_timestamp: dateToProtoTimestamp(resolvedInfo.lastMessageSentTimestamp),
- local_flow_control_window: resolvedInfo.localFlowControlWindow
- ? { value: resolvedInfo.localFlowControlWindow }
- : null,
- remote_flow_control_window: resolvedInfo.remoteFlowControlWindow
- ? { value: resolvedInfo.remoteFlowControlWindow }
- : null,
- },
- };
- callback(null, { socket: socketMessage });
-}
-function GetServerSockets(call, callback) {
- const serverId = Number.parseInt(call.request.server_id);
- const serverEntry = servers[serverId];
- if (serverEntry === undefined) {
- callback({
- code: constants_1.Status.NOT_FOUND,
- details: 'No server data found for id ' + serverId,
- });
- return;
- }
- const startId = Number.parseInt(call.request.start_socket_id);
- const maxResults = Number.parseInt(call.request.max_results);
- const resolvedInfo = serverEntry.getInfo();
- // If we wanted to include listener sockets in the result, this line would
- // instead say
- // const allSockets = resolvedInfo.listenerChildren.sockets.concat(resolvedInfo.sessionChildren.sockets).sort((ref1, ref2) => ref1.id - ref2.id);
- const allSockets = resolvedInfo.sessionChildren.sockets.sort((ref1, ref2) => ref1.id - ref2.id);
- const resultList = [];
- let i = 0;
- for (; i < allSockets.length; i++) {
- if (allSockets[i].id >= startId) {
- resultList.push(socketRefToMessage(allSockets[i]));
- if (resultList.length >= maxResults) {
- break;
- }
- }
- }
- callback(null, {
- socket_ref: resultList,
- end: i >= allSockets.length,
- });
-}
-function getChannelzHandlers() {
- return {
- GetChannel,
- GetTopChannels,
- GetServer,
- GetServers,
- GetSubchannel,
- GetSocket,
- GetServerSockets,
- };
-}
-exports.getChannelzHandlers = getChannelzHandlers;
-let loadedChannelzDefinition = null;
-function getChannelzServiceDefinition() {
- if (loadedChannelzDefinition) {
- return loadedChannelzDefinition;
- }
- /* The purpose of this complexity is to avoid loading @grpc/proto-loader at
- * runtime for users who will not use/enable channelz. */
- const loaderLoadSync = require('@grpc/proto-loader')
- .loadSync;
- const loadedProto = loaderLoadSync('channelz.proto', {
- keepCase: true,
- longs: String,
- enums: String,
- defaults: true,
- oneofs: true,
- includeDirs: [`${__dirname}/../../proto`],
- });
- const channelzGrpcObject = (0, make_client_1.loadPackageDefinition)(loadedProto);
- loadedChannelzDefinition =
- channelzGrpcObject.grpc.channelz.v1.Channelz.service;
- return loadedChannelzDefinition;
-}
-exports.getChannelzServiceDefinition = getChannelzServiceDefinition;
-function setup() {
- (0, admin_1.registerAdminService)(getChannelzServiceDefinition, getChannelzHandlers);
-}
-exports.setup = setup;
-//# sourceMappingURL=channelz.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/channelz.js.map b/tests/node_modules/@grpc/grpc-js/build/src/channelz.js.map
deleted file mode 100644
index b3b9001c93833ffab32df18219273d28f25639d2..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/channelz.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"channelz.js","sourceRoot":"","sources":["../../src/channelz.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts
deleted file mode 100644
index 1ecfb344addf2bcf595512a51578ff94261659d9..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts
+++ /dev/null
@@ -1,120 +0,0 @@
-import { Metadata } from './metadata';
-import { Listener, MetadataListener, MessageListener, StatusListener, InterceptingListener, MessageContext } from './call-interface';
-import { Status } from './constants';
-import { Channel } from './channel';
-import { CallOptions } from './client';
-import { ClientMethodDefinition } from './make-client';
-/**
- * Error class associated with passing both interceptors and interceptor
- * providers to a client constructor or as call options.
- */
-export declare class InterceptorConfigurationError extends Error {
- constructor(message: string);
-}
-export interface MetadataRequester {
- (metadata: Metadata, listener: InterceptingListener, next: (metadata: Metadata, listener: InterceptingListener | Listener) => void): void;
-}
-export interface MessageRequester {
- (message: any, next: (message: any) => void): void;
-}
-export interface CloseRequester {
- (next: () => void): void;
-}
-export interface CancelRequester {
- (next: () => void): void;
-}
-/**
- * An object with methods for intercepting and modifying outgoing call operations.
- */
-export interface FullRequester {
- start: MetadataRequester;
- sendMessage: MessageRequester;
- halfClose: CloseRequester;
- cancel: CancelRequester;
-}
-export type Requester = Partial;
-export declare class ListenerBuilder {
- private metadata;
- private message;
- private status;
- withOnReceiveMetadata(onReceiveMetadata: MetadataListener): this;
- withOnReceiveMessage(onReceiveMessage: MessageListener): this;
- withOnReceiveStatus(onReceiveStatus: StatusListener): this;
- build(): Listener;
-}
-export declare class RequesterBuilder {
- private start;
- private message;
- private halfClose;
- private cancel;
- withStart(start: MetadataRequester): this;
- withSendMessage(sendMessage: MessageRequester): this;
- withHalfClose(halfClose: CloseRequester): this;
- withCancel(cancel: CancelRequester): this;
- build(): Requester;
-}
-export interface InterceptorOptions extends CallOptions {
- method_definition: ClientMethodDefinition;
-}
-export interface InterceptingCallInterface {
- cancelWithStatus(status: Status, details: string): void;
- getPeer(): string;
- start(metadata: Metadata, listener?: Partial): void;
- sendMessageWithContext(context: MessageContext, message: any): void;
- sendMessage(message: any): void;
- startRead(): void;
- halfClose(): void;
-}
-export declare class InterceptingCall implements InterceptingCallInterface {
- private nextCall;
- /**
- * The requester that this InterceptingCall uses to modify outgoing operations
- */
- private requester;
- /**
- * Indicates that metadata has been passed to the requester's start
- * method but it has not been passed to the corresponding next callback
- */
- private processingMetadata;
- /**
- * Message context for a pending message that is waiting for
- */
- private pendingMessageContext;
- private pendingMessage;
- /**
- * Indicates that a message has been passed to the requester's sendMessage
- * method but it has not been passed to the corresponding next callback
- */
- private processingMessage;
- /**
- * Indicates that a status was received but could not be propagated because
- * a message was still being processed.
- */
- private pendingHalfClose;
- constructor(nextCall: InterceptingCallInterface, requester?: Requester);
- cancelWithStatus(status: Status, details: string): void;
- getPeer(): string;
- private processPendingMessage;
- private processPendingHalfClose;
- start(metadata: Metadata, interceptingListener?: Partial): void;
- sendMessageWithContext(context: MessageContext, message: any): void;
- sendMessage(message: any): void;
- startRead(): void;
- halfClose(): void;
-}
-export interface NextCall {
- (options: InterceptorOptions): InterceptingCallInterface;
-}
-export interface Interceptor {
- (options: InterceptorOptions, nextCall: NextCall): InterceptingCall;
-}
-export interface InterceptorProvider {
- (methodDefinition: ClientMethodDefinition): Interceptor;
-}
-export interface InterceptorArguments {
- clientInterceptors: Interceptor[];
- clientInterceptorProviders: InterceptorProvider[];
- callInterceptors: Interceptor[];
- callInterceptorProviders: InterceptorProvider[];
-}
-export declare function getInterceptingCall(interceptorArgs: InterceptorArguments, methodDefinition: ClientMethodDefinition, options: CallOptions, channel: Channel): InterceptingCallInterface;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/client-interceptors.js b/tests/node_modules/@grpc/grpc-js/build/src/client-interceptors.js
deleted file mode 100644
index 76352e9c252b57674de8492a33075103387d6bca..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/client-interceptors.js
+++ /dev/null
@@ -1,428 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.getInterceptingCall = exports.InterceptingCall = exports.RequesterBuilder = exports.ListenerBuilder = exports.InterceptorConfigurationError = void 0;
-const metadata_1 = require("./metadata");
-const call_interface_1 = require("./call-interface");
-const constants_1 = require("./constants");
-const error_1 = require("./error");
-/**
- * Error class associated with passing both interceptors and interceptor
- * providers to a client constructor or as call options.
- */
-class InterceptorConfigurationError extends Error {
- constructor(message) {
- super(message);
- this.name = 'InterceptorConfigurationError';
- Error.captureStackTrace(this, InterceptorConfigurationError);
- }
-}
-exports.InterceptorConfigurationError = InterceptorConfigurationError;
-class ListenerBuilder {
- constructor() {
- this.metadata = undefined;
- this.message = undefined;
- this.status = undefined;
- }
- withOnReceiveMetadata(onReceiveMetadata) {
- this.metadata = onReceiveMetadata;
- return this;
- }
- withOnReceiveMessage(onReceiveMessage) {
- this.message = onReceiveMessage;
- return this;
- }
- withOnReceiveStatus(onReceiveStatus) {
- this.status = onReceiveStatus;
- return this;
- }
- build() {
- return {
- onReceiveMetadata: this.metadata,
- onReceiveMessage: this.message,
- onReceiveStatus: this.status,
- };
- }
-}
-exports.ListenerBuilder = ListenerBuilder;
-class RequesterBuilder {
- constructor() {
- this.start = undefined;
- this.message = undefined;
- this.halfClose = undefined;
- this.cancel = undefined;
- }
- withStart(start) {
- this.start = start;
- return this;
- }
- withSendMessage(sendMessage) {
- this.message = sendMessage;
- return this;
- }
- withHalfClose(halfClose) {
- this.halfClose = halfClose;
- return this;
- }
- withCancel(cancel) {
- this.cancel = cancel;
- return this;
- }
- build() {
- return {
- start: this.start,
- sendMessage: this.message,
- halfClose: this.halfClose,
- cancel: this.cancel,
- };
- }
-}
-exports.RequesterBuilder = RequesterBuilder;
-/**
- * A Listener with a default pass-through implementation of each method. Used
- * for filling out Listeners with some methods omitted.
- */
-const defaultListener = {
- onReceiveMetadata: (metadata, next) => {
- next(metadata);
- },
- onReceiveMessage: (message, next) => {
- next(message);
- },
- onReceiveStatus: (status, next) => {
- next(status);
- },
-};
-/**
- * A Requester with a default pass-through implementation of each method. Used
- * for filling out Requesters with some methods omitted.
- */
-const defaultRequester = {
- start: (metadata, listener, next) => {
- next(metadata, listener);
- },
- sendMessage: (message, next) => {
- next(message);
- },
- halfClose: next => {
- next();
- },
- cancel: next => {
- next();
- },
-};
-class InterceptingCall {
- constructor(nextCall, requester) {
- var _a, _b, _c, _d;
- this.nextCall = nextCall;
- /**
- * Indicates that metadata has been passed to the requester's start
- * method but it has not been passed to the corresponding next callback
- */
- this.processingMetadata = false;
- /**
- * Message context for a pending message that is waiting for
- */
- this.pendingMessageContext = null;
- /**
- * Indicates that a message has been passed to the requester's sendMessage
- * method but it has not been passed to the corresponding next callback
- */
- this.processingMessage = false;
- /**
- * Indicates that a status was received but could not be propagated because
- * a message was still being processed.
- */
- this.pendingHalfClose = false;
- if (requester) {
- this.requester = {
- start: (_a = requester.start) !== null && _a !== void 0 ? _a : defaultRequester.start,
- sendMessage: (_b = requester.sendMessage) !== null && _b !== void 0 ? _b : defaultRequester.sendMessage,
- halfClose: (_c = requester.halfClose) !== null && _c !== void 0 ? _c : defaultRequester.halfClose,
- cancel: (_d = requester.cancel) !== null && _d !== void 0 ? _d : defaultRequester.cancel,
- };
- }
- else {
- this.requester = defaultRequester;
- }
- }
- cancelWithStatus(status, details) {
- this.requester.cancel(() => {
- this.nextCall.cancelWithStatus(status, details);
- });
- }
- getPeer() {
- return this.nextCall.getPeer();
- }
- processPendingMessage() {
- if (this.pendingMessageContext) {
- this.nextCall.sendMessageWithContext(this.pendingMessageContext, this.pendingMessage);
- this.pendingMessageContext = null;
- this.pendingMessage = null;
- }
- }
- processPendingHalfClose() {
- if (this.pendingHalfClose) {
- this.nextCall.halfClose();
- }
- }
- start(metadata, interceptingListener) {
- var _a, _b, _c, _d, _e, _f;
- const fullInterceptingListener = {
- onReceiveMetadata: (_b = (_a = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMetadata) === null || _a === void 0 ? void 0 : _a.bind(interceptingListener)) !== null && _b !== void 0 ? _b : (metadata => { }),
- onReceiveMessage: (_d = (_c = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMessage) === null || _c === void 0 ? void 0 : _c.bind(interceptingListener)) !== null && _d !== void 0 ? _d : (message => { }),
- onReceiveStatus: (_f = (_e = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveStatus) === null || _e === void 0 ? void 0 : _e.bind(interceptingListener)) !== null && _f !== void 0 ? _f : (status => { }),
- };
- this.processingMetadata = true;
- this.requester.start(metadata, fullInterceptingListener, (md, listener) => {
- var _a, _b, _c;
- this.processingMetadata = false;
- let finalInterceptingListener;
- if ((0, call_interface_1.isInterceptingListener)(listener)) {
- finalInterceptingListener = listener;
- }
- else {
- const fullListener = {
- onReceiveMetadata: (_a = listener.onReceiveMetadata) !== null && _a !== void 0 ? _a : defaultListener.onReceiveMetadata,
- onReceiveMessage: (_b = listener.onReceiveMessage) !== null && _b !== void 0 ? _b : defaultListener.onReceiveMessage,
- onReceiveStatus: (_c = listener.onReceiveStatus) !== null && _c !== void 0 ? _c : defaultListener.onReceiveStatus,
- };
- finalInterceptingListener = new call_interface_1.InterceptingListenerImpl(fullListener, fullInterceptingListener);
- }
- this.nextCall.start(md, finalInterceptingListener);
- this.processPendingMessage();
- this.processPendingHalfClose();
- });
- }
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- sendMessageWithContext(context, message) {
- this.processingMessage = true;
- this.requester.sendMessage(message, finalMessage => {
- this.processingMessage = false;
- if (this.processingMetadata) {
- this.pendingMessageContext = context;
- this.pendingMessage = message;
- }
- else {
- this.nextCall.sendMessageWithContext(context, finalMessage);
- this.processPendingHalfClose();
- }
- });
- }
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- sendMessage(message) {
- this.sendMessageWithContext({}, message);
- }
- startRead() {
- this.nextCall.startRead();
- }
- halfClose() {
- this.requester.halfClose(() => {
- if (this.processingMetadata || this.processingMessage) {
- this.pendingHalfClose = true;
- }
- else {
- this.nextCall.halfClose();
- }
- });
- }
-}
-exports.InterceptingCall = InterceptingCall;
-function getCall(channel, path, options) {
- var _a, _b;
- const deadline = (_a = options.deadline) !== null && _a !== void 0 ? _a : Infinity;
- const host = options.host;
- const parent = (_b = options.parent) !== null && _b !== void 0 ? _b : null;
- const propagateFlags = options.propagate_flags;
- const credentials = options.credentials;
- const call = channel.createCall(path, deadline, host, parent, propagateFlags);
- if (credentials) {
- call.setCredentials(credentials);
- }
- return call;
-}
-/**
- * InterceptingCall implementation that directly owns the underlying Call
- * object and handles serialization and deseraizliation.
- */
-class BaseInterceptingCall {
- constructor(call,
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- methodDefinition) {
- this.call = call;
- this.methodDefinition = methodDefinition;
- }
- cancelWithStatus(status, details) {
- this.call.cancelWithStatus(status, details);
- }
- getPeer() {
- return this.call.getPeer();
- }
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- sendMessageWithContext(context, message) {
- let serialized;
- try {
- serialized = this.methodDefinition.requestSerialize(message);
- }
- catch (e) {
- this.call.cancelWithStatus(constants_1.Status.INTERNAL, `Request message serialization failure: ${(0, error_1.getErrorMessage)(e)}`);
- return;
- }
- this.call.sendMessageWithContext(context, serialized);
- }
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- sendMessage(message) {
- this.sendMessageWithContext({}, message);
- }
- start(metadata, interceptingListener) {
- let readError = null;
- this.call.start(metadata, {
- onReceiveMetadata: metadata => {
- var _a;
- (_a = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMetadata) === null || _a === void 0 ? void 0 : _a.call(interceptingListener, metadata);
- },
- onReceiveMessage: message => {
- var _a;
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- let deserialized;
- try {
- deserialized = this.methodDefinition.responseDeserialize(message);
- }
- catch (e) {
- readError = {
- code: constants_1.Status.INTERNAL,
- details: `Response message parsing error: ${(0, error_1.getErrorMessage)(e)}`,
- metadata: new metadata_1.Metadata(),
- };
- this.call.cancelWithStatus(readError.code, readError.details);
- return;
- }
- (_a = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMessage) === null || _a === void 0 ? void 0 : _a.call(interceptingListener, deserialized);
- },
- onReceiveStatus: status => {
- var _a, _b;
- if (readError) {
- (_a = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveStatus) === null || _a === void 0 ? void 0 : _a.call(interceptingListener, readError);
- }
- else {
- (_b = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveStatus) === null || _b === void 0 ? void 0 : _b.call(interceptingListener, status);
- }
- },
- });
- }
- startRead() {
- this.call.startRead();
- }
- halfClose() {
- this.call.halfClose();
- }
-}
-/**
- * BaseInterceptingCall with special-cased behavior for methods with unary
- * responses.
- */
-class BaseUnaryInterceptingCall extends BaseInterceptingCall {
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- constructor(call, methodDefinition) {
- super(call, methodDefinition);
- }
- start(metadata, listener) {
- var _a, _b;
- let receivedMessage = false;
- const wrapperListener = {
- onReceiveMetadata: (_b = (_a = listener === null || listener === void 0 ? void 0 : listener.onReceiveMetadata) === null || _a === void 0 ? void 0 : _a.bind(listener)) !== null && _b !== void 0 ? _b : (metadata => { }),
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- onReceiveMessage: (message) => {
- var _a;
- receivedMessage = true;
- (_a = listener === null || listener === void 0 ? void 0 : listener.onReceiveMessage) === null || _a === void 0 ? void 0 : _a.call(listener, message);
- },
- onReceiveStatus: (status) => {
- var _a, _b;
- if (!receivedMessage) {
- (_a = listener === null || listener === void 0 ? void 0 : listener.onReceiveMessage) === null || _a === void 0 ? void 0 : _a.call(listener, null);
- }
- (_b = listener === null || listener === void 0 ? void 0 : listener.onReceiveStatus) === null || _b === void 0 ? void 0 : _b.call(listener, status);
- },
- };
- super.start(metadata, wrapperListener);
- this.call.startRead();
- }
-}
-/**
- * BaseInterceptingCall with special-cased behavior for methods with streaming
- * responses.
- */
-class BaseStreamingInterceptingCall extends BaseInterceptingCall {
-}
-function getBottomInterceptingCall(channel, options,
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-methodDefinition) {
- const call = getCall(channel, methodDefinition.path, options);
- if (methodDefinition.responseStream) {
- return new BaseStreamingInterceptingCall(call, methodDefinition);
- }
- else {
- return new BaseUnaryInterceptingCall(call, methodDefinition);
- }
-}
-function getInterceptingCall(interceptorArgs,
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-methodDefinition, options, channel) {
- if (interceptorArgs.clientInterceptors.length > 0 &&
- interceptorArgs.clientInterceptorProviders.length > 0) {
- throw new InterceptorConfigurationError('Both interceptors and interceptor_providers were passed as options ' +
- 'to the client constructor. Only one of these is allowed.');
- }
- if (interceptorArgs.callInterceptors.length > 0 &&
- interceptorArgs.callInterceptorProviders.length > 0) {
- throw new InterceptorConfigurationError('Both interceptors and interceptor_providers were passed as call ' +
- 'options. Only one of these is allowed.');
- }
- let interceptors = [];
- // Interceptors passed to the call override interceptors passed to the client constructor
- if (interceptorArgs.callInterceptors.length > 0 ||
- interceptorArgs.callInterceptorProviders.length > 0) {
- interceptors = []
- .concat(interceptorArgs.callInterceptors, interceptorArgs.callInterceptorProviders.map(provider => provider(methodDefinition)))
- .filter(interceptor => interceptor);
- // Filter out falsy values when providers return nothing
- }
- else {
- interceptors = []
- .concat(interceptorArgs.clientInterceptors, interceptorArgs.clientInterceptorProviders.map(provider => provider(methodDefinition)))
- .filter(interceptor => interceptor);
- // Filter out falsy values when providers return nothing
- }
- const interceptorOptions = Object.assign({}, options, {
- method_definition: methodDefinition,
- });
- /* For each interceptor in the list, the nextCall function passed to it is
- * based on the next interceptor in the list, using a nextCall function
- * constructed with the following interceptor in the list, and so on. The
- * initialValue, which is effectively at the end of the list, is a nextCall
- * function that invokes getBottomInterceptingCall, the result of which
- * handles (de)serialization and also gets the underlying call from the
- * channel. */
- const getCall = interceptors.reduceRight((nextCall, nextInterceptor) => {
- return currentOptions => nextInterceptor(currentOptions, nextCall);
- }, (finalOptions) => getBottomInterceptingCall(channel, finalOptions, methodDefinition));
- return getCall(interceptorOptions);
-}
-exports.getInterceptingCall = getInterceptingCall;
-//# sourceMappingURL=client-interceptors.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/client-interceptors.js.map b/tests/node_modules/@grpc/grpc-js/build/src/client-interceptors.js.map
deleted file mode 100644
index 5537fc5a8fb9a809be6892874c97164716f9984a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/client-interceptors.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"client-interceptors.js","sourceRoot":"","sources":["../../src/client-interceptors.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/client.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/client.d.ts
deleted file mode 100644
index a57bfb5809245208efad2216b461a8993e265fdc..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/client.d.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-///
-import { ClientDuplexStream, ClientReadableStream, ClientUnaryCall, ClientWritableStream, ServiceError, SurfaceCall } from './call';
-import { CallCredentials } from './call-credentials';
-import { Channel } from './channel';
-import { ChannelCredentials } from './channel-credentials';
-import { ChannelOptions } from './channel-options';
-import { Metadata } from './metadata';
-import { ClientMethodDefinition } from './make-client';
-import { Interceptor, InterceptorProvider } from './client-interceptors';
-import { ServerUnaryCall, ServerReadableStream, ServerWritableStream, ServerDuplexStream } from './server-call';
-import { Deadline } from './deadline';
-declare const CHANNEL_SYMBOL: unique symbol;
-declare const INTERCEPTOR_SYMBOL: unique symbol;
-declare const INTERCEPTOR_PROVIDER_SYMBOL: unique symbol;
-declare const CALL_INVOCATION_TRANSFORMER_SYMBOL: unique symbol;
-export interface UnaryCallback {
- (err: ServiceError | null, value?: ResponseType): void;
-}
-export interface CallOptions {
- deadline?: Deadline;
- host?: string;
- parent?: ServerUnaryCall | ServerReadableStream | ServerWritableStream | ServerDuplexStream;
- propagate_flags?: number;
- credentials?: CallCredentials;
- interceptors?: Interceptor[];
- interceptor_providers?: InterceptorProvider[];
-}
-export interface CallProperties {
- argument?: RequestType;
- metadata: Metadata;
- call: SurfaceCall;
- channel: Channel;
- methodDefinition: ClientMethodDefinition;
- callOptions: CallOptions;
- callback?: UnaryCallback;
-}
-export interface CallInvocationTransformer {
- (callProperties: CallProperties): CallProperties;
-}
-export type ClientOptions = Partial & {
- channelOverride?: Channel;
- channelFactoryOverride?: (address: string, credentials: ChannelCredentials, options: ClientOptions) => Channel;
- interceptors?: Interceptor[];
- interceptor_providers?: InterceptorProvider[];
- callInvocationTransformer?: CallInvocationTransformer;
-};
-/**
- * A generic gRPC client. Primarily useful as a base class for all generated
- * clients.
- */
-export declare class Client {
- private readonly [CHANNEL_SYMBOL];
- private readonly [INTERCEPTOR_SYMBOL];
- private readonly [INTERCEPTOR_PROVIDER_SYMBOL];
- private readonly [CALL_INVOCATION_TRANSFORMER_SYMBOL]?;
- constructor(address: string, credentials: ChannelCredentials, options?: ClientOptions);
- close(): void;
- getChannel(): Channel;
- waitForReady(deadline: Deadline, callback: (error?: Error) => void): void;
- private checkOptionalUnaryResponseArguments;
- makeUnaryRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, metadata: Metadata, options: CallOptions, callback: UnaryCallback): ClientUnaryCall;
- makeUnaryRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, metadata: Metadata, callback: UnaryCallback): ClientUnaryCall;
- makeUnaryRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, options: CallOptions, callback: UnaryCallback): ClientUnaryCall;
- makeUnaryRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, callback: UnaryCallback): ClientUnaryCall;
- makeClientStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, metadata: Metadata, options: CallOptions, callback: UnaryCallback): ClientWritableStream;
- makeClientStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, metadata: Metadata, callback: UnaryCallback): ClientWritableStream;
- makeClientStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, options: CallOptions, callback: UnaryCallback): ClientWritableStream;
- makeClientStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, callback: UnaryCallback): ClientWritableStream;
- private checkMetadataAndOptions;
- makeServerStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, metadata: Metadata, options?: CallOptions): ClientReadableStream;
- makeServerStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, argument: RequestType, options?: CallOptions): ClientReadableStream;
- makeBidiStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, metadata: Metadata, options?: CallOptions): ClientDuplexStream;
- makeBidiStreamRequest(method: string, serialize: (value: RequestType) => Buffer, deserialize: (value: Buffer) => ResponseType, options?: CallOptions): ClientDuplexStream;
-}
-export {};
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/client.js b/tests/node_modules/@grpc/grpc-js/build/src/client.js
deleted file mode 100644
index f29ced0705b7c5020b9653a1fd7c0570c7737464..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/client.js
+++ /dev/null
@@ -1,431 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Client = void 0;
-const call_1 = require("./call");
-const channel_1 = require("./channel");
-const connectivity_state_1 = require("./connectivity-state");
-const constants_1 = require("./constants");
-const metadata_1 = require("./metadata");
-const client_interceptors_1 = require("./client-interceptors");
-const CHANNEL_SYMBOL = Symbol();
-const INTERCEPTOR_SYMBOL = Symbol();
-const INTERCEPTOR_PROVIDER_SYMBOL = Symbol();
-const CALL_INVOCATION_TRANSFORMER_SYMBOL = Symbol();
-function isFunction(arg) {
- return typeof arg === 'function';
-}
-function getErrorStackString(error) {
- return error.stack.split('\n').slice(1).join('\n');
-}
-/**
- * A generic gRPC client. Primarily useful as a base class for all generated
- * clients.
- */
-class Client {
- constructor(address, credentials, options = {}) {
- var _a, _b;
- options = Object.assign({}, options);
- this[INTERCEPTOR_SYMBOL] = (_a = options.interceptors) !== null && _a !== void 0 ? _a : [];
- delete options.interceptors;
- this[INTERCEPTOR_PROVIDER_SYMBOL] = (_b = options.interceptor_providers) !== null && _b !== void 0 ? _b : [];
- delete options.interceptor_providers;
- if (this[INTERCEPTOR_SYMBOL].length > 0 &&
- this[INTERCEPTOR_PROVIDER_SYMBOL].length > 0) {
- throw new Error('Both interceptors and interceptor_providers were passed as options ' +
- 'to the client constructor. Only one of these is allowed.');
- }
- this[CALL_INVOCATION_TRANSFORMER_SYMBOL] =
- options.callInvocationTransformer;
- delete options.callInvocationTransformer;
- if (options.channelOverride) {
- this[CHANNEL_SYMBOL] = options.channelOverride;
- }
- else if (options.channelFactoryOverride) {
- const channelFactoryOverride = options.channelFactoryOverride;
- delete options.channelFactoryOverride;
- this[CHANNEL_SYMBOL] = channelFactoryOverride(address, credentials, options);
- }
- else {
- this[CHANNEL_SYMBOL] = new channel_1.ChannelImplementation(address, credentials, options);
- }
- }
- close() {
- this[CHANNEL_SYMBOL].close();
- }
- getChannel() {
- return this[CHANNEL_SYMBOL];
- }
- waitForReady(deadline, callback) {
- const checkState = (err) => {
- if (err) {
- callback(new Error('Failed to connect before the deadline'));
- return;
- }
- let newState;
- try {
- newState = this[CHANNEL_SYMBOL].getConnectivityState(true);
- }
- catch (e) {
- callback(new Error('The channel has been closed'));
- return;
- }
- if (newState === connectivity_state_1.ConnectivityState.READY) {
- callback();
- }
- else {
- try {
- this[CHANNEL_SYMBOL].watchConnectivityState(newState, deadline, checkState);
- }
- catch (e) {
- callback(new Error('The channel has been closed'));
- }
- }
- };
- setImmediate(checkState);
- }
- checkOptionalUnaryResponseArguments(arg1, arg2, arg3) {
- if (isFunction(arg1)) {
- return { metadata: new metadata_1.Metadata(), options: {}, callback: arg1 };
- }
- else if (isFunction(arg2)) {
- if (arg1 instanceof metadata_1.Metadata) {
- return { metadata: arg1, options: {}, callback: arg2 };
- }
- else {
- return { metadata: new metadata_1.Metadata(), options: arg1, callback: arg2 };
- }
- }
- else {
- if (!(arg1 instanceof metadata_1.Metadata &&
- arg2 instanceof Object &&
- isFunction(arg3))) {
- throw new Error('Incorrect arguments passed');
- }
- return { metadata: arg1, options: arg2, callback: arg3 };
- }
- }
- makeUnaryRequest(method, serialize, deserialize, argument, metadata, options, callback) {
- var _a, _b;
- const checkedArguments = this.checkOptionalUnaryResponseArguments(metadata, options, callback);
- const methodDefinition = {
- path: method,
- requestStream: false,
- responseStream: false,
- requestSerialize: serialize,
- responseDeserialize: deserialize,
- };
- let callProperties = {
- argument: argument,
- metadata: checkedArguments.metadata,
- call: new call_1.ClientUnaryCallImpl(),
- channel: this[CHANNEL_SYMBOL],
- methodDefinition: methodDefinition,
- callOptions: checkedArguments.options,
- callback: checkedArguments.callback,
- };
- if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
- callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
- }
- const emitter = callProperties.call;
- const interceptorArgs = {
- clientInterceptors: this[INTERCEPTOR_SYMBOL],
- clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
- callInterceptors: (_a = callProperties.callOptions.interceptors) !== null && _a !== void 0 ? _a : [],
- callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : [],
- };
- const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
- /* This needs to happen before the emitter is used. Unfortunately we can't
- * enforce this with the type system. We need to construct this emitter
- * before calling the CallInvocationTransformer, and we need to create the
- * call after that. */
- emitter.call = call;
- let responseMessage = null;
- let receivedStatus = false;
- let callerStackError = new Error();
- call.start(callProperties.metadata, {
- onReceiveMetadata: metadata => {
- emitter.emit('metadata', metadata);
- },
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- onReceiveMessage(message) {
- if (responseMessage !== null) {
- call.cancelWithStatus(constants_1.Status.INTERNAL, 'Too many responses received');
- }
- responseMessage = message;
- },
- onReceiveStatus(status) {
- if (receivedStatus) {
- return;
- }
- receivedStatus = true;
- if (status.code === constants_1.Status.OK) {
- if (responseMessage === null) {
- const callerStack = getErrorStackString(callerStackError);
- callProperties.callback((0, call_1.callErrorFromStatus)({
- code: constants_1.Status.INTERNAL,
- details: 'No message received',
- metadata: status.metadata,
- }, callerStack));
- }
- else {
- callProperties.callback(null, responseMessage);
- }
- }
- else {
- const callerStack = getErrorStackString(callerStackError);
- callProperties.callback((0, call_1.callErrorFromStatus)(status, callerStack));
- }
- /* Avoid retaining the callerStackError object in the call context of
- * the status event handler. */
- callerStackError = null;
- emitter.emit('status', status);
- },
- });
- call.sendMessage(argument);
- call.halfClose();
- return emitter;
- }
- makeClientStreamRequest(method, serialize, deserialize, metadata, options, callback) {
- var _a, _b;
- const checkedArguments = this.checkOptionalUnaryResponseArguments(metadata, options, callback);
- const methodDefinition = {
- path: method,
- requestStream: true,
- responseStream: false,
- requestSerialize: serialize,
- responseDeserialize: deserialize,
- };
- let callProperties = {
- metadata: checkedArguments.metadata,
- call: new call_1.ClientWritableStreamImpl(serialize),
- channel: this[CHANNEL_SYMBOL],
- methodDefinition: methodDefinition,
- callOptions: checkedArguments.options,
- callback: checkedArguments.callback,
- };
- if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
- callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
- }
- const emitter = callProperties.call;
- const interceptorArgs = {
- clientInterceptors: this[INTERCEPTOR_SYMBOL],
- clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
- callInterceptors: (_a = callProperties.callOptions.interceptors) !== null && _a !== void 0 ? _a : [],
- callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : [],
- };
- const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
- /* This needs to happen before the emitter is used. Unfortunately we can't
- * enforce this with the type system. We need to construct this emitter
- * before calling the CallInvocationTransformer, and we need to create the
- * call after that. */
- emitter.call = call;
- let responseMessage = null;
- let receivedStatus = false;
- let callerStackError = new Error();
- call.start(callProperties.metadata, {
- onReceiveMetadata: metadata => {
- emitter.emit('metadata', metadata);
- },
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- onReceiveMessage(message) {
- if (responseMessage !== null) {
- call.cancelWithStatus(constants_1.Status.INTERNAL, 'Too many responses received');
- }
- responseMessage = message;
- },
- onReceiveStatus(status) {
- if (receivedStatus) {
- return;
- }
- receivedStatus = true;
- if (status.code === constants_1.Status.OK) {
- if (responseMessage === null) {
- const callerStack = getErrorStackString(callerStackError);
- callProperties.callback((0, call_1.callErrorFromStatus)({
- code: constants_1.Status.INTERNAL,
- details: 'No message received',
- metadata: status.metadata,
- }, callerStack));
- }
- else {
- callProperties.callback(null, responseMessage);
- }
- }
- else {
- const callerStack = getErrorStackString(callerStackError);
- callProperties.callback((0, call_1.callErrorFromStatus)(status, callerStack));
- }
- /* Avoid retaining the callerStackError object in the call context of
- * the status event handler. */
- callerStackError = null;
- emitter.emit('status', status);
- },
- });
- return emitter;
- }
- checkMetadataAndOptions(arg1, arg2) {
- let metadata;
- let options;
- if (arg1 instanceof metadata_1.Metadata) {
- metadata = arg1;
- if (arg2) {
- options = arg2;
- }
- else {
- options = {};
- }
- }
- else {
- if (arg1) {
- options = arg1;
- }
- else {
- options = {};
- }
- metadata = new metadata_1.Metadata();
- }
- return { metadata, options };
- }
- makeServerStreamRequest(method, serialize, deserialize, argument, metadata, options) {
- var _a, _b;
- const checkedArguments = this.checkMetadataAndOptions(metadata, options);
- const methodDefinition = {
- path: method,
- requestStream: false,
- responseStream: true,
- requestSerialize: serialize,
- responseDeserialize: deserialize,
- };
- let callProperties = {
- argument: argument,
- metadata: checkedArguments.metadata,
- call: new call_1.ClientReadableStreamImpl(deserialize),
- channel: this[CHANNEL_SYMBOL],
- methodDefinition: methodDefinition,
- callOptions: checkedArguments.options,
- };
- if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
- callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
- }
- const stream = callProperties.call;
- const interceptorArgs = {
- clientInterceptors: this[INTERCEPTOR_SYMBOL],
- clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
- callInterceptors: (_a = callProperties.callOptions.interceptors) !== null && _a !== void 0 ? _a : [],
- callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : [],
- };
- const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
- /* This needs to happen before the emitter is used. Unfortunately we can't
- * enforce this with the type system. We need to construct this emitter
- * before calling the CallInvocationTransformer, and we need to create the
- * call after that. */
- stream.call = call;
- let receivedStatus = false;
- let callerStackError = new Error();
- call.start(callProperties.metadata, {
- onReceiveMetadata(metadata) {
- stream.emit('metadata', metadata);
- },
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- onReceiveMessage(message) {
- stream.push(message);
- },
- onReceiveStatus(status) {
- if (receivedStatus) {
- return;
- }
- receivedStatus = true;
- stream.push(null);
- if (status.code !== constants_1.Status.OK) {
- const callerStack = getErrorStackString(callerStackError);
- stream.emit('error', (0, call_1.callErrorFromStatus)(status, callerStack));
- }
- /* Avoid retaining the callerStackError object in the call context of
- * the status event handler. */
- callerStackError = null;
- stream.emit('status', status);
- },
- });
- call.sendMessage(argument);
- call.halfClose();
- return stream;
- }
- makeBidiStreamRequest(method, serialize, deserialize, metadata, options) {
- var _a, _b;
- const checkedArguments = this.checkMetadataAndOptions(metadata, options);
- const methodDefinition = {
- path: method,
- requestStream: true,
- responseStream: true,
- requestSerialize: serialize,
- responseDeserialize: deserialize,
- };
- let callProperties = {
- metadata: checkedArguments.metadata,
- call: new call_1.ClientDuplexStreamImpl(serialize, deserialize),
- channel: this[CHANNEL_SYMBOL],
- methodDefinition: methodDefinition,
- callOptions: checkedArguments.options,
- };
- if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
- callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
- }
- const stream = callProperties.call;
- const interceptorArgs = {
- clientInterceptors: this[INTERCEPTOR_SYMBOL],
- clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
- callInterceptors: (_a = callProperties.callOptions.interceptors) !== null && _a !== void 0 ? _a : [],
- callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : [],
- };
- const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
- /* This needs to happen before the emitter is used. Unfortunately we can't
- * enforce this with the type system. We need to construct this emitter
- * before calling the CallInvocationTransformer, and we need to create the
- * call after that. */
- stream.call = call;
- let receivedStatus = false;
- let callerStackError = new Error();
- call.start(callProperties.metadata, {
- onReceiveMetadata(metadata) {
- stream.emit('metadata', metadata);
- },
- onReceiveMessage(message) {
- stream.push(message);
- },
- onReceiveStatus(status) {
- if (receivedStatus) {
- return;
- }
- receivedStatus = true;
- stream.push(null);
- if (status.code !== constants_1.Status.OK) {
- const callerStack = getErrorStackString(callerStackError);
- stream.emit('error', (0, call_1.callErrorFromStatus)(status, callerStack));
- }
- /* Avoid retaining the callerStackError object in the call context of
- * the status event handler. */
- callerStackError = null;
- stream.emit('status', status);
- },
- });
- return stream;
- }
-}
-exports.Client = Client;
-//# sourceMappingURL=client.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/client.js.map b/tests/node_modules/@grpc/grpc-js/build/src/client.js.map
deleted file mode 100644
index d2babcbba58e93c97a3b3bfb17c73c07c95db9eb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/client.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts
deleted file mode 100644
index 555b2222644b37265ad98fb1b865f5d7a4789b98..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export declare enum CompressionAlgorithms {
- identity = 0,
- deflate = 1,
- gzip = 2
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js b/tests/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js
deleted file mode 100644
index 15a4f00bc34681a77f1a0874e04a9da9ade9b3c7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js
+++ /dev/null
@@ -1,26 +0,0 @@
-"use strict";
-/*
- * Copyright 2021 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.CompressionAlgorithms = void 0;
-var CompressionAlgorithms;
-(function (CompressionAlgorithms) {
- CompressionAlgorithms[CompressionAlgorithms["identity"] = 0] = "identity";
- CompressionAlgorithms[CompressionAlgorithms["deflate"] = 1] = "deflate";
- CompressionAlgorithms[CompressionAlgorithms["gzip"] = 2] = "gzip";
-})(CompressionAlgorithms || (exports.CompressionAlgorithms = CompressionAlgorithms = {}));
-//# sourceMappingURL=compression-algorithms.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js.map b/tests/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js.map
deleted file mode 100644
index 760772f0ed0014fd341eab1e89dc4722b162ad6b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"compression-algorithms.js","sourceRoot":"","sources":["../../src/compression-algorithms.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,yEAAY,CAAA;IACZ,uEAAW,CAAA;IACX,iEAAQ,CAAA;AACV,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/compression-filter.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/compression-filter.d.ts
deleted file mode 100644
index 87926f5274a103f7e406d71c3ca09d4df3336857..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/compression-filter.d.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-///
-import { WriteObject } from './call-interface';
-import { Channel } from './channel';
-import { ChannelOptions } from './channel-options';
-import { BaseFilter, Filter, FilterFactory } from './filter';
-import { Metadata } from './metadata';
-type SharedCompressionFilterConfig = {
- serverSupportedEncodingHeader?: string;
-};
-export declare class CompressionFilter extends BaseFilter implements Filter {
- private sharedFilterConfig;
- private sendCompression;
- private receiveCompression;
- private currentCompressionAlgorithm;
- constructor(channelOptions: ChannelOptions, sharedFilterConfig: SharedCompressionFilterConfig);
- sendMetadata(metadata: Promise): Promise;
- receiveMetadata(metadata: Metadata): Metadata;
- sendMessage(message: Promise): Promise;
- receiveMessage(message: Promise): Promise;
-}
-export declare class CompressionFilterFactory implements FilterFactory {
- private readonly options;
- private sharedFilterConfig;
- constructor(channel: Channel, options: ChannelOptions);
- createFilter(): CompressionFilter;
-}
-export {};
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/compression-filter.js b/tests/node_modules/@grpc/grpc-js/build/src/compression-filter.js
deleted file mode 100644
index 483b153c5878fdee8b2c2f421632928800249be5..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/compression-filter.js
+++ /dev/null
@@ -1,257 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.CompressionFilterFactory = exports.CompressionFilter = void 0;
-const zlib = require("zlib");
-const compression_algorithms_1 = require("./compression-algorithms");
-const constants_1 = require("./constants");
-const filter_1 = require("./filter");
-const logging = require("./logging");
-const isCompressionAlgorithmKey = (key) => {
- return (typeof key === 'number' && typeof compression_algorithms_1.CompressionAlgorithms[key] === 'string');
-};
-class CompressionHandler {
- /**
- * @param message Raw uncompressed message bytes
- * @param compress Indicates whether the message should be compressed
- * @return Framed message, compressed if applicable
- */
- async writeMessage(message, compress) {
- let messageBuffer = message;
- if (compress) {
- messageBuffer = await this.compressMessage(messageBuffer);
- }
- const output = Buffer.allocUnsafe(messageBuffer.length + 5);
- output.writeUInt8(compress ? 1 : 0, 0);
- output.writeUInt32BE(messageBuffer.length, 1);
- messageBuffer.copy(output, 5);
- return output;
- }
- /**
- * @param data Framed message, possibly compressed
- * @return Uncompressed message
- */
- async readMessage(data) {
- const compressed = data.readUInt8(0) === 1;
- let messageBuffer = data.slice(5);
- if (compressed) {
- messageBuffer = await this.decompressMessage(messageBuffer);
- }
- return messageBuffer;
- }
-}
-class IdentityHandler extends CompressionHandler {
- async compressMessage(message) {
- return message;
- }
- async writeMessage(message, compress) {
- const output = Buffer.allocUnsafe(message.length + 5);
- /* With "identity" compression, messages should always be marked as
- * uncompressed */
- output.writeUInt8(0, 0);
- output.writeUInt32BE(message.length, 1);
- message.copy(output, 5);
- return output;
- }
- decompressMessage(message) {
- return Promise.reject(new Error('Received compressed message but "grpc-encoding" header was identity'));
- }
-}
-class DeflateHandler extends CompressionHandler {
- compressMessage(message) {
- return new Promise((resolve, reject) => {
- zlib.deflate(message, (err, output) => {
- if (err) {
- reject(err);
- }
- else {
- resolve(output);
- }
- });
- });
- }
- decompressMessage(message) {
- return new Promise((resolve, reject) => {
- zlib.inflate(message, (err, output) => {
- if (err) {
- reject(err);
- }
- else {
- resolve(output);
- }
- });
- });
- }
-}
-class GzipHandler extends CompressionHandler {
- compressMessage(message) {
- return new Promise((resolve, reject) => {
- zlib.gzip(message, (err, output) => {
- if (err) {
- reject(err);
- }
- else {
- resolve(output);
- }
- });
- });
- }
- decompressMessage(message) {
- return new Promise((resolve, reject) => {
- zlib.unzip(message, (err, output) => {
- if (err) {
- reject(err);
- }
- else {
- resolve(output);
- }
- });
- });
- }
-}
-class UnknownHandler extends CompressionHandler {
- constructor(compressionName) {
- super();
- this.compressionName = compressionName;
- }
- compressMessage(message) {
- return Promise.reject(new Error(`Received message compressed with unsupported compression method ${this.compressionName}`));
- }
- decompressMessage(message) {
- // This should be unreachable
- return Promise.reject(new Error(`Compression method not supported: ${this.compressionName}`));
- }
-}
-function getCompressionHandler(compressionName) {
- switch (compressionName) {
- case 'identity':
- return new IdentityHandler();
- case 'deflate':
- return new DeflateHandler();
- case 'gzip':
- return new GzipHandler();
- default:
- return new UnknownHandler(compressionName);
- }
-}
-class CompressionFilter extends filter_1.BaseFilter {
- constructor(channelOptions, sharedFilterConfig) {
- var _a;
- super();
- this.sharedFilterConfig = sharedFilterConfig;
- this.sendCompression = new IdentityHandler();
- this.receiveCompression = new IdentityHandler();
- this.currentCompressionAlgorithm = 'identity';
- const compressionAlgorithmKey = channelOptions['grpc.default_compression_algorithm'];
- if (compressionAlgorithmKey !== undefined) {
- if (isCompressionAlgorithmKey(compressionAlgorithmKey)) {
- const clientSelectedEncoding = compression_algorithms_1.CompressionAlgorithms[compressionAlgorithmKey];
- const serverSupportedEncodings = (_a = sharedFilterConfig.serverSupportedEncodingHeader) === null || _a === void 0 ? void 0 : _a.split(',');
- /**
- * There are two possible situations here:
- * 1) We don't have any info yet from the server about what compression it supports
- * In that case we should just use what the client tells us to use
- * 2) We've previously received a response from the server including a grpc-accept-encoding header
- * In that case we only want to use the encoding chosen by the client if the server supports it
- */
- if (!serverSupportedEncodings ||
- serverSupportedEncodings.includes(clientSelectedEncoding)) {
- this.currentCompressionAlgorithm = clientSelectedEncoding;
- this.sendCompression = getCompressionHandler(this.currentCompressionAlgorithm);
- }
- }
- else {
- logging.log(constants_1.LogVerbosity.ERROR, `Invalid value provided for grpc.default_compression_algorithm option: ${compressionAlgorithmKey}`);
- }
- }
- }
- async sendMetadata(metadata) {
- const headers = await metadata;
- headers.set('grpc-accept-encoding', 'identity,deflate,gzip');
- headers.set('accept-encoding', 'identity');
- // No need to send the header if it's "identity" - behavior is identical; save the bandwidth
- if (this.currentCompressionAlgorithm === 'identity') {
- headers.remove('grpc-encoding');
- }
- else {
- headers.set('grpc-encoding', this.currentCompressionAlgorithm);
- }
- return headers;
- }
- receiveMetadata(metadata) {
- const receiveEncoding = metadata.get('grpc-encoding');
- if (receiveEncoding.length > 0) {
- const encoding = receiveEncoding[0];
- if (typeof encoding === 'string') {
- this.receiveCompression = getCompressionHandler(encoding);
- }
- }
- metadata.remove('grpc-encoding');
- /* Check to see if the compression we're using to send messages is supported by the server
- * If not, reset the sendCompression filter and have it use the default IdentityHandler */
- const serverSupportedEncodingsHeader = metadata.get('grpc-accept-encoding')[0];
- if (serverSupportedEncodingsHeader) {
- this.sharedFilterConfig.serverSupportedEncodingHeader =
- serverSupportedEncodingsHeader;
- const serverSupportedEncodings = serverSupportedEncodingsHeader.split(',');
- if (!serverSupportedEncodings.includes(this.currentCompressionAlgorithm)) {
- this.sendCompression = new IdentityHandler();
- this.currentCompressionAlgorithm = 'identity';
- }
- }
- metadata.remove('grpc-accept-encoding');
- return metadata;
- }
- async sendMessage(message) {
- var _a;
- /* This filter is special. The input message is the bare message bytes,
- * and the output is a framed and possibly compressed message. For this
- * reason, this filter should be at the bottom of the filter stack */
- const resolvedMessage = await message;
- let compress;
- if (this.sendCompression instanceof IdentityHandler) {
- compress = false;
- }
- else {
- compress = (((_a = resolvedMessage.flags) !== null && _a !== void 0 ? _a : 0) & 2 /* WriteFlags.NoCompress */) === 0;
- }
- return {
- message: await this.sendCompression.writeMessage(resolvedMessage.message, compress),
- flags: resolvedMessage.flags,
- };
- }
- async receiveMessage(message) {
- /* This filter is also special. The input message is framed and possibly
- * compressed, and the output message is deframed and uncompressed. So
- * this is another reason that this filter should be at the bottom of the
- * filter stack. */
- return this.receiveCompression.readMessage(await message);
- }
-}
-exports.CompressionFilter = CompressionFilter;
-class CompressionFilterFactory {
- constructor(channel, options) {
- this.options = options;
- this.sharedFilterConfig = {};
- }
- createFilter() {
- return new CompressionFilter(this.options, this.sharedFilterConfig);
- }
-}
-exports.CompressionFilterFactory = CompressionFilterFactory;
-//# sourceMappingURL=compression-filter.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/compression-filter.js.map b/tests/node_modules/@grpc/grpc-js/build/src/compression-filter.js.map
deleted file mode 100644
index 5cda9842a890a247efdc4750516b110faaca5ded..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/compression-filter.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"compression-filter.js","sourceRoot":"","sources":["../../src/compression-filter.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts
deleted file mode 100644
index 048ea39d8a18fcbb29824366d7a4ac111bba340e..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export declare enum ConnectivityState {
- IDLE = 0,
- CONNECTING = 1,
- READY = 2,
- TRANSIENT_FAILURE = 3,
- SHUTDOWN = 4
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/connectivity-state.js b/tests/node_modules/@grpc/grpc-js/build/src/connectivity-state.js
deleted file mode 100644
index c8540b0000bcbd9b682d75b0bcfde6d5347f1a13..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/connectivity-state.js
+++ /dev/null
@@ -1,28 +0,0 @@
-"use strict";
-/*
- * Copyright 2021 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.ConnectivityState = void 0;
-var ConnectivityState;
-(function (ConnectivityState) {
- ConnectivityState[ConnectivityState["IDLE"] = 0] = "IDLE";
- ConnectivityState[ConnectivityState["CONNECTING"] = 1] = "CONNECTING";
- ConnectivityState[ConnectivityState["READY"] = 2] = "READY";
- ConnectivityState[ConnectivityState["TRANSIENT_FAILURE"] = 3] = "TRANSIENT_FAILURE";
- ConnectivityState[ConnectivityState["SHUTDOWN"] = 4] = "SHUTDOWN";
-})(ConnectivityState || (exports.ConnectivityState = ConnectivityState = {}));
-//# sourceMappingURL=connectivity-state.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/connectivity-state.js.map b/tests/node_modules/@grpc/grpc-js/build/src/connectivity-state.js.map
deleted file mode 100644
index 1afc24dd89d510a9413bdf467471d8e4630449c2..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/connectivity-state.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"connectivity-state.js","sourceRoot":"","sources":["../../src/connectivity-state.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,yDAAI,CAAA;IACJ,qEAAU,CAAA;IACV,2DAAK,CAAA;IACL,mFAAiB,CAAA;IACjB,iEAAQ,CAAA;AACV,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/constants.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/constants.d.ts
deleted file mode 100644
index 43ec3586210ca235f8fb42e797287e24cd9200b4..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/constants.d.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-export declare enum Status {
- OK = 0,
- CANCELLED = 1,
- UNKNOWN = 2,
- INVALID_ARGUMENT = 3,
- DEADLINE_EXCEEDED = 4,
- NOT_FOUND = 5,
- ALREADY_EXISTS = 6,
- PERMISSION_DENIED = 7,
- RESOURCE_EXHAUSTED = 8,
- FAILED_PRECONDITION = 9,
- ABORTED = 10,
- OUT_OF_RANGE = 11,
- UNIMPLEMENTED = 12,
- INTERNAL = 13,
- UNAVAILABLE = 14,
- DATA_LOSS = 15,
- UNAUTHENTICATED = 16
-}
-export declare enum LogVerbosity {
- DEBUG = 0,
- INFO = 1,
- ERROR = 2,
- NONE = 3
-}
-/**
- * NOTE: This enum is not currently used in any implemented API in this
- * library. It is included only for type parity with the other implementation.
- */
-export declare enum Propagate {
- DEADLINE = 1,
- CENSUS_STATS_CONTEXT = 2,
- CENSUS_TRACING_CONTEXT = 4,
- CANCELLATION = 8,
- DEFAULTS = 65535
-}
-export declare const DEFAULT_MAX_SEND_MESSAGE_LENGTH = -1;
-export declare const DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH: number;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/constants.js b/tests/node_modules/@grpc/grpc-js/build/src/constants.js
deleted file mode 100644
index 6e6b8ede3ae91baf551182c3090d0e8003c8cada..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/constants.js
+++ /dev/null
@@ -1,64 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH = exports.DEFAULT_MAX_SEND_MESSAGE_LENGTH = exports.Propagate = exports.LogVerbosity = exports.Status = void 0;
-var Status;
-(function (Status) {
- Status[Status["OK"] = 0] = "OK";
- Status[Status["CANCELLED"] = 1] = "CANCELLED";
- Status[Status["UNKNOWN"] = 2] = "UNKNOWN";
- Status[Status["INVALID_ARGUMENT"] = 3] = "INVALID_ARGUMENT";
- Status[Status["DEADLINE_EXCEEDED"] = 4] = "DEADLINE_EXCEEDED";
- Status[Status["NOT_FOUND"] = 5] = "NOT_FOUND";
- Status[Status["ALREADY_EXISTS"] = 6] = "ALREADY_EXISTS";
- Status[Status["PERMISSION_DENIED"] = 7] = "PERMISSION_DENIED";
- Status[Status["RESOURCE_EXHAUSTED"] = 8] = "RESOURCE_EXHAUSTED";
- Status[Status["FAILED_PRECONDITION"] = 9] = "FAILED_PRECONDITION";
- Status[Status["ABORTED"] = 10] = "ABORTED";
- Status[Status["OUT_OF_RANGE"] = 11] = "OUT_OF_RANGE";
- Status[Status["UNIMPLEMENTED"] = 12] = "UNIMPLEMENTED";
- Status[Status["INTERNAL"] = 13] = "INTERNAL";
- Status[Status["UNAVAILABLE"] = 14] = "UNAVAILABLE";
- Status[Status["DATA_LOSS"] = 15] = "DATA_LOSS";
- Status[Status["UNAUTHENTICATED"] = 16] = "UNAUTHENTICATED";
-})(Status || (exports.Status = Status = {}));
-var LogVerbosity;
-(function (LogVerbosity) {
- LogVerbosity[LogVerbosity["DEBUG"] = 0] = "DEBUG";
- LogVerbosity[LogVerbosity["INFO"] = 1] = "INFO";
- LogVerbosity[LogVerbosity["ERROR"] = 2] = "ERROR";
- LogVerbosity[LogVerbosity["NONE"] = 3] = "NONE";
-})(LogVerbosity || (exports.LogVerbosity = LogVerbosity = {}));
-/**
- * NOTE: This enum is not currently used in any implemented API in this
- * library. It is included only for type parity with the other implementation.
- */
-var Propagate;
-(function (Propagate) {
- Propagate[Propagate["DEADLINE"] = 1] = "DEADLINE";
- Propagate[Propagate["CENSUS_STATS_CONTEXT"] = 2] = "CENSUS_STATS_CONTEXT";
- Propagate[Propagate["CENSUS_TRACING_CONTEXT"] = 4] = "CENSUS_TRACING_CONTEXT";
- Propagate[Propagate["CANCELLATION"] = 8] = "CANCELLATION";
- // https://github.com/grpc/grpc/blob/master/include/grpc/impl/codegen/propagation_bits.h#L43
- Propagate[Propagate["DEFAULTS"] = 65535] = "DEFAULTS";
-})(Propagate || (exports.Propagate = Propagate = {}));
-// -1 means unlimited
-exports.DEFAULT_MAX_SEND_MESSAGE_LENGTH = -1;
-// 4 MB default
-exports.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH = 4 * 1024 * 1024;
-//# sourceMappingURL=constants.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/constants.js.map b/tests/node_modules/@grpc/grpc-js/build/src/constants.js.map
deleted file mode 100644
index a3c5c87465e36d5dfd69ebe744e376de02dcb40d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/constants.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,IAAY,MAkBX;AAlBD,WAAY,MAAM;IAChB,+BAAM,CAAA;IACN,6CAAS,CAAA;IACT,yCAAO,CAAA;IACP,2DAAgB,CAAA;IAChB,6DAAiB,CAAA;IACjB,6CAAS,CAAA;IACT,uDAAc,CAAA;IACd,6DAAiB,CAAA;IACjB,+DAAkB,CAAA;IAClB,iEAAmB,CAAA;IACnB,0CAAO,CAAA;IACP,oDAAY,CAAA;IACZ,sDAAa,CAAA;IACb,4CAAQ,CAAA;IACR,kDAAW,CAAA;IACX,8CAAS,CAAA;IACT,0DAAe,CAAA;AACjB,CAAC,EAlBW,MAAM,sBAAN,MAAM,QAkBjB;AAED,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,iDAAS,CAAA;IACT,+CAAI,CAAA;IACJ,iDAAK,CAAA;IACL,+CAAI,CAAA;AACN,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED;;;GAGG;AACH,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,iDAAY,CAAA;IACZ,yEAAwB,CAAA;IACxB,6EAA0B,CAAA;IAC1B,yDAAgB,CAAA;IAChB,4FAA4F;IAC5F,qDAIwB,CAAA;AAC1B,CAAC,EAXW,SAAS,yBAAT,SAAS,QAWpB;AAED,qBAAqB;AACR,QAAA,+BAA+B,GAAG,CAAC,CAAC,CAAC;AAElD,eAAe;AACF,QAAA,kCAAkC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/control-plane-status.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/control-plane-status.d.ts
deleted file mode 100644
index a137cabe029b0aa21d22c7ab20d4d41052e43f20..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/control-plane-status.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { Status } from './constants';
-export declare function restrictControlPlaneStatusCode(code: Status, details: string): {
- code: Status;
- details: string;
-};
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/control-plane-status.js b/tests/node_modules/@grpc/grpc-js/build/src/control-plane-status.js
deleted file mode 100644
index dc41cb2b2d66acd501010e10fcf3913f97224d74..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/control-plane-status.js
+++ /dev/null
@@ -1,43 +0,0 @@
-"use strict";
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.restrictControlPlaneStatusCode = void 0;
-const constants_1 = require("./constants");
-const INAPPROPRIATE_CONTROL_PLANE_CODES = [
- constants_1.Status.OK,
- constants_1.Status.INVALID_ARGUMENT,
- constants_1.Status.NOT_FOUND,
- constants_1.Status.ALREADY_EXISTS,
- constants_1.Status.FAILED_PRECONDITION,
- constants_1.Status.ABORTED,
- constants_1.Status.OUT_OF_RANGE,
- constants_1.Status.DATA_LOSS,
-];
-function restrictControlPlaneStatusCode(code, details) {
- if (INAPPROPRIATE_CONTROL_PLANE_CODES.includes(code)) {
- return {
- code: constants_1.Status.INTERNAL,
- details: `Invalid status from control plane: ${code} ${constants_1.Status[code]} ${details}`,
- };
- }
- else {
- return { code, details };
- }
-}
-exports.restrictControlPlaneStatusCode = restrictControlPlaneStatusCode;
-//# sourceMappingURL=control-plane-status.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/control-plane-status.js.map b/tests/node_modules/@grpc/grpc-js/build/src/control-plane-status.js.map
deleted file mode 100644
index 0373075197f991f7f724e5df65faedaf04005fca..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/control-plane-status.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"control-plane-status.js","sourceRoot":"","sources":["../../src/control-plane-status.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,2CAAqC;AAErC,MAAM,iCAAiC,GAAa;IAClD,kBAAM,CAAC,EAAE;IACT,kBAAM,CAAC,gBAAgB;IACvB,kBAAM,CAAC,SAAS;IAChB,kBAAM,CAAC,cAAc;IACrB,kBAAM,CAAC,mBAAmB;IAC1B,kBAAM,CAAC,OAAO;IACd,kBAAM,CAAC,YAAY;IACnB,kBAAM,CAAC,SAAS;CACjB,CAAC;AAEF,SAAgB,8BAA8B,CAC5C,IAAY,EACZ,OAAe;IAEf,IAAI,iCAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACpD,OAAO;YACL,IAAI,EAAE,kBAAM,CAAC,QAAQ;YACrB,OAAO,EAAE,sCAAsC,IAAI,IAAI,kBAAM,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE;SACjF,CAAC;KACH;SAAM;QACL,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAC1B;AACH,CAAC;AAZD,wEAYC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/deadline.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/deadline.d.ts
deleted file mode 100644
index 08af4bacd0e4caabcbbce6b73181f17097fe38f7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/deadline.d.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-export type Deadline = Date | number;
-export declare function minDeadline(...deadlineList: Deadline[]): Deadline;
-export declare function getDeadlineTimeoutString(deadline: Deadline): string;
-/**
- * Get the timeout value that should be passed to setTimeout now for the timer
- * to end at the deadline. For any deadline before now, the timer should end
- * immediately, represented by a value of 0. For any deadline more than
- * MAX_TIMEOUT_TIME milliseconds in the future, a timer cannot be set that will
- * end at that time, so it is treated as infinitely far in the future.
- * @param deadline
- * @returns
- */
-export declare function getRelativeTimeout(deadline: Deadline): number;
-export declare function deadlineToString(deadline: Deadline): string;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/deadline.js b/tests/node_modules/@grpc/grpc-js/build/src/deadline.js
deleted file mode 100644
index f51c43cdb2dea98feeb3e59ba1481ea3779696c3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/deadline.js
+++ /dev/null
@@ -1,98 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.deadlineToString = exports.getRelativeTimeout = exports.getDeadlineTimeoutString = exports.minDeadline = void 0;
-function minDeadline(...deadlineList) {
- let minValue = Infinity;
- for (const deadline of deadlineList) {
- const deadlineMsecs = deadline instanceof Date ? deadline.getTime() : deadline;
- if (deadlineMsecs < minValue) {
- minValue = deadlineMsecs;
- }
- }
- return minValue;
-}
-exports.minDeadline = minDeadline;
-const units = [
- ['m', 1],
- ['S', 1000],
- ['M', 60 * 1000],
- ['H', 60 * 60 * 1000],
-];
-function getDeadlineTimeoutString(deadline) {
- const now = new Date().getTime();
- if (deadline instanceof Date) {
- deadline = deadline.getTime();
- }
- const timeoutMs = Math.max(deadline - now, 0);
- for (const [unit, factor] of units) {
- const amount = timeoutMs / factor;
- if (amount < 1e8) {
- return String(Math.ceil(amount)) + unit;
- }
- }
- throw new Error('Deadline is too far in the future');
-}
-exports.getDeadlineTimeoutString = getDeadlineTimeoutString;
-/**
- * See https://nodejs.org/api/timers.html#settimeoutcallback-delay-args
- * In particular, "When delay is larger than 2147483647 or less than 1, the
- * delay will be set to 1. Non-integer delays are truncated to an integer."
- * This number of milliseconds is almost 25 days.
- */
-const MAX_TIMEOUT_TIME = 2147483647;
-/**
- * Get the timeout value that should be passed to setTimeout now for the timer
- * to end at the deadline. For any deadline before now, the timer should end
- * immediately, represented by a value of 0. For any deadline more than
- * MAX_TIMEOUT_TIME milliseconds in the future, a timer cannot be set that will
- * end at that time, so it is treated as infinitely far in the future.
- * @param deadline
- * @returns
- */
-function getRelativeTimeout(deadline) {
- const deadlineMs = deadline instanceof Date ? deadline.getTime() : deadline;
- const now = new Date().getTime();
- const timeout = deadlineMs - now;
- if (timeout < 0) {
- return 0;
- }
- else if (timeout > MAX_TIMEOUT_TIME) {
- return Infinity;
- }
- else {
- return timeout;
- }
-}
-exports.getRelativeTimeout = getRelativeTimeout;
-function deadlineToString(deadline) {
- if (deadline instanceof Date) {
- return deadline.toISOString();
- }
- else {
- const dateDeadline = new Date(deadline);
- if (Number.isNaN(dateDeadline.getTime())) {
- return '' + deadline;
- }
- else {
- return dateDeadline.toISOString();
- }
- }
-}
-exports.deadlineToString = deadlineToString;
-//# sourceMappingURL=deadline.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/deadline.js.map b/tests/node_modules/@grpc/grpc-js/build/src/deadline.js.map
deleted file mode 100644
index 7b14e66f96e3a1cc3ecf15c426f047dc0ae12d9e..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/deadline.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"deadline.js","sourceRoot":"","sources":["../../src/deadline.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAIH,SAAgB,WAAW,CAAC,GAAG,YAAwB;IACrD,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE;QACnC,MAAM,aAAa,GACjB,QAAQ,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,IAAI,aAAa,GAAG,QAAQ,EAAE;YAC5B,QAAQ,GAAG,aAAa,CAAC;SAC1B;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAVD,kCAUC;AAED,MAAM,KAAK,GAA4B;IACrC,CAAC,GAAG,EAAE,CAAC,CAAC;IACR,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IAChB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,SAAgB,wBAAwB,CAAC,QAAkB;IACzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,QAAQ,YAAY,IAAI,EAAE;QAC5B,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;KAC/B;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,EAAE;QAClC,MAAM,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;QAClC,IAAI,MAAM,GAAG,GAAG,EAAE;YAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;SACzC;KACF;IACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACvD,CAAC;AAbD,4DAaC;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAEpC;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAAC,QAAkB;IACnD,MAAM,UAAU,GAAG,QAAQ,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,UAAU,GAAG,GAAG,CAAC;IACjC,IAAI,OAAO,GAAG,CAAC,EAAE;QACf,OAAO,CAAC,CAAC;KACV;SAAM,IAAI,OAAO,GAAG,gBAAgB,EAAE;QACrC,OAAO,QAAQ,CAAC;KACjB;SAAM;QACL,OAAO,OAAO,CAAC;KAChB;AACH,CAAC;AAXD,gDAWC;AAED,SAAgB,gBAAgB,CAAC,QAAkB;IACjD,IAAI,QAAQ,YAAY,IAAI,EAAE;QAC5B,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC/B;SAAM;QACL,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE;YACxC,OAAO,EAAE,GAAG,QAAQ,CAAC;SACtB;aAAM;YACL,OAAO,YAAY,CAAC,WAAW,EAAE,CAAC;SACnC;KACF;AACH,CAAC;AAXD,4CAWC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/duration.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/duration.d.ts
deleted file mode 100644
index 923159b90906d01402a8c58858551f5494358c12..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/duration.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export interface Duration {
- seconds: number;
- nanos: number;
-}
-export declare function msToDuration(millis: number): Duration;
-export declare function durationToMs(duration: Duration): number;
-export declare function isDuration(value: any): value is Duration;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/duration.js b/tests/node_modules/@grpc/grpc-js/build/src/duration.js
deleted file mode 100644
index 3ac1d21bac58ff0372e30e7427d8a98333c6d631..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/duration.js
+++ /dev/null
@@ -1,35 +0,0 @@
-"use strict";
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.isDuration = exports.durationToMs = exports.msToDuration = void 0;
-function msToDuration(millis) {
- return {
- seconds: (millis / 1000) | 0,
- nanos: ((millis % 1000) * 1000000) | 0,
- };
-}
-exports.msToDuration = msToDuration;
-function durationToMs(duration) {
- return (duration.seconds * 1000 + duration.nanos / 1000000) | 0;
-}
-exports.durationToMs = durationToMs;
-function isDuration(value) {
- return typeof value.seconds === 'number' && typeof value.nanos === 'number';
-}
-exports.isDuration = isDuration;
-//# sourceMappingURL=duration.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/duration.js.map b/tests/node_modules/@grpc/grpc-js/build/src/duration.js.map
deleted file mode 100644
index 3be36314f48783e75a2ee9ab7bda594ada9543ad..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/duration.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../src/duration.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAOH,SAAgB,YAAY,CAAC,MAAc;IACzC,OAAO;QACL,OAAO,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,OAAS,CAAC,GAAG,CAAC;KACzC,CAAC;AACJ,CAAC;AALD,oCAKC;AAED,SAAgB,YAAY,CAAC,QAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,OAAS,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC;AAFD,oCAEC;AAED,SAAgB,UAAU,CAAC,KAAU;IACnC,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;AAC9E,CAAC;AAFD,gCAEC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/error.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/error.d.ts
deleted file mode 100644
index fd4cc770215b58aa83e2273553a3b6f823f1972d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/error.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export declare function getErrorMessage(error: unknown): string;
-export declare function getErrorCode(error: unknown): number | null;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/error.js b/tests/node_modules/@grpc/grpc-js/build/src/error.js
deleted file mode 100644
index c842333cbf57bc4ed7463a93d0641d21be7065f8..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/error.js
+++ /dev/null
@@ -1,41 +0,0 @@
-"use strict";
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.getErrorCode = exports.getErrorMessage = void 0;
-function getErrorMessage(error) {
- if (error instanceof Error) {
- return error.message;
- }
- else {
- return String(error);
- }
-}
-exports.getErrorMessage = getErrorMessage;
-function getErrorCode(error) {
- if (typeof error === 'object' &&
- error !== null &&
- 'code' in error &&
- typeof error.code === 'number') {
- return error.code;
- }
- else {
- return null;
- }
-}
-exports.getErrorCode = getErrorCode;
-//# sourceMappingURL=error.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/error.js.map b/tests/node_modules/@grpc/grpc-js/build/src/error.js.map
deleted file mode 100644
index 9d6308b91de4ce20c2b9c2d96ba565716d872504..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/error.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,KAAK,CAAC,OAAO,CAAC;KACtB;SAAM;QACL,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;KACtB;AACH,CAAC;AAND,0CAMC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAQ,KAAiC,CAAC,IAAI,KAAK,QAAQ,EAC3D;QACA,OAAQ,KAAgC,CAAC,IAAI,CAAC;KAC/C;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAXD,oCAWC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/events.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/events.d.ts
deleted file mode 100644
index d1a764e560411f7f3dfafc809e8fd8145808aee0..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/events.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export interface EmitterAugmentation1 {
- addListener(event: Name, listener: (arg1: Arg) => void): this;
- emit(event: Name, arg1: Arg): boolean;
- on(event: Name, listener: (arg1: Arg) => void): this;
- once(event: Name, listener: (arg1: Arg) => void): this;
- prependListener(event: Name, listener: (arg1: Arg) => void): this;
- prependOnceListener(event: Name, listener: (arg1: Arg) => void): this;
- removeListener(event: Name, listener: (arg1: Arg) => void): this;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/events.js b/tests/node_modules/@grpc/grpc-js/build/src/events.js
deleted file mode 100644
index 082ed9bfbbc3439132d225c276a7aee016cf1b7d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/events.js
+++ /dev/null
@@ -1,19 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=events.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/events.js.map b/tests/node_modules/@grpc/grpc-js/build/src/events.js.map
deleted file mode 100644
index ba39b5d6a98ab4313d7247c8325dcf67c96b8fdb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/events.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/experimental.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/experimental.d.ts
deleted file mode 100644
index 580897193fb18613f61c04a491b22fe9cccc7892..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/experimental.d.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-export { trace, log } from './logging';
-export { Resolver, ResolverListener, registerResolver, ConfigSelector, createResolver, } from './resolver';
-export { GrpcUri, uriToString } from './uri-parser';
-export { Duration, durationToMs } from './duration';
-export { ServiceConfig, MethodConfig, RetryPolicy } from './service-config';
-export { BackoffTimeout } from './backoff-timeout';
-export { LoadBalancer, LoadBalancingConfig, ChannelControlHelper, createChildChannelControlHelper, registerLoadBalancerType, getFirstUsableConfig, validateLoadBalancingConfig, } from './load-balancer';
-export { SubchannelAddress, subchannelAddressToString, } from './subchannel-address';
-export { ChildLoadBalancerHandler } from './load-balancer-child-handler';
-export { Picker, UnavailablePicker, QueuePicker, PickResult, PickArgs, PickResultType, } from './picker';
-export { Call as CallStream } from './call-interface';
-export { Filter, BaseFilter, FilterFactory } from './filter';
-export { FilterStackFactory } from './filter-stack';
-export { registerAdminService } from './admin';
-export { SubchannelInterface, BaseSubchannelWrapper, ConnectivityStateListener, } from './subchannel-interface';
-export { OutlierDetectionLoadBalancingConfig, SuccessRateEjectionConfig, FailurePercentageEjectionConfig, } from './load-balancer-outlier-detection';
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/experimental.js b/tests/node_modules/@grpc/grpc-js/build/src/experimental.js
deleted file mode 100644
index 21e26e0e51a1f748226fbed561273b820d190cfa..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/experimental.js
+++ /dev/null
@@ -1,39 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.OutlierDetectionLoadBalancingConfig = exports.BaseSubchannelWrapper = exports.registerAdminService = exports.FilterStackFactory = exports.BaseFilter = exports.PickResultType = exports.QueuePicker = exports.UnavailablePicker = exports.ChildLoadBalancerHandler = exports.subchannelAddressToString = exports.validateLoadBalancingConfig = exports.getFirstUsableConfig = exports.registerLoadBalancerType = exports.createChildChannelControlHelper = exports.BackoffTimeout = exports.durationToMs = exports.uriToString = exports.createResolver = exports.registerResolver = exports.log = exports.trace = void 0;
-var logging_1 = require("./logging");
-Object.defineProperty(exports, "trace", { enumerable: true, get: function () { return logging_1.trace; } });
-Object.defineProperty(exports, "log", { enumerable: true, get: function () { return logging_1.log; } });
-var resolver_1 = require("./resolver");
-Object.defineProperty(exports, "registerResolver", { enumerable: true, get: function () { return resolver_1.registerResolver; } });
-Object.defineProperty(exports, "createResolver", { enumerable: true, get: function () { return resolver_1.createResolver; } });
-var uri_parser_1 = require("./uri-parser");
-Object.defineProperty(exports, "uriToString", { enumerable: true, get: function () { return uri_parser_1.uriToString; } });
-var duration_1 = require("./duration");
-Object.defineProperty(exports, "durationToMs", { enumerable: true, get: function () { return duration_1.durationToMs; } });
-var backoff_timeout_1 = require("./backoff-timeout");
-Object.defineProperty(exports, "BackoffTimeout", { enumerable: true, get: function () { return backoff_timeout_1.BackoffTimeout; } });
-var load_balancer_1 = require("./load-balancer");
-Object.defineProperty(exports, "createChildChannelControlHelper", { enumerable: true, get: function () { return load_balancer_1.createChildChannelControlHelper; } });
-Object.defineProperty(exports, "registerLoadBalancerType", { enumerable: true, get: function () { return load_balancer_1.registerLoadBalancerType; } });
-Object.defineProperty(exports, "getFirstUsableConfig", { enumerable: true, get: function () { return load_balancer_1.getFirstUsableConfig; } });
-Object.defineProperty(exports, "validateLoadBalancingConfig", { enumerable: true, get: function () { return load_balancer_1.validateLoadBalancingConfig; } });
-var subchannel_address_1 = require("./subchannel-address");
-Object.defineProperty(exports, "subchannelAddressToString", { enumerable: true, get: function () { return subchannel_address_1.subchannelAddressToString; } });
-var load_balancer_child_handler_1 = require("./load-balancer-child-handler");
-Object.defineProperty(exports, "ChildLoadBalancerHandler", { enumerable: true, get: function () { return load_balancer_child_handler_1.ChildLoadBalancerHandler; } });
-var picker_1 = require("./picker");
-Object.defineProperty(exports, "UnavailablePicker", { enumerable: true, get: function () { return picker_1.UnavailablePicker; } });
-Object.defineProperty(exports, "QueuePicker", { enumerable: true, get: function () { return picker_1.QueuePicker; } });
-Object.defineProperty(exports, "PickResultType", { enumerable: true, get: function () { return picker_1.PickResultType; } });
-var filter_1 = require("./filter");
-Object.defineProperty(exports, "BaseFilter", { enumerable: true, get: function () { return filter_1.BaseFilter; } });
-var filter_stack_1 = require("./filter-stack");
-Object.defineProperty(exports, "FilterStackFactory", { enumerable: true, get: function () { return filter_stack_1.FilterStackFactory; } });
-var admin_1 = require("./admin");
-Object.defineProperty(exports, "registerAdminService", { enumerable: true, get: function () { return admin_1.registerAdminService; } });
-var subchannel_interface_1 = require("./subchannel-interface");
-Object.defineProperty(exports, "BaseSubchannelWrapper", { enumerable: true, get: function () { return subchannel_interface_1.BaseSubchannelWrapper; } });
-var load_balancer_outlier_detection_1 = require("./load-balancer-outlier-detection");
-Object.defineProperty(exports, "OutlierDetectionLoadBalancingConfig", { enumerable: true, get: function () { return load_balancer_outlier_detection_1.OutlierDetectionLoadBalancingConfig; } });
-//# sourceMappingURL=experimental.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/experimental.js.map b/tests/node_modules/@grpc/grpc-js/build/src/experimental.js.map
deleted file mode 100644
index 757d3dbd7cb181340059889373daae770fe6a996..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/experimental.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"experimental.js","sourceRoot":"","sources":["../../src/experimental.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAA9B,gGAAA,KAAK,OAAA;AAAE,8FAAA,GAAG,OAAA;AACnB,uCAMoB;AAHlB,4GAAA,gBAAgB,OAAA;AAEhB,0GAAA,cAAc,OAAA;AAEhB,2CAAoD;AAAlC,yGAAA,WAAW,OAAA;AAC7B,uCAAoD;AAAjC,wGAAA,YAAY,OAAA;AAE/B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iDAQyB;AAJvB,gIAAA,+BAA+B,OAAA;AAC/B,yHAAA,wBAAwB,OAAA;AACxB,qHAAA,oBAAoB,OAAA;AACpB,4HAAA,2BAA2B,OAAA;AAE7B,2DAG8B;AAD5B,+HAAA,yBAAyB,OAAA;AAE3B,6EAAyE;AAAhE,uIAAA,wBAAwB,OAAA;AACjC,mCAOkB;AALhB,2GAAA,iBAAiB,OAAA;AACjB,qGAAA,WAAW,OAAA;AAGX,wGAAA,cAAc,OAAA;AAGhB,mCAA6D;AAA5C,oGAAA,UAAU,OAAA;AAC3B,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAC3B,iCAA+C;AAAtC,6GAAA,oBAAoB,OAAA;AAC7B,+DAIgC;AAF9B,6HAAA,qBAAqB,OAAA;AAGvB,qFAI2C;AAHzC,sJAAA,mCAAmC,OAAA"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts
deleted file mode 100644
index c3f55cc15ec1efdadf97f2b70d904b1398b6a900..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-///
-import { StatusObject, WriteObject } from './call-interface';
-import { Filter, FilterFactory } from './filter';
-import { Metadata } from './metadata';
-export declare class FilterStack implements Filter {
- private readonly filters;
- constructor(filters: Filter[]);
- sendMetadata(metadata: Promise): Promise;
- receiveMetadata(metadata: Metadata): Metadata;
- sendMessage(message: Promise): Promise;
- receiveMessage(message: Promise): Promise;
- receiveTrailers(status: StatusObject): StatusObject;
- push(filters: Filter[]): void;
- getFilters(): Filter[];
-}
-export declare class FilterStackFactory implements FilterFactory {
- private readonly factories;
- constructor(factories: Array>);
- push(filterFactories: FilterFactory[]): void;
- clone(): FilterStackFactory;
- createFilter(): FilterStack;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/filter-stack.js b/tests/node_modules/@grpc/grpc-js/build/src/filter-stack.js
deleted file mode 100644
index 6cf2e1a0c0c508ec7696c12d09f98a38f15dfb14..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/filter-stack.js
+++ /dev/null
@@ -1,82 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.FilterStackFactory = exports.FilterStack = void 0;
-class FilterStack {
- constructor(filters) {
- this.filters = filters;
- }
- sendMetadata(metadata) {
- let result = metadata;
- for (let i = 0; i < this.filters.length; i++) {
- result = this.filters[i].sendMetadata(result);
- }
- return result;
- }
- receiveMetadata(metadata) {
- let result = metadata;
- for (let i = this.filters.length - 1; i >= 0; i--) {
- result = this.filters[i].receiveMetadata(result);
- }
- return result;
- }
- sendMessage(message) {
- let result = message;
- for (let i = 0; i < this.filters.length; i++) {
- result = this.filters[i].sendMessage(result);
- }
- return result;
- }
- receiveMessage(message) {
- let result = message;
- for (let i = this.filters.length - 1; i >= 0; i--) {
- result = this.filters[i].receiveMessage(result);
- }
- return result;
- }
- receiveTrailers(status) {
- let result = status;
- for (let i = this.filters.length - 1; i >= 0; i--) {
- result = this.filters[i].receiveTrailers(result);
- }
- return result;
- }
- push(filters) {
- this.filters.unshift(...filters);
- }
- getFilters() {
- return this.filters;
- }
-}
-exports.FilterStack = FilterStack;
-class FilterStackFactory {
- constructor(factories) {
- this.factories = factories;
- }
- push(filterFactories) {
- this.factories.unshift(...filterFactories);
- }
- clone() {
- return new FilterStackFactory([...this.factories]);
- }
- createFilter() {
- return new FilterStack(this.factories.map(factory => factory.createFilter()));
- }
-}
-exports.FilterStackFactory = FilterStackFactory;
-//# sourceMappingURL=filter-stack.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/filter-stack.js.map b/tests/node_modules/@grpc/grpc-js/build/src/filter-stack.js.map
deleted file mode 100644
index 0cdf85c4f92737268261795970be25da3bcf20db..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/filter-stack.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"filter-stack.js","sourceRoot":"","sources":["../../src/filter-stack.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAMH,MAAa,WAAW;IACtB,YAA6B,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;IAAG,CAAC;IAElD,YAAY,CAAC,QAA2B;QACtC,IAAI,MAAM,GAAsB,QAAQ,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAC/C;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,QAAkB;QAChC,IAAI,MAAM,GAAa,QAAQ,CAAC;QAEhC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SAClD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,OAA6B;QACvC,IAAI,MAAM,GAAyB,OAAO,CAAC;QAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC9C;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,OAAwB;QACrC,IAAI,MAAM,GAAoB,OAAO,CAAC;QAEtC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SACjD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,IAAI,MAAM,GAAiB,MAAM,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SAClD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,OAAiB;QACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AA5DD,kCA4DC;AAED,MAAa,kBAAkB;IAC7B,YAA6B,SAAuC;QAAvC,cAAS,GAAT,SAAS,CAA8B;IAAG,CAAC;IAExE,IAAI,CAAC,eAAwC;QAC3C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,OAAO,IAAI,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,YAAY;QACV,OAAO,IAAI,WAAW,CACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CACtD,CAAC;IACJ,CAAC;CACF;AAhBD,gDAgBC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/filter.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/filter.d.ts
deleted file mode 100644
index f7e382a20cba1c94ef5949187def724a24bd78cb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/filter.d.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-///
-import { StatusObject, WriteObject } from './call-interface';
-import { Metadata } from './metadata';
-/**
- * Filter classes represent related per-call logic and state that is primarily
- * used to modify incoming and outgoing data. All async filters can be
- * rejected. The rejection error must be a StatusObject, and a rejection will
- * cause the call to end with that status.
- */
-export interface Filter {
- sendMetadata(metadata: Promise): Promise;
- receiveMetadata(metadata: Metadata): Metadata;
- sendMessage(message: Promise): Promise;
- receiveMessage(message: Promise): Promise;
- receiveTrailers(status: StatusObject): StatusObject;
-}
-export declare abstract class BaseFilter implements Filter {
- sendMetadata(metadata: Promise): Promise;
- receiveMetadata(metadata: Metadata): Metadata;
- sendMessage(message: Promise): Promise;
- receiveMessage(message: Promise): Promise;
- receiveTrailers(status: StatusObject): StatusObject;
-}
-export interface FilterFactory {
- createFilter(): T;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/filter.js b/tests/node_modules/@grpc/grpc-js/build/src/filter.js
deleted file mode 100644
index d888a82ea76a725b87779cd0a1bd18df3d370c39..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/filter.js
+++ /dev/null
@@ -1,38 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.BaseFilter = void 0;
-class BaseFilter {
- async sendMetadata(metadata) {
- return metadata;
- }
- receiveMetadata(metadata) {
- return metadata;
- }
- async sendMessage(message) {
- return message;
- }
- async receiveMessage(message) {
- return message;
- }
- receiveTrailers(status) {
- return status;
- }
-}
-exports.BaseFilter = BaseFilter;
-//# sourceMappingURL=filter.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/filter.js.map b/tests/node_modules/@grpc/grpc-js/build/src/filter.js.map
deleted file mode 100644
index 1ddf110225d8630ac53f33a0d9b3b1dbfcef2472..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/filter.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/filter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAuBH,MAAsB,UAAU;IAC9B,KAAK,CAAC,YAAY,CAAC,QAA2B;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,eAAe,CAAC,QAAkB;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA6B;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAwB;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AApBD,gCAoBC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/channelz.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/channelz.d.ts
deleted file mode 100644
index d311c658b8d686b20190e22be60527cc4cc93ada..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/channelz.d.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import type * as grpc from '../index';
-import type { MessageTypeDefinition } from '@grpc/proto-loader';
-import type { ChannelzClient as _grpc_channelz_v1_ChannelzClient, ChannelzDefinition as _grpc_channelz_v1_ChannelzDefinition } from './grpc/channelz/v1/Channelz';
-type SubtypeConstructor any, Subtype> = {
- new (...args: ConstructorParameters): Subtype;
-};
-export interface ProtoGrpcType {
- google: {
- protobuf: {
- Any: MessageTypeDefinition;
- BoolValue: MessageTypeDefinition;
- BytesValue: MessageTypeDefinition;
- DoubleValue: MessageTypeDefinition;
- Duration: MessageTypeDefinition;
- FloatValue: MessageTypeDefinition;
- Int32Value: MessageTypeDefinition;
- Int64Value: MessageTypeDefinition;
- StringValue: MessageTypeDefinition;
- Timestamp: MessageTypeDefinition;
- UInt32Value: MessageTypeDefinition;
- UInt64Value: MessageTypeDefinition;
- };
- };
- grpc: {
- channelz: {
- v1: {
- Address: MessageTypeDefinition;
- Channel: MessageTypeDefinition;
- ChannelConnectivityState: MessageTypeDefinition;
- ChannelData: MessageTypeDefinition;
- ChannelRef: MessageTypeDefinition;
- ChannelTrace: MessageTypeDefinition;
- ChannelTraceEvent: MessageTypeDefinition;
- /**
- * Channelz is a service exposed by gRPC servers that provides detailed debug
- * information.
- */
- Channelz: SubtypeConstructor & {
- service: _grpc_channelz_v1_ChannelzDefinition;
- };
- GetChannelRequest: MessageTypeDefinition;
- GetChannelResponse: MessageTypeDefinition;
- GetServerRequest: MessageTypeDefinition;
- GetServerResponse: MessageTypeDefinition;
- GetServerSocketsRequest: MessageTypeDefinition;
- GetServerSocketsResponse: MessageTypeDefinition;
- GetServersRequest: MessageTypeDefinition;
- GetServersResponse: MessageTypeDefinition;
- GetSocketRequest: MessageTypeDefinition;
- GetSocketResponse: MessageTypeDefinition;
- GetSubchannelRequest: MessageTypeDefinition;
- GetSubchannelResponse: MessageTypeDefinition;
- GetTopChannelsRequest: MessageTypeDefinition;
- GetTopChannelsResponse: MessageTypeDefinition;
- Security: MessageTypeDefinition;
- Server: MessageTypeDefinition;
- ServerData: MessageTypeDefinition;
- ServerRef: MessageTypeDefinition;
- Socket: MessageTypeDefinition;
- SocketData: MessageTypeDefinition;
- SocketOption: MessageTypeDefinition;
- SocketOptionLinger: MessageTypeDefinition;
- SocketOptionTcpInfo: MessageTypeDefinition;
- SocketOptionTimeout: MessageTypeDefinition;
- SocketRef: MessageTypeDefinition;
- Subchannel: MessageTypeDefinition;
- SubchannelRef: MessageTypeDefinition;
- };
- };
- };
-}
-export {};
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/channelz.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/channelz.js
deleted file mode 100644
index 0c2cf6786e80de06c8529cfccbbb2f48ced27f1f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/channelz.js
+++ /dev/null
@@ -1,3 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=channelz.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/channelz.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/channelz.js.map
deleted file mode 100644
index af4016bb15b0ffc9515609fad133e3bc3622b4a3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/channelz.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"channelz.js","sourceRoot":"","sources":["../../../src/generated/channelz.ts"],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.d.ts
deleted file mode 100644
index e8c0607546c556174d6961d195e050cb18637c1a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.d.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-import type { AnyExtension } from '@grpc/proto-loader';
-export type Any = AnyExtension | {
- type_url: string;
- value: Buffer | Uint8Array | string;
-};
-export interface Any__Output {
- 'type_url': (string);
- 'value': (Buffer);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js
deleted file mode 100644
index f9651f898aa2aa924744931d7773fef819d57fff..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Any.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js.map
deleted file mode 100644
index 2e75474ab828e5c5740aa803be5a146df8b77bdd..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Any.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/Any.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.d.ts
deleted file mode 100644
index b7235a769380a2c3ab2e5dfd4a96cb889dd10ead..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export interface BoolValue {
- 'value'?: (boolean);
-}
-export interface BoolValue__Output {
- 'value': (boolean);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js
deleted file mode 100644
index f893f74ceda161872a160c8f559339cc175bfcf0..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=BoolValue.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js.map
deleted file mode 100644
index 3573853448b287eb199fb4930544285f821422e3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"BoolValue.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/BoolValue.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.d.ts
deleted file mode 100644
index 2c77f9d3d14730bd179cdcb0cd0c431122949c2b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-///
-export interface BytesValue {
- 'value'?: (Buffer | Uint8Array | string);
-}
-export interface BytesValue__Output {
- 'value': (Buffer);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js
deleted file mode 100644
index 4cac93e9a5a1cbc43a2773a8bdacff94bdddd9e6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=BytesValue.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js.map
deleted file mode 100644
index a589ea5bdcf574014b7c98eba7e24e7f90e4af0b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"BytesValue.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/BytesValue.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.d.ts
deleted file mode 100644
index e4e2204b27963493fa9b7936cd6f21737e50a8ba..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export interface DoubleValue {
- 'value'?: (number | string);
-}
-export interface DoubleValue__Output {
- 'value': (number);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js
deleted file mode 100644
index 133e011f526658ca6c2c083c50f3bbfc04e4e5db..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=DoubleValue.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js.map
deleted file mode 100644
index 7f28720db4df5070d9318dc48db829246adeec61..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"DoubleValue.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/DoubleValue.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.d.ts
deleted file mode 100644
index 7e04ea6656ebf18e5f09c431040c5cf3e4c1e345..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface Duration {
- 'seconds'?: (number | string | Long);
- 'nanos'?: (number);
-}
-export interface Duration__Output {
- 'seconds': (string);
- 'nanos': (number);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js
deleted file mode 100644
index b071b702a50a91365bbfde6ac9b758af7deb3b9f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Duration.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js.map
deleted file mode 100644
index 3fc8fe8469fa092d4a43ef57dcb37ddbbf96dd8c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Duration.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/Duration.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.d.ts
deleted file mode 100644
index 33bd60b7d90e1ec97fbd79052d0f658e0ede5241..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export interface FloatValue {
- 'value'?: (number | string);
-}
-export interface FloatValue__Output {
- 'value': (number);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js
deleted file mode 100644
index 17290a2c563cffab9f542ff70a3c66fb31a53666..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=FloatValue.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js.map
deleted file mode 100644
index bf27b781c966cca00e3312b13e3a0b545c29b3db..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"FloatValue.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/FloatValue.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.d.ts
deleted file mode 100644
index 895fb9d7dfea49fef3ec1a26e869dbb6039150f5..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export interface Int32Value {
- 'value'?: (number);
-}
-export interface Int32Value__Output {
- 'value': (number);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js
deleted file mode 100644
index dc46343877f8744484799d52b50a5b7055f9598f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Int32Value.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js.map
deleted file mode 100644
index 157e73a4e79c17c7ddcbf4b7a8c4f92ed1fabb39..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Int32Value.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/Int32Value.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.d.ts
deleted file mode 100644
index 00bd119fa1ad5807f4f74b7b3e780448250712f6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface Int64Value {
- 'value'?: (number | string | Long);
-}
-export interface Int64Value__Output {
- 'value': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js
deleted file mode 100644
index a77bc96b351b86bbdc5fcc89495bccb5815d85ae..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Int64Value.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js.map
deleted file mode 100644
index b8894b10a799dc7208417579766b4229f411f2dc..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Int64Value.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/Int64Value.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.d.ts
deleted file mode 100644
index 74230c9a9f7649dd77765330d73fa4fe35094e07..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export interface StringValue {
- 'value'?: (string);
-}
-export interface StringValue__Output {
- 'value': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js
deleted file mode 100644
index 0836e97c8a0a9ad457d48b4b2ed1ce34d1668fa6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=StringValue.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js.map
deleted file mode 100644
index bc05ddc868dcfd76bbc3b64c491af0f37997745b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"StringValue.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/StringValue.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.d.ts
deleted file mode 100644
index 900ff5adc3745423c1dbb8e98fdd6e44e276ceae..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface Timestamp {
- 'seconds'?: (number | string | Long);
- 'nanos'?: (number);
-}
-export interface Timestamp__Output {
- 'seconds': (string);
- 'nanos': (number);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js
deleted file mode 100644
index dcca213be8b46532b2914b2568f67359c085cd71..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Timestamp.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js.map
deleted file mode 100644
index e90342ef757ad8b2d3503ebc52562fd16a5429b9..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Timestamp.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/Timestamp.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.d.ts
deleted file mode 100644
index d7e185f68732ec3d9c19437f09ec7905ac3cb779..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export interface UInt32Value {
- 'value'?: (number);
-}
-export interface UInt32Value__Output {
- 'value': (number);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js
deleted file mode 100644
index 889cd2e99ccc946db229adc01562e1d961d40c2a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=UInt32Value.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js.map
deleted file mode 100644
index 2a0420f0a3d68446031f25b35ad8ac4043e38feb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"UInt32Value.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/UInt32Value.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.d.ts
deleted file mode 100644
index fe94d291467834ec7574e204da227954ceb505a0..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface UInt64Value {
- 'value'?: (number | string | Long);
-}
-export interface UInt64Value__Output {
- 'value': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js
deleted file mode 100644
index 2a06a6917bcadb6c8236d6cc97fa0afeeb9d7ea9..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: null
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=UInt64Value.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js.map
deleted file mode 100644
index 4ea43ca11fbddd2899ab471f43f61416c01a23f6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"UInt64Value.js","sourceRoot":"","sources":["../../../../../src/generated/google/protobuf/UInt64Value.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.d.ts
deleted file mode 100644
index 067636795f3e5162b0ec82988a956a645124c4eb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.d.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-///
-import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
-/**
- * An address type not included above.
- */
-export interface _grpc_channelz_v1_Address_OtherAddress {
- /**
- * The human readable version of the value. This value should be set.
- */
- 'name'?: (string);
- /**
- * The actual address message.
- */
- 'value'?: (_google_protobuf_Any | null);
-}
-/**
- * An address type not included above.
- */
-export interface _grpc_channelz_v1_Address_OtherAddress__Output {
- /**
- * The human readable version of the value. This value should be set.
- */
- 'name': (string);
- /**
- * The actual address message.
- */
- 'value': (_google_protobuf_Any__Output | null);
-}
-export interface _grpc_channelz_v1_Address_TcpIpAddress {
- /**
- * Either the IPv4 or IPv6 address in bytes. Will be either 4 bytes or 16
- * bytes in length.
- */
- 'ip_address'?: (Buffer | Uint8Array | string);
- /**
- * 0-64k, or -1 if not appropriate.
- */
- 'port'?: (number);
-}
-export interface _grpc_channelz_v1_Address_TcpIpAddress__Output {
- /**
- * Either the IPv4 or IPv6 address in bytes. Will be either 4 bytes or 16
- * bytes in length.
- */
- 'ip_address': (Buffer);
- /**
- * 0-64k, or -1 if not appropriate.
- */
- 'port': (number);
-}
-/**
- * A Unix Domain Socket address.
- */
-export interface _grpc_channelz_v1_Address_UdsAddress {
- 'filename'?: (string);
-}
-/**
- * A Unix Domain Socket address.
- */
-export interface _grpc_channelz_v1_Address_UdsAddress__Output {
- 'filename': (string);
-}
-/**
- * Address represents the address used to create the socket.
- */
-export interface Address {
- 'tcpip_address'?: (_grpc_channelz_v1_Address_TcpIpAddress | null);
- 'uds_address'?: (_grpc_channelz_v1_Address_UdsAddress | null);
- 'other_address'?: (_grpc_channelz_v1_Address_OtherAddress | null);
- 'address'?: "tcpip_address" | "uds_address" | "other_address";
-}
-/**
- * Address represents the address used to create the socket.
- */
-export interface Address__Output {
- 'tcpip_address'?: (_grpc_channelz_v1_Address_TcpIpAddress__Output | null);
- 'uds_address'?: (_grpc_channelz_v1_Address_UdsAddress__Output | null);
- 'other_address'?: (_grpc_channelz_v1_Address_OtherAddress__Output | null);
- 'address': "tcpip_address" | "uds_address" | "other_address";
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js
deleted file mode 100644
index 6f15b91c86f1a022d149739e8bd399d660239929..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Address.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js.map
deleted file mode 100644
index 554d6dac7919ebe1a1a780a4b7929fa05163ac71..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Address.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/Address.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.d.ts
deleted file mode 100644
index 3bd11ca42df37dcce26012600274f951ff3fd8d3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.d.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import type { ChannelRef as _grpc_channelz_v1_ChannelRef, ChannelRef__Output as _grpc_channelz_v1_ChannelRef__Output } from '../../../grpc/channelz/v1/ChannelRef';
-import type { ChannelData as _grpc_channelz_v1_ChannelData, ChannelData__Output as _grpc_channelz_v1_ChannelData__Output } from '../../../grpc/channelz/v1/ChannelData';
-import type { SubchannelRef as _grpc_channelz_v1_SubchannelRef, SubchannelRef__Output as _grpc_channelz_v1_SubchannelRef__Output } from '../../../grpc/channelz/v1/SubchannelRef';
-import type { SocketRef as _grpc_channelz_v1_SocketRef, SocketRef__Output as _grpc_channelz_v1_SocketRef__Output } from '../../../grpc/channelz/v1/SocketRef';
-/**
- * Channel is a logical grouping of channels, subchannels, and sockets.
- */
-export interface Channel {
- /**
- * The identifier for this channel. This should bet set.
- */
- 'ref'?: (_grpc_channelz_v1_ChannelRef | null);
- /**
- * Data specific to this channel.
- */
- 'data'?: (_grpc_channelz_v1_ChannelData | null);
- /**
- * There are no ordering guarantees on the order of channel refs.
- * There may not be cycles in the ref graph.
- * A channel ref may be present in more than one channel or subchannel.
- */
- 'channel_ref'?: (_grpc_channelz_v1_ChannelRef)[];
- /**
- * At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
- * There are no ordering guarantees on the order of subchannel refs.
- * There may not be cycles in the ref graph.
- * A sub channel ref may be present in more than one channel or subchannel.
- */
- 'subchannel_ref'?: (_grpc_channelz_v1_SubchannelRef)[];
- /**
- * There are no ordering guarantees on the order of sockets.
- */
- 'socket_ref'?: (_grpc_channelz_v1_SocketRef)[];
-}
-/**
- * Channel is a logical grouping of channels, subchannels, and sockets.
- */
-export interface Channel__Output {
- /**
- * The identifier for this channel. This should bet set.
- */
- 'ref': (_grpc_channelz_v1_ChannelRef__Output | null);
- /**
- * Data specific to this channel.
- */
- 'data': (_grpc_channelz_v1_ChannelData__Output | null);
- /**
- * There are no ordering guarantees on the order of channel refs.
- * There may not be cycles in the ref graph.
- * A channel ref may be present in more than one channel or subchannel.
- */
- 'channel_ref': (_grpc_channelz_v1_ChannelRef__Output)[];
- /**
- * At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
- * There are no ordering guarantees on the order of subchannel refs.
- * There may not be cycles in the ref graph.
- * A sub channel ref may be present in more than one channel or subchannel.
- */
- 'subchannel_ref': (_grpc_channelz_v1_SubchannelRef__Output)[];
- /**
- * There are no ordering guarantees on the order of sockets.
- */
- 'socket_ref': (_grpc_channelz_v1_SocketRef__Output)[];
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js
deleted file mode 100644
index d9bc55a33eb9b7a4c0c90d85060ffacbb428be7c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Channel.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js.map
deleted file mode 100644
index 5dd6b69e46dbfd2af5d3d7b74db9adbc19580d42..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Channel.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/Channel.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.d.ts
deleted file mode 100644
index 2ea38333c59bc97b5969f3fbc6be6b0939262007..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.d.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-export declare const _grpc_channelz_v1_ChannelConnectivityState_State: {
- readonly UNKNOWN: "UNKNOWN";
- readonly IDLE: "IDLE";
- readonly CONNECTING: "CONNECTING";
- readonly READY: "READY";
- readonly TRANSIENT_FAILURE: "TRANSIENT_FAILURE";
- readonly SHUTDOWN: "SHUTDOWN";
-};
-export type _grpc_channelz_v1_ChannelConnectivityState_State = 'UNKNOWN' | 0 | 'IDLE' | 1 | 'CONNECTING' | 2 | 'READY' | 3 | 'TRANSIENT_FAILURE' | 4 | 'SHUTDOWN' | 5;
-export type _grpc_channelz_v1_ChannelConnectivityState_State__Output = typeof _grpc_channelz_v1_ChannelConnectivityState_State[keyof typeof _grpc_channelz_v1_ChannelConnectivityState_State];
-/**
- * These come from the specified states in this document:
- * https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md
- */
-export interface ChannelConnectivityState {
- 'state'?: (_grpc_channelz_v1_ChannelConnectivityState_State);
-}
-/**
- * These come from the specified states in this document:
- * https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md
- */
-export interface ChannelConnectivityState__Output {
- 'state': (_grpc_channelz_v1_ChannelConnectivityState_State__Output);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js
deleted file mode 100644
index 2a783d9247a0feae09d71a9eebc233dc87f3c4d3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-exports._grpc_channelz_v1_ChannelConnectivityState_State = void 0;
-// Original file: proto/channelz.proto
-exports._grpc_channelz_v1_ChannelConnectivityState_State = {
- UNKNOWN: 'UNKNOWN',
- IDLE: 'IDLE',
- CONNECTING: 'CONNECTING',
- READY: 'READY',
- TRANSIENT_FAILURE: 'TRANSIENT_FAILURE',
- SHUTDOWN: 'SHUTDOWN',
-};
-//# sourceMappingURL=ChannelConnectivityState.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js.map
deleted file mode 100644
index d4b2567c381d2186b42db0dbb5b0d5f168f34a55..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"ChannelConnectivityState.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/ChannelConnectivityState.ts"],"names":[],"mappings":";AAAA,sCAAsC;;;AAGtC,sCAAsC;AAEzB,QAAA,gDAAgD,GAAG;IAC9D,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,mBAAmB;IACtC,QAAQ,EAAE,UAAU;CACZ,CAAC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.d.ts
deleted file mode 100644
index 3d9716ae9b4edd8293cdac1baa41ccc3b8785251..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.d.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import type { ChannelConnectivityState as _grpc_channelz_v1_ChannelConnectivityState, ChannelConnectivityState__Output as _grpc_channelz_v1_ChannelConnectivityState__Output } from '../../../grpc/channelz/v1/ChannelConnectivityState';
-import type { ChannelTrace as _grpc_channelz_v1_ChannelTrace, ChannelTrace__Output as _grpc_channelz_v1_ChannelTrace__Output } from '../../../grpc/channelz/v1/ChannelTrace';
-import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
-import type { Long } from '@grpc/proto-loader';
-/**
- * Channel data is data related to a specific Channel or Subchannel.
- */
-export interface ChannelData {
- /**
- * The connectivity state of the channel or subchannel. Implementations
- * should always set this.
- */
- 'state'?: (_grpc_channelz_v1_ChannelConnectivityState | null);
- /**
- * The target this channel originally tried to connect to. May be absent
- */
- 'target'?: (string);
- /**
- * A trace of recent events on the channel. May be absent.
- */
- 'trace'?: (_grpc_channelz_v1_ChannelTrace | null);
- /**
- * The number of calls started on the channel
- */
- 'calls_started'?: (number | string | Long);
- /**
- * The number of calls that have completed with an OK status
- */
- 'calls_succeeded'?: (number | string | Long);
- /**
- * The number of calls that have completed with a non-OK status
- */
- 'calls_failed'?: (number | string | Long);
- /**
- * The last time a call was started on the channel.
- */
- 'last_call_started_timestamp'?: (_google_protobuf_Timestamp | null);
-}
-/**
- * Channel data is data related to a specific Channel or Subchannel.
- */
-export interface ChannelData__Output {
- /**
- * The connectivity state of the channel or subchannel. Implementations
- * should always set this.
- */
- 'state': (_grpc_channelz_v1_ChannelConnectivityState__Output | null);
- /**
- * The target this channel originally tried to connect to. May be absent
- */
- 'target': (string);
- /**
- * A trace of recent events on the channel. May be absent.
- */
- 'trace': (_grpc_channelz_v1_ChannelTrace__Output | null);
- /**
- * The number of calls started on the channel
- */
- 'calls_started': (string);
- /**
- * The number of calls that have completed with an OK status
- */
- 'calls_succeeded': (string);
- /**
- * The number of calls that have completed with a non-OK status
- */
- 'calls_failed': (string);
- /**
- * The last time a call was started on the channel.
- */
- 'last_call_started_timestamp': (_google_protobuf_Timestamp__Output | null);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js
deleted file mode 100644
index dffbd45cd2fa59ccf71c6a3f78c28398c1aa1f91..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=ChannelData.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js.map
deleted file mode 100644
index bb2b4c471ba238b373e1b3fa69b5492a7f3d9c1c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"ChannelData.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/ChannelData.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.d.ts
deleted file mode 100644
index 29deef9f74dbb7202e1ccd7a0854895e5f587e61..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.d.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-/**
- * ChannelRef is a reference to a Channel.
- */
-export interface ChannelRef {
- /**
- * The globally unique id for this channel. Must be a positive number.
- */
- 'channel_id'?: (number | string | Long);
- /**
- * An optional name associated with the channel.
- */
- 'name'?: (string);
-}
-/**
- * ChannelRef is a reference to a Channel.
- */
-export interface ChannelRef__Output {
- /**
- * The globally unique id for this channel. Must be a positive number.
- */
- 'channel_id': (string);
- /**
- * An optional name associated with the channel.
- */
- 'name': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js
deleted file mode 100644
index d239819ecc460a7a6f58b66e975368669462f71e..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=ChannelRef.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js.map
deleted file mode 100644
index 1030dedb95e8f6888e7ec4e7344ffe318ea508d3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"ChannelRef.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/ChannelRef.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.d.ts
deleted file mode 100644
index 5b6170a065cf0a307d4b4a2b85d5feb1b01f3f04..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.d.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
-import type { ChannelTraceEvent as _grpc_channelz_v1_ChannelTraceEvent, ChannelTraceEvent__Output as _grpc_channelz_v1_ChannelTraceEvent__Output } from '../../../grpc/channelz/v1/ChannelTraceEvent';
-import type { Long } from '@grpc/proto-loader';
-/**
- * ChannelTrace represents the recent events that have occurred on the channel.
- */
-export interface ChannelTrace {
- /**
- * Number of events ever logged in this tracing object. This can differ from
- * events.size() because events can be overwritten or garbage collected by
- * implementations.
- */
- 'num_events_logged'?: (number | string | Long);
- /**
- * Time that this channel was created.
- */
- 'creation_timestamp'?: (_google_protobuf_Timestamp | null);
- /**
- * List of events that have occurred on this channel.
- */
- 'events'?: (_grpc_channelz_v1_ChannelTraceEvent)[];
-}
-/**
- * ChannelTrace represents the recent events that have occurred on the channel.
- */
-export interface ChannelTrace__Output {
- /**
- * Number of events ever logged in this tracing object. This can differ from
- * events.size() because events can be overwritten or garbage collected by
- * implementations.
- */
- 'num_events_logged': (string);
- /**
- * Time that this channel was created.
- */
- 'creation_timestamp': (_google_protobuf_Timestamp__Output | null);
- /**
- * List of events that have occurred on this channel.
- */
- 'events': (_grpc_channelz_v1_ChannelTraceEvent__Output)[];
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js
deleted file mode 100644
index 112069c0e2ff3d4c73dd1dedaf7e85d9f019cda5..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=ChannelTrace.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js.map
deleted file mode 100644
index 2f665dc2c13142687f78cde6e8661a3384fee7c1..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"ChannelTrace.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/ChannelTrace.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.d.ts
deleted file mode 100644
index 6ff7e30d840ea81e218c29862524433ba771fc79..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.d.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
-import type { ChannelRef as _grpc_channelz_v1_ChannelRef, ChannelRef__Output as _grpc_channelz_v1_ChannelRef__Output } from '../../../grpc/channelz/v1/ChannelRef';
-import type { SubchannelRef as _grpc_channelz_v1_SubchannelRef, SubchannelRef__Output as _grpc_channelz_v1_SubchannelRef__Output } from '../../../grpc/channelz/v1/SubchannelRef';
-/**
- * The supported severity levels of trace events.
- */
-export declare const _grpc_channelz_v1_ChannelTraceEvent_Severity: {
- readonly CT_UNKNOWN: "CT_UNKNOWN";
- readonly CT_INFO: "CT_INFO";
- readonly CT_WARNING: "CT_WARNING";
- readonly CT_ERROR: "CT_ERROR";
-};
-/**
- * The supported severity levels of trace events.
- */
-export type _grpc_channelz_v1_ChannelTraceEvent_Severity = 'CT_UNKNOWN' | 0 | 'CT_INFO' | 1 | 'CT_WARNING' | 2 | 'CT_ERROR' | 3;
-/**
- * The supported severity levels of trace events.
- */
-export type _grpc_channelz_v1_ChannelTraceEvent_Severity__Output = typeof _grpc_channelz_v1_ChannelTraceEvent_Severity[keyof typeof _grpc_channelz_v1_ChannelTraceEvent_Severity];
-/**
- * A trace event is an interesting thing that happened to a channel or
- * subchannel, such as creation, address resolution, subchannel creation, etc.
- */
-export interface ChannelTraceEvent {
- /**
- * High level description of the event.
- */
- 'description'?: (string);
- /**
- * the severity of the trace event
- */
- 'severity'?: (_grpc_channelz_v1_ChannelTraceEvent_Severity);
- /**
- * When this event occurred.
- */
- 'timestamp'?: (_google_protobuf_Timestamp | null);
- 'channel_ref'?: (_grpc_channelz_v1_ChannelRef | null);
- 'subchannel_ref'?: (_grpc_channelz_v1_SubchannelRef | null);
- /**
- * ref of referenced channel or subchannel.
- * Optional, only present if this event refers to a child object. For example,
- * this field would be filled if this trace event was for a subchannel being
- * created.
- */
- 'child_ref'?: "channel_ref" | "subchannel_ref";
-}
-/**
- * A trace event is an interesting thing that happened to a channel or
- * subchannel, such as creation, address resolution, subchannel creation, etc.
- */
-export interface ChannelTraceEvent__Output {
- /**
- * High level description of the event.
- */
- 'description': (string);
- /**
- * the severity of the trace event
- */
- 'severity': (_grpc_channelz_v1_ChannelTraceEvent_Severity__Output);
- /**
- * When this event occurred.
- */
- 'timestamp': (_google_protobuf_Timestamp__Output | null);
- 'channel_ref'?: (_grpc_channelz_v1_ChannelRef__Output | null);
- 'subchannel_ref'?: (_grpc_channelz_v1_SubchannelRef__Output | null);
- /**
- * ref of referenced channel or subchannel.
- * Optional, only present if this event refers to a child object. For example,
- * this field would be filled if this trace event was for a subchannel being
- * created.
- */
- 'child_ref': "channel_ref" | "subchannel_ref";
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js
deleted file mode 100644
index ae9981b9fcb794e12d11d62ace6b735b63191fa2..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js
+++ /dev/null
@@ -1,15 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-exports._grpc_channelz_v1_ChannelTraceEvent_Severity = void 0;
-// Original file: proto/channelz.proto
-/**
- * The supported severity levels of trace events.
- */
-exports._grpc_channelz_v1_ChannelTraceEvent_Severity = {
- CT_UNKNOWN: 'CT_UNKNOWN',
- CT_INFO: 'CT_INFO',
- CT_WARNING: 'CT_WARNING',
- CT_ERROR: 'CT_ERROR',
-};
-//# sourceMappingURL=ChannelTraceEvent.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js.map
deleted file mode 100644
index 2ed003c0d01fdd12fba0847b6f5f6c51a8b6e03c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"ChannelTraceEvent.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/ChannelTraceEvent.ts"],"names":[],"mappings":";AAAA,sCAAsC;;;AAMtC,sCAAsC;AAEtC;;GAEG;AACU,QAAA,4CAA4C,GAAG;IAC1D,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;CACZ,CAAC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.d.ts
deleted file mode 100644
index 3e9eb9867de41d1f736ef3bde066a269f6d96bee..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.d.ts
+++ /dev/null
@@ -1,159 +0,0 @@
-import type * as grpc from '../../../../index';
-import type { MethodDefinition } from '@grpc/proto-loader';
-import type { GetChannelRequest as _grpc_channelz_v1_GetChannelRequest, GetChannelRequest__Output as _grpc_channelz_v1_GetChannelRequest__Output } from '../../../grpc/channelz/v1/GetChannelRequest';
-import type { GetChannelResponse as _grpc_channelz_v1_GetChannelResponse, GetChannelResponse__Output as _grpc_channelz_v1_GetChannelResponse__Output } from '../../../grpc/channelz/v1/GetChannelResponse';
-import type { GetServerRequest as _grpc_channelz_v1_GetServerRequest, GetServerRequest__Output as _grpc_channelz_v1_GetServerRequest__Output } from '../../../grpc/channelz/v1/GetServerRequest';
-import type { GetServerResponse as _grpc_channelz_v1_GetServerResponse, GetServerResponse__Output as _grpc_channelz_v1_GetServerResponse__Output } from '../../../grpc/channelz/v1/GetServerResponse';
-import type { GetServerSocketsRequest as _grpc_channelz_v1_GetServerSocketsRequest, GetServerSocketsRequest__Output as _grpc_channelz_v1_GetServerSocketsRequest__Output } from '../../../grpc/channelz/v1/GetServerSocketsRequest';
-import type { GetServerSocketsResponse as _grpc_channelz_v1_GetServerSocketsResponse, GetServerSocketsResponse__Output as _grpc_channelz_v1_GetServerSocketsResponse__Output } from '../../../grpc/channelz/v1/GetServerSocketsResponse';
-import type { GetServersRequest as _grpc_channelz_v1_GetServersRequest, GetServersRequest__Output as _grpc_channelz_v1_GetServersRequest__Output } from '../../../grpc/channelz/v1/GetServersRequest';
-import type { GetServersResponse as _grpc_channelz_v1_GetServersResponse, GetServersResponse__Output as _grpc_channelz_v1_GetServersResponse__Output } from '../../../grpc/channelz/v1/GetServersResponse';
-import type { GetSocketRequest as _grpc_channelz_v1_GetSocketRequest, GetSocketRequest__Output as _grpc_channelz_v1_GetSocketRequest__Output } from '../../../grpc/channelz/v1/GetSocketRequest';
-import type { GetSocketResponse as _grpc_channelz_v1_GetSocketResponse, GetSocketResponse__Output as _grpc_channelz_v1_GetSocketResponse__Output } from '../../../grpc/channelz/v1/GetSocketResponse';
-import type { GetSubchannelRequest as _grpc_channelz_v1_GetSubchannelRequest, GetSubchannelRequest__Output as _grpc_channelz_v1_GetSubchannelRequest__Output } from '../../../grpc/channelz/v1/GetSubchannelRequest';
-import type { GetSubchannelResponse as _grpc_channelz_v1_GetSubchannelResponse, GetSubchannelResponse__Output as _grpc_channelz_v1_GetSubchannelResponse__Output } from '../../../grpc/channelz/v1/GetSubchannelResponse';
-import type { GetTopChannelsRequest as _grpc_channelz_v1_GetTopChannelsRequest, GetTopChannelsRequest__Output as _grpc_channelz_v1_GetTopChannelsRequest__Output } from '../../../grpc/channelz/v1/GetTopChannelsRequest';
-import type { GetTopChannelsResponse as _grpc_channelz_v1_GetTopChannelsResponse, GetTopChannelsResponse__Output as _grpc_channelz_v1_GetTopChannelsResponse__Output } from '../../../grpc/channelz/v1/GetTopChannelsResponse';
-/**
- * Channelz is a service exposed by gRPC servers that provides detailed debug
- * information.
- */
-export interface ChannelzClient extends grpc.Client {
- /**
- * Returns a single Channel, or else a NOT_FOUND code.
- */
- GetChannel(argument: _grpc_channelz_v1_GetChannelRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetChannelResponse__Output>): grpc.ClientUnaryCall;
- GetChannel(argument: _grpc_channelz_v1_GetChannelRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetChannelResponse__Output>): grpc.ClientUnaryCall;
- GetChannel(argument: _grpc_channelz_v1_GetChannelRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetChannelResponse__Output>): grpc.ClientUnaryCall;
- GetChannel(argument: _grpc_channelz_v1_GetChannelRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetChannelResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Returns a single Server, or else a NOT_FOUND code.
- */
- GetServer(argument: _grpc_channelz_v1_GetServerRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerResponse__Output>): grpc.ClientUnaryCall;
- GetServer(argument: _grpc_channelz_v1_GetServerRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerResponse__Output>): grpc.ClientUnaryCall;
- GetServer(argument: _grpc_channelz_v1_GetServerRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerResponse__Output>): grpc.ClientUnaryCall;
- GetServer(argument: _grpc_channelz_v1_GetServerRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Returns a single Server, or else a NOT_FOUND code.
- */
- getServer(argument: _grpc_channelz_v1_GetServerRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerResponse__Output>): grpc.ClientUnaryCall;
- getServer(argument: _grpc_channelz_v1_GetServerRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerResponse__Output>): grpc.ClientUnaryCall;
- getServer(argument: _grpc_channelz_v1_GetServerRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerResponse__Output>): grpc.ClientUnaryCall;
- getServer(argument: _grpc_channelz_v1_GetServerRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Gets all server sockets that exist in the process.
- */
- GetServerSockets(argument: _grpc_channelz_v1_GetServerSocketsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerSocketsResponse__Output>): grpc.ClientUnaryCall;
- GetServerSockets(argument: _grpc_channelz_v1_GetServerSocketsRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerSocketsResponse__Output>): grpc.ClientUnaryCall;
- GetServerSockets(argument: _grpc_channelz_v1_GetServerSocketsRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerSocketsResponse__Output>): grpc.ClientUnaryCall;
- GetServerSockets(argument: _grpc_channelz_v1_GetServerSocketsRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerSocketsResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Gets all server sockets that exist in the process.
- */
- getServerSockets(argument: _grpc_channelz_v1_GetServerSocketsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerSocketsResponse__Output>): grpc.ClientUnaryCall;
- getServerSockets(argument: _grpc_channelz_v1_GetServerSocketsRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerSocketsResponse__Output>): grpc.ClientUnaryCall;
- getServerSockets(argument: _grpc_channelz_v1_GetServerSocketsRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerSocketsResponse__Output>): grpc.ClientUnaryCall;
- getServerSockets(argument: _grpc_channelz_v1_GetServerSocketsRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetServerSocketsResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Gets all servers that exist in the process.
- */
- GetServers(argument: _grpc_channelz_v1_GetServersRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServersResponse__Output>): grpc.ClientUnaryCall;
- GetServers(argument: _grpc_channelz_v1_GetServersRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetServersResponse__Output>): grpc.ClientUnaryCall;
- GetServers(argument: _grpc_channelz_v1_GetServersRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServersResponse__Output>): grpc.ClientUnaryCall;
- GetServers(argument: _grpc_channelz_v1_GetServersRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetServersResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Gets all servers that exist in the process.
- */
- getServers(argument: _grpc_channelz_v1_GetServersRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServersResponse__Output>): grpc.ClientUnaryCall;
- getServers(argument: _grpc_channelz_v1_GetServersRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetServersResponse__Output>): grpc.ClientUnaryCall;
- getServers(argument: _grpc_channelz_v1_GetServersRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetServersResponse__Output>): grpc.ClientUnaryCall;
- getServers(argument: _grpc_channelz_v1_GetServersRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetServersResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Returns a single Socket or else a NOT_FOUND code.
- */
- GetSocket(argument: _grpc_channelz_v1_GetSocketRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetSocketResponse__Output>): grpc.ClientUnaryCall;
- GetSocket(argument: _grpc_channelz_v1_GetSocketRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetSocketResponse__Output>): grpc.ClientUnaryCall;
- GetSocket(argument: _grpc_channelz_v1_GetSocketRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetSocketResponse__Output>): grpc.ClientUnaryCall;
- GetSocket(argument: _grpc_channelz_v1_GetSocketRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetSocketResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Returns a single Socket or else a NOT_FOUND code.
- */
- getSocket(argument: _grpc_channelz_v1_GetSocketRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetSocketResponse__Output>): grpc.ClientUnaryCall;
- getSocket(argument: _grpc_channelz_v1_GetSocketRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetSocketResponse__Output>): grpc.ClientUnaryCall;
- getSocket(argument: _grpc_channelz_v1_GetSocketRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetSocketResponse__Output>): grpc.ClientUnaryCall;
- getSocket(argument: _grpc_channelz_v1_GetSocketRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetSocketResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Returns a single Subchannel, or else a NOT_FOUND code.
- */
- GetSubchannel(argument: _grpc_channelz_v1_GetSubchannelRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetSubchannelResponse__Output>): grpc.ClientUnaryCall;
- GetSubchannel(argument: _grpc_channelz_v1_GetSubchannelRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetSubchannelResponse__Output>): grpc.ClientUnaryCall;
- GetSubchannel(argument: _grpc_channelz_v1_GetSubchannelRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetSubchannelResponse__Output>): grpc.ClientUnaryCall;
- GetSubchannel(argument: _grpc_channelz_v1_GetSubchannelRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetSubchannelResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Returns a single Subchannel, or else a NOT_FOUND code.
- */
- getSubchannel(argument: _grpc_channelz_v1_GetSubchannelRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetSubchannelResponse__Output>): grpc.ClientUnaryCall;
- getSubchannel(argument: _grpc_channelz_v1_GetSubchannelRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetSubchannelResponse__Output>): grpc.ClientUnaryCall;
- getSubchannel(argument: _grpc_channelz_v1_GetSubchannelRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetSubchannelResponse__Output>): grpc.ClientUnaryCall;
- getSubchannel(argument: _grpc_channelz_v1_GetSubchannelRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetSubchannelResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Gets all root channels (i.e. channels the application has directly
- * created). This does not include subchannels nor non-top level channels.
- */
- GetTopChannels(argument: _grpc_channelz_v1_GetTopChannelsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetTopChannelsResponse__Output>): grpc.ClientUnaryCall;
- GetTopChannels(argument: _grpc_channelz_v1_GetTopChannelsRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetTopChannelsResponse__Output>): grpc.ClientUnaryCall;
- GetTopChannels(argument: _grpc_channelz_v1_GetTopChannelsRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetTopChannelsResponse__Output>): grpc.ClientUnaryCall;
- GetTopChannels(argument: _grpc_channelz_v1_GetTopChannelsRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetTopChannelsResponse__Output>): grpc.ClientUnaryCall;
- /**
- * Gets all root channels (i.e. channels the application has directly
- * created). This does not include subchannels nor non-top level channels.
- */
- getTopChannels(argument: _grpc_channelz_v1_GetTopChannelsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetTopChannelsResponse__Output>): grpc.ClientUnaryCall;
- getTopChannels(argument: _grpc_channelz_v1_GetTopChannelsRequest, metadata: grpc.Metadata, callback: grpc.requestCallback<_grpc_channelz_v1_GetTopChannelsResponse__Output>): grpc.ClientUnaryCall;
- getTopChannels(argument: _grpc_channelz_v1_GetTopChannelsRequest, options: grpc.CallOptions, callback: grpc.requestCallback<_grpc_channelz_v1_GetTopChannelsResponse__Output>): grpc.ClientUnaryCall;
- getTopChannels(argument: _grpc_channelz_v1_GetTopChannelsRequest, callback: grpc.requestCallback<_grpc_channelz_v1_GetTopChannelsResponse__Output>): grpc.ClientUnaryCall;
-}
-/**
- * Channelz is a service exposed by gRPC servers that provides detailed debug
- * information.
- */
-export interface ChannelzHandlers extends grpc.UntypedServiceImplementation {
- /**
- * Returns a single Channel, or else a NOT_FOUND code.
- */
- GetChannel: grpc.handleUnaryCall<_grpc_channelz_v1_GetChannelRequest__Output, _grpc_channelz_v1_GetChannelResponse>;
- /**
- * Returns a single Server, or else a NOT_FOUND code.
- */
- GetServer: grpc.handleUnaryCall<_grpc_channelz_v1_GetServerRequest__Output, _grpc_channelz_v1_GetServerResponse>;
- /**
- * Gets all server sockets that exist in the process.
- */
- GetServerSockets: grpc.handleUnaryCall<_grpc_channelz_v1_GetServerSocketsRequest__Output, _grpc_channelz_v1_GetServerSocketsResponse>;
- /**
- * Gets all servers that exist in the process.
- */
- GetServers: grpc.handleUnaryCall<_grpc_channelz_v1_GetServersRequest__Output, _grpc_channelz_v1_GetServersResponse>;
- /**
- * Returns a single Socket or else a NOT_FOUND code.
- */
- GetSocket: grpc.handleUnaryCall<_grpc_channelz_v1_GetSocketRequest__Output, _grpc_channelz_v1_GetSocketResponse>;
- /**
- * Returns a single Subchannel, or else a NOT_FOUND code.
- */
- GetSubchannel: grpc.handleUnaryCall<_grpc_channelz_v1_GetSubchannelRequest__Output, _grpc_channelz_v1_GetSubchannelResponse>;
- /**
- * Gets all root channels (i.e. channels the application has directly
- * created). This does not include subchannels nor non-top level channels.
- */
- GetTopChannels: grpc.handleUnaryCall<_grpc_channelz_v1_GetTopChannelsRequest__Output, _grpc_channelz_v1_GetTopChannelsResponse>;
-}
-export interface ChannelzDefinition extends grpc.ServiceDefinition {
- GetChannel: MethodDefinition<_grpc_channelz_v1_GetChannelRequest, _grpc_channelz_v1_GetChannelResponse, _grpc_channelz_v1_GetChannelRequest__Output, _grpc_channelz_v1_GetChannelResponse__Output>;
- GetServer: MethodDefinition<_grpc_channelz_v1_GetServerRequest, _grpc_channelz_v1_GetServerResponse, _grpc_channelz_v1_GetServerRequest__Output, _grpc_channelz_v1_GetServerResponse__Output>;
- GetServerSockets: MethodDefinition<_grpc_channelz_v1_GetServerSocketsRequest, _grpc_channelz_v1_GetServerSocketsResponse, _grpc_channelz_v1_GetServerSocketsRequest__Output, _grpc_channelz_v1_GetServerSocketsResponse__Output>;
- GetServers: MethodDefinition<_grpc_channelz_v1_GetServersRequest, _grpc_channelz_v1_GetServersResponse, _grpc_channelz_v1_GetServersRequest__Output, _grpc_channelz_v1_GetServersResponse__Output>;
- GetSocket: MethodDefinition<_grpc_channelz_v1_GetSocketRequest, _grpc_channelz_v1_GetSocketResponse, _grpc_channelz_v1_GetSocketRequest__Output, _grpc_channelz_v1_GetSocketResponse__Output>;
- GetSubchannel: MethodDefinition<_grpc_channelz_v1_GetSubchannelRequest, _grpc_channelz_v1_GetSubchannelResponse, _grpc_channelz_v1_GetSubchannelRequest__Output, _grpc_channelz_v1_GetSubchannelResponse__Output>;
- GetTopChannels: MethodDefinition<_grpc_channelz_v1_GetTopChannelsRequest, _grpc_channelz_v1_GetTopChannelsResponse, _grpc_channelz_v1_GetTopChannelsRequest__Output, _grpc_channelz_v1_GetTopChannelsResponse__Output>;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js
deleted file mode 100644
index 9fdf9fc57ff192a9cecd0bbe3ffb56eacef3e391..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Channelz.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js.map
deleted file mode 100644
index 86fafec2eb2efc4c23dba2a8a18f82eec4060092..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Channelz.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/Channelz.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.d.ts
deleted file mode 100644
index 4956cfa4340b037dd859aeb6584811735a35bcb0..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface GetChannelRequest {
- /**
- * channel_id is the identifier of the specific channel to get.
- */
- 'channel_id'?: (number | string | Long);
-}
-export interface GetChannelRequest__Output {
- /**
- * channel_id is the identifier of the specific channel to get.
- */
- 'channel_id': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js
deleted file mode 100644
index 10948d4087e0e27127cd913490691aec416c507d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetChannelRequest.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js.map
deleted file mode 100644
index 0ae3f26a6ad62979a3ba687dba157663f0d9d219..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetChannelRequest.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetChannelRequest.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.d.ts
deleted file mode 100644
index 2fbab92ba1cd694e3f6df5dadf0bfdfba4f4c9db..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import type { Channel as _grpc_channelz_v1_Channel, Channel__Output as _grpc_channelz_v1_Channel__Output } from '../../../grpc/channelz/v1/Channel';
-export interface GetChannelResponse {
- /**
- * The Channel that corresponds to the requested channel_id. This field
- * should be set.
- */
- 'channel'?: (_grpc_channelz_v1_Channel | null);
-}
-export interface GetChannelResponse__Output {
- /**
- * The Channel that corresponds to the requested channel_id. This field
- * should be set.
- */
- 'channel': (_grpc_channelz_v1_Channel__Output | null);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js
deleted file mode 100644
index 02a4426a7589873aece9928fb39a7fa6b35b4a6a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetChannelResponse.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js.map
deleted file mode 100644
index a3cfefbae44dcf04a35702808019b127c10bd98f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetChannelResponse.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetChannelResponse.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.d.ts
deleted file mode 100644
index 1df8503006a0d9aba9a7bf1318511ec11f6d39f5..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface GetServerRequest {
- /**
- * server_id is the identifier of the specific server to get.
- */
- 'server_id'?: (number | string | Long);
-}
-export interface GetServerRequest__Output {
- /**
- * server_id is the identifier of the specific server to get.
- */
- 'server_id': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js
deleted file mode 100644
index 77717b4c465fcaac7eefdff6c29808417ebdf5d3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetServerRequest.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js.map
deleted file mode 100644
index 86fbba64ac637414a51dc1c38d6e63881e9ab543..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetServerRequest.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetServerRequest.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.d.ts
deleted file mode 100644
index 2da13dd913038279c495bf89647d2fb77e90cf08..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import type { Server as _grpc_channelz_v1_Server, Server__Output as _grpc_channelz_v1_Server__Output } from '../../../grpc/channelz/v1/Server';
-export interface GetServerResponse {
- /**
- * The Server that corresponds to the requested server_id. This field
- * should be set.
- */
- 'server'?: (_grpc_channelz_v1_Server | null);
-}
-export interface GetServerResponse__Output {
- /**
- * The Server that corresponds to the requested server_id. This field
- * should be set.
- */
- 'server': (_grpc_channelz_v1_Server__Output | null);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js
deleted file mode 100644
index 130eb1b71cd8207b219b375b55689dea4e989e47..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetServerResponse.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js.map
deleted file mode 100644
index f4b16ff9519c85d3c96ecb80aebb46caa3ec3b9d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetServerResponse.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetServerResponse.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.d.ts
deleted file mode 100644
index d810b92036412c9b0a3e12df5286fc8569273896..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.d.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface GetServerSocketsRequest {
- 'server_id'?: (number | string | Long);
- /**
- * start_socket_id indicates that only sockets at or above this id should be
- * included in the results.
- * To request the first page, this must be set to 0. To request
- * subsequent pages, the client generates this value by adding 1 to
- * the highest seen result ID.
- */
- 'start_socket_id'?: (number | string | Long);
- /**
- * If non-zero, the server will return a page of results containing
- * at most this many items. If zero, the server will choose a
- * reasonable page size. Must never be negative.
- */
- 'max_results'?: (number | string | Long);
-}
-export interface GetServerSocketsRequest__Output {
- 'server_id': (string);
- /**
- * start_socket_id indicates that only sockets at or above this id should be
- * included in the results.
- * To request the first page, this must be set to 0. To request
- * subsequent pages, the client generates this value by adding 1 to
- * the highest seen result ID.
- */
- 'start_socket_id': (string);
- /**
- * If non-zero, the server will return a page of results containing
- * at most this many items. If zero, the server will choose a
- * reasonable page size. Must never be negative.
- */
- 'max_results': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js
deleted file mode 100644
index 1a1518376a162bbc5811ed51b6fed32550d97008..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetServerSocketsRequest.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js.map
deleted file mode 100644
index 458dd9822c190729e16c33b875c7814f2865d308..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetServerSocketsRequest.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetServerSocketsRequest.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.d.ts
deleted file mode 100644
index 4c329aebd0b710c25607f3bad7f40f7455859fe8..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.d.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import type { SocketRef as _grpc_channelz_v1_SocketRef, SocketRef__Output as _grpc_channelz_v1_SocketRef__Output } from '../../../grpc/channelz/v1/SocketRef';
-export interface GetServerSocketsResponse {
- /**
- * list of socket refs that the connection detail service knows about. Sorted in
- * ascending socket_id order.
- * Must contain at least 1 result, otherwise 'end' must be true.
- */
- 'socket_ref'?: (_grpc_channelz_v1_SocketRef)[];
- /**
- * If set, indicates that the list of sockets is the final list. Requesting
- * more sockets will only return more if they are created after this RPC
- * completes.
- */
- 'end'?: (boolean);
-}
-export interface GetServerSocketsResponse__Output {
- /**
- * list of socket refs that the connection detail service knows about. Sorted in
- * ascending socket_id order.
- * Must contain at least 1 result, otherwise 'end' must be true.
- */
- 'socket_ref': (_grpc_channelz_v1_SocketRef__Output)[];
- /**
- * If set, indicates that the list of sockets is the final list. Requesting
- * more sockets will only return more if they are created after this RPC
- * completes.
- */
- 'end': (boolean);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js
deleted file mode 100644
index 29e424fe87f1c15ecfaf587b049a5702a90037d2..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetServerSocketsResponse.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js.map
deleted file mode 100644
index dc99923ea0e6e7fe9cc73d0f790f91abe1929bd3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetServerSocketsResponse.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetServerSocketsResponse.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.d.ts
deleted file mode 100644
index 64ace6ea66ab701872075c6c21b2e6b6ac24c68d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.d.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface GetServersRequest {
- /**
- * start_server_id indicates that only servers at or above this id should be
- * included in the results.
- * To request the first page, this must be set to 0. To request
- * subsequent pages, the client generates this value by adding 1 to
- * the highest seen result ID.
- */
- 'start_server_id'?: (number | string | Long);
- /**
- * If non-zero, the server will return a page of results containing
- * at most this many items. If zero, the server will choose a
- * reasonable page size. Must never be negative.
- */
- 'max_results'?: (number | string | Long);
-}
-export interface GetServersRequest__Output {
- /**
- * start_server_id indicates that only servers at or above this id should be
- * included in the results.
- * To request the first page, this must be set to 0. To request
- * subsequent pages, the client generates this value by adding 1 to
- * the highest seen result ID.
- */
- 'start_server_id': (string);
- /**
- * If non-zero, the server will return a page of results containing
- * at most this many items. If zero, the server will choose a
- * reasonable page size. Must never be negative.
- */
- 'max_results': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js
deleted file mode 100644
index 737181344ccab15a1fb93b293d5b78b256c22b44..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetServersRequest.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js.map
deleted file mode 100644
index db7c710a6bd52423707206499b5bb0207d111ca1..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetServersRequest.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetServersRequest.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.d.ts
deleted file mode 100644
index d3840cd60ed5300d15371095d139e4b462abb6fb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.d.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import type { Server as _grpc_channelz_v1_Server, Server__Output as _grpc_channelz_v1_Server__Output } from '../../../grpc/channelz/v1/Server';
-export interface GetServersResponse {
- /**
- * list of servers that the connection detail service knows about. Sorted in
- * ascending server_id order.
- * Must contain at least 1 result, otherwise 'end' must be true.
- */
- 'server'?: (_grpc_channelz_v1_Server)[];
- /**
- * If set, indicates that the list of servers is the final list. Requesting
- * more servers will only return more if they are created after this RPC
- * completes.
- */
- 'end'?: (boolean);
-}
-export interface GetServersResponse__Output {
- /**
- * list of servers that the connection detail service knows about. Sorted in
- * ascending server_id order.
- * Must contain at least 1 result, otherwise 'end' must be true.
- */
- 'server': (_grpc_channelz_v1_Server__Output)[];
- /**
- * If set, indicates that the list of servers is the final list. Requesting
- * more servers will only return more if they are created after this RPC
- * completes.
- */
- 'end': (boolean);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js
deleted file mode 100644
index 512429870ed3dd2fc31a320cf1eacdcd2c27d64d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetServersResponse.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js.map
deleted file mode 100644
index 74e4bbae7f0bd5b9880d476b0299fc603a595a14..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetServersResponse.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetServersResponse.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.d.ts
deleted file mode 100644
index f80615c710e932b843831003cc3645b34e2d6d0a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.d.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface GetSocketRequest {
- /**
- * socket_id is the identifier of the specific socket to get.
- */
- 'socket_id'?: (number | string | Long);
- /**
- * If true, the response will contain only high level information
- * that is inexpensive to obtain. Fields thay may be omitted are
- * documented.
- */
- 'summary'?: (boolean);
-}
-export interface GetSocketRequest__Output {
- /**
- * socket_id is the identifier of the specific socket to get.
- */
- 'socket_id': (string);
- /**
- * If true, the response will contain only high level information
- * that is inexpensive to obtain. Fields thay may be omitted are
- * documented.
- */
- 'summary': (boolean);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js
deleted file mode 100644
index 40ad25b38d0d1ee542957e99eb0b5ddf10449a42..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetSocketRequest.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js.map
deleted file mode 100644
index 3b4c1803a06e2214272bb7752840b5feaf70ae75..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetSocketRequest.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetSocketRequest.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.d.ts
deleted file mode 100644
index a9795d387f5e5110090fa2d295354a3fe26a587a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import type { Socket as _grpc_channelz_v1_Socket, Socket__Output as _grpc_channelz_v1_Socket__Output } from '../../../grpc/channelz/v1/Socket';
-export interface GetSocketResponse {
- /**
- * The Socket that corresponds to the requested socket_id. This field
- * should be set.
- */
- 'socket'?: (_grpc_channelz_v1_Socket | null);
-}
-export interface GetSocketResponse__Output {
- /**
- * The Socket that corresponds to the requested socket_id. This field
- * should be set.
- */
- 'socket': (_grpc_channelz_v1_Socket__Output | null);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js
deleted file mode 100644
index ace0ef252a88a591a5c81984be35c547d7e2ab71..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetSocketResponse.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js.map
deleted file mode 100644
index 90fada32053408a224ca882717c860cda9ee2424..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetSocketResponse.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetSocketResponse.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.d.ts
deleted file mode 100644
index 114a91fbbbdce1a82f64d85deb1b17423cc3db34..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface GetSubchannelRequest {
- /**
- * subchannel_id is the identifier of the specific subchannel to get.
- */
- 'subchannel_id'?: (number | string | Long);
-}
-export interface GetSubchannelRequest__Output {
- /**
- * subchannel_id is the identifier of the specific subchannel to get.
- */
- 'subchannel_id': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js
deleted file mode 100644
index 90f45ea0878689cbebf4b1d552a2faa365b98814..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetSubchannelRequest.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js.map
deleted file mode 100644
index b8f8f62ca96436621781c003cd7708117653f2a2..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetSubchannelRequest.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetSubchannelRequest.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.d.ts
deleted file mode 100644
index 455639f4f8dbcb0e1c06944deed0eb1837868887..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import type { Subchannel as _grpc_channelz_v1_Subchannel, Subchannel__Output as _grpc_channelz_v1_Subchannel__Output } from '../../../grpc/channelz/v1/Subchannel';
-export interface GetSubchannelResponse {
- /**
- * The Subchannel that corresponds to the requested subchannel_id. This
- * field should be set.
- */
- 'subchannel'?: (_grpc_channelz_v1_Subchannel | null);
-}
-export interface GetSubchannelResponse__Output {
- /**
- * The Subchannel that corresponds to the requested subchannel_id. This
- * field should be set.
- */
- 'subchannel': (_grpc_channelz_v1_Subchannel__Output | null);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js
deleted file mode 100644
index 52d41116d24d181e6242392c9669d60cf3713832..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetSubchannelResponse.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js.map
deleted file mode 100644
index b39861fd279c477ae8342d3069d87bbb068cd291..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetSubchannelResponse.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetSubchannelResponse.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.d.ts
deleted file mode 100644
index 43049afb93df0066084b73e823b5b52c58ae61e7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.d.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-export interface GetTopChannelsRequest {
- /**
- * start_channel_id indicates that only channels at or above this id should be
- * included in the results.
- * To request the first page, this should be set to 0. To request
- * subsequent pages, the client generates this value by adding 1 to
- * the highest seen result ID.
- */
- 'start_channel_id'?: (number | string | Long);
- /**
- * If non-zero, the server will return a page of results containing
- * at most this many items. If zero, the server will choose a
- * reasonable page size. Must never be negative.
- */
- 'max_results'?: (number | string | Long);
-}
-export interface GetTopChannelsRequest__Output {
- /**
- * start_channel_id indicates that only channels at or above this id should be
- * included in the results.
- * To request the first page, this should be set to 0. To request
- * subsequent pages, the client generates this value by adding 1 to
- * the highest seen result ID.
- */
- 'start_channel_id': (string);
- /**
- * If non-zero, the server will return a page of results containing
- * at most this many items. If zero, the server will choose a
- * reasonable page size. Must never be negative.
- */
- 'max_results': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js
deleted file mode 100644
index 8b3e023da7f42d6eee23f7485fbd1fd28b11d8a2..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetTopChannelsRequest.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js.map
deleted file mode 100644
index c4ffc68e58f1b7f402df07c40347d9f2b45f2424..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetTopChannelsRequest.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetTopChannelsRequest.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.d.ts
deleted file mode 100644
index 03f282f17c0dccb8fda6473e315ea3678402c802..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.d.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import type { Channel as _grpc_channelz_v1_Channel, Channel__Output as _grpc_channelz_v1_Channel__Output } from '../../../grpc/channelz/v1/Channel';
-export interface GetTopChannelsResponse {
- /**
- * list of channels that the connection detail service knows about. Sorted in
- * ascending channel_id order.
- * Must contain at least 1 result, otherwise 'end' must be true.
- */
- 'channel'?: (_grpc_channelz_v1_Channel)[];
- /**
- * If set, indicates that the list of channels is the final list. Requesting
- * more channels can only return more if they are created after this RPC
- * completes.
- */
- 'end'?: (boolean);
-}
-export interface GetTopChannelsResponse__Output {
- /**
- * list of channels that the connection detail service knows about. Sorted in
- * ascending channel_id order.
- * Must contain at least 1 result, otherwise 'end' must be true.
- */
- 'channel': (_grpc_channelz_v1_Channel__Output)[];
- /**
- * If set, indicates that the list of channels is the final list. Requesting
- * more channels can only return more if they are created after this RPC
- * completes.
- */
- 'end': (boolean);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js
deleted file mode 100644
index 44f1c91d7528a7752f166ecfb191a1f43990236b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=GetTopChannelsResponse.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js.map
deleted file mode 100644
index b691e5e9162561a6fab548fc6640090b805e907e..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetTopChannelsResponse.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/GetTopChannelsResponse.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.d.ts
deleted file mode 100644
index a78e8f83e720e6e8c6d754c4782390665ddc79d4..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.d.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-///
-import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
-export interface _grpc_channelz_v1_Security_OtherSecurity {
- /**
- * The human readable version of the value.
- */
- 'name'?: (string);
- /**
- * The actual security details message.
- */
- 'value'?: (_google_protobuf_Any | null);
-}
-export interface _grpc_channelz_v1_Security_OtherSecurity__Output {
- /**
- * The human readable version of the value.
- */
- 'name': (string);
- /**
- * The actual security details message.
- */
- 'value': (_google_protobuf_Any__Output | null);
-}
-export interface _grpc_channelz_v1_Security_Tls {
- /**
- * The cipher suite name in the RFC 4346 format:
- * https://tools.ietf.org/html/rfc4346#appendix-C
- */
- 'standard_name'?: (string);
- /**
- * Some other way to describe the cipher suite if
- * the RFC 4346 name is not available.
- */
- 'other_name'?: (string);
- /**
- * the certificate used by this endpoint.
- */
- 'local_certificate'?: (Buffer | Uint8Array | string);
- /**
- * the certificate used by the remote endpoint.
- */
- 'remote_certificate'?: (Buffer | Uint8Array | string);
- 'cipher_suite'?: "standard_name" | "other_name";
-}
-export interface _grpc_channelz_v1_Security_Tls__Output {
- /**
- * The cipher suite name in the RFC 4346 format:
- * https://tools.ietf.org/html/rfc4346#appendix-C
- */
- 'standard_name'?: (string);
- /**
- * Some other way to describe the cipher suite if
- * the RFC 4346 name is not available.
- */
- 'other_name'?: (string);
- /**
- * the certificate used by this endpoint.
- */
- 'local_certificate': (Buffer);
- /**
- * the certificate used by the remote endpoint.
- */
- 'remote_certificate': (Buffer);
- 'cipher_suite': "standard_name" | "other_name";
-}
-/**
- * Security represents details about how secure the socket is.
- */
-export interface Security {
- 'tls'?: (_grpc_channelz_v1_Security_Tls | null);
- 'other'?: (_grpc_channelz_v1_Security_OtherSecurity | null);
- 'model'?: "tls" | "other";
-}
-/**
- * Security represents details about how secure the socket is.
- */
-export interface Security__Output {
- 'tls'?: (_grpc_channelz_v1_Security_Tls__Output | null);
- 'other'?: (_grpc_channelz_v1_Security_OtherSecurity__Output | null);
- 'model': "tls" | "other";
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js
deleted file mode 100644
index 022b36773f08cdf4e250db63f6d9e937f07826de..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Security.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js.map
deleted file mode 100644
index 3243c97b047eec5fad1defd2a739634fb9741e2a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Security.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/Security.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.d.ts
deleted file mode 100644
index 8d984afbecd73583a3ceec857ad013788e5faa2d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.d.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import type { ServerRef as _grpc_channelz_v1_ServerRef, ServerRef__Output as _grpc_channelz_v1_ServerRef__Output } from '../../../grpc/channelz/v1/ServerRef';
-import type { ServerData as _grpc_channelz_v1_ServerData, ServerData__Output as _grpc_channelz_v1_ServerData__Output } from '../../../grpc/channelz/v1/ServerData';
-import type { SocketRef as _grpc_channelz_v1_SocketRef, SocketRef__Output as _grpc_channelz_v1_SocketRef__Output } from '../../../grpc/channelz/v1/SocketRef';
-/**
- * Server represents a single server. There may be multiple servers in a single
- * program.
- */
-export interface Server {
- /**
- * The identifier for a Server. This should be set.
- */
- 'ref'?: (_grpc_channelz_v1_ServerRef | null);
- /**
- * The associated data of the Server.
- */
- 'data'?: (_grpc_channelz_v1_ServerData | null);
- /**
- * The sockets that the server is listening on. There are no ordering
- * guarantees. This may be absent.
- */
- 'listen_socket'?: (_grpc_channelz_v1_SocketRef)[];
-}
-/**
- * Server represents a single server. There may be multiple servers in a single
- * program.
- */
-export interface Server__Output {
- /**
- * The identifier for a Server. This should be set.
- */
- 'ref': (_grpc_channelz_v1_ServerRef__Output | null);
- /**
- * The associated data of the Server.
- */
- 'data': (_grpc_channelz_v1_ServerData__Output | null);
- /**
- * The sockets that the server is listening on. There are no ordering
- * guarantees. This may be absent.
- */
- 'listen_socket': (_grpc_channelz_v1_SocketRef__Output)[];
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js
deleted file mode 100644
index b230e4deee49a7b405f7a38835b59e756950f729..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Server.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js.map
deleted file mode 100644
index 522934de0895c097551e4b0023a71f1c5ddbc40c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/Server.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.d.ts
deleted file mode 100644
index 7a2de0f740c5edd8d18f7879559b3f79fcc861f4..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.d.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import type { ChannelTrace as _grpc_channelz_v1_ChannelTrace, ChannelTrace__Output as _grpc_channelz_v1_ChannelTrace__Output } from '../../../grpc/channelz/v1/ChannelTrace';
-import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
-import type { Long } from '@grpc/proto-loader';
-/**
- * ServerData is data for a specific Server.
- */
-export interface ServerData {
- /**
- * A trace of recent events on the server. May be absent.
- */
- 'trace'?: (_grpc_channelz_v1_ChannelTrace | null);
- /**
- * The number of incoming calls started on the server
- */
- 'calls_started'?: (number | string | Long);
- /**
- * The number of incoming calls that have completed with an OK status
- */
- 'calls_succeeded'?: (number | string | Long);
- /**
- * The number of incoming calls that have a completed with a non-OK status
- */
- 'calls_failed'?: (number | string | Long);
- /**
- * The last time a call was started on the server.
- */
- 'last_call_started_timestamp'?: (_google_protobuf_Timestamp | null);
-}
-/**
- * ServerData is data for a specific Server.
- */
-export interface ServerData__Output {
- /**
- * A trace of recent events on the server. May be absent.
- */
- 'trace': (_grpc_channelz_v1_ChannelTrace__Output | null);
- /**
- * The number of incoming calls started on the server
- */
- 'calls_started': (string);
- /**
- * The number of incoming calls that have completed with an OK status
- */
- 'calls_succeeded': (string);
- /**
- * The number of incoming calls that have a completed with a non-OK status
- */
- 'calls_failed': (string);
- /**
- * The last time a call was started on the server.
- */
- 'last_call_started_timestamp': (_google_protobuf_Timestamp__Output | null);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js
deleted file mode 100644
index 53d92a68c56bdcdbbfa5dde758ff1411f3cad75f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=ServerData.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js.map
deleted file mode 100644
index b78c5b4291124a410387e8ae047f62886d86969f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"ServerData.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/ServerData.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.d.ts
deleted file mode 100644
index 778b87d3d295e0daa7f3b6ee7825a2b668e1b244..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.d.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-/**
- * ServerRef is a reference to a Server.
- */
-export interface ServerRef {
- /**
- * A globally unique identifier for this server. Must be a positive number.
- */
- 'server_id'?: (number | string | Long);
- /**
- * An optional name associated with the server.
- */
- 'name'?: (string);
-}
-/**
- * ServerRef is a reference to a Server.
- */
-export interface ServerRef__Output {
- /**
- * A globally unique identifier for this server. Must be a positive number.
- */
- 'server_id': (string);
- /**
- * An optional name associated with the server.
- */
- 'name': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js
deleted file mode 100644
index 9a623c7f95645d4826e0c00f52ac844ff6edb429..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=ServerRef.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js.map
deleted file mode 100644
index 75f5aad28b6cc490e92ada1b8875caf287a69f46..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"ServerRef.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/ServerRef.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.d.ts
deleted file mode 100644
index 91d4ad8b86d9a4399b3c113305f96c393ace7a0e..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.d.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import type { SocketRef as _grpc_channelz_v1_SocketRef, SocketRef__Output as _grpc_channelz_v1_SocketRef__Output } from '../../../grpc/channelz/v1/SocketRef';
-import type { SocketData as _grpc_channelz_v1_SocketData, SocketData__Output as _grpc_channelz_v1_SocketData__Output } from '../../../grpc/channelz/v1/SocketData';
-import type { Address as _grpc_channelz_v1_Address, Address__Output as _grpc_channelz_v1_Address__Output } from '../../../grpc/channelz/v1/Address';
-import type { Security as _grpc_channelz_v1_Security, Security__Output as _grpc_channelz_v1_Security__Output } from '../../../grpc/channelz/v1/Security';
-/**
- * Information about an actual connection. Pronounced "sock-ay".
- */
-export interface Socket {
- /**
- * The identifier for the Socket.
- */
- 'ref'?: (_grpc_channelz_v1_SocketRef | null);
- /**
- * Data specific to this Socket.
- */
- 'data'?: (_grpc_channelz_v1_SocketData | null);
- /**
- * The locally bound address.
- */
- 'local'?: (_grpc_channelz_v1_Address | null);
- /**
- * The remote bound address. May be absent.
- */
- 'remote'?: (_grpc_channelz_v1_Address | null);
- /**
- * Security details for this socket. May be absent if not available, or
- * there is no security on the socket.
- */
- 'security'?: (_grpc_channelz_v1_Security | null);
- /**
- * Optional, represents the name of the remote endpoint, if different than
- * the original target name.
- */
- 'remote_name'?: (string);
-}
-/**
- * Information about an actual connection. Pronounced "sock-ay".
- */
-export interface Socket__Output {
- /**
- * The identifier for the Socket.
- */
- 'ref': (_grpc_channelz_v1_SocketRef__Output | null);
- /**
- * Data specific to this Socket.
- */
- 'data': (_grpc_channelz_v1_SocketData__Output | null);
- /**
- * The locally bound address.
- */
- 'local': (_grpc_channelz_v1_Address__Output | null);
- /**
- * The remote bound address. May be absent.
- */
- 'remote': (_grpc_channelz_v1_Address__Output | null);
- /**
- * Security details for this socket. May be absent if not available, or
- * there is no security on the socket.
- */
- 'security': (_grpc_channelz_v1_Security__Output | null);
- /**
- * Optional, represents the name of the remote endpoint, if different than
- * the original target name.
- */
- 'remote_name': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js
deleted file mode 100644
index c1e50047b02479ef3cac2d4b220a5215359a0838..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Socket.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js.map
deleted file mode 100644
index d49d9df3c630f0aebeefc06041201be8fc49b476..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Socket.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/Socket.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.d.ts
deleted file mode 100644
index 5553cb2f29657ef2b3b052f6ee61c8f376f5fb3e..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.d.ts
+++ /dev/null
@@ -1,146 +0,0 @@
-import type { Timestamp as _google_protobuf_Timestamp, Timestamp__Output as _google_protobuf_Timestamp__Output } from '../../../google/protobuf/Timestamp';
-import type { Int64Value as _google_protobuf_Int64Value, Int64Value__Output as _google_protobuf_Int64Value__Output } from '../../../google/protobuf/Int64Value';
-import type { SocketOption as _grpc_channelz_v1_SocketOption, SocketOption__Output as _grpc_channelz_v1_SocketOption__Output } from '../../../grpc/channelz/v1/SocketOption';
-import type { Long } from '@grpc/proto-loader';
-/**
- * SocketData is data associated for a specific Socket. The fields present
- * are specific to the implementation, so there may be minor differences in
- * the semantics. (e.g. flow control windows)
- */
-export interface SocketData {
- /**
- * The number of streams that have been started.
- */
- 'streams_started'?: (number | string | Long);
- /**
- * The number of streams that have ended successfully:
- * On client side, received frame with eos bit set;
- * On server side, sent frame with eos bit set.
- */
- 'streams_succeeded'?: (number | string | Long);
- /**
- * The number of streams that have ended unsuccessfully:
- * On client side, ended without receiving frame with eos bit set;
- * On server side, ended without sending frame with eos bit set.
- */
- 'streams_failed'?: (number | string | Long);
- /**
- * The number of grpc messages successfully sent on this socket.
- */
- 'messages_sent'?: (number | string | Long);
- /**
- * The number of grpc messages received on this socket.
- */
- 'messages_received'?: (number | string | Long);
- /**
- * The number of keep alives sent. This is typically implemented with HTTP/2
- * ping messages.
- */
- 'keep_alives_sent'?: (number | string | Long);
- /**
- * The last time a stream was created by this endpoint. Usually unset for
- * servers.
- */
- 'last_local_stream_created_timestamp'?: (_google_protobuf_Timestamp | null);
- /**
- * The last time a stream was created by the remote endpoint. Usually unset
- * for clients.
- */
- 'last_remote_stream_created_timestamp'?: (_google_protobuf_Timestamp | null);
- /**
- * The last time a message was sent by this endpoint.
- */
- 'last_message_sent_timestamp'?: (_google_protobuf_Timestamp | null);
- /**
- * The last time a message was received by this endpoint.
- */
- 'last_message_received_timestamp'?: (_google_protobuf_Timestamp | null);
- /**
- * The amount of window, granted to the local endpoint by the remote endpoint.
- * This may be slightly out of date due to network latency. This does NOT
- * include stream level or TCP level flow control info.
- */
- 'local_flow_control_window'?: (_google_protobuf_Int64Value | null);
- /**
- * The amount of window, granted to the remote endpoint by the local endpoint.
- * This may be slightly out of date due to network latency. This does NOT
- * include stream level or TCP level flow control info.
- */
- 'remote_flow_control_window'?: (_google_protobuf_Int64Value | null);
- /**
- * Socket options set on this socket. May be absent if 'summary' is set
- * on GetSocketRequest.
- */
- 'option'?: (_grpc_channelz_v1_SocketOption)[];
-}
-/**
- * SocketData is data associated for a specific Socket. The fields present
- * are specific to the implementation, so there may be minor differences in
- * the semantics. (e.g. flow control windows)
- */
-export interface SocketData__Output {
- /**
- * The number of streams that have been started.
- */
- 'streams_started': (string);
- /**
- * The number of streams that have ended successfully:
- * On client side, received frame with eos bit set;
- * On server side, sent frame with eos bit set.
- */
- 'streams_succeeded': (string);
- /**
- * The number of streams that have ended unsuccessfully:
- * On client side, ended without receiving frame with eos bit set;
- * On server side, ended without sending frame with eos bit set.
- */
- 'streams_failed': (string);
- /**
- * The number of grpc messages successfully sent on this socket.
- */
- 'messages_sent': (string);
- /**
- * The number of grpc messages received on this socket.
- */
- 'messages_received': (string);
- /**
- * The number of keep alives sent. This is typically implemented with HTTP/2
- * ping messages.
- */
- 'keep_alives_sent': (string);
- /**
- * The last time a stream was created by this endpoint. Usually unset for
- * servers.
- */
- 'last_local_stream_created_timestamp': (_google_protobuf_Timestamp__Output | null);
- /**
- * The last time a stream was created by the remote endpoint. Usually unset
- * for clients.
- */
- 'last_remote_stream_created_timestamp': (_google_protobuf_Timestamp__Output | null);
- /**
- * The last time a message was sent by this endpoint.
- */
- 'last_message_sent_timestamp': (_google_protobuf_Timestamp__Output | null);
- /**
- * The last time a message was received by this endpoint.
- */
- 'last_message_received_timestamp': (_google_protobuf_Timestamp__Output | null);
- /**
- * The amount of window, granted to the local endpoint by the remote endpoint.
- * This may be slightly out of date due to network latency. This does NOT
- * include stream level or TCP level flow control info.
- */
- 'local_flow_control_window': (_google_protobuf_Int64Value__Output | null);
- /**
- * The amount of window, granted to the remote endpoint by the local endpoint.
- * This may be slightly out of date due to network latency. This does NOT
- * include stream level or TCP level flow control info.
- */
- 'remote_flow_control_window': (_google_protobuf_Int64Value__Output | null);
- /**
- * Socket options set on this socket. May be absent if 'summary' is set
- * on GetSocketRequest.
- */
- 'option': (_grpc_channelz_v1_SocketOption__Output)[];
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js
deleted file mode 100644
index 40638de80c9eeabf474c999b4a4c584e143a0fb5..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=SocketData.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js.map
deleted file mode 100644
index c17becd8606320773c407fce6012e571a445b913..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"SocketData.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/SocketData.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.d.ts
deleted file mode 100644
index 53c23a2aa9521d44e18ca1ad46556764fa9c56e9..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.d.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
-/**
- * SocketOption represents socket options for a socket. Specifically, these
- * are the options returned by getsockopt().
- */
-export interface SocketOption {
- /**
- * The full name of the socket option. Typically this will be the upper case
- * name, such as "SO_REUSEPORT".
- */
- 'name'?: (string);
- /**
- * The human readable value of this socket option. At least one of value or
- * additional will be set.
- */
- 'value'?: (string);
- /**
- * Additional data associated with the socket option. At least one of value
- * or additional will be set.
- */
- 'additional'?: (_google_protobuf_Any | null);
-}
-/**
- * SocketOption represents socket options for a socket. Specifically, these
- * are the options returned by getsockopt().
- */
-export interface SocketOption__Output {
- /**
- * The full name of the socket option. Typically this will be the upper case
- * name, such as "SO_REUSEPORT".
- */
- 'name': (string);
- /**
- * The human readable value of this socket option. At least one of value or
- * additional will be set.
- */
- 'value': (string);
- /**
- * Additional data associated with the socket option. At least one of value
- * or additional will be set.
- */
- 'additional': (_google_protobuf_Any__Output | null);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js
deleted file mode 100644
index c4599624fd61b6e80a9f9c36df75f43a53c8013f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=SocketOption.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js.map
deleted file mode 100644
index 6b8bf592ec54622ba7badb45b87a63024de57b9f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"SocketOption.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/SocketOption.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.d.ts
deleted file mode 100644
index d0fd4b09f8cc4be40b331039a540e53ee48e4350..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.d.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../google/protobuf/Duration';
-/**
- * For use with SocketOption's additional field. This is primarily used for
- * SO_LINGER.
- */
-export interface SocketOptionLinger {
- /**
- * active maps to `struct linger.l_onoff`
- */
- 'active'?: (boolean);
- /**
- * duration maps to `struct linger.l_linger`
- */
- 'duration'?: (_google_protobuf_Duration | null);
-}
-/**
- * For use with SocketOption's additional field. This is primarily used for
- * SO_LINGER.
- */
-export interface SocketOptionLinger__Output {
- /**
- * active maps to `struct linger.l_onoff`
- */
- 'active': (boolean);
- /**
- * duration maps to `struct linger.l_linger`
- */
- 'duration': (_google_protobuf_Duration__Output | null);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js
deleted file mode 100644
index 01028c88ff1a3b8c382f15cf5d8aa45ab7d84aa7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=SocketOptionLinger.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js.map
deleted file mode 100644
index a5283ab1a348f85e52fe1cba9459cfab93b28328..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"SocketOptionLinger.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/SocketOptionLinger.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.d.ts
deleted file mode 100644
index d2457e145bc24aa6e0f082e01b335a52a2ed97bd..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.d.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * For use with SocketOption's additional field. Tcp info for
- * SOL_TCP and TCP_INFO.
- */
-export interface SocketOptionTcpInfo {
- 'tcpi_state'?: (number);
- 'tcpi_ca_state'?: (number);
- 'tcpi_retransmits'?: (number);
- 'tcpi_probes'?: (number);
- 'tcpi_backoff'?: (number);
- 'tcpi_options'?: (number);
- 'tcpi_snd_wscale'?: (number);
- 'tcpi_rcv_wscale'?: (number);
- 'tcpi_rto'?: (number);
- 'tcpi_ato'?: (number);
- 'tcpi_snd_mss'?: (number);
- 'tcpi_rcv_mss'?: (number);
- 'tcpi_unacked'?: (number);
- 'tcpi_sacked'?: (number);
- 'tcpi_lost'?: (number);
- 'tcpi_retrans'?: (number);
- 'tcpi_fackets'?: (number);
- 'tcpi_last_data_sent'?: (number);
- 'tcpi_last_ack_sent'?: (number);
- 'tcpi_last_data_recv'?: (number);
- 'tcpi_last_ack_recv'?: (number);
- 'tcpi_pmtu'?: (number);
- 'tcpi_rcv_ssthresh'?: (number);
- 'tcpi_rtt'?: (number);
- 'tcpi_rttvar'?: (number);
- 'tcpi_snd_ssthresh'?: (number);
- 'tcpi_snd_cwnd'?: (number);
- 'tcpi_advmss'?: (number);
- 'tcpi_reordering'?: (number);
-}
-/**
- * For use with SocketOption's additional field. Tcp info for
- * SOL_TCP and TCP_INFO.
- */
-export interface SocketOptionTcpInfo__Output {
- 'tcpi_state': (number);
- 'tcpi_ca_state': (number);
- 'tcpi_retransmits': (number);
- 'tcpi_probes': (number);
- 'tcpi_backoff': (number);
- 'tcpi_options': (number);
- 'tcpi_snd_wscale': (number);
- 'tcpi_rcv_wscale': (number);
- 'tcpi_rto': (number);
- 'tcpi_ato': (number);
- 'tcpi_snd_mss': (number);
- 'tcpi_rcv_mss': (number);
- 'tcpi_unacked': (number);
- 'tcpi_sacked': (number);
- 'tcpi_lost': (number);
- 'tcpi_retrans': (number);
- 'tcpi_fackets': (number);
- 'tcpi_last_data_sent': (number);
- 'tcpi_last_ack_sent': (number);
- 'tcpi_last_data_recv': (number);
- 'tcpi_last_ack_recv': (number);
- 'tcpi_pmtu': (number);
- 'tcpi_rcv_ssthresh': (number);
- 'tcpi_rtt': (number);
- 'tcpi_rttvar': (number);
- 'tcpi_snd_ssthresh': (number);
- 'tcpi_snd_cwnd': (number);
- 'tcpi_advmss': (number);
- 'tcpi_reordering': (number);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js
deleted file mode 100644
index b663a2e4015ed6c63880473f3be76b37453bc1e7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=SocketOptionTcpInfo.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js.map
deleted file mode 100644
index cb68a3220e490125037028125521339eac22c62f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"SocketOptionTcpInfo.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/SocketOptionTcpInfo.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.d.ts
deleted file mode 100644
index b102a34eb8e831adb35aa3ac97678715d3111a5f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../google/protobuf/Duration';
-/**
- * For use with SocketOption's additional field. This is primarily used for
- * SO_RCVTIMEO and SO_SNDTIMEO
- */
-export interface SocketOptionTimeout {
- 'duration'?: (_google_protobuf_Duration | null);
-}
-/**
- * For use with SocketOption's additional field. This is primarily used for
- * SO_RCVTIMEO and SO_SNDTIMEO
- */
-export interface SocketOptionTimeout__Output {
- 'duration': (_google_protobuf_Duration__Output | null);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js
deleted file mode 100644
index bcef7f539ca331622c77cae420a484d99ffea819..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=SocketOptionTimeout.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js.map
deleted file mode 100644
index 73c80853e011393dfba7425da2d14bd7398aa00a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"SocketOptionTimeout.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/SocketOptionTimeout.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.d.ts
deleted file mode 100644
index 2f34d650315a3b8c3b5c8d40cb4204d400c8ca96..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.d.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-/**
- * SocketRef is a reference to a Socket.
- */
-export interface SocketRef {
- /**
- * The globally unique id for this socket. Must be a positive number.
- */
- 'socket_id'?: (number | string | Long);
- /**
- * An optional name associated with the socket.
- */
- 'name'?: (string);
-}
-/**
- * SocketRef is a reference to a Socket.
- */
-export interface SocketRef__Output {
- /**
- * The globally unique id for this socket. Must be a positive number.
- */
- 'socket_id': (string);
- /**
- * An optional name associated with the socket.
- */
- 'name': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js
deleted file mode 100644
index a73587ff6e57ce2e737e35f1b2c925870fe2b631..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=SocketRef.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js.map
deleted file mode 100644
index d970f9c3a44c7e851d910f1cc4c54e9c97d98914..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"SocketRef.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/SocketRef.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.d.ts
deleted file mode 100644
index 1222cb5f921f149677646475124ad33fa599a32e..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.d.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import type { SubchannelRef as _grpc_channelz_v1_SubchannelRef, SubchannelRef__Output as _grpc_channelz_v1_SubchannelRef__Output } from '../../../grpc/channelz/v1/SubchannelRef';
-import type { ChannelData as _grpc_channelz_v1_ChannelData, ChannelData__Output as _grpc_channelz_v1_ChannelData__Output } from '../../../grpc/channelz/v1/ChannelData';
-import type { ChannelRef as _grpc_channelz_v1_ChannelRef, ChannelRef__Output as _grpc_channelz_v1_ChannelRef__Output } from '../../../grpc/channelz/v1/ChannelRef';
-import type { SocketRef as _grpc_channelz_v1_SocketRef, SocketRef__Output as _grpc_channelz_v1_SocketRef__Output } from '../../../grpc/channelz/v1/SocketRef';
-/**
- * Subchannel is a logical grouping of channels, subchannels, and sockets.
- * A subchannel is load balanced over by it's ancestor
- */
-export interface Subchannel {
- /**
- * The identifier for this channel.
- */
- 'ref'?: (_grpc_channelz_v1_SubchannelRef | null);
- /**
- * Data specific to this channel.
- */
- 'data'?: (_grpc_channelz_v1_ChannelData | null);
- /**
- * There are no ordering guarantees on the order of channel refs.
- * There may not be cycles in the ref graph.
- * A channel ref may be present in more than one channel or subchannel.
- */
- 'channel_ref'?: (_grpc_channelz_v1_ChannelRef)[];
- /**
- * At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
- * There are no ordering guarantees on the order of subchannel refs.
- * There may not be cycles in the ref graph.
- * A sub channel ref may be present in more than one channel or subchannel.
- */
- 'subchannel_ref'?: (_grpc_channelz_v1_SubchannelRef)[];
- /**
- * There are no ordering guarantees on the order of sockets.
- */
- 'socket_ref'?: (_grpc_channelz_v1_SocketRef)[];
-}
-/**
- * Subchannel is a logical grouping of channels, subchannels, and sockets.
- * A subchannel is load balanced over by it's ancestor
- */
-export interface Subchannel__Output {
- /**
- * The identifier for this channel.
- */
- 'ref': (_grpc_channelz_v1_SubchannelRef__Output | null);
- /**
- * Data specific to this channel.
- */
- 'data': (_grpc_channelz_v1_ChannelData__Output | null);
- /**
- * There are no ordering guarantees on the order of channel refs.
- * There may not be cycles in the ref graph.
- * A channel ref may be present in more than one channel or subchannel.
- */
- 'channel_ref': (_grpc_channelz_v1_ChannelRef__Output)[];
- /**
- * At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
- * There are no ordering guarantees on the order of subchannel refs.
- * There may not be cycles in the ref graph.
- * A sub channel ref may be present in more than one channel or subchannel.
- */
- 'subchannel_ref': (_grpc_channelz_v1_SubchannelRef__Output)[];
- /**
- * There are no ordering guarantees on the order of sockets.
- */
- 'socket_ref': (_grpc_channelz_v1_SocketRef__Output)[];
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js
deleted file mode 100644
index 6a5e543fff7c5afa8856f2ef480b0c7d72f80297..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=Subchannel.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js.map
deleted file mode 100644
index 6441346f02d257900c078b43f144fc75141f7476..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Subchannel.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/Subchannel.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.d.ts
deleted file mode 100644
index 290fc8511e5a88279cb9a30a2e3d3c4443bcad3f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.d.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import type { Long } from '@grpc/proto-loader';
-/**
- * SubchannelRef is a reference to a Subchannel.
- */
-export interface SubchannelRef {
- /**
- * The globally unique id for this subchannel. Must be a positive number.
- */
- 'subchannel_id'?: (number | string | Long);
- /**
- * An optional name associated with the subchannel.
- */
- 'name'?: (string);
-}
-/**
- * SubchannelRef is a reference to a Subchannel.
- */
-export interface SubchannelRef__Output {
- /**
- * The globally unique id for this subchannel. Must be a positive number.
- */
- 'subchannel_id': (string);
- /**
- * An optional name associated with the subchannel.
- */
- 'name': (string);
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js
deleted file mode 100644
index 68520f955978d03d62d5e3dd86a0835c9ddd08f5..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-// Original file: proto/channelz.proto
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=SubchannelRef.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js.map b/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js.map
deleted file mode 100644
index 1e4b00935f4ba56bb83686c0406b03535973e285..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"SubchannelRef.js","sourceRoot":"","sources":["../../../../../../src/generated/grpc/channelz/v1/SubchannelRef.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/http_proxy.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/http_proxy.d.ts
deleted file mode 100644
index 345e42c12ef802720c35b33f31b396e218fd65e9..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/http_proxy.d.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-///
-///
-import { Socket } from 'net';
-import * as tls from 'tls';
-import { SubchannelAddress } from './subchannel-address';
-import { ChannelOptions } from './channel-options';
-import { GrpcUri } from './uri-parser';
-export interface ProxyMapResult {
- target: GrpcUri;
- extraOptions: ChannelOptions;
-}
-export declare function mapProxyName(target: GrpcUri, options: ChannelOptions): ProxyMapResult;
-export interface ProxyConnectionResult {
- socket?: Socket;
- realTarget?: GrpcUri;
-}
-export declare function getProxiedConnection(address: SubchannelAddress, channelOptions: ChannelOptions, connectionOptions: tls.ConnectionOptions): Promise;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/http_proxy.js b/tests/node_modules/@grpc/grpc-js/build/src/http_proxy.js
deleted file mode 100644
index 22389b60241a6caafb7099f2541c60c0e045ca3c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/http_proxy.js
+++ /dev/null
@@ -1,253 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.getProxiedConnection = exports.mapProxyName = void 0;
-const logging_1 = require("./logging");
-const constants_1 = require("./constants");
-const resolver_1 = require("./resolver");
-const http = require("http");
-const tls = require("tls");
-const logging = require("./logging");
-const subchannel_address_1 = require("./subchannel-address");
-const uri_parser_1 = require("./uri-parser");
-const url_1 = require("url");
-const TRACER_NAME = 'proxy';
-function trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
-}
-function getProxyInfo() {
- let proxyEnv = '';
- let envVar = '';
- /* Prefer using 'grpc_proxy'. Fallback on 'http_proxy' if it is not set.
- * Also prefer using 'https_proxy' with fallback on 'http_proxy'. The
- * fallback behavior can be removed if there's a demand for it.
- */
- if (process.env.grpc_proxy) {
- envVar = 'grpc_proxy';
- proxyEnv = process.env.grpc_proxy;
- }
- else if (process.env.https_proxy) {
- envVar = 'https_proxy';
- proxyEnv = process.env.https_proxy;
- }
- else if (process.env.http_proxy) {
- envVar = 'http_proxy';
- proxyEnv = process.env.http_proxy;
- }
- else {
- return {};
- }
- let proxyUrl;
- try {
- proxyUrl = new url_1.URL(proxyEnv);
- }
- catch (e) {
- (0, logging_1.log)(constants_1.LogVerbosity.ERROR, `cannot parse value of "${envVar}" env var`);
- return {};
- }
- if (proxyUrl.protocol !== 'http:') {
- (0, logging_1.log)(constants_1.LogVerbosity.ERROR, `"${proxyUrl.protocol}" scheme not supported in proxy URI`);
- return {};
- }
- let userCred = null;
- if (proxyUrl.username) {
- if (proxyUrl.password) {
- (0, logging_1.log)(constants_1.LogVerbosity.INFO, 'userinfo found in proxy URI');
- userCred = `${proxyUrl.username}:${proxyUrl.password}`;
- }
- else {
- userCred = proxyUrl.username;
- }
- }
- const hostname = proxyUrl.hostname;
- let port = proxyUrl.port;
- /* The proxy URL uses the scheme "http:", which has a default port number of
- * 80. We need to set that explicitly here if it is omitted because otherwise
- * it will use gRPC's default port 443. */
- if (port === '') {
- port = '80';
- }
- const result = {
- address: `${hostname}:${port}`,
- };
- if (userCred) {
- result.creds = userCred;
- }
- trace('Proxy server ' + result.address + ' set by environment variable ' + envVar);
- return result;
-}
-function getNoProxyHostList() {
- /* Prefer using 'no_grpc_proxy'. Fallback on 'no_proxy' if it is not set. */
- let noProxyStr = process.env.no_grpc_proxy;
- let envVar = 'no_grpc_proxy';
- if (!noProxyStr) {
- noProxyStr = process.env.no_proxy;
- envVar = 'no_proxy';
- }
- if (noProxyStr) {
- trace('No proxy server list set by environment variable ' + envVar);
- return noProxyStr.split(',');
- }
- else {
- return [];
- }
-}
-function mapProxyName(target, options) {
- var _a;
- const noProxyResult = {
- target: target,
- extraOptions: {},
- };
- if (((_a = options['grpc.enable_http_proxy']) !== null && _a !== void 0 ? _a : 1) === 0) {
- return noProxyResult;
- }
- if (target.scheme === 'unix') {
- return noProxyResult;
- }
- const proxyInfo = getProxyInfo();
- if (!proxyInfo.address) {
- return noProxyResult;
- }
- const hostPort = (0, uri_parser_1.splitHostPort)(target.path);
- if (!hostPort) {
- return noProxyResult;
- }
- const serverHost = hostPort.host;
- for (const host of getNoProxyHostList()) {
- if (host === serverHost) {
- trace('Not using proxy for target in no_proxy list: ' + (0, uri_parser_1.uriToString)(target));
- return noProxyResult;
- }
- }
- const extraOptions = {
- 'grpc.http_connect_target': (0, uri_parser_1.uriToString)(target),
- };
- if (proxyInfo.creds) {
- extraOptions['grpc.http_connect_creds'] = proxyInfo.creds;
- }
- return {
- target: {
- scheme: 'dns',
- path: proxyInfo.address,
- },
- extraOptions: extraOptions,
- };
-}
-exports.mapProxyName = mapProxyName;
-function getProxiedConnection(address, channelOptions, connectionOptions) {
- if (!('grpc.http_connect_target' in channelOptions)) {
- return Promise.resolve({});
- }
- const realTarget = channelOptions['grpc.http_connect_target'];
- const parsedTarget = (0, uri_parser_1.parseUri)(realTarget);
- if (parsedTarget === null) {
- return Promise.resolve({});
- }
- const options = {
- method: 'CONNECT',
- path: parsedTarget.path,
- };
- const headers = {
- Host: parsedTarget.path,
- };
- // Connect to the subchannel address as a proxy
- if ((0, subchannel_address_1.isTcpSubchannelAddress)(address)) {
- options.host = address.host;
- options.port = address.port;
- }
- else {
- options.socketPath = address.path;
- }
- if ('grpc.http_connect_creds' in channelOptions) {
- headers['Proxy-Authorization'] =
- 'Basic ' +
- Buffer.from(channelOptions['grpc.http_connect_creds']).toString('base64');
- }
- options.headers = headers;
- const proxyAddressString = (0, subchannel_address_1.subchannelAddressToString)(address);
- trace('Using proxy ' + proxyAddressString + ' to connect to ' + options.path);
- return new Promise((resolve, reject) => {
- const request = http.request(options);
- request.once('connect', (res, socket, head) => {
- var _a;
- request.removeAllListeners();
- socket.removeAllListeners();
- if (res.statusCode === 200) {
- trace('Successfully connected to ' +
- options.path +
- ' through proxy ' +
- proxyAddressString);
- if ('secureContext' in connectionOptions) {
- /* The proxy is connecting to a TLS server, so upgrade this socket
- * connection to a TLS connection.
- * This is a workaround for https://github.com/nodejs/node/issues/32922
- * See https://github.com/grpc/grpc-node/pull/1369 for more info. */
- const targetPath = (0, resolver_1.getDefaultAuthority)(parsedTarget);
- const hostPort = (0, uri_parser_1.splitHostPort)(targetPath);
- const remoteHost = (_a = hostPort === null || hostPort === void 0 ? void 0 : hostPort.host) !== null && _a !== void 0 ? _a : targetPath;
- const cts = tls.connect(Object.assign({ host: remoteHost, servername: remoteHost, socket: socket }, connectionOptions), () => {
- trace('Successfully established a TLS connection to ' +
- options.path +
- ' through proxy ' +
- proxyAddressString);
- resolve({ socket: cts, realTarget: parsedTarget });
- });
- cts.on('error', (error) => {
- trace('Failed to establish a TLS connection to ' +
- options.path +
- ' through proxy ' +
- proxyAddressString +
- ' with error ' +
- error.message);
- reject();
- });
- }
- else {
- trace('Successfully established a plaintext connection to ' +
- options.path +
- ' through proxy ' +
- proxyAddressString);
- resolve({
- socket,
- realTarget: parsedTarget,
- });
- }
- }
- else {
- (0, logging_1.log)(constants_1.LogVerbosity.ERROR, 'Failed to connect to ' +
- options.path +
- ' through proxy ' +
- proxyAddressString +
- ' with status ' +
- res.statusCode);
- reject();
- }
- });
- request.once('error', err => {
- request.removeAllListeners();
- (0, logging_1.log)(constants_1.LogVerbosity.ERROR, 'Failed to connect to proxy ' +
- proxyAddressString +
- ' with error ' +
- err.message);
- reject();
- });
- request.end();
- });
-}
-exports.getProxiedConnection = getProxiedConnection;
-//# sourceMappingURL=http_proxy.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/http_proxy.js.map b/tests/node_modules/@grpc/grpc-js/build/src/http_proxy.js.map
deleted file mode 100644
index 77ceca4109427fa1c96872455b6130473c935549..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/http_proxy.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"http_proxy.js","sourceRoot":"","sources":["../../src/http_proxy.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/index.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/index.d.ts
deleted file mode 100644
index 9009319894587b861a0bbf064dc3acdbc39992ad..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/index.d.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import { ClientDuplexStream, ClientReadableStream, ClientUnaryCall, ClientWritableStream, ServiceError } from './call';
-import { CallCredentials, OAuth2Client } from './call-credentials';
-import { StatusObject } from './call-interface';
-import { Channel, ChannelImplementation } from './channel';
-import { CompressionAlgorithms } from './compression-algorithms';
-import { ConnectivityState } from './connectivity-state';
-import { ChannelCredentials } from './channel-credentials';
-import { CallOptions, Client, ClientOptions, CallInvocationTransformer, CallProperties, UnaryCallback } from './client';
-import { LogVerbosity, Status, Propagate } from './constants';
-import { Deserialize, loadPackageDefinition, makeClientConstructor, MethodDefinition, Serialize, ServiceDefinition } from './make-client';
-import { Metadata, MetadataOptions, MetadataValue } from './metadata';
-import { Server, UntypedHandleCall, UntypedServiceImplementation } from './server';
-import { KeyCertPair, ServerCredentials } from './server-credentials';
-import { StatusBuilder } from './status-builder';
-import { handleBidiStreamingCall, handleServerStreamingCall, handleClientStreamingCall, handleUnaryCall, sendUnaryData, ServerUnaryCall, ServerReadableStream, ServerWritableStream, ServerDuplexStream, ServerErrorResponse } from './server-call';
-export { OAuth2Client };
-/**** Client Credentials ****/
-export declare const credentials: {
- /**
- * Combine a ChannelCredentials with any number of CallCredentials into a
- * single ChannelCredentials object.
- * @param channelCredentials The ChannelCredentials object.
- * @param callCredentials Any number of CallCredentials objects.
- * @return The resulting ChannelCredentials object.
- */
- combineChannelCredentials: (channelCredentials: ChannelCredentials, ...callCredentials: CallCredentials[]) => ChannelCredentials;
- /**
- * Combine any number of CallCredentials into a single CallCredentials
- * object.
- * @param first The first CallCredentials object.
- * @param additional Any number of additional CallCredentials objects.
- * @return The resulting CallCredentials object.
- */
- combineCallCredentials: (first: CallCredentials, ...additional: CallCredentials[]) => CallCredentials;
- createInsecure: typeof ChannelCredentials.createInsecure;
- createSsl: typeof ChannelCredentials.createSsl;
- createFromSecureContext: typeof ChannelCredentials.createFromSecureContext;
- createFromMetadataGenerator: typeof CallCredentials.createFromMetadataGenerator;
- createFromGoogleCredential: typeof CallCredentials.createFromGoogleCredential;
- createEmpty: typeof CallCredentials.createEmpty;
-};
-/**** Metadata ****/
-export { Metadata, MetadataOptions, MetadataValue };
-/**** Constants ****/
-export { LogVerbosity as logVerbosity, Status as status, ConnectivityState as connectivityState, Propagate as propagate, CompressionAlgorithms as compressionAlgorithms, };
-/**** Client ****/
-export { Client, ClientOptions, loadPackageDefinition, makeClientConstructor, makeClientConstructor as makeGenericClientConstructor, CallProperties, CallInvocationTransformer, ChannelImplementation as Channel, Channel as ChannelInterface, UnaryCallback as requestCallback, };
-/**
- * Close a Client object.
- * @param client The client to close.
- */
-export declare const closeClient: (client: Client) => void;
-export declare const waitForClientReady: (client: Client, deadline: Date | number, callback: (error?: Error) => void) => void;
-export { sendUnaryData, ChannelCredentials, CallCredentials, Deadline, Serialize as serialize, Deserialize as deserialize, ClientUnaryCall, ClientReadableStream, ClientWritableStream, ClientDuplexStream, CallOptions, MethodDefinition, StatusObject, ServiceError, ServerUnaryCall, ServerReadableStream, ServerWritableStream, ServerDuplexStream, ServerErrorResponse, ServiceDefinition, UntypedHandleCall, UntypedServiceImplementation, };
-/**** Server ****/
-export { handleBidiStreamingCall, handleServerStreamingCall, handleUnaryCall, handleClientStreamingCall, };
-export type Call = ClientUnaryCall | ClientReadableStream | ClientWritableStream | ClientDuplexStream;
-/**** Unimplemented function stubs ****/
-export declare const loadObject: (value: any, options: any) => never;
-export declare const load: (filename: any, format: any, options: any) => never;
-export declare const setLogger: (logger: Partial) => void;
-export declare const setLogVerbosity: (verbosity: LogVerbosity) => void;
-export { Server };
-export { ServerCredentials };
-export { KeyCertPair };
-export declare const getClientChannel: (client: Client) => Channel;
-export { StatusBuilder };
-export { Listener, InterceptingListener } from './call-interface';
-export { Requester, ListenerBuilder, RequesterBuilder, Interceptor, InterceptorOptions, InterceptorProvider, InterceptingCall, InterceptorConfigurationError, NextCall, } from './client-interceptors';
-export { GrpcObject, ServiceClientConstructor, ProtobufTypeDefinition, } from './make-client';
-export { ChannelOptions } from './channel-options';
-export { getChannelzServiceDefinition, getChannelzHandlers } from './channelz';
-export { addAdminServicesToServer } from './admin';
-import * as experimental from './experimental';
-export { experimental };
-import { Deadline } from './deadline';
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/index.js b/tests/node_modules/@grpc/grpc-js/build/src/index.js
deleted file mode 100644
index 7a7821d6e29e818a34785b5049c1e86c53b0a2c1..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/index.js
+++ /dev/null
@@ -1,140 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.experimental = exports.addAdminServicesToServer = exports.getChannelzHandlers = exports.getChannelzServiceDefinition = exports.InterceptorConfigurationError = exports.InterceptingCall = exports.RequesterBuilder = exports.ListenerBuilder = exports.StatusBuilder = exports.getClientChannel = exports.ServerCredentials = exports.Server = exports.setLogVerbosity = exports.setLogger = exports.load = exports.loadObject = exports.CallCredentials = exports.ChannelCredentials = exports.waitForClientReady = exports.closeClient = exports.Channel = exports.makeGenericClientConstructor = exports.makeClientConstructor = exports.loadPackageDefinition = exports.Client = exports.compressionAlgorithms = exports.propagate = exports.connectivityState = exports.status = exports.logVerbosity = exports.Metadata = exports.credentials = void 0;
-const call_credentials_1 = require("./call-credentials");
-Object.defineProperty(exports, "CallCredentials", { enumerable: true, get: function () { return call_credentials_1.CallCredentials; } });
-const channel_1 = require("./channel");
-Object.defineProperty(exports, "Channel", { enumerable: true, get: function () { return channel_1.ChannelImplementation; } });
-const compression_algorithms_1 = require("./compression-algorithms");
-Object.defineProperty(exports, "compressionAlgorithms", { enumerable: true, get: function () { return compression_algorithms_1.CompressionAlgorithms; } });
-const connectivity_state_1 = require("./connectivity-state");
-Object.defineProperty(exports, "connectivityState", { enumerable: true, get: function () { return connectivity_state_1.ConnectivityState; } });
-const channel_credentials_1 = require("./channel-credentials");
-Object.defineProperty(exports, "ChannelCredentials", { enumerable: true, get: function () { return channel_credentials_1.ChannelCredentials; } });
-const client_1 = require("./client");
-Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return client_1.Client; } });
-const constants_1 = require("./constants");
-Object.defineProperty(exports, "logVerbosity", { enumerable: true, get: function () { return constants_1.LogVerbosity; } });
-Object.defineProperty(exports, "status", { enumerable: true, get: function () { return constants_1.Status; } });
-Object.defineProperty(exports, "propagate", { enumerable: true, get: function () { return constants_1.Propagate; } });
-const logging = require("./logging");
-const make_client_1 = require("./make-client");
-Object.defineProperty(exports, "loadPackageDefinition", { enumerable: true, get: function () { return make_client_1.loadPackageDefinition; } });
-Object.defineProperty(exports, "makeClientConstructor", { enumerable: true, get: function () { return make_client_1.makeClientConstructor; } });
-Object.defineProperty(exports, "makeGenericClientConstructor", { enumerable: true, get: function () { return make_client_1.makeClientConstructor; } });
-const metadata_1 = require("./metadata");
-Object.defineProperty(exports, "Metadata", { enumerable: true, get: function () { return metadata_1.Metadata; } });
-const server_1 = require("./server");
-Object.defineProperty(exports, "Server", { enumerable: true, get: function () { return server_1.Server; } });
-const server_credentials_1 = require("./server-credentials");
-Object.defineProperty(exports, "ServerCredentials", { enumerable: true, get: function () { return server_credentials_1.ServerCredentials; } });
-const status_builder_1 = require("./status-builder");
-Object.defineProperty(exports, "StatusBuilder", { enumerable: true, get: function () { return status_builder_1.StatusBuilder; } });
-/**** Client Credentials ****/
-// Using assign only copies enumerable properties, which is what we want
-exports.credentials = {
- /**
- * Combine a ChannelCredentials with any number of CallCredentials into a
- * single ChannelCredentials object.
- * @param channelCredentials The ChannelCredentials object.
- * @param callCredentials Any number of CallCredentials objects.
- * @return The resulting ChannelCredentials object.
- */
- combineChannelCredentials: (channelCredentials, ...callCredentials) => {
- return callCredentials.reduce((acc, other) => acc.compose(other), channelCredentials);
- },
- /**
- * Combine any number of CallCredentials into a single CallCredentials
- * object.
- * @param first The first CallCredentials object.
- * @param additional Any number of additional CallCredentials objects.
- * @return The resulting CallCredentials object.
- */
- combineCallCredentials: (first, ...additional) => {
- return additional.reduce((acc, other) => acc.compose(other), first);
- },
- // from channel-credentials.ts
- createInsecure: channel_credentials_1.ChannelCredentials.createInsecure,
- createSsl: channel_credentials_1.ChannelCredentials.createSsl,
- createFromSecureContext: channel_credentials_1.ChannelCredentials.createFromSecureContext,
- // from call-credentials.ts
- createFromMetadataGenerator: call_credentials_1.CallCredentials.createFromMetadataGenerator,
- createFromGoogleCredential: call_credentials_1.CallCredentials.createFromGoogleCredential,
- createEmpty: call_credentials_1.CallCredentials.createEmpty,
-};
-/**
- * Close a Client object.
- * @param client The client to close.
- */
-const closeClient = (client) => client.close();
-exports.closeClient = closeClient;
-const waitForClientReady = (client, deadline, callback) => client.waitForReady(deadline, callback);
-exports.waitForClientReady = waitForClientReady;
-/* eslint-enable @typescript-eslint/no-explicit-any */
-/**** Unimplemented function stubs ****/
-/* eslint-disable @typescript-eslint/no-explicit-any */
-const loadObject = (value, options) => {
- throw new Error('Not available in this library. Use @grpc/proto-loader and loadPackageDefinition instead');
-};
-exports.loadObject = loadObject;
-const load = (filename, format, options) => {
- throw new Error('Not available in this library. Use @grpc/proto-loader and loadPackageDefinition instead');
-};
-exports.load = load;
-const setLogger = (logger) => {
- logging.setLogger(logger);
-};
-exports.setLogger = setLogger;
-const setLogVerbosity = (verbosity) => {
- logging.setLoggerVerbosity(verbosity);
-};
-exports.setLogVerbosity = setLogVerbosity;
-const getClientChannel = (client) => {
- return client_1.Client.prototype.getChannel.call(client);
-};
-exports.getClientChannel = getClientChannel;
-var client_interceptors_1 = require("./client-interceptors");
-Object.defineProperty(exports, "ListenerBuilder", { enumerable: true, get: function () { return client_interceptors_1.ListenerBuilder; } });
-Object.defineProperty(exports, "RequesterBuilder", { enumerable: true, get: function () { return client_interceptors_1.RequesterBuilder; } });
-Object.defineProperty(exports, "InterceptingCall", { enumerable: true, get: function () { return client_interceptors_1.InterceptingCall; } });
-Object.defineProperty(exports, "InterceptorConfigurationError", { enumerable: true, get: function () { return client_interceptors_1.InterceptorConfigurationError; } });
-var channelz_1 = require("./channelz");
-Object.defineProperty(exports, "getChannelzServiceDefinition", { enumerable: true, get: function () { return channelz_1.getChannelzServiceDefinition; } });
-Object.defineProperty(exports, "getChannelzHandlers", { enumerable: true, get: function () { return channelz_1.getChannelzHandlers; } });
-var admin_1 = require("./admin");
-Object.defineProperty(exports, "addAdminServicesToServer", { enumerable: true, get: function () { return admin_1.addAdminServicesToServer; } });
-const experimental = require("./experimental");
-exports.experimental = experimental;
-const resolver_dns = require("./resolver-dns");
-const resolver_uds = require("./resolver-uds");
-const resolver_ip = require("./resolver-ip");
-const load_balancer_pick_first = require("./load-balancer-pick-first");
-const load_balancer_round_robin = require("./load-balancer-round-robin");
-const load_balancer_outlier_detection = require("./load-balancer-outlier-detection");
-const channelz = require("./channelz");
-(() => {
- resolver_dns.setup();
- resolver_uds.setup();
- resolver_ip.setup();
- load_balancer_pick_first.setup();
- load_balancer_round_robin.setup();
- load_balancer_outlier_detection.setup();
- channelz.setup();
-})();
-//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/index.js.map b/tests/node_modules/@grpc/grpc-js/build/src/index.js.map
deleted file mode 100644
index 439aec514a44b851d5819f868c3f052199e8e5d3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts
deleted file mode 100644
index f5a8fb6ecc9c363667c50a03193ac5507f44add0..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts
+++ /dev/null
@@ -1,116 +0,0 @@
-import { ChannelCredentials } from './channel-credentials';
-import { ChannelOptions } from './channel-options';
-import { Metadata } from './metadata';
-import { CallConfig } from './resolver';
-import { ServerSurfaceCall } from './server-call';
-import { ConnectivityState } from './connectivity-state';
-import { ChannelRef } from './channelz';
-import { LoadBalancingCall } from './load-balancing-call';
-import { CallCredentials } from './call-credentials';
-import { Call, StatusObject } from './call-interface';
-import { Deadline } from './deadline';
-import { ResolvingCall } from './resolving-call';
-import { RetryingCall } from './retrying-call';
-import { BaseSubchannelWrapper, SubchannelInterface } from './subchannel-interface';
-interface NoneConfigResult {
- type: 'NONE';
-}
-interface SuccessConfigResult {
- type: 'SUCCESS';
- config: CallConfig;
-}
-interface ErrorConfigResult {
- type: 'ERROR';
- error: StatusObject;
-}
-type GetConfigResult = NoneConfigResult | SuccessConfigResult | ErrorConfigResult;
-declare class ChannelSubchannelWrapper extends BaseSubchannelWrapper implements SubchannelInterface {
- private channel;
- private refCount;
- private subchannelStateListener;
- constructor(childSubchannel: SubchannelInterface, channel: InternalChannel);
- ref(): void;
- unref(): void;
-}
-export declare class InternalChannel {
- private readonly credentials;
- private readonly options;
- private readonly resolvingLoadBalancer;
- private readonly subchannelPool;
- private connectivityState;
- private currentPicker;
- /**
- * Calls queued up to get a call config. Should only be populated before the
- * first time the resolver returns a result, which includes the ConfigSelector.
- */
- private configSelectionQueue;
- private pickQueue;
- private connectivityStateWatchers;
- private readonly defaultAuthority;
- private readonly filterStackFactory;
- private readonly target;
- /**
- * This timer does not do anything on its own. Its purpose is to hold the
- * event loop open while there are any pending calls for the channel that
- * have not yet been assigned to specific subchannels. In other words,
- * the invariant is that callRefTimer is reffed if and only if pickQueue
- * is non-empty.
- */
- private readonly callRefTimer;
- private configSelector;
- /**
- * This is the error from the name resolver if it failed most recently. It
- * is only used to end calls that start while there is no config selector
- * and the name resolver is in backoff, so it should be nulled if
- * configSelector becomes set or the channel state becomes anything other
- * than TRANSIENT_FAILURE.
- */
- private currentResolutionError;
- private readonly retryBufferTracker;
- private keepaliveTime;
- private readonly wrappedSubchannels;
- private callCount;
- private idleTimer;
- private readonly idleTimeoutMs;
- private readonly channelzEnabled;
- private readonly originalTarget;
- private readonly channelzRef;
- private readonly channelzTrace;
- private readonly callTracker;
- private readonly childrenTracker;
- constructor(target: string, credentials: ChannelCredentials, options: ChannelOptions);
- private getChannelzInfo;
- private trace;
- private callRefTimerRef;
- private callRefTimerUnref;
- private removeConnectivityStateWatcher;
- private updateState;
- throttleKeepalive(newKeepaliveTime: number): void;
- removeWrappedSubchannel(wrappedSubchannel: ChannelSubchannelWrapper): void;
- doPick(metadata: Metadata, extraPickInfo: {
- [key: string]: string;
- }): import("./picker").PickResult;
- queueCallForPick(call: LoadBalancingCall): void;
- getConfig(method: string, metadata: Metadata): GetConfigResult;
- queueCallForConfig(call: ResolvingCall): void;
- private enterIdle;
- private maybeStartIdleTimer;
- private onCallStart;
- private onCallEnd;
- createLoadBalancingCall(callConfig: CallConfig, method: string, host: string, credentials: CallCredentials, deadline: Deadline): LoadBalancingCall;
- createRetryingCall(callConfig: CallConfig, method: string, host: string, credentials: CallCredentials, deadline: Deadline): RetryingCall;
- createInnerCall(callConfig: CallConfig, method: string, host: string, credentials: CallCredentials, deadline: Deadline): Call;
- createResolvingCall(method: string, deadline: Deadline, host: string | null | undefined, parentCall: ServerSurfaceCall | null, propagateFlags: number | null | undefined): ResolvingCall;
- close(): void;
- getTarget(): string;
- getConnectivityState(tryToConnect: boolean): ConnectivityState;
- watchConnectivityState(currentState: ConnectivityState, deadline: Date | number, callback: (error?: Error) => void): void;
- /**
- * Get the channelz reference object for this channel. The returned value is
- * garbage if channelz is disabled for this channel.
- * @returns
- */
- getChannelzRef(): ChannelRef;
- createCall(method: string, deadline: Deadline, host: string | null | undefined, parentCall: ServerSurfaceCall | null, propagateFlags: number | null | undefined): Call;
-}
-export {};
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/internal-channel.js b/tests/node_modules/@grpc/grpc-js/build/src/internal-channel.js
deleted file mode 100644
index 9bd1d3581c74da46ceacc42ae8953f5a5321e9c1..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/internal-channel.js
+++ /dev/null
@@ -1,503 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.InternalChannel = void 0;
-const channel_credentials_1 = require("./channel-credentials");
-const resolving_load_balancer_1 = require("./resolving-load-balancer");
-const subchannel_pool_1 = require("./subchannel-pool");
-const picker_1 = require("./picker");
-const constants_1 = require("./constants");
-const filter_stack_1 = require("./filter-stack");
-const compression_filter_1 = require("./compression-filter");
-const resolver_1 = require("./resolver");
-const logging_1 = require("./logging");
-const max_message_size_filter_1 = require("./max-message-size-filter");
-const http_proxy_1 = require("./http_proxy");
-const uri_parser_1 = require("./uri-parser");
-const connectivity_state_1 = require("./connectivity-state");
-const channelz_1 = require("./channelz");
-const load_balancing_call_1 = require("./load-balancing-call");
-const deadline_1 = require("./deadline");
-const resolving_call_1 = require("./resolving-call");
-const call_number_1 = require("./call-number");
-const control_plane_status_1 = require("./control-plane-status");
-const retrying_call_1 = require("./retrying-call");
-const subchannel_interface_1 = require("./subchannel-interface");
-/**
- * See https://nodejs.org/api/timers.html#timers_setinterval_callback_delay_args
- */
-const MAX_TIMEOUT_TIME = 2147483647;
-const MIN_IDLE_TIMEOUT_MS = 1000;
-// 30 minutes
-const DEFAULT_IDLE_TIMEOUT_MS = 30 * 60 * 1000;
-const RETRY_THROTTLER_MAP = new Map();
-const DEFAULT_RETRY_BUFFER_SIZE_BYTES = 1 << 24; // 16 MB
-const DEFAULT_PER_RPC_RETRY_BUFFER_SIZE_BYTES = 1 << 20; // 1 MB
-class ChannelSubchannelWrapper extends subchannel_interface_1.BaseSubchannelWrapper {
- constructor(childSubchannel, channel) {
- super(childSubchannel);
- this.channel = channel;
- this.refCount = 0;
- this.subchannelStateListener = (subchannel, previousState, newState, keepaliveTime) => {
- channel.throttleKeepalive(keepaliveTime);
- };
- childSubchannel.addConnectivityStateListener(this.subchannelStateListener);
- }
- ref() {
- this.child.ref();
- this.refCount += 1;
- }
- unref() {
- this.child.unref();
- this.refCount -= 1;
- if (this.refCount <= 0) {
- this.child.removeConnectivityStateListener(this.subchannelStateListener);
- this.channel.removeWrappedSubchannel(this);
- }
- }
-}
-class InternalChannel {
- constructor(target, credentials, options) {
- var _a, _b, _c, _d, _e, _f, _g, _h;
- this.credentials = credentials;
- this.options = options;
- this.connectivityState = connectivity_state_1.ConnectivityState.IDLE;
- this.currentPicker = new picker_1.UnavailablePicker();
- /**
- * Calls queued up to get a call config. Should only be populated before the
- * first time the resolver returns a result, which includes the ConfigSelector.
- */
- this.configSelectionQueue = [];
- this.pickQueue = [];
- this.connectivityStateWatchers = [];
- this.configSelector = null;
- /**
- * This is the error from the name resolver if it failed most recently. It
- * is only used to end calls that start while there is no config selector
- * and the name resolver is in backoff, so it should be nulled if
- * configSelector becomes set or the channel state becomes anything other
- * than TRANSIENT_FAILURE.
- */
- this.currentResolutionError = null;
- this.wrappedSubchannels = new Set();
- this.callCount = 0;
- this.idleTimer = null;
- // Channelz info
- this.channelzEnabled = true;
- this.callTracker = new channelz_1.ChannelzCallTracker();
- this.childrenTracker = new channelz_1.ChannelzChildrenTracker();
- if (typeof target !== 'string') {
- throw new TypeError('Channel target must be a string');
- }
- if (!(credentials instanceof channel_credentials_1.ChannelCredentials)) {
- throw new TypeError('Channel credentials must be a ChannelCredentials object');
- }
- if (options) {
- if (typeof options !== 'object') {
- throw new TypeError('Channel options must be an object');
- }
- }
- this.originalTarget = target;
- const originalTargetUri = (0, uri_parser_1.parseUri)(target);
- if (originalTargetUri === null) {
- throw new Error(`Could not parse target name "${target}"`);
- }
- /* This ensures that the target has a scheme that is registered with the
- * resolver */
- const defaultSchemeMapResult = (0, resolver_1.mapUriDefaultScheme)(originalTargetUri);
- if (defaultSchemeMapResult === null) {
- throw new Error(`Could not find a default scheme for target name "${target}"`);
- }
- this.callRefTimer = setInterval(() => { }, MAX_TIMEOUT_TIME);
- (_b = (_a = this.callRefTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- if (this.options['grpc.enable_channelz'] === 0) {
- this.channelzEnabled = false;
- }
- this.channelzTrace = new channelz_1.ChannelzTrace();
- this.channelzRef = (0, channelz_1.registerChannelzChannel)(target, () => this.getChannelzInfo(), this.channelzEnabled);
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Channel created');
- }
- if (this.options['grpc.default_authority']) {
- this.defaultAuthority = this.options['grpc.default_authority'];
- }
- else {
- this.defaultAuthority = (0, resolver_1.getDefaultAuthority)(defaultSchemeMapResult);
- }
- const proxyMapResult = (0, http_proxy_1.mapProxyName)(defaultSchemeMapResult, options);
- this.target = proxyMapResult.target;
- this.options = Object.assign({}, this.options, proxyMapResult.extraOptions);
- /* The global boolean parameter to getSubchannelPool has the inverse meaning to what
- * the grpc.use_local_subchannel_pool channel option means. */
- this.subchannelPool = (0, subchannel_pool_1.getSubchannelPool)(((_c = options['grpc.use_local_subchannel_pool']) !== null && _c !== void 0 ? _c : 0) === 0);
- this.retryBufferTracker = new retrying_call_1.MessageBufferTracker((_d = options['grpc.retry_buffer_size']) !== null && _d !== void 0 ? _d : DEFAULT_RETRY_BUFFER_SIZE_BYTES, (_e = options['grpc.per_rpc_retry_buffer_size']) !== null && _e !== void 0 ? _e : DEFAULT_PER_RPC_RETRY_BUFFER_SIZE_BYTES);
- this.keepaliveTime = (_f = options['grpc.keepalive_time_ms']) !== null && _f !== void 0 ? _f : -1;
- this.idleTimeoutMs = Math.max((_g = options['grpc.client_idle_timeout_ms']) !== null && _g !== void 0 ? _g : DEFAULT_IDLE_TIMEOUT_MS, MIN_IDLE_TIMEOUT_MS);
- const channelControlHelper = {
- createSubchannel: (subchannelAddress, subchannelArgs) => {
- const subchannel = this.subchannelPool.getOrCreateSubchannel(this.target, subchannelAddress, Object.assign({}, this.options, subchannelArgs), this.credentials);
- subchannel.throttleKeepalive(this.keepaliveTime);
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Created subchannel or used existing subchannel', subchannel.getChannelzRef());
- }
- const wrappedSubchannel = new ChannelSubchannelWrapper(subchannel, this);
- this.wrappedSubchannels.add(wrappedSubchannel);
- return wrappedSubchannel;
- },
- updateState: (connectivityState, picker) => {
- this.currentPicker = picker;
- const queueCopy = this.pickQueue.slice();
- this.pickQueue = [];
- this.callRefTimerUnref();
- for (const call of queueCopy) {
- call.doPick();
- }
- this.updateState(connectivityState);
- },
- requestReresolution: () => {
- // This should never be called.
- throw new Error('Resolving load balancer should never call requestReresolution');
- },
- addChannelzChild: (child) => {
- if (this.channelzEnabled) {
- this.childrenTracker.refChild(child);
- }
- },
- removeChannelzChild: (child) => {
- if (this.channelzEnabled) {
- this.childrenTracker.unrefChild(child);
- }
- },
- };
- this.resolvingLoadBalancer = new resolving_load_balancer_1.ResolvingLoadBalancer(this.target, channelControlHelper, options, (serviceConfig, configSelector) => {
- if (serviceConfig.retryThrottling) {
- RETRY_THROTTLER_MAP.set(this.getTarget(), new retrying_call_1.RetryThrottler(serviceConfig.retryThrottling.maxTokens, serviceConfig.retryThrottling.tokenRatio, RETRY_THROTTLER_MAP.get(this.getTarget())));
- }
- else {
- RETRY_THROTTLER_MAP.delete(this.getTarget());
- }
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Address resolution succeeded');
- }
- this.configSelector = configSelector;
- this.currentResolutionError = null;
- /* We process the queue asynchronously to ensure that the corresponding
- * load balancer update has completed. */
- process.nextTick(() => {
- const localQueue = this.configSelectionQueue;
- this.configSelectionQueue = [];
- this.callRefTimerUnref();
- for (const call of localQueue) {
- call.getConfig();
- }
- this.configSelectionQueue = [];
- });
- }, status => {
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_WARNING', 'Address resolution failed with code ' +
- status.code +
- ' and details "' +
- status.details +
- '"');
- }
- if (this.configSelectionQueue.length > 0) {
- this.trace('Name resolution failed with calls queued for config selection');
- }
- if (this.configSelector === null) {
- this.currentResolutionError = Object.assign(Object.assign({}, (0, control_plane_status_1.restrictControlPlaneStatusCode)(status.code, status.details)), { metadata: status.metadata });
- }
- const localQueue = this.configSelectionQueue;
- this.configSelectionQueue = [];
- this.callRefTimerUnref();
- for (const call of localQueue) {
- call.reportResolverError(status);
- }
- });
- this.filterStackFactory = new filter_stack_1.FilterStackFactory([
- new max_message_size_filter_1.MaxMessageSizeFilterFactory(this.options),
- new compression_filter_1.CompressionFilterFactory(this, this.options),
- ]);
- this.trace('Channel constructed with options ' +
- JSON.stringify(options, undefined, 2));
- const error = new Error();
- (0, logging_1.trace)(constants_1.LogVerbosity.DEBUG, 'channel_stacktrace', '(' +
- this.channelzRef.id +
- ') ' +
- 'Channel constructed \n' +
- ((_h = error.stack) === null || _h === void 0 ? void 0 : _h.substring(error.stack.indexOf('\n') + 1)));
- }
- getChannelzInfo() {
- return {
- target: this.originalTarget,
- state: this.connectivityState,
- trace: this.channelzTrace,
- callTracker: this.callTracker,
- children: this.childrenTracker.getChildLists(),
- };
- }
- trace(text, verbosityOverride) {
- (0, logging_1.trace)(verbosityOverride !== null && verbosityOverride !== void 0 ? verbosityOverride : constants_1.LogVerbosity.DEBUG, 'channel', '(' + this.channelzRef.id + ') ' + (0, uri_parser_1.uriToString)(this.target) + ' ' + text);
- }
- callRefTimerRef() {
- var _a, _b, _c, _d;
- // If the hasRef function does not exist, always run the code
- if (!((_b = (_a = this.callRefTimer).hasRef) === null || _b === void 0 ? void 0 : _b.call(_a))) {
- this.trace('callRefTimer.ref | configSelectionQueue.length=' +
- this.configSelectionQueue.length +
- ' pickQueue.length=' +
- this.pickQueue.length);
- (_d = (_c = this.callRefTimer).ref) === null || _d === void 0 ? void 0 : _d.call(_c);
- }
- }
- callRefTimerUnref() {
- var _a, _b;
- // If the hasRef function does not exist, always run the code
- if (!this.callRefTimer.hasRef || this.callRefTimer.hasRef()) {
- this.trace('callRefTimer.unref | configSelectionQueue.length=' +
- this.configSelectionQueue.length +
- ' pickQueue.length=' +
- this.pickQueue.length);
- (_b = (_a = this.callRefTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- }
- removeConnectivityStateWatcher(watcherObject) {
- const watcherIndex = this.connectivityStateWatchers.findIndex(value => value === watcherObject);
- if (watcherIndex >= 0) {
- this.connectivityStateWatchers.splice(watcherIndex, 1);
- }
- }
- updateState(newState) {
- (0, logging_1.trace)(constants_1.LogVerbosity.DEBUG, 'connectivity_state', '(' +
- this.channelzRef.id +
- ') ' +
- (0, uri_parser_1.uriToString)(this.target) +
- ' ' +
- connectivity_state_1.ConnectivityState[this.connectivityState] +
- ' -> ' +
- connectivity_state_1.ConnectivityState[newState]);
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Connectivity state change to ' + connectivity_state_1.ConnectivityState[newState]);
- }
- this.connectivityState = newState;
- const watchersCopy = this.connectivityStateWatchers.slice();
- for (const watcherObject of watchersCopy) {
- if (newState !== watcherObject.currentState) {
- if (watcherObject.timer) {
- clearTimeout(watcherObject.timer);
- }
- this.removeConnectivityStateWatcher(watcherObject);
- watcherObject.callback();
- }
- }
- if (newState !== connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
- this.currentResolutionError = null;
- }
- }
- throttleKeepalive(newKeepaliveTime) {
- if (newKeepaliveTime > this.keepaliveTime) {
- this.keepaliveTime = newKeepaliveTime;
- for (const wrappedSubchannel of this.wrappedSubchannels) {
- wrappedSubchannel.throttleKeepalive(newKeepaliveTime);
- }
- }
- }
- removeWrappedSubchannel(wrappedSubchannel) {
- this.wrappedSubchannels.delete(wrappedSubchannel);
- }
- doPick(metadata, extraPickInfo) {
- return this.currentPicker.pick({
- metadata: metadata,
- extraPickInfo: extraPickInfo,
- });
- }
- queueCallForPick(call) {
- this.pickQueue.push(call);
- this.callRefTimerRef();
- }
- getConfig(method, metadata) {
- this.resolvingLoadBalancer.exitIdle();
- if (this.configSelector) {
- return {
- type: 'SUCCESS',
- config: this.configSelector(method, metadata),
- };
- }
- else {
- if (this.currentResolutionError) {
- return {
- type: 'ERROR',
- error: this.currentResolutionError,
- };
- }
- else {
- return {
- type: 'NONE',
- };
- }
- }
- }
- queueCallForConfig(call) {
- this.configSelectionQueue.push(call);
- this.callRefTimerRef();
- }
- enterIdle() {
- this.resolvingLoadBalancer.destroy();
- this.updateState(connectivity_state_1.ConnectivityState.IDLE);
- this.currentPicker = new picker_1.QueuePicker(this.resolvingLoadBalancer);
- }
- maybeStartIdleTimer() {
- var _a, _b;
- if (this.callCount === 0) {
- this.idleTimer = setTimeout(() => {
- this.trace('Idle timer triggered after ' +
- this.idleTimeoutMs +
- 'ms of inactivity');
- this.enterIdle();
- }, this.idleTimeoutMs);
- (_b = (_a = this.idleTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- }
- onCallStart() {
- if (this.channelzEnabled) {
- this.callTracker.addCallStarted();
- }
- this.callCount += 1;
- if (this.idleTimer) {
- clearTimeout(this.idleTimer);
- this.idleTimer = null;
- }
- }
- onCallEnd(status) {
- if (this.channelzEnabled) {
- if (status.code === constants_1.Status.OK) {
- this.callTracker.addCallSucceeded();
- }
- else {
- this.callTracker.addCallFailed();
- }
- }
- this.callCount -= 1;
- this.maybeStartIdleTimer();
- }
- createLoadBalancingCall(callConfig, method, host, credentials, deadline) {
- const callNumber = (0, call_number_1.getNextCallNumber)();
- this.trace('createLoadBalancingCall [' + callNumber + '] method="' + method + '"');
- return new load_balancing_call_1.LoadBalancingCall(this, callConfig, method, host, credentials, deadline, callNumber);
- }
- createRetryingCall(callConfig, method, host, credentials, deadline) {
- const callNumber = (0, call_number_1.getNextCallNumber)();
- this.trace('createRetryingCall [' + callNumber + '] method="' + method + '"');
- return new retrying_call_1.RetryingCall(this, callConfig, method, host, credentials, deadline, callNumber, this.retryBufferTracker, RETRY_THROTTLER_MAP.get(this.getTarget()));
- }
- createInnerCall(callConfig, method, host, credentials, deadline) {
- // Create a RetryingCall if retries are enabled
- if (this.options['grpc.enable_retries'] === 0) {
- return this.createLoadBalancingCall(callConfig, method, host, credentials, deadline);
- }
- else {
- return this.createRetryingCall(callConfig, method, host, credentials, deadline);
- }
- }
- createResolvingCall(method, deadline, host, parentCall, propagateFlags) {
- const callNumber = (0, call_number_1.getNextCallNumber)();
- this.trace('createResolvingCall [' +
- callNumber +
- '] method="' +
- method +
- '", deadline=' +
- (0, deadline_1.deadlineToString)(deadline));
- const finalOptions = {
- deadline: deadline,
- flags: propagateFlags !== null && propagateFlags !== void 0 ? propagateFlags : constants_1.Propagate.DEFAULTS,
- host: host !== null && host !== void 0 ? host : this.defaultAuthority,
- parentCall: parentCall,
- };
- const call = new resolving_call_1.ResolvingCall(this, method, finalOptions, this.filterStackFactory.clone(), this.credentials._getCallCredentials(), callNumber);
- this.onCallStart();
- call.addStatusWatcher(status => {
- this.onCallEnd(status);
- });
- return call;
- }
- close() {
- this.resolvingLoadBalancer.destroy();
- this.updateState(connectivity_state_1.ConnectivityState.SHUTDOWN);
- clearInterval(this.callRefTimer);
- if (this.channelzEnabled) {
- (0, channelz_1.unregisterChannelzRef)(this.channelzRef);
- }
- this.subchannelPool.unrefUnusedSubchannels();
- }
- getTarget() {
- return (0, uri_parser_1.uriToString)(this.target);
- }
- getConnectivityState(tryToConnect) {
- const connectivityState = this.connectivityState;
- if (tryToConnect) {
- this.resolvingLoadBalancer.exitIdle();
- this.maybeStartIdleTimer();
- }
- return connectivityState;
- }
- watchConnectivityState(currentState, deadline, callback) {
- if (this.connectivityState === connectivity_state_1.ConnectivityState.SHUTDOWN) {
- throw new Error('Channel has been shut down');
- }
- let timer = null;
- if (deadline !== Infinity) {
- const deadlineDate = deadline instanceof Date ? deadline : new Date(deadline);
- const now = new Date();
- if (deadline === -Infinity || deadlineDate <= now) {
- process.nextTick(callback, new Error('Deadline passed without connectivity state change'));
- return;
- }
- timer = setTimeout(() => {
- this.removeConnectivityStateWatcher(watcherObject);
- callback(new Error('Deadline passed without connectivity state change'));
- }, deadlineDate.getTime() - now.getTime());
- }
- const watcherObject = {
- currentState,
- callback,
- timer,
- };
- this.connectivityStateWatchers.push(watcherObject);
- }
- /**
- * Get the channelz reference object for this channel. The returned value is
- * garbage if channelz is disabled for this channel.
- * @returns
- */
- getChannelzRef() {
- return this.channelzRef;
- }
- createCall(method, deadline, host, parentCall, propagateFlags) {
- if (typeof method !== 'string') {
- throw new TypeError('Channel#createCall: method must be a string');
- }
- if (!(typeof deadline === 'number' || deadline instanceof Date)) {
- throw new TypeError('Channel#createCall: deadline must be a number or Date');
- }
- if (this.connectivityState === connectivity_state_1.ConnectivityState.SHUTDOWN) {
- throw new Error('Channel has been shut down');
- }
- return this.createResolvingCall(method, deadline, host, parentCall, propagateFlags);
- }
-}
-exports.InternalChannel = InternalChannel;
-//# sourceMappingURL=internal-channel.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/internal-channel.js.map b/tests/node_modules/@grpc/grpc-js/build/src/internal-channel.js.map
deleted file mode 100644
index 0f02448c5d24bf206684ee418703d4db357a01ee..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/internal-channel.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"internal-channel.js","sourceRoot":"","sources":["../../src/internal-channel.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts
deleted file mode 100644
index c142b54141802dff427e07e3800613e26fcbdda7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { LoadBalancer, ChannelControlHelper, LoadBalancingConfig } from './load-balancer';
-import { SubchannelAddress } from './subchannel-address';
-export declare class ChildLoadBalancerHandler implements LoadBalancer {
- private readonly channelControlHelper;
- private currentChild;
- private pendingChild;
- private latestConfig;
- private ChildPolicyHelper;
- constructor(channelControlHelper: ChannelControlHelper);
- protected configUpdateRequiresNewPolicyInstance(oldConfig: LoadBalancingConfig, newConfig: LoadBalancingConfig): boolean;
- /**
- * Prerequisites: lbConfig !== null and lbConfig.name is registered
- * @param addressList
- * @param lbConfig
- * @param attributes
- */
- updateAddressList(addressList: SubchannelAddress[], lbConfig: LoadBalancingConfig, attributes: {
- [key: string]: unknown;
- }): void;
- exitIdle(): void;
- resetBackoff(): void;
- destroy(): void;
- getTypeName(): string;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js
deleted file mode 100644
index 181450b3b250fe9aa6f7a3798a0eae60d8a10719..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js
+++ /dev/null
@@ -1,151 +0,0 @@
-"use strict";
-/*
- * Copyright 2020 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.ChildLoadBalancerHandler = void 0;
-const load_balancer_1 = require("./load-balancer");
-const connectivity_state_1 = require("./connectivity-state");
-const TYPE_NAME = 'child_load_balancer_helper';
-class ChildLoadBalancerHandler {
- constructor(channelControlHelper) {
- this.channelControlHelper = channelControlHelper;
- this.currentChild = null;
- this.pendingChild = null;
- this.latestConfig = null;
- this.ChildPolicyHelper = class {
- constructor(parent) {
- this.parent = parent;
- this.child = null;
- }
- createSubchannel(subchannelAddress, subchannelArgs) {
- return this.parent.channelControlHelper.createSubchannel(subchannelAddress, subchannelArgs);
- }
- updateState(connectivityState, picker) {
- var _a;
- if (this.calledByPendingChild()) {
- if (connectivityState === connectivity_state_1.ConnectivityState.CONNECTING) {
- return;
- }
- (_a = this.parent.currentChild) === null || _a === void 0 ? void 0 : _a.destroy();
- this.parent.currentChild = this.parent.pendingChild;
- this.parent.pendingChild = null;
- }
- else if (!this.calledByCurrentChild()) {
- return;
- }
- this.parent.channelControlHelper.updateState(connectivityState, picker);
- }
- requestReresolution() {
- var _a;
- const latestChild = (_a = this.parent.pendingChild) !== null && _a !== void 0 ? _a : this.parent.currentChild;
- if (this.child === latestChild) {
- this.parent.channelControlHelper.requestReresolution();
- }
- }
- setChild(newChild) {
- this.child = newChild;
- }
- addChannelzChild(child) {
- this.parent.channelControlHelper.addChannelzChild(child);
- }
- removeChannelzChild(child) {
- this.parent.channelControlHelper.removeChannelzChild(child);
- }
- calledByPendingChild() {
- return this.child === this.parent.pendingChild;
- }
- calledByCurrentChild() {
- return this.child === this.parent.currentChild;
- }
- };
- }
- configUpdateRequiresNewPolicyInstance(oldConfig, newConfig) {
- return oldConfig.getLoadBalancerName() !== newConfig.getLoadBalancerName();
- }
- /**
- * Prerequisites: lbConfig !== null and lbConfig.name is registered
- * @param addressList
- * @param lbConfig
- * @param attributes
- */
- updateAddressList(addressList, lbConfig, attributes) {
- let childToUpdate;
- if (this.currentChild === null ||
- this.latestConfig === null ||
- this.configUpdateRequiresNewPolicyInstance(this.latestConfig, lbConfig)) {
- const newHelper = new this.ChildPolicyHelper(this);
- const newChild = (0, load_balancer_1.createLoadBalancer)(lbConfig, newHelper);
- newHelper.setChild(newChild);
- if (this.currentChild === null) {
- this.currentChild = newChild;
- childToUpdate = this.currentChild;
- }
- else {
- if (this.pendingChild) {
- this.pendingChild.destroy();
- }
- this.pendingChild = newChild;
- childToUpdate = this.pendingChild;
- }
- }
- else {
- if (this.pendingChild === null) {
- childToUpdate = this.currentChild;
- }
- else {
- childToUpdate = this.pendingChild;
- }
- }
- this.latestConfig = lbConfig;
- childToUpdate.updateAddressList(addressList, lbConfig, attributes);
- }
- exitIdle() {
- if (this.currentChild) {
- this.currentChild.exitIdle();
- if (this.pendingChild) {
- this.pendingChild.exitIdle();
- }
- }
- }
- resetBackoff() {
- if (this.currentChild) {
- this.currentChild.resetBackoff();
- if (this.pendingChild) {
- this.pendingChild.resetBackoff();
- }
- }
- }
- destroy() {
- /* Note: state updates are only propagated from the child balancer if that
- * object is equal to this.currentChild or this.pendingChild. Since this
- * function sets both of those to null, no further state updates will
- * occur after this function returns. */
- if (this.currentChild) {
- this.currentChild.destroy();
- this.currentChild = null;
- }
- if (this.pendingChild) {
- this.pendingChild.destroy();
- this.pendingChild = null;
- }
- }
- getTypeName() {
- return TYPE_NAME;
- }
-}
-exports.ChildLoadBalancerHandler = ChildLoadBalancerHandler;
-//# sourceMappingURL=load-balancer-child-handler.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js.map b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js.map
deleted file mode 100644
index fcd83eb1dbfa7c7f47ec4276c2361eae509ccc38..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"load-balancer-child-handler.js","sourceRoot":"","sources":["../../src/load-balancer-child-handler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts
deleted file mode 100644
index f5f8676f0bc7854f08a6660f20f296e05f3c87c6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { ChannelControlHelper } from './experimental';
-import { LoadBalancer, LoadBalancingConfig } from './load-balancer';
-import { SubchannelAddress } from './subchannel-address';
-export interface SuccessRateEjectionConfig {
- readonly stdev_factor: number;
- readonly enforcement_percentage: number;
- readonly minimum_hosts: number;
- readonly request_volume: number;
-}
-export interface FailurePercentageEjectionConfig {
- readonly threshold: number;
- readonly enforcement_percentage: number;
- readonly minimum_hosts: number;
- readonly request_volume: number;
-}
-export declare class OutlierDetectionLoadBalancingConfig implements LoadBalancingConfig {
- private readonly childPolicy;
- private readonly intervalMs;
- private readonly baseEjectionTimeMs;
- private readonly maxEjectionTimeMs;
- private readonly maxEjectionPercent;
- private readonly successRateEjection;
- private readonly failurePercentageEjection;
- constructor(intervalMs: number | null, baseEjectionTimeMs: number | null, maxEjectionTimeMs: number | null, maxEjectionPercent: number | null, successRateEjection: Partial | null, failurePercentageEjection: Partial | null, childPolicy: LoadBalancingConfig[]);
- getLoadBalancerName(): string;
- toJsonObject(): object;
- getIntervalMs(): number;
- getBaseEjectionTimeMs(): number;
- getMaxEjectionTimeMs(): number;
- getMaxEjectionPercent(): number;
- getSuccessRateEjectionConfig(): SuccessRateEjectionConfig | null;
- getFailurePercentageEjectionConfig(): FailurePercentageEjectionConfig | null;
- getChildPolicy(): LoadBalancingConfig[];
- copyWithChildPolicy(childPolicy: LoadBalancingConfig[]): OutlierDetectionLoadBalancingConfig;
- static createFromJson(obj: any): OutlierDetectionLoadBalancingConfig;
-}
-export declare class OutlierDetectionLoadBalancer implements LoadBalancer {
- private childBalancer;
- private addressMap;
- private latestConfig;
- private ejectionTimer;
- private timerStartTime;
- constructor(channelControlHelper: ChannelControlHelper);
- private isCountingEnabled;
- private getCurrentEjectionPercent;
- private runSuccessRateCheck;
- private runFailurePercentageCheck;
- private eject;
- private uneject;
- private switchAllBuckets;
- private startTimer;
- private runChecks;
- updateAddressList(addressList: SubchannelAddress[], lbConfig: LoadBalancingConfig, attributes: {
- [key: string]: unknown;
- }): void;
- exitIdle(): void;
- resetBackoff(): void;
- destroy(): void;
- getTypeName(): string;
-}
-export declare function setup(): void;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js
deleted file mode 100644
index 82ff6e2f85b319da6ec3104521dc84535c5c599c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js
+++ /dev/null
@@ -1,608 +0,0 @@
-"use strict";
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-var _a;
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.setup = exports.OutlierDetectionLoadBalancer = exports.OutlierDetectionLoadBalancingConfig = void 0;
-const connectivity_state_1 = require("./connectivity-state");
-const constants_1 = require("./constants");
-const duration_1 = require("./duration");
-const experimental_1 = require("./experimental");
-const load_balancer_1 = require("./load-balancer");
-const load_balancer_child_handler_1 = require("./load-balancer-child-handler");
-const picker_1 = require("./picker");
-const subchannel_address_1 = require("./subchannel-address");
-const subchannel_interface_1 = require("./subchannel-interface");
-const logging = require("./logging");
-const TRACER_NAME = 'outlier_detection';
-function trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
-}
-const TYPE_NAME = 'outlier_detection';
-const OUTLIER_DETECTION_ENABLED = ((_a = process.env.GRPC_EXPERIMENTAL_ENABLE_OUTLIER_DETECTION) !== null && _a !== void 0 ? _a : 'true') === 'true';
-const defaultSuccessRateEjectionConfig = {
- stdev_factor: 1900,
- enforcement_percentage: 100,
- minimum_hosts: 5,
- request_volume: 100,
-};
-const defaultFailurePercentageEjectionConfig = {
- threshold: 85,
- enforcement_percentage: 100,
- minimum_hosts: 5,
- request_volume: 50,
-};
-function validateFieldType(obj, fieldName, expectedType, objectName) {
- if (fieldName in obj && typeof obj[fieldName] !== expectedType) {
- const fullFieldName = objectName ? `${objectName}.${fieldName}` : fieldName;
- throw new Error(`outlier detection config ${fullFieldName} parse error: expected ${expectedType}, got ${typeof obj[fieldName]}`);
- }
-}
-function validatePositiveDuration(obj, fieldName, objectName) {
- const fullFieldName = objectName ? `${objectName}.${fieldName}` : fieldName;
- if (fieldName in obj) {
- if (!(0, duration_1.isDuration)(obj[fieldName])) {
- throw new Error(`outlier detection config ${fullFieldName} parse error: expected Duration, got ${typeof obj[fieldName]}`);
- }
- if (!(obj[fieldName].seconds >= 0 &&
- obj[fieldName].seconds <= 315576000000 &&
- obj[fieldName].nanos >= 0 &&
- obj[fieldName].nanos <= 999999999)) {
- throw new Error(`outlier detection config ${fullFieldName} parse error: values out of range for non-negative Duaration`);
- }
- }
-}
-function validatePercentage(obj, fieldName, objectName) {
- const fullFieldName = objectName ? `${objectName}.${fieldName}` : fieldName;
- validateFieldType(obj, fieldName, 'number', objectName);
- if (fieldName in obj && !(obj[fieldName] >= 0 && obj[fieldName] <= 100)) {
- throw new Error(`outlier detection config ${fullFieldName} parse error: value out of range for percentage (0-100)`);
- }
-}
-class OutlierDetectionLoadBalancingConfig {
- constructor(intervalMs, baseEjectionTimeMs, maxEjectionTimeMs, maxEjectionPercent, successRateEjection, failurePercentageEjection, childPolicy) {
- this.childPolicy = childPolicy;
- if (childPolicy.length > 0 &&
- childPolicy[0].getLoadBalancerName() === 'pick_first') {
- throw new Error('outlier_detection LB policy cannot have a pick_first child policy');
- }
- this.intervalMs = intervalMs !== null && intervalMs !== void 0 ? intervalMs : 10000;
- this.baseEjectionTimeMs = baseEjectionTimeMs !== null && baseEjectionTimeMs !== void 0 ? baseEjectionTimeMs : 30000;
- this.maxEjectionTimeMs = maxEjectionTimeMs !== null && maxEjectionTimeMs !== void 0 ? maxEjectionTimeMs : 300000;
- this.maxEjectionPercent = maxEjectionPercent !== null && maxEjectionPercent !== void 0 ? maxEjectionPercent : 10;
- this.successRateEjection = successRateEjection
- ? Object.assign(Object.assign({}, defaultSuccessRateEjectionConfig), successRateEjection) : null;
- this.failurePercentageEjection = failurePercentageEjection
- ? Object.assign(Object.assign({}, defaultFailurePercentageEjectionConfig), failurePercentageEjection) : null;
- }
- getLoadBalancerName() {
- return TYPE_NAME;
- }
- toJsonObject() {
- return {
- interval: (0, duration_1.msToDuration)(this.intervalMs),
- base_ejection_time: (0, duration_1.msToDuration)(this.baseEjectionTimeMs),
- max_ejection_time: (0, duration_1.msToDuration)(this.maxEjectionTimeMs),
- max_ejection_percent: this.maxEjectionPercent,
- success_rate_ejection: this.successRateEjection,
- failure_percentage_ejection: this.failurePercentageEjection,
- child_policy: this.childPolicy.map(policy => policy.toJsonObject()),
- };
- }
- getIntervalMs() {
- return this.intervalMs;
- }
- getBaseEjectionTimeMs() {
- return this.baseEjectionTimeMs;
- }
- getMaxEjectionTimeMs() {
- return this.maxEjectionTimeMs;
- }
- getMaxEjectionPercent() {
- return this.maxEjectionPercent;
- }
- getSuccessRateEjectionConfig() {
- return this.successRateEjection;
- }
- getFailurePercentageEjectionConfig() {
- return this.failurePercentageEjection;
- }
- getChildPolicy() {
- return this.childPolicy;
- }
- copyWithChildPolicy(childPolicy) {
- return new OutlierDetectionLoadBalancingConfig(this.intervalMs, this.baseEjectionTimeMs, this.maxEjectionTimeMs, this.maxEjectionPercent, this.successRateEjection, this.failurePercentageEjection, childPolicy);
- }
- static createFromJson(obj) {
- var _a;
- validatePositiveDuration(obj, 'interval');
- validatePositiveDuration(obj, 'base_ejection_time');
- validatePositiveDuration(obj, 'max_ejection_time');
- validatePercentage(obj, 'max_ejection_percent');
- if ('success_rate_ejection' in obj) {
- if (typeof obj.success_rate_ejection !== 'object') {
- throw new Error('outlier detection config success_rate_ejection must be an object');
- }
- validateFieldType(obj.success_rate_ejection, 'stdev_factor', 'number', 'success_rate_ejection');
- validatePercentage(obj.success_rate_ejection, 'enforcement_percentage', 'success_rate_ejection');
- validateFieldType(obj.success_rate_ejection, 'minimum_hosts', 'number', 'success_rate_ejection');
- validateFieldType(obj.success_rate_ejection, 'request_volume', 'number', 'success_rate_ejection');
- }
- if ('failure_percentage_ejection' in obj) {
- if (typeof obj.failure_percentage_ejection !== 'object') {
- throw new Error('outlier detection config failure_percentage_ejection must be an object');
- }
- validatePercentage(obj.failure_percentage_ejection, 'threshold', 'failure_percentage_ejection');
- validatePercentage(obj.failure_percentage_ejection, 'enforcement_percentage', 'failure_percentage_ejection');
- validateFieldType(obj.failure_percentage_ejection, 'minimum_hosts', 'number', 'failure_percentage_ejection');
- validateFieldType(obj.failure_percentage_ejection, 'request_volume', 'number', 'failure_percentage_ejection');
- }
- return new OutlierDetectionLoadBalancingConfig(obj.interval ? (0, duration_1.durationToMs)(obj.interval) : null, obj.base_ejection_time ? (0, duration_1.durationToMs)(obj.base_ejection_time) : null, obj.max_ejection_time ? (0, duration_1.durationToMs)(obj.max_ejection_time) : null, (_a = obj.max_ejection_percent) !== null && _a !== void 0 ? _a : null, obj.success_rate_ejection, obj.failure_percentage_ejection, obj.child_policy.map(load_balancer_1.validateLoadBalancingConfig));
- }
-}
-exports.OutlierDetectionLoadBalancingConfig = OutlierDetectionLoadBalancingConfig;
-class OutlierDetectionSubchannelWrapper extends subchannel_interface_1.BaseSubchannelWrapper {
- constructor(childSubchannel, mapEntry) {
- super(childSubchannel);
- this.mapEntry = mapEntry;
- this.stateListeners = [];
- this.ejected = false;
- this.refCount = 0;
- this.childSubchannelState = childSubchannel.getConnectivityState();
- childSubchannel.addConnectivityStateListener((subchannel, previousState, newState, keepaliveTime) => {
- this.childSubchannelState = newState;
- if (!this.ejected) {
- for (const listener of this.stateListeners) {
- listener(this, previousState, newState, keepaliveTime);
- }
- }
- });
- }
- getConnectivityState() {
- if (this.ejected) {
- return connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE;
- }
- else {
- return this.childSubchannelState;
- }
- }
- /**
- * Add a listener function to be called whenever the wrapper's
- * connectivity state changes.
- * @param listener
- */
- addConnectivityStateListener(listener) {
- this.stateListeners.push(listener);
- }
- /**
- * Remove a listener previously added with `addConnectivityStateListener`
- * @param listener A reference to a function previously passed to
- * `addConnectivityStateListener`
- */
- removeConnectivityStateListener(listener) {
- const listenerIndex = this.stateListeners.indexOf(listener);
- if (listenerIndex > -1) {
- this.stateListeners.splice(listenerIndex, 1);
- }
- }
- ref() {
- this.child.ref();
- this.refCount += 1;
- }
- unref() {
- this.child.unref();
- this.refCount -= 1;
- if (this.refCount <= 0) {
- if (this.mapEntry) {
- const index = this.mapEntry.subchannelWrappers.indexOf(this);
- if (index >= 0) {
- this.mapEntry.subchannelWrappers.splice(index, 1);
- }
- }
- }
- }
- eject() {
- this.ejected = true;
- for (const listener of this.stateListeners) {
- listener(this, this.childSubchannelState, connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, -1);
- }
- }
- uneject() {
- this.ejected = false;
- for (const listener of this.stateListeners) {
- listener(this, connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, this.childSubchannelState, -1);
- }
- }
- getMapEntry() {
- return this.mapEntry;
- }
- getWrappedSubchannel() {
- return this.child;
- }
-}
-function createEmptyBucket() {
- return {
- success: 0,
- failure: 0,
- };
-}
-class CallCounter {
- constructor() {
- this.activeBucket = createEmptyBucket();
- this.inactiveBucket = createEmptyBucket();
- }
- addSuccess() {
- this.activeBucket.success += 1;
- }
- addFailure() {
- this.activeBucket.failure += 1;
- }
- switchBuckets() {
- this.inactiveBucket = this.activeBucket;
- this.activeBucket = createEmptyBucket();
- }
- getLastSuccesses() {
- return this.inactiveBucket.success;
- }
- getLastFailures() {
- return this.inactiveBucket.failure;
- }
-}
-class OutlierDetectionPicker {
- constructor(wrappedPicker, countCalls) {
- this.wrappedPicker = wrappedPicker;
- this.countCalls = countCalls;
- }
- pick(pickArgs) {
- const wrappedPick = this.wrappedPicker.pick(pickArgs);
- if (wrappedPick.pickResultType === picker_1.PickResultType.COMPLETE) {
- const subchannelWrapper = wrappedPick.subchannel;
- const mapEntry = subchannelWrapper.getMapEntry();
- if (mapEntry) {
- let onCallEnded = wrappedPick.onCallEnded;
- if (this.countCalls) {
- onCallEnded = statusCode => {
- var _a;
- if (statusCode === constants_1.Status.OK) {
- mapEntry.counter.addSuccess();
- }
- else {
- mapEntry.counter.addFailure();
- }
- (_a = wrappedPick.onCallEnded) === null || _a === void 0 ? void 0 : _a.call(wrappedPick, statusCode);
- };
- }
- return Object.assign(Object.assign({}, wrappedPick), { subchannel: subchannelWrapper.getWrappedSubchannel(), onCallEnded: onCallEnded });
- }
- else {
- return Object.assign(Object.assign({}, wrappedPick), { subchannel: subchannelWrapper.getWrappedSubchannel() });
- }
- }
- else {
- return wrappedPick;
- }
- }
-}
-class OutlierDetectionLoadBalancer {
- constructor(channelControlHelper) {
- this.addressMap = new Map();
- this.latestConfig = null;
- this.timerStartTime = null;
- this.childBalancer = new load_balancer_child_handler_1.ChildLoadBalancerHandler((0, experimental_1.createChildChannelControlHelper)(channelControlHelper, {
- createSubchannel: (subchannelAddress, subchannelArgs) => {
- const originalSubchannel = channelControlHelper.createSubchannel(subchannelAddress, subchannelArgs);
- const mapEntry = this.addressMap.get((0, subchannel_address_1.subchannelAddressToString)(subchannelAddress));
- const subchannelWrapper = new OutlierDetectionSubchannelWrapper(originalSubchannel, mapEntry);
- if ((mapEntry === null || mapEntry === void 0 ? void 0 : mapEntry.currentEjectionTimestamp) !== null) {
- // If the address is ejected, propagate that to the new subchannel wrapper
- subchannelWrapper.eject();
- }
- mapEntry === null || mapEntry === void 0 ? void 0 : mapEntry.subchannelWrappers.push(subchannelWrapper);
- return subchannelWrapper;
- },
- updateState: (connectivityState, picker) => {
- if (connectivityState === connectivity_state_1.ConnectivityState.READY) {
- channelControlHelper.updateState(connectivityState, new OutlierDetectionPicker(picker, this.isCountingEnabled()));
- }
- else {
- channelControlHelper.updateState(connectivityState, picker);
- }
- },
- }));
- this.ejectionTimer = setInterval(() => { }, 0);
- clearInterval(this.ejectionTimer);
- }
- isCountingEnabled() {
- return (this.latestConfig !== null &&
- (this.latestConfig.getSuccessRateEjectionConfig() !== null ||
- this.latestConfig.getFailurePercentageEjectionConfig() !== null));
- }
- getCurrentEjectionPercent() {
- let ejectionCount = 0;
- for (const mapEntry of this.addressMap.values()) {
- if (mapEntry.currentEjectionTimestamp !== null) {
- ejectionCount += 1;
- }
- }
- return (ejectionCount * 100) / this.addressMap.size;
- }
- runSuccessRateCheck(ejectionTimestamp) {
- if (!this.latestConfig) {
- return;
- }
- const successRateConfig = this.latestConfig.getSuccessRateEjectionConfig();
- if (!successRateConfig) {
- return;
- }
- trace('Running success rate check');
- // Step 1
- const targetRequestVolume = successRateConfig.request_volume;
- let addresesWithTargetVolume = 0;
- const successRates = [];
- for (const [address, mapEntry] of this.addressMap) {
- const successes = mapEntry.counter.getLastSuccesses();
- const failures = mapEntry.counter.getLastFailures();
- trace('Stats for ' +
- address +
- ': successes=' +
- successes +
- ' failures=' +
- failures +
- ' targetRequestVolume=' +
- targetRequestVolume);
- if (successes + failures >= targetRequestVolume) {
- addresesWithTargetVolume += 1;
- successRates.push(successes / (successes + failures));
- }
- }
- trace('Found ' +
- addresesWithTargetVolume +
- ' success rate candidates; currentEjectionPercent=' +
- this.getCurrentEjectionPercent() +
- ' successRates=[' +
- successRates +
- ']');
- if (addresesWithTargetVolume < successRateConfig.minimum_hosts) {
- return;
- }
- // Step 2
- const successRateMean = successRates.reduce((a, b) => a + b) / successRates.length;
- let successRateDeviationSum = 0;
- for (const rate of successRates) {
- const deviation = rate - successRateMean;
- successRateDeviationSum += deviation * deviation;
- }
- const successRateVariance = successRateDeviationSum / successRates.length;
- const successRateStdev = Math.sqrt(successRateVariance);
- const ejectionThreshold = successRateMean -
- successRateStdev * (successRateConfig.stdev_factor / 1000);
- trace('stdev=' + successRateStdev + ' ejectionThreshold=' + ejectionThreshold);
- // Step 3
- for (const [address, mapEntry] of this.addressMap.entries()) {
- // Step 3.i
- if (this.getCurrentEjectionPercent() >=
- this.latestConfig.getMaxEjectionPercent()) {
- break;
- }
- // Step 3.ii
- const successes = mapEntry.counter.getLastSuccesses();
- const failures = mapEntry.counter.getLastFailures();
- if (successes + failures < targetRequestVolume) {
- continue;
- }
- // Step 3.iii
- const successRate = successes / (successes + failures);
- trace('Checking candidate ' + address + ' successRate=' + successRate);
- if (successRate < ejectionThreshold) {
- const randomNumber = Math.random() * 100;
- trace('Candidate ' +
- address +
- ' randomNumber=' +
- randomNumber +
- ' enforcement_percentage=' +
- successRateConfig.enforcement_percentage);
- if (randomNumber < successRateConfig.enforcement_percentage) {
- trace('Ejecting candidate ' + address);
- this.eject(mapEntry, ejectionTimestamp);
- }
- }
- }
- }
- runFailurePercentageCheck(ejectionTimestamp) {
- if (!this.latestConfig) {
- return;
- }
- const failurePercentageConfig = this.latestConfig.getFailurePercentageEjectionConfig();
- if (!failurePercentageConfig) {
- return;
- }
- trace('Running failure percentage check. threshold=' +
- failurePercentageConfig.threshold +
- ' request volume threshold=' +
- failurePercentageConfig.request_volume);
- // Step 1
- let addressesWithTargetVolume = 0;
- for (const mapEntry of this.addressMap.values()) {
- const successes = mapEntry.counter.getLastSuccesses();
- const failures = mapEntry.counter.getLastFailures();
- if (successes + failures >= failurePercentageConfig.request_volume) {
- addressesWithTargetVolume += 1;
- }
- }
- if (addressesWithTargetVolume < failurePercentageConfig.minimum_hosts) {
- return;
- }
- // Step 2
- for (const [address, mapEntry] of this.addressMap.entries()) {
- // Step 2.i
- if (this.getCurrentEjectionPercent() >=
- this.latestConfig.getMaxEjectionPercent()) {
- break;
- }
- // Step 2.ii
- const successes = mapEntry.counter.getLastSuccesses();
- const failures = mapEntry.counter.getLastFailures();
- trace('Candidate successes=' + successes + ' failures=' + failures);
- if (successes + failures < failurePercentageConfig.request_volume) {
- continue;
- }
- // Step 2.iii
- const failurePercentage = (failures * 100) / (failures + successes);
- if (failurePercentage > failurePercentageConfig.threshold) {
- const randomNumber = Math.random() * 100;
- trace('Candidate ' +
- address +
- ' randomNumber=' +
- randomNumber +
- ' enforcement_percentage=' +
- failurePercentageConfig.enforcement_percentage);
- if (randomNumber < failurePercentageConfig.enforcement_percentage) {
- trace('Ejecting candidate ' + address);
- this.eject(mapEntry, ejectionTimestamp);
- }
- }
- }
- }
- eject(mapEntry, ejectionTimestamp) {
- mapEntry.currentEjectionTimestamp = new Date();
- mapEntry.ejectionTimeMultiplier += 1;
- for (const subchannelWrapper of mapEntry.subchannelWrappers) {
- subchannelWrapper.eject();
- }
- }
- uneject(mapEntry) {
- mapEntry.currentEjectionTimestamp = null;
- for (const subchannelWrapper of mapEntry.subchannelWrappers) {
- subchannelWrapper.uneject();
- }
- }
- switchAllBuckets() {
- for (const mapEntry of this.addressMap.values()) {
- mapEntry.counter.switchBuckets();
- }
- }
- startTimer(delayMs) {
- var _a, _b;
- this.ejectionTimer = setTimeout(() => this.runChecks(), delayMs);
- (_b = (_a = this.ejectionTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- runChecks() {
- const ejectionTimestamp = new Date();
- trace('Ejection timer running');
- this.switchAllBuckets();
- if (!this.latestConfig) {
- return;
- }
- this.timerStartTime = ejectionTimestamp;
- this.startTimer(this.latestConfig.getIntervalMs());
- this.runSuccessRateCheck(ejectionTimestamp);
- this.runFailurePercentageCheck(ejectionTimestamp);
- for (const [address, mapEntry] of this.addressMap.entries()) {
- if (mapEntry.currentEjectionTimestamp === null) {
- if (mapEntry.ejectionTimeMultiplier > 0) {
- mapEntry.ejectionTimeMultiplier -= 1;
- }
- }
- else {
- const baseEjectionTimeMs = this.latestConfig.getBaseEjectionTimeMs();
- const maxEjectionTimeMs = this.latestConfig.getMaxEjectionTimeMs();
- const returnTime = new Date(mapEntry.currentEjectionTimestamp.getTime());
- returnTime.setMilliseconds(returnTime.getMilliseconds() +
- Math.min(baseEjectionTimeMs * mapEntry.ejectionTimeMultiplier, Math.max(baseEjectionTimeMs, maxEjectionTimeMs)));
- if (returnTime < new Date()) {
- trace('Unejecting ' + address);
- this.uneject(mapEntry);
- }
- }
- }
- }
- updateAddressList(addressList, lbConfig, attributes) {
- if (!(lbConfig instanceof OutlierDetectionLoadBalancingConfig)) {
- return;
- }
- const subchannelAddresses = new Set();
- for (const address of addressList) {
- subchannelAddresses.add((0, subchannel_address_1.subchannelAddressToString)(address));
- }
- for (const address of subchannelAddresses) {
- if (!this.addressMap.has(address)) {
- trace('Adding map entry for ' + address);
- this.addressMap.set(address, {
- counter: new CallCounter(),
- currentEjectionTimestamp: null,
- ejectionTimeMultiplier: 0,
- subchannelWrappers: [],
- });
- }
- }
- for (const key of this.addressMap.keys()) {
- if (!subchannelAddresses.has(key)) {
- trace('Removing map entry for ' + key);
- this.addressMap.delete(key);
- }
- }
- const childPolicy = (0, load_balancer_1.getFirstUsableConfig)(lbConfig.getChildPolicy(), true);
- this.childBalancer.updateAddressList(addressList, childPolicy, attributes);
- if (lbConfig.getSuccessRateEjectionConfig() ||
- lbConfig.getFailurePercentageEjectionConfig()) {
- if (this.timerStartTime) {
- trace('Previous timer existed. Replacing timer');
- clearTimeout(this.ejectionTimer);
- const remainingDelay = lbConfig.getIntervalMs() -
- (new Date().getTime() - this.timerStartTime.getTime());
- this.startTimer(remainingDelay);
- }
- else {
- trace('Starting new timer');
- this.timerStartTime = new Date();
- this.startTimer(lbConfig.getIntervalMs());
- this.switchAllBuckets();
- }
- }
- else {
- trace('Counting disabled. Cancelling timer.');
- this.timerStartTime = null;
- clearTimeout(this.ejectionTimer);
- for (const mapEntry of this.addressMap.values()) {
- this.uneject(mapEntry);
- mapEntry.ejectionTimeMultiplier = 0;
- }
- }
- this.latestConfig = lbConfig;
- }
- exitIdle() {
- this.childBalancer.exitIdle();
- }
- resetBackoff() {
- this.childBalancer.resetBackoff();
- }
- destroy() {
- clearTimeout(this.ejectionTimer);
- this.childBalancer.destroy();
- }
- getTypeName() {
- return TYPE_NAME;
- }
-}
-exports.OutlierDetectionLoadBalancer = OutlierDetectionLoadBalancer;
-function setup() {
- if (OUTLIER_DETECTION_ENABLED) {
- (0, experimental_1.registerLoadBalancerType)(TYPE_NAME, OutlierDetectionLoadBalancer, OutlierDetectionLoadBalancingConfig);
- }
-}
-exports.setup = setup;
-//# sourceMappingURL=load-balancer-outlier-detection.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js.map b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js.map
deleted file mode 100644
index 136b48ad554529ab937f100df17a39491ecabc75..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"load-balancer-outlier-detection.js","sourceRoot":"","sources":["../../src/load-balancer-outlier-detection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts
deleted file mode 100644
index 9e4afe1095b6d75d5b353e1456732ac937cee7e9..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts
+++ /dev/null
@@ -1,95 +0,0 @@
-import { LoadBalancer, ChannelControlHelper, LoadBalancingConfig } from './load-balancer';
-import { SubchannelAddress } from './subchannel-address';
-export declare class PickFirstLoadBalancingConfig implements LoadBalancingConfig {
- private readonly shuffleAddressList;
- constructor(shuffleAddressList: boolean);
- getLoadBalancerName(): string;
- toJsonObject(): object;
- getShuffleAddressList(): boolean;
- static createFromJson(obj: any): PickFirstLoadBalancingConfig;
-}
-/**
- * Return a new array with the elements of the input array in a random order
- * @param list The input array
- * @returns A shuffled array of the elements of list
- */
-export declare function shuffled(list: T[]): T[];
-export declare class PickFirstLoadBalancer implements LoadBalancer {
- private readonly channelControlHelper;
- /**
- * The list of subchannels this load balancer is currently attempting to
- * connect to.
- */
- private children;
- /**
- * The current connectivity state of the load balancer.
- */
- private currentState;
- /**
- * The index within the `subchannels` array of the subchannel with the most
- * recently started connection attempt.
- */
- private currentSubchannelIndex;
- /**
- * The currently picked subchannel used for making calls. Populated if
- * and only if the load balancer's current state is READY. In that case,
- * the subchannel's current state is also READY.
- */
- private currentPick;
- /**
- * Listener callback attached to each subchannel in the `subchannels` list
- * while establishing a connection.
- */
- private subchannelStateListener;
- /**
- * Timer reference for the timer tracking when to start
- */
- private connectionDelayTimeout;
- private triedAllSubchannels;
- /**
- * The LB policy enters sticky TRANSIENT_FAILURE mode when all
- * subchannels have failed to connect at least once, and it stays in that
- * mode until a connection attempt is successful. While in sticky TF mode,
- * the LB policy continuously attempts to connect to all of its subchannels.
- */
- private stickyTransientFailureMode;
- /**
- * Indicates whether we called channelControlHelper.requestReresolution since
- * the last call to updateAddressList
- */
- private requestedResolutionSinceLastUpdate;
- /**
- * The most recent error reported by any subchannel as it transitioned to
- * TRANSIENT_FAILURE.
- */
- private lastError;
- /**
- * Load balancer that attempts to connect to each backend in the address list
- * in order, and picks the first one that connects, using it for every
- * request.
- * @param channelControlHelper `ChannelControlHelper` instance provided by
- * this load balancer's owner.
- */
- constructor(channelControlHelper: ChannelControlHelper);
- private allChildrenHaveReportedTF;
- private calculateAndReportNewState;
- private requestReresolution;
- private maybeEnterStickyTransientFailureMode;
- private removeCurrentPick;
- private onSubchannelStateUpdate;
- private startNextSubchannelConnecting;
- /**
- * Have a single subchannel in the `subchannels` list start connecting.
- * @param subchannelIndex The index into the `subchannels` list.
- */
- private startConnecting;
- private pickSubchannel;
- private updateState;
- private resetSubchannelList;
- updateAddressList(addressList: SubchannelAddress[], lbConfig: LoadBalancingConfig): void;
- exitIdle(): void;
- resetBackoff(): void;
- destroy(): void;
- getTypeName(): string;
-}
-export declare function setup(): void;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js
deleted file mode 100644
index 9c3bc2e44d47d2f732bba9c43476e1331b581df7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js
+++ /dev/null
@@ -1,388 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.setup = exports.PickFirstLoadBalancer = exports.shuffled = exports.PickFirstLoadBalancingConfig = void 0;
-const load_balancer_1 = require("./load-balancer");
-const connectivity_state_1 = require("./connectivity-state");
-const picker_1 = require("./picker");
-const logging = require("./logging");
-const constants_1 = require("./constants");
-const TRACER_NAME = 'pick_first';
-function trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
-}
-const TYPE_NAME = 'pick_first';
-/**
- * Delay after starting a connection on a subchannel before starting a
- * connection on the next subchannel in the list, for Happy Eyeballs algorithm.
- */
-const CONNECTION_DELAY_INTERVAL_MS = 250;
-class PickFirstLoadBalancingConfig {
- constructor(shuffleAddressList) {
- this.shuffleAddressList = shuffleAddressList;
- }
- getLoadBalancerName() {
- return TYPE_NAME;
- }
- toJsonObject() {
- return {
- [TYPE_NAME]: {
- shuffleAddressList: this.shuffleAddressList,
- },
- };
- }
- getShuffleAddressList() {
- return this.shuffleAddressList;
- }
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- static createFromJson(obj) {
- if ('shuffleAddressList' in obj &&
- !(typeof obj.shuffleAddressList === 'boolean')) {
- throw new Error('pick_first config field shuffleAddressList must be a boolean if provided');
- }
- return new PickFirstLoadBalancingConfig(obj.shuffleAddressList === true);
- }
-}
-exports.PickFirstLoadBalancingConfig = PickFirstLoadBalancingConfig;
-/**
- * Picker for a `PickFirstLoadBalancer` in the READY state. Always returns the
- * picked subchannel.
- */
-class PickFirstPicker {
- constructor(subchannel) {
- this.subchannel = subchannel;
- }
- pick(pickArgs) {
- return {
- pickResultType: picker_1.PickResultType.COMPLETE,
- subchannel: this.subchannel,
- status: null,
- onCallStarted: null,
- onCallEnded: null,
- };
- }
-}
-/**
- * Return a new array with the elements of the input array in a random order
- * @param list The input array
- * @returns A shuffled array of the elements of list
- */
-function shuffled(list) {
- const result = list.slice();
- for (let i = result.length - 1; i > 1; i--) {
- const j = Math.floor(Math.random() * (i + 1));
- const temp = result[i];
- result[i] = result[j];
- result[j] = temp;
- }
- return result;
-}
-exports.shuffled = shuffled;
-class PickFirstLoadBalancer {
- /**
- * Load balancer that attempts to connect to each backend in the address list
- * in order, and picks the first one that connects, using it for every
- * request.
- * @param channelControlHelper `ChannelControlHelper` instance provided by
- * this load balancer's owner.
- */
- constructor(channelControlHelper) {
- this.channelControlHelper = channelControlHelper;
- /**
- * The list of subchannels this load balancer is currently attempting to
- * connect to.
- */
- this.children = [];
- /**
- * The current connectivity state of the load balancer.
- */
- this.currentState = connectivity_state_1.ConnectivityState.IDLE;
- /**
- * The index within the `subchannels` array of the subchannel with the most
- * recently started connection attempt.
- */
- this.currentSubchannelIndex = 0;
- /**
- * The currently picked subchannel used for making calls. Populated if
- * and only if the load balancer's current state is READY. In that case,
- * the subchannel's current state is also READY.
- */
- this.currentPick = null;
- /**
- * Listener callback attached to each subchannel in the `subchannels` list
- * while establishing a connection.
- */
- this.subchannelStateListener = (subchannel, previousState, newState, keepaliveTime, errorMessage) => {
- this.onSubchannelStateUpdate(subchannel, previousState, newState, errorMessage);
- };
- this.triedAllSubchannels = false;
- /**
- * The LB policy enters sticky TRANSIENT_FAILURE mode when all
- * subchannels have failed to connect at least once, and it stays in that
- * mode until a connection attempt is successful. While in sticky TF mode,
- * the LB policy continuously attempts to connect to all of its subchannels.
- */
- this.stickyTransientFailureMode = false;
- /**
- * Indicates whether we called channelControlHelper.requestReresolution since
- * the last call to updateAddressList
- */
- this.requestedResolutionSinceLastUpdate = false;
- /**
- * The most recent error reported by any subchannel as it transitioned to
- * TRANSIENT_FAILURE.
- */
- this.lastError = null;
- this.connectionDelayTimeout = setTimeout(() => { }, 0);
- clearTimeout(this.connectionDelayTimeout);
- }
- allChildrenHaveReportedTF() {
- return this.children.every(child => child.hasReportedTransientFailure);
- }
- calculateAndReportNewState() {
- if (this.currentPick) {
- this.updateState(connectivity_state_1.ConnectivityState.READY, new PickFirstPicker(this.currentPick));
- }
- else if (this.children.length === 0) {
- this.updateState(connectivity_state_1.ConnectivityState.IDLE, new picker_1.QueuePicker(this));
- }
- else {
- if (this.stickyTransientFailureMode) {
- this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker({ details: `No connection established. Last error: ${this.lastError}` }));
- }
- else {
- this.updateState(connectivity_state_1.ConnectivityState.CONNECTING, new picker_1.QueuePicker(this));
- }
- }
- }
- requestReresolution() {
- this.requestedResolutionSinceLastUpdate = true;
- this.channelControlHelper.requestReresolution();
- }
- maybeEnterStickyTransientFailureMode() {
- if (!this.allChildrenHaveReportedTF()) {
- return;
- }
- if (!this.requestedResolutionSinceLastUpdate) {
- /* Each time we get an update we reset each subchannel's
- * hasReportedTransientFailure flag, so the next time we get to this
- * point after that, each subchannel has reported TRANSIENT_FAILURE
- * at least once since then. That is the trigger for requesting
- * reresolution, whether or not the LB policy is already in sticky TF
- * mode. */
- this.requestReresolution();
- }
- if (this.stickyTransientFailureMode) {
- return;
- }
- this.stickyTransientFailureMode = true;
- for (const { subchannel } of this.children) {
- subchannel.startConnecting();
- }
- this.calculateAndReportNewState();
- }
- removeCurrentPick() {
- if (this.currentPick !== null) {
- /* Unref can cause a state change, which can cause a change in the value
- * of this.currentPick, so we hold a local reference to make sure that
- * does not impact this function. */
- const currentPick = this.currentPick;
- this.currentPick = null;
- currentPick.unref();
- currentPick.removeConnectivityStateListener(this.subchannelStateListener);
- this.channelControlHelper.removeChannelzChild(currentPick.getChannelzRef());
- }
- }
- onSubchannelStateUpdate(subchannel, previousState, newState, errorMessage) {
- var _a;
- if ((_a = this.currentPick) === null || _a === void 0 ? void 0 : _a.realSubchannelEquals(subchannel)) {
- if (newState !== connectivity_state_1.ConnectivityState.READY) {
- this.removeCurrentPick();
- this.calculateAndReportNewState();
- this.requestReresolution();
- }
- return;
- }
- for (const [index, child] of this.children.entries()) {
- if (subchannel.realSubchannelEquals(child.subchannel)) {
- if (newState === connectivity_state_1.ConnectivityState.READY) {
- this.pickSubchannel(child.subchannel);
- }
- if (newState === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
- child.hasReportedTransientFailure = true;
- if (errorMessage) {
- this.lastError = errorMessage;
- }
- this.maybeEnterStickyTransientFailureMode();
- if (index === this.currentSubchannelIndex) {
- this.startNextSubchannelConnecting(index + 1);
- }
- }
- child.subchannel.startConnecting();
- return;
- }
- }
- }
- startNextSubchannelConnecting(startIndex) {
- clearTimeout(this.connectionDelayTimeout);
- if (this.triedAllSubchannels) {
- return;
- }
- for (const [index, child] of this.children.entries()) {
- if (index >= startIndex) {
- const subchannelState = child.subchannel.getConnectivityState();
- if (subchannelState === connectivity_state_1.ConnectivityState.IDLE ||
- subchannelState === connectivity_state_1.ConnectivityState.CONNECTING) {
- this.startConnecting(index);
- return;
- }
- }
- }
- this.triedAllSubchannels = true;
- this.maybeEnterStickyTransientFailureMode();
- }
- /**
- * Have a single subchannel in the `subchannels` list start connecting.
- * @param subchannelIndex The index into the `subchannels` list.
- */
- startConnecting(subchannelIndex) {
- var _a, _b;
- clearTimeout(this.connectionDelayTimeout);
- this.currentSubchannelIndex = subchannelIndex;
- if (this.children[subchannelIndex].subchannel.getConnectivityState() ===
- connectivity_state_1.ConnectivityState.IDLE) {
- trace('Start connecting to subchannel with address ' +
- this.children[subchannelIndex].subchannel.getAddress());
- process.nextTick(() => {
- var _a;
- (_a = this.children[subchannelIndex]) === null || _a === void 0 ? void 0 : _a.subchannel.startConnecting();
- });
- }
- this.connectionDelayTimeout = (_b = (_a = setTimeout(() => {
- this.startNextSubchannelConnecting(subchannelIndex + 1);
- }, CONNECTION_DELAY_INTERVAL_MS)).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- pickSubchannel(subchannel) {
- if (this.currentPick && subchannel.realSubchannelEquals(this.currentPick)) {
- return;
- }
- trace('Pick subchannel with address ' + subchannel.getAddress());
- this.stickyTransientFailureMode = false;
- if (this.currentPick !== null) {
- this.currentPick.unref();
- this.channelControlHelper.removeChannelzChild(this.currentPick.getChannelzRef());
- this.currentPick.removeConnectivityStateListener(this.subchannelStateListener);
- }
- this.currentPick = subchannel;
- subchannel.ref();
- this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
- this.resetSubchannelList();
- clearTimeout(this.connectionDelayTimeout);
- this.calculateAndReportNewState();
- }
- updateState(newState, picker) {
- trace(connectivity_state_1.ConnectivityState[this.currentState] +
- ' -> ' +
- connectivity_state_1.ConnectivityState[newState]);
- this.currentState = newState;
- this.channelControlHelper.updateState(newState, picker);
- }
- resetSubchannelList() {
- for (const child of this.children) {
- if (child.subchannel !== this.currentPick) {
- /* The connectivity state listener is the same whether the subchannel
- * is in the list of children or it is the currentPick, so if it is in
- * both, removing it here would cause problems. In particular, that
- * always happens immediately after the subchannel is picked. */
- child.subchannel.removeConnectivityStateListener(this.subchannelStateListener);
- }
- /* Refs are counted independently for the children list and the
- * currentPick, so we call unref whether or not the child is the
- * currentPick. Channelz child references are also refcounted, so
- * removeChannelzChild can be handled the same way. */
- child.subchannel.unref();
- this.channelControlHelper.removeChannelzChild(child.subchannel.getChannelzRef());
- }
- this.currentSubchannelIndex = 0;
- this.children = [];
- this.triedAllSubchannels = false;
- this.requestedResolutionSinceLastUpdate = false;
- }
- updateAddressList(addressList, lbConfig) {
- if (!(lbConfig instanceof PickFirstLoadBalancingConfig)) {
- return;
- }
- /* Previously, an update would be discarded if it was identical to the
- * previous update, to minimize churn. Now the DNS resolver is
- * rate-limited, so that is less of a concern. */
- if (lbConfig.getShuffleAddressList()) {
- addressList = shuffled(addressList);
- }
- const newChildrenList = addressList.map(address => ({
- subchannel: this.channelControlHelper.createSubchannel(address, {}),
- hasReportedTransientFailure: false,
- }));
- /* Ref each subchannel before resetting the list, to ensure that
- * subchannels shared between the list don't drop to 0 refs during the
- * transition. */
- for (const { subchannel } of newChildrenList) {
- subchannel.ref();
- this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
- }
- this.resetSubchannelList();
- this.children = newChildrenList;
- for (const { subchannel } of this.children) {
- subchannel.addConnectivityStateListener(this.subchannelStateListener);
- if (subchannel.getConnectivityState() === connectivity_state_1.ConnectivityState.READY) {
- this.pickSubchannel(subchannel);
- return;
- }
- }
- for (const child of this.children) {
- if (child.subchannel.getConnectivityState() ===
- connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
- child.hasReportedTransientFailure = true;
- }
- }
- this.startNextSubchannelConnecting(0);
- this.calculateAndReportNewState();
- }
- exitIdle() {
- /* The pick_first LB policy is only in the IDLE state if it has no
- * addresses to try to connect to and it has no picked subchannel.
- * In that case, there is no meaningful action that can be taken here. */
- }
- resetBackoff() {
- /* The pick first load balancer does not have a connection backoff, so this
- * does nothing */
- }
- destroy() {
- this.resetSubchannelList();
- this.removeCurrentPick();
- }
- getTypeName() {
- return TYPE_NAME;
- }
-}
-exports.PickFirstLoadBalancer = PickFirstLoadBalancer;
-function setup() {
- (0, load_balancer_1.registerLoadBalancerType)(TYPE_NAME, PickFirstLoadBalancer, PickFirstLoadBalancingConfig);
- (0, load_balancer_1.registerDefaultLoadBalancerType)(TYPE_NAME);
-}
-exports.setup = setup;
-//# sourceMappingURL=load-balancer-pick-first.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js.map b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js.map
deleted file mode 100644
index 7c14832e8831bd8e218e136bbc22454edbb1f5af..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"load-balancer-pick-first.js","sourceRoot":"","sources":["../../src/load-balancer-pick-first.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.d.ts
deleted file mode 100644
index 0fa942183596e19f9dbc5320bb279b375ea78f6c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.d.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { LoadBalancer, ChannelControlHelper, LoadBalancingConfig } from './load-balancer';
-import { SubchannelAddress } from './subchannel-address';
-export declare class RoundRobinLoadBalancer implements LoadBalancer {
- private readonly channelControlHelper;
- private subchannels;
- private currentState;
- private subchannelStateListener;
- private currentReadyPicker;
- private lastError;
- constructor(channelControlHelper: ChannelControlHelper);
- private countSubchannelsWithState;
- private calculateAndUpdateState;
- private updateState;
- private resetSubchannelList;
- updateAddressList(addressList: SubchannelAddress[], lbConfig: LoadBalancingConfig): void;
- exitIdle(): void;
- resetBackoff(): void;
- destroy(): void;
- getTypeName(): string;
-}
-export declare function setup(): void;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js
deleted file mode 100644
index 1f78b37b11d8bd852a7691857836ac6b87189100..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js
+++ /dev/null
@@ -1,174 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.setup = exports.RoundRobinLoadBalancer = void 0;
-const load_balancer_1 = require("./load-balancer");
-const connectivity_state_1 = require("./connectivity-state");
-const picker_1 = require("./picker");
-const subchannel_address_1 = require("./subchannel-address");
-const logging = require("./logging");
-const constants_1 = require("./constants");
-const TRACER_NAME = 'round_robin';
-function trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
-}
-const TYPE_NAME = 'round_robin';
-class RoundRobinLoadBalancingConfig {
- getLoadBalancerName() {
- return TYPE_NAME;
- }
- constructor() { }
- toJsonObject() {
- return {
- [TYPE_NAME]: {},
- };
- }
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- static createFromJson(obj) {
- return new RoundRobinLoadBalancingConfig();
- }
-}
-class RoundRobinPicker {
- constructor(subchannelList, nextIndex = 0) {
- this.subchannelList = subchannelList;
- this.nextIndex = nextIndex;
- }
- pick(pickArgs) {
- const pickedSubchannel = this.subchannelList[this.nextIndex];
- this.nextIndex = (this.nextIndex + 1) % this.subchannelList.length;
- return {
- pickResultType: picker_1.PickResultType.COMPLETE,
- subchannel: pickedSubchannel,
- status: null,
- onCallStarted: null,
- onCallEnded: null,
- };
- }
- /**
- * Check what the next subchannel returned would be. Used by the load
- * balancer implementation to preserve this part of the picker state if
- * possible when a subchannel connects or disconnects.
- */
- peekNextSubchannel() {
- return this.subchannelList[this.nextIndex];
- }
-}
-class RoundRobinLoadBalancer {
- constructor(channelControlHelper) {
- this.channelControlHelper = channelControlHelper;
- this.subchannels = [];
- this.currentState = connectivity_state_1.ConnectivityState.IDLE;
- this.currentReadyPicker = null;
- this.lastError = null;
- this.subchannelStateListener = (subchannel, previousState, newState, keepaliveTime, errorMessage) => {
- this.calculateAndUpdateState();
- if (newState === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE ||
- newState === connectivity_state_1.ConnectivityState.IDLE) {
- if (errorMessage) {
- this.lastError = errorMessage;
- }
- this.channelControlHelper.requestReresolution();
- subchannel.startConnecting();
- }
- };
- }
- countSubchannelsWithState(state) {
- return this.subchannels.filter(subchannel => subchannel.getConnectivityState() === state).length;
- }
- calculateAndUpdateState() {
- if (this.countSubchannelsWithState(connectivity_state_1.ConnectivityState.READY) > 0) {
- const readySubchannels = this.subchannels.filter(subchannel => subchannel.getConnectivityState() === connectivity_state_1.ConnectivityState.READY);
- let index = 0;
- if (this.currentReadyPicker !== null) {
- index = readySubchannels.indexOf(this.currentReadyPicker.peekNextSubchannel());
- if (index < 0) {
- index = 0;
- }
- }
- this.updateState(connectivity_state_1.ConnectivityState.READY, new RoundRobinPicker(readySubchannels, index));
- }
- else if (this.countSubchannelsWithState(connectivity_state_1.ConnectivityState.CONNECTING) > 0) {
- this.updateState(connectivity_state_1.ConnectivityState.CONNECTING, new picker_1.QueuePicker(this));
- }
- else if (this.countSubchannelsWithState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) > 0) {
- this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker({ details: `No connection established. Last error: ${this.lastError}` }));
- }
- else {
- this.updateState(connectivity_state_1.ConnectivityState.IDLE, new picker_1.QueuePicker(this));
- }
- }
- updateState(newState, picker) {
- trace(connectivity_state_1.ConnectivityState[this.currentState] +
- ' -> ' +
- connectivity_state_1.ConnectivityState[newState]);
- if (newState === connectivity_state_1.ConnectivityState.READY) {
- this.currentReadyPicker = picker;
- }
- else {
- this.currentReadyPicker = null;
- }
- this.currentState = newState;
- this.channelControlHelper.updateState(newState, picker);
- }
- resetSubchannelList() {
- for (const subchannel of this.subchannels) {
- subchannel.removeConnectivityStateListener(this.subchannelStateListener);
- subchannel.unref();
- this.channelControlHelper.removeChannelzChild(subchannel.getChannelzRef());
- }
- this.subchannels = [];
- }
- updateAddressList(addressList, lbConfig) {
- this.resetSubchannelList();
- trace('Connect to address list ' +
- addressList.map(address => (0, subchannel_address_1.subchannelAddressToString)(address)));
- this.subchannels = addressList.map(address => this.channelControlHelper.createSubchannel(address, {}));
- for (const subchannel of this.subchannels) {
- subchannel.ref();
- subchannel.addConnectivityStateListener(this.subchannelStateListener);
- this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
- const subchannelState = subchannel.getConnectivityState();
- if (subchannelState === connectivity_state_1.ConnectivityState.IDLE ||
- subchannelState === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
- subchannel.startConnecting();
- }
- }
- this.calculateAndUpdateState();
- }
- exitIdle() {
- for (const subchannel of this.subchannels) {
- subchannel.startConnecting();
- }
- }
- resetBackoff() {
- /* The pick first load balancer does not have a connection backoff, so this
- * does nothing */
- }
- destroy() {
- this.resetSubchannelList();
- }
- getTypeName() {
- return TYPE_NAME;
- }
-}
-exports.RoundRobinLoadBalancer = RoundRobinLoadBalancer;
-function setup() {
- (0, load_balancer_1.registerLoadBalancerType)(TYPE_NAME, RoundRobinLoadBalancer, RoundRobinLoadBalancingConfig);
-}
-exports.setup = setup;
-//# sourceMappingURL=load-balancer-round-robin.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js.map b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js.map
deleted file mode 100644
index 43648779c8ddd4e3711e466bb29d24c2ab0cba43..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"load-balancer-round-robin.js","sourceRoot":"","sources":["../../src/load-balancer-round-robin.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts
deleted file mode 100644
index 52f86a288191cf4dbf2407936967ab523ee89088..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import { ChannelOptions } from './channel-options';
-import { SubchannelAddress } from './subchannel-address';
-import { ConnectivityState } from './connectivity-state';
-import { Picker } from './picker';
-import { ChannelRef, SubchannelRef } from './channelz';
-import { SubchannelInterface } from './subchannel-interface';
-/**
- * A collection of functions associated with a channel that a load balancer
- * can call as necessary.
- */
-export interface ChannelControlHelper {
- /**
- * Returns a subchannel connected to the specified address.
- * @param subchannelAddress The address to connect to
- * @param subchannelArgs Extra channel arguments specified by the load balancer
- */
- createSubchannel(subchannelAddress: SubchannelAddress, subchannelArgs: ChannelOptions): SubchannelInterface;
- /**
- * Passes a new subchannel picker up to the channel. This is called if either
- * the connectivity state changes or if a different picker is needed for any
- * other reason.
- * @param connectivityState New connectivity state
- * @param picker New picker
- */
- updateState(connectivityState: ConnectivityState, picker: Picker): void;
- /**
- * Request new data from the resolver.
- */
- requestReresolution(): void;
- addChannelzChild(child: ChannelRef | SubchannelRef): void;
- removeChannelzChild(child: ChannelRef | SubchannelRef): void;
-}
-/**
- * Create a child ChannelControlHelper that overrides some methods of the
- * parent while letting others pass through to the parent unmodified. This
- * allows other code to create these children without needing to know about
- * all of the methods to be passed through.
- * @param parent
- * @param overrides
- */
-export declare function createChildChannelControlHelper(parent: ChannelControlHelper, overrides: Partial): ChannelControlHelper;
-/**
- * Tracks one or more connected subchannels and determines which subchannel
- * each request should use.
- */
-export interface LoadBalancer {
- /**
- * Gives the load balancer a new list of addresses to start connecting to.
- * The load balancer will start establishing connections with the new list,
- * but will continue using any existing connections until the new connections
- * are established
- * @param addressList The new list of addresses to connect to
- * @param lbConfig The load balancing config object from the service config,
- * if one was provided
- */
- updateAddressList(addressList: SubchannelAddress[], lbConfig: LoadBalancingConfig, attributes: {
- [key: string]: unknown;
- }): void;
- /**
- * If the load balancer is currently in the IDLE state, start connecting.
- */
- exitIdle(): void;
- /**
- * If the load balancer is currently in the CONNECTING or TRANSIENT_FAILURE
- * state, reset the current connection backoff timeout to its base value and
- * transition to CONNECTING if in TRANSIENT_FAILURE.
- */
- resetBackoff(): void;
- /**
- * The load balancer unrefs all of its subchannels and stops calling methods
- * of its channel control helper.
- */
- destroy(): void;
- /**
- * Get the type name for this load balancer type. Must be constant across an
- * entire load balancer implementation class and must match the name that the
- * balancer implementation class was registered with.
- */
- getTypeName(): string;
-}
-export interface LoadBalancerConstructor {
- new (channelControlHelper: ChannelControlHelper): LoadBalancer;
-}
-export interface LoadBalancingConfig {
- getLoadBalancerName(): string;
- toJsonObject(): object;
-}
-export interface LoadBalancingConfigConstructor {
- new (...args: any): LoadBalancingConfig;
- createFromJson(obj: any): LoadBalancingConfig;
-}
-export declare function registerLoadBalancerType(typeName: string, loadBalancerType: LoadBalancerConstructor, loadBalancingConfigType: LoadBalancingConfigConstructor): void;
-export declare function registerDefaultLoadBalancerType(typeName: string): void;
-export declare function createLoadBalancer(config: LoadBalancingConfig, channelControlHelper: ChannelControlHelper): LoadBalancer | null;
-export declare function isLoadBalancerNameRegistered(typeName: string): boolean;
-export declare function getFirstUsableConfig(configs: LoadBalancingConfig[], fallbackTodefault?: true): LoadBalancingConfig;
-export declare function validateLoadBalancingConfig(obj: any): LoadBalancingConfig;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer.js b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer.js
deleted file mode 100644
index ac4956ef75297fe3341f67029e0308a70de5dacb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer.js
+++ /dev/null
@@ -1,103 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.validateLoadBalancingConfig = exports.getFirstUsableConfig = exports.isLoadBalancerNameRegistered = exports.createLoadBalancer = exports.registerDefaultLoadBalancerType = exports.registerLoadBalancerType = exports.createChildChannelControlHelper = void 0;
-/**
- * Create a child ChannelControlHelper that overrides some methods of the
- * parent while letting others pass through to the parent unmodified. This
- * allows other code to create these children without needing to know about
- * all of the methods to be passed through.
- * @param parent
- * @param overrides
- */
-function createChildChannelControlHelper(parent, overrides) {
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
- return {
- createSubchannel: (_b = (_a = overrides.createSubchannel) === null || _a === void 0 ? void 0 : _a.bind(overrides)) !== null && _b !== void 0 ? _b : parent.createSubchannel.bind(parent),
- updateState: (_d = (_c = overrides.updateState) === null || _c === void 0 ? void 0 : _c.bind(overrides)) !== null && _d !== void 0 ? _d : parent.updateState.bind(parent),
- requestReresolution: (_f = (_e = overrides.requestReresolution) === null || _e === void 0 ? void 0 : _e.bind(overrides)) !== null && _f !== void 0 ? _f : parent.requestReresolution.bind(parent),
- addChannelzChild: (_h = (_g = overrides.addChannelzChild) === null || _g === void 0 ? void 0 : _g.bind(overrides)) !== null && _h !== void 0 ? _h : parent.addChannelzChild.bind(parent),
- removeChannelzChild: (_k = (_j = overrides.removeChannelzChild) === null || _j === void 0 ? void 0 : _j.bind(overrides)) !== null && _k !== void 0 ? _k : parent.removeChannelzChild.bind(parent),
- };
-}
-exports.createChildChannelControlHelper = createChildChannelControlHelper;
-const registeredLoadBalancerTypes = {};
-let defaultLoadBalancerType = null;
-function registerLoadBalancerType(typeName, loadBalancerType, loadBalancingConfigType) {
- registeredLoadBalancerTypes[typeName] = {
- LoadBalancer: loadBalancerType,
- LoadBalancingConfig: loadBalancingConfigType,
- };
-}
-exports.registerLoadBalancerType = registerLoadBalancerType;
-function registerDefaultLoadBalancerType(typeName) {
- defaultLoadBalancerType = typeName;
-}
-exports.registerDefaultLoadBalancerType = registerDefaultLoadBalancerType;
-function createLoadBalancer(config, channelControlHelper) {
- const typeName = config.getLoadBalancerName();
- if (typeName in registeredLoadBalancerTypes) {
- return new registeredLoadBalancerTypes[typeName].LoadBalancer(channelControlHelper);
- }
- else {
- return null;
- }
-}
-exports.createLoadBalancer = createLoadBalancer;
-function isLoadBalancerNameRegistered(typeName) {
- return typeName in registeredLoadBalancerTypes;
-}
-exports.isLoadBalancerNameRegistered = isLoadBalancerNameRegistered;
-function getFirstUsableConfig(configs, fallbackTodefault = false) {
- for (const config of configs) {
- if (config.getLoadBalancerName() in registeredLoadBalancerTypes) {
- return config;
- }
- }
- if (fallbackTodefault) {
- if (defaultLoadBalancerType) {
- return new registeredLoadBalancerTypes[defaultLoadBalancerType].LoadBalancingConfig();
- }
- else {
- return null;
- }
- }
- else {
- return null;
- }
-}
-exports.getFirstUsableConfig = getFirstUsableConfig;
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-function validateLoadBalancingConfig(obj) {
- if (!(obj !== null && typeof obj === 'object')) {
- throw new Error('Load balancing config must be an object');
- }
- const keys = Object.keys(obj);
- if (keys.length !== 1) {
- throw new Error('Provided load balancing config has multiple conflicting entries');
- }
- const typeName = keys[0];
- if (typeName in registeredLoadBalancerTypes) {
- return registeredLoadBalancerTypes[typeName].LoadBalancingConfig.createFromJson(obj[typeName]);
- }
- else {
- throw new Error(`Unrecognized load balancing config name ${typeName}`);
- }
-}
-exports.validateLoadBalancingConfig = validateLoadBalancingConfig;
-//# sourceMappingURL=load-balancer.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer.js.map b/tests/node_modules/@grpc/grpc-js/build/src/load-balancer.js.map
deleted file mode 100644
index 074791c2b73087f44b20f5ede3aebde338a74644..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancer.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"load-balancer.js","sourceRoot":"","sources":["../../src/load-balancer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAuCH;;;;;;;GAOG;AACH,SAAgB,+BAA+B,CAC7C,MAA4B,EAC5B,SAAwC;;IAExC,OAAO;QACL,gBAAgB,EACd,MAAA,MAAA,SAAS,CAAC,gBAAgB,0CAAE,IAAI,CAAC,SAAS,CAAC,mCAC3C,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,WAAW,EACT,MAAA,MAAA,SAAS,CAAC,WAAW,0CAAE,IAAI,CAAC,SAAS,CAAC,mCAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3E,mBAAmB,EACjB,MAAA,MAAA,SAAS,CAAC,mBAAmB,0CAAE,IAAI,CAAC,SAAS,CAAC,mCAC9C,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QACzC,gBAAgB,EACd,MAAA,MAAA,SAAS,CAAC,gBAAgB,0CAAE,IAAI,CAAC,SAAS,CAAC,mCAC3C,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,mBAAmB,EACjB,MAAA,MAAA,SAAS,CAAC,mBAAmB,0CAAE,IAAI,CAAC,SAAS,CAAC,mCAC9C,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;KAC1C,CAAC;AACJ,CAAC;AApBD,0EAoBC;AA4DD,MAAM,2BAA2B,GAK7B,EAAE,CAAC;AAEP,IAAI,uBAAuB,GAAkB,IAAI,CAAC;AAElD,SAAgB,wBAAwB,CACtC,QAAgB,EAChB,gBAAyC,EACzC,uBAAuD;IAEvD,2BAA2B,CAAC,QAAQ,CAAC,GAAG;QACtC,YAAY,EAAE,gBAAgB;QAC9B,mBAAmB,EAAE,uBAAuB;KAC7C,CAAC;AACJ,CAAC;AATD,4DASC;AAED,SAAgB,+BAA+B,CAAC,QAAgB;IAC9D,uBAAuB,GAAG,QAAQ,CAAC;AACrC,CAAC;AAFD,0EAEC;AAED,SAAgB,kBAAkB,CAChC,MAA2B,EAC3B,oBAA0C;IAE1C,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC9C,IAAI,QAAQ,IAAI,2BAA2B,EAAE;QAC3C,OAAO,IAAI,2BAA2B,CAAC,QAAQ,CAAC,CAAC,YAAY,CAC3D,oBAAoB,CACrB,CAAC;KACH;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAZD,gDAYC;AAED,SAAgB,4BAA4B,CAAC,QAAgB;IAC3D,OAAO,QAAQ,IAAI,2BAA2B,CAAC;AACjD,CAAC;AAFD,oEAEC;AAMD,SAAgB,oBAAoB,CAClC,OAA8B,EAC9B,iBAAiB,GAAG,KAAK;IAEzB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,MAAM,CAAC,mBAAmB,EAAE,IAAI,2BAA2B,EAAE;YAC/D,OAAO,MAAM,CAAC;SACf;KACF;IACD,IAAI,iBAAiB,EAAE;QACrB,IAAI,uBAAuB,EAAE;YAC3B,OAAO,IAAI,2BAA2B,CACpC,uBAAuB,CACvB,CAAC,mBAAmB,EAAE,CAAC;SAC1B;aAAM;YACL,OAAO,IAAI,CAAC;SACb;KACF;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AApBD,oDAoBC;AAED,8DAA8D;AAC9D,SAAgB,2BAA2B,CAAC,GAAQ;IAClD,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC5D;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;KACH;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,QAAQ,IAAI,2BAA2B,EAAE;QAC3C,OAAO,2BAA2B,CAChC,QAAQ,CACT,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;KACrD;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,EAAE,CAAC,CAAC;KACxE;AACH,CAAC;AAlBD,kEAkBC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancing-call.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/load-balancing-call.d.ts
deleted file mode 100644
index fe61f5b06e26897a263c97b09bd6e4c5a8de7c44..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancing-call.d.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-///
-import { CallCredentials } from './call-credentials';
-import { Call, InterceptingListener, MessageContext, StatusObject } from './call-interface';
-import { Status } from './constants';
-import { Deadline } from './deadline';
-import { InternalChannel } from './internal-channel';
-import { Metadata } from './metadata';
-import { CallConfig } from './resolver';
-export type RpcProgress = 'NOT_STARTED' | 'DROP' | 'REFUSED' | 'PROCESSED';
-export interface StatusObjectWithProgress extends StatusObject {
- progress: RpcProgress;
-}
-export interface LoadBalancingCallInterceptingListener extends InterceptingListener {
- onReceiveStatus(status: StatusObjectWithProgress): void;
-}
-export declare class LoadBalancingCall implements Call {
- private readonly channel;
- private readonly callConfig;
- private readonly methodName;
- private readonly host;
- private readonly credentials;
- private readonly deadline;
- private readonly callNumber;
- private child;
- private readPending;
- private pendingMessage;
- private pendingHalfClose;
- private ended;
- private serviceUrl;
- private metadata;
- private listener;
- private onCallEnded;
- constructor(channel: InternalChannel, callConfig: CallConfig, methodName: string, host: string, credentials: CallCredentials, deadline: Deadline, callNumber: number);
- private trace;
- private outputStatus;
- doPick(): void;
- cancelWithStatus(status: Status, details: string): void;
- getPeer(): string;
- start(metadata: Metadata, listener: LoadBalancingCallInterceptingListener): void;
- sendMessageWithContext(context: MessageContext, message: Buffer): void;
- startRead(): void;
- halfClose(): void;
- setCredentials(credentials: CallCredentials): void;
- getCallNumber(): number;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js b/tests/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js
deleted file mode 100644
index 964891a82892a782e4daf77e453ed4ba6926b0d6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js
+++ /dev/null
@@ -1,269 +0,0 @@
-"use strict";
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.LoadBalancingCall = void 0;
-const connectivity_state_1 = require("./connectivity-state");
-const constants_1 = require("./constants");
-const deadline_1 = require("./deadline");
-const metadata_1 = require("./metadata");
-const picker_1 = require("./picker");
-const uri_parser_1 = require("./uri-parser");
-const logging = require("./logging");
-const control_plane_status_1 = require("./control-plane-status");
-const http2 = require("http2");
-const TRACER_NAME = 'load_balancing_call';
-class LoadBalancingCall {
- constructor(channel, callConfig, methodName, host, credentials, deadline, callNumber) {
- var _a, _b;
- this.channel = channel;
- this.callConfig = callConfig;
- this.methodName = methodName;
- this.host = host;
- this.credentials = credentials;
- this.deadline = deadline;
- this.callNumber = callNumber;
- this.child = null;
- this.readPending = false;
- this.pendingMessage = null;
- this.pendingHalfClose = false;
- this.ended = false;
- this.metadata = null;
- this.listener = null;
- this.onCallEnded = null;
- const splitPath = this.methodName.split('/');
- let serviceName = '';
- /* The standard path format is "/{serviceName}/{methodName}", so if we split
- * by '/', the first item should be empty and the second should be the
- * service name */
- if (splitPath.length >= 2) {
- serviceName = splitPath[1];
- }
- const hostname = (_b = (_a = (0, uri_parser_1.splitHostPort)(this.host)) === null || _a === void 0 ? void 0 : _a.host) !== null && _b !== void 0 ? _b : 'localhost';
- /* Currently, call credentials are only allowed on HTTPS connections, so we
- * can assume that the scheme is "https" */
- this.serviceUrl = `https://${hostname}/${serviceName}`;
- }
- trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, '[' + this.callNumber + '] ' + text);
- }
- outputStatus(status, progress) {
- var _a, _b;
- if (!this.ended) {
- this.ended = true;
- this.trace('ended with status: code=' +
- status.code +
- ' details="' +
- status.details +
- '"');
- const finalStatus = Object.assign(Object.assign({}, status), { progress });
- (_a = this.listener) === null || _a === void 0 ? void 0 : _a.onReceiveStatus(finalStatus);
- (_b = this.onCallEnded) === null || _b === void 0 ? void 0 : _b.call(this, finalStatus.code);
- }
- }
- doPick() {
- var _a, _b;
- if (this.ended) {
- return;
- }
- if (!this.metadata) {
- throw new Error('doPick called before start');
- }
- this.trace('Pick called');
- const pickResult = this.channel.doPick(this.metadata, this.callConfig.pickInformation);
- const subchannelString = pickResult.subchannel
- ? '(' +
- pickResult.subchannel.getChannelzRef().id +
- ') ' +
- pickResult.subchannel.getAddress()
- : '' + pickResult.subchannel;
- this.trace('Pick result: ' +
- picker_1.PickResultType[pickResult.pickResultType] +
- ' subchannel: ' +
- subchannelString +
- ' status: ' +
- ((_a = pickResult.status) === null || _a === void 0 ? void 0 : _a.code) +
- ' ' +
- ((_b = pickResult.status) === null || _b === void 0 ? void 0 : _b.details));
- switch (pickResult.pickResultType) {
- case picker_1.PickResultType.COMPLETE:
- this.credentials
- .generateMetadata({ service_url: this.serviceUrl })
- .then(credsMetadata => {
- var _a, _b, _c;
- /* If this call was cancelled (e.g. by the deadline) before
- * metadata generation finished, we shouldn't do anything with
- * it. */
- if (this.ended) {
- this.trace('Credentials metadata generation finished after call ended');
- return;
- }
- const finalMetadata = this.metadata.clone();
- finalMetadata.merge(credsMetadata);
- if (finalMetadata.get('authorization').length > 1) {
- this.outputStatus({
- code: constants_1.Status.INTERNAL,
- details: '"authorization" metadata cannot have multiple values',
- metadata: new metadata_1.Metadata(),
- }, 'PROCESSED');
- }
- if (pickResult.subchannel.getConnectivityState() !==
- connectivity_state_1.ConnectivityState.READY) {
- this.trace('Picked subchannel ' +
- subchannelString +
- ' has state ' +
- connectivity_state_1.ConnectivityState[pickResult.subchannel.getConnectivityState()] +
- ' after getting credentials metadata. Retrying pick');
- this.doPick();
- return;
- }
- if (this.deadline !== Infinity) {
- finalMetadata.set('grpc-timeout', (0, deadline_1.getDeadlineTimeoutString)(this.deadline));
- }
- try {
- this.child = pickResult
- .subchannel.getRealSubchannel()
- .createCall(finalMetadata, this.host, this.methodName, {
- onReceiveMetadata: metadata => {
- this.trace('Received metadata');
- this.listener.onReceiveMetadata(metadata);
- },
- onReceiveMessage: message => {
- this.trace('Received message');
- this.listener.onReceiveMessage(message);
- },
- onReceiveStatus: status => {
- this.trace('Received status');
- if (status.rstCode ===
- http2.constants.NGHTTP2_REFUSED_STREAM) {
- this.outputStatus(status, 'REFUSED');
- }
- else {
- this.outputStatus(status, 'PROCESSED');
- }
- },
- });
- }
- catch (error) {
- this.trace('Failed to start call on picked subchannel ' +
- subchannelString +
- ' with error ' +
- error.message);
- this.outputStatus({
- code: constants_1.Status.INTERNAL,
- details: 'Failed to start HTTP/2 stream with error ' +
- error.message,
- metadata: new metadata_1.Metadata(),
- }, 'NOT_STARTED');
- return;
- }
- (_b = (_a = this.callConfig).onCommitted) === null || _b === void 0 ? void 0 : _b.call(_a);
- (_c = pickResult.onCallStarted) === null || _c === void 0 ? void 0 : _c.call(pickResult);
- this.onCallEnded = pickResult.onCallEnded;
- this.trace('Created child call [' + this.child.getCallNumber() + ']');
- if (this.readPending) {
- this.child.startRead();
- }
- if (this.pendingMessage) {
- this.child.sendMessageWithContext(this.pendingMessage.context, this.pendingMessage.message);
- }
- if (this.pendingHalfClose) {
- this.child.halfClose();
- }
- }, (error) => {
- // We assume the error code isn't 0 (Status.OK)
- const { code, details } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(typeof error.code === 'number' ? error.code : constants_1.Status.UNKNOWN, `Getting metadata from plugin failed with error: ${error.message}`);
- this.outputStatus({
- code: code,
- details: details,
- metadata: new metadata_1.Metadata(),
- }, 'PROCESSED');
- });
- break;
- case picker_1.PickResultType.DROP:
- const { code, details } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(pickResult.status.code, pickResult.status.details);
- setImmediate(() => {
- this.outputStatus({ code, details, metadata: pickResult.status.metadata }, 'DROP');
- });
- break;
- case picker_1.PickResultType.TRANSIENT_FAILURE:
- if (this.metadata.getOptions().waitForReady) {
- this.channel.queueCallForPick(this);
- }
- else {
- const { code, details } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(pickResult.status.code, pickResult.status.details);
- setImmediate(() => {
- this.outputStatus({ code, details, metadata: pickResult.status.metadata }, 'PROCESSED');
- });
- }
- break;
- case picker_1.PickResultType.QUEUE:
- this.channel.queueCallForPick(this);
- }
- }
- cancelWithStatus(status, details) {
- var _a;
- this.trace('cancelWithStatus code: ' + status + ' details: "' + details + '"');
- (_a = this.child) === null || _a === void 0 ? void 0 : _a.cancelWithStatus(status, details);
- this.outputStatus({ code: status, details: details, metadata: new metadata_1.Metadata() }, 'PROCESSED');
- }
- getPeer() {
- var _a, _b;
- return (_b = (_a = this.child) === null || _a === void 0 ? void 0 : _a.getPeer()) !== null && _b !== void 0 ? _b : this.channel.getTarget();
- }
- start(metadata, listener) {
- this.trace('start called');
- this.listener = listener;
- this.metadata = metadata;
- this.doPick();
- }
- sendMessageWithContext(context, message) {
- this.trace('write() called with message of length ' + message.length);
- if (this.child) {
- this.child.sendMessageWithContext(context, message);
- }
- else {
- this.pendingMessage = { context, message };
- }
- }
- startRead() {
- this.trace('startRead called');
- if (this.child) {
- this.child.startRead();
- }
- else {
- this.readPending = true;
- }
- }
- halfClose() {
- this.trace('halfClose called');
- if (this.child) {
- this.child.halfClose();
- }
- else {
- this.pendingHalfClose = true;
- }
- }
- setCredentials(credentials) {
- throw new Error('Method not implemented.');
- }
- getCallNumber() {
- return this.callNumber;
- }
-}
-exports.LoadBalancingCall = LoadBalancingCall;
-//# sourceMappingURL=load-balancing-call.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js.map b/tests/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js.map
deleted file mode 100644
index 579ce8e5e2624552da98c6f7b75fb33fd015a6c6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"load-balancing-call.js","sourceRoot":"","sources":["../../src/load-balancing-call.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/logging.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/logging.d.ts
deleted file mode 100644
index f89da44fe906f73ecc576a7bc620d6472622e140..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/logging.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { LogVerbosity } from './constants';
-export declare const getLogger: () => Partial;
-export declare const setLogger: (logger: Partial) => void;
-export declare const setLoggerVerbosity: (verbosity: LogVerbosity) => void;
-export declare const log: (severity: LogVerbosity, ...args: any[]) => void;
-export declare function trace(severity: LogVerbosity, tracer: string, text: string): void;
-export declare function isTracerEnabled(tracer: string): boolean;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/logging.js b/tests/node_modules/@grpc/grpc-js/build/src/logging.js
deleted file mode 100644
index 3686d4d296e8851cfafa245fc7a8ec14945577b5..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/logging.js
+++ /dev/null
@@ -1,114 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-var _a, _b, _c, _d;
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.isTracerEnabled = exports.trace = exports.log = exports.setLoggerVerbosity = exports.setLogger = exports.getLogger = void 0;
-const constants_1 = require("./constants");
-const process_1 = require("process");
-const clientVersion = require('../../package.json').version;
-const DEFAULT_LOGGER = {
- error: (message, ...optionalParams) => {
- console.error('E ' + message, ...optionalParams);
- },
- info: (message, ...optionalParams) => {
- console.error('I ' + message, ...optionalParams);
- },
- debug: (message, ...optionalParams) => {
- console.error('D ' + message, ...optionalParams);
- },
-};
-let _logger = DEFAULT_LOGGER;
-let _logVerbosity = constants_1.LogVerbosity.ERROR;
-const verbosityString = (_b = (_a = process.env.GRPC_NODE_VERBOSITY) !== null && _a !== void 0 ? _a : process.env.GRPC_VERBOSITY) !== null && _b !== void 0 ? _b : '';
-switch (verbosityString.toUpperCase()) {
- case 'DEBUG':
- _logVerbosity = constants_1.LogVerbosity.DEBUG;
- break;
- case 'INFO':
- _logVerbosity = constants_1.LogVerbosity.INFO;
- break;
- case 'ERROR':
- _logVerbosity = constants_1.LogVerbosity.ERROR;
- break;
- case 'NONE':
- _logVerbosity = constants_1.LogVerbosity.NONE;
- break;
- default:
- // Ignore any other values
-}
-const getLogger = () => {
- return _logger;
-};
-exports.getLogger = getLogger;
-const setLogger = (logger) => {
- _logger = logger;
-};
-exports.setLogger = setLogger;
-const setLoggerVerbosity = (verbosity) => {
- _logVerbosity = verbosity;
-};
-exports.setLoggerVerbosity = setLoggerVerbosity;
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-const log = (severity, ...args) => {
- let logFunction;
- if (severity >= _logVerbosity) {
- switch (severity) {
- case constants_1.LogVerbosity.DEBUG:
- logFunction = _logger.debug;
- break;
- case constants_1.LogVerbosity.INFO:
- logFunction = _logger.info;
- break;
- case constants_1.LogVerbosity.ERROR:
- logFunction = _logger.error;
- break;
- }
- /* Fall back to _logger.error when other methods are not available for
- * compatiblity with older behavior that always logged to _logger.error */
- if (!logFunction) {
- logFunction = _logger.error;
- }
- if (logFunction) {
- logFunction.bind(_logger)(...args);
- }
- }
-};
-exports.log = log;
-const tracersString = (_d = (_c = process.env.GRPC_NODE_TRACE) !== null && _c !== void 0 ? _c : process.env.GRPC_TRACE) !== null && _d !== void 0 ? _d : '';
-const enabledTracers = new Set();
-const disabledTracers = new Set();
-for (const tracerName of tracersString.split(',')) {
- if (tracerName.startsWith('-')) {
- disabledTracers.add(tracerName.substring(1));
- }
- else {
- enabledTracers.add(tracerName);
- }
-}
-const allEnabled = enabledTracers.has('all');
-function trace(severity, tracer, text) {
- if (isTracerEnabled(tracer)) {
- (0, exports.log)(severity, new Date().toISOString() + ' | v' + clientVersion + ' ' + process_1.pid + ' | ' + tracer + ' | ' + text);
- }
-}
-exports.trace = trace;
-function isTracerEnabled(tracer) {
- return (!disabledTracers.has(tracer) && (allEnabled || enabledTracers.has(tracer)));
-}
-exports.isTracerEnabled = isTracerEnabled;
-//# sourceMappingURL=logging.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/logging.js.map b/tests/node_modules/@grpc/grpc-js/build/src/logging.js.map
deleted file mode 100644
index cd2716a5f173494e24687d7cea9f057a3a6c91b9..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/logging.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;AAEH,2CAA2C;AAC3C,qCAA8B;AAE9B,MAAM,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAE5D,MAAM,cAAc,GAAqB;IACvC,KAAK,EAAE,CAAC,OAAa,EAAE,GAAG,cAAqB,EAAE,EAAE;QACjD,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,EAAE,CAAC,OAAa,EAAE,GAAG,cAAqB,EAAE,EAAE;QAChD,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,EAAE,CAAC,OAAa,EAAE,GAAG,cAAqB,EAAE,EAAE;QACjD,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IACnD,CAAC;CACF,CAAC;AAEF,IAAI,OAAO,GAAqB,cAAc,CAAC;AAC/C,IAAI,aAAa,GAAiB,wBAAY,CAAC,KAAK,CAAC;AAErD,MAAM,eAAe,GACnB,MAAA,MAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,mCAAI,OAAO,CAAC,GAAG,CAAC,cAAc,mCAAI,EAAE,CAAC;AAEtE,QAAQ,eAAe,CAAC,WAAW,EAAE,EAAE;IACrC,KAAK,OAAO;QACV,aAAa,GAAG,wBAAY,CAAC,KAAK,CAAC;QACnC,MAAM;IACR,KAAK,MAAM;QACT,aAAa,GAAG,wBAAY,CAAC,IAAI,CAAC;QAClC,MAAM;IACR,KAAK,OAAO;QACV,aAAa,GAAG,wBAAY,CAAC,KAAK,CAAC;QACnC,MAAM;IACR,KAAK,MAAM;QACT,aAAa,GAAG,wBAAY,CAAC,IAAI,CAAC;QAClC,MAAM;IACR,QAAQ;IACR,0BAA0B;CAC3B;AAEM,MAAM,SAAS,GAAG,GAAqB,EAAE;IAC9C,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,SAAS,GAAG,CAAC,MAAwB,EAAQ,EAAE;IAC1D,OAAO,GAAG,MAAM,CAAC;AACnB,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,kBAAkB,GAAG,CAAC,SAAuB,EAAQ,EAAE;IAClE,aAAa,GAAG,SAAS,CAAC;AAC5B,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEF,8DAA8D;AACvD,MAAM,GAAG,GAAG,CAAC,QAAsB,EAAE,GAAG,IAAW,EAAQ,EAAE;IAClE,IAAI,WAAwC,CAAC;IAC7C,IAAI,QAAQ,IAAI,aAAa,EAAE;QAC7B,QAAQ,QAAQ,EAAE;YAChB,KAAK,wBAAY,CAAC,KAAK;gBACrB,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC5B,MAAM;YACR,KAAK,wBAAY,CAAC,IAAI;gBACpB,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC3B,MAAM;YACR,KAAK,wBAAY,CAAC,KAAK;gBACrB,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC5B,MAAM;SACT;QACD;kFAC0E;QAC1E,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;SAC7B;QACD,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SACpC;KACF;AACH,CAAC,CAAC;AAvBW,QAAA,GAAG,OAuBd;AAEF,MAAM,aAAa,GACjB,MAAA,MAAA,OAAO,CAAC,GAAG,CAAC,eAAe,mCAAI,OAAO,CAAC,GAAG,CAAC,UAAU,mCAAI,EAAE,CAAC;AAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AACzC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;AAC1C,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjD,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC9B,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9C;SAAM;QACL,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAChC;CACF;AACD,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAE7C,SAAgB,KAAK,CACnB,QAAsB,EACtB,MAAc,EACd,IAAY;IAEZ,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;QAC3B,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,MAAM,GAAG,aAAa,GAAG,GAAG,GAAG,aAAG,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;KAC9G;AACH,CAAC;AARD,sBAQC;AAED,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO,CACL,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAC3E,CAAC;AACJ,CAAC;AAJD,0CAIC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/make-client.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/make-client.d.ts
deleted file mode 100644
index 39b59c18f02a45a96fa5c23ef756ba1a48ece468..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/make-client.d.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-///
-import { ChannelCredentials } from './channel-credentials';
-import { ChannelOptions } from './channel-options';
-import { Client } from './client';
-import { UntypedServiceImplementation } from './server';
-export interface Serialize {
- (value: T): Buffer;
-}
-export interface Deserialize {
- (bytes: Buffer): T;
-}
-export interface ClientMethodDefinition {
- path: string;
- requestStream: boolean;
- responseStream: boolean;
- requestSerialize: Serialize;
- responseDeserialize: Deserialize;
- originalName?: string;
-}
-export interface ServerMethodDefinition {
- path: string;
- requestStream: boolean;
- responseStream: boolean;
- responseSerialize: Serialize;
- requestDeserialize: Deserialize;
- originalName?: string;
-}
-export interface MethodDefinition extends ClientMethodDefinition, ServerMethodDefinition {
-}
-export type ServiceDefinition = {
- readonly [index in keyof ImplementationType]: MethodDefinition;
-};
-export interface ProtobufTypeDefinition {
- format: string;
- type: object;
- fileDescriptorProtos: Buffer[];
-}
-export interface PackageDefinition {
- [index: string]: ServiceDefinition | ProtobufTypeDefinition;
-}
-export interface ServiceClient extends Client {
- [methodName: string]: Function;
-}
-export interface ServiceClientConstructor {
- new (address: string, credentials: ChannelCredentials, options?: Partial): ServiceClient;
- service: ServiceDefinition;
- serviceName: string;
-}
-/**
- * Creates a constructor for a client with the given methods, as specified in
- * the methods argument. The resulting class will have an instance method for
- * each method in the service, which is a partial application of one of the
- * [Client]{@link grpc.Client} request methods, depending on `requestSerialize`
- * and `responseSerialize`, with the `method`, `serialize`, and `deserialize`
- * arguments predefined.
- * @param methods An object mapping method names to
- * method attributes
- * @param serviceName The fully qualified name of the service
- * @param classOptions An options object.
- * @return New client constructor, which is a subclass of
- * {@link grpc.Client}, and has the same arguments as that constructor.
- */
-export declare function makeClientConstructor(methods: ServiceDefinition, serviceName: string, classOptions?: {}): ServiceClientConstructor;
-export interface GrpcObject {
- [index: string]: GrpcObject | ServiceClientConstructor | ProtobufTypeDefinition;
-}
-/**
- * Load a gRPC package definition as a gRPC object hierarchy.
- * @param packageDef The package definition object.
- * @return The resulting gRPC object.
- */
-export declare function loadPackageDefinition(packageDef: PackageDefinition): GrpcObject;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/make-client.js b/tests/node_modules/@grpc/grpc-js/build/src/make-client.js
deleted file mode 100644
index 6f905691e1f37d8f97e6ad24dc23b8a3b7bd5d73..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/make-client.js
+++ /dev/null
@@ -1,144 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.loadPackageDefinition = exports.makeClientConstructor = void 0;
-const client_1 = require("./client");
-/**
- * Map with short names for each of the requester maker functions. Used in
- * makeClientConstructor
- * @private
- */
-const requesterFuncs = {
- unary: client_1.Client.prototype.makeUnaryRequest,
- server_stream: client_1.Client.prototype.makeServerStreamRequest,
- client_stream: client_1.Client.prototype.makeClientStreamRequest,
- bidi: client_1.Client.prototype.makeBidiStreamRequest,
-};
-/**
- * Returns true, if given key is included in the blacklisted
- * keys.
- * @param key key for check, string.
- */
-function isPrototypePolluted(key) {
- return ['__proto__', 'prototype', 'constructor'].includes(key);
-}
-/**
- * Creates a constructor for a client with the given methods, as specified in
- * the methods argument. The resulting class will have an instance method for
- * each method in the service, which is a partial application of one of the
- * [Client]{@link grpc.Client} request methods, depending on `requestSerialize`
- * and `responseSerialize`, with the `method`, `serialize`, and `deserialize`
- * arguments predefined.
- * @param methods An object mapping method names to
- * method attributes
- * @param serviceName The fully qualified name of the service
- * @param classOptions An options object.
- * @return New client constructor, which is a subclass of
- * {@link grpc.Client}, and has the same arguments as that constructor.
- */
-function makeClientConstructor(methods, serviceName, classOptions) {
- if (!classOptions) {
- classOptions = {};
- }
- class ServiceClientImpl extends client_1.Client {
- }
- Object.keys(methods).forEach(name => {
- if (isPrototypePolluted(name)) {
- return;
- }
- const attrs = methods[name];
- let methodType;
- // TODO(murgatroid99): Verify that we don't need this anymore
- if (typeof name === 'string' && name.charAt(0) === '$') {
- throw new Error('Method names cannot start with $');
- }
- if (attrs.requestStream) {
- if (attrs.responseStream) {
- methodType = 'bidi';
- }
- else {
- methodType = 'client_stream';
- }
- }
- else {
- if (attrs.responseStream) {
- methodType = 'server_stream';
- }
- else {
- methodType = 'unary';
- }
- }
- const serialize = attrs.requestSerialize;
- const deserialize = attrs.responseDeserialize;
- const methodFunc = partial(requesterFuncs[methodType], attrs.path, serialize, deserialize);
- ServiceClientImpl.prototype[name] = methodFunc;
- // Associate all provided attributes with the method
- Object.assign(ServiceClientImpl.prototype[name], attrs);
- if (attrs.originalName && !isPrototypePolluted(attrs.originalName)) {
- ServiceClientImpl.prototype[attrs.originalName] =
- ServiceClientImpl.prototype[name];
- }
- });
- ServiceClientImpl.service = methods;
- ServiceClientImpl.serviceName = serviceName;
- return ServiceClientImpl;
-}
-exports.makeClientConstructor = makeClientConstructor;
-function partial(fn, path, serialize, deserialize) {
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- return function (...args) {
- return fn.call(this, path, serialize, deserialize, ...args);
- };
-}
-function isProtobufTypeDefinition(obj) {
- return 'format' in obj;
-}
-/**
- * Load a gRPC package definition as a gRPC object hierarchy.
- * @param packageDef The package definition object.
- * @return The resulting gRPC object.
- */
-function loadPackageDefinition(packageDef) {
- const result = {};
- for (const serviceFqn in packageDef) {
- if (Object.prototype.hasOwnProperty.call(packageDef, serviceFqn)) {
- const service = packageDef[serviceFqn];
- const nameComponents = serviceFqn.split('.');
- if (nameComponents.some((comp) => isPrototypePolluted(comp))) {
- continue;
- }
- const serviceName = nameComponents[nameComponents.length - 1];
- let current = result;
- for (const packageName of nameComponents.slice(0, -1)) {
- if (!current[packageName]) {
- current[packageName] = {};
- }
- current = current[packageName];
- }
- if (isProtobufTypeDefinition(service)) {
- current[serviceName] = service;
- }
- else {
- current[serviceName] = makeClientConstructor(service, serviceName, {});
- }
- }
- }
- return result;
-}
-exports.loadPackageDefinition = loadPackageDefinition;
-//# sourceMappingURL=make-client.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/make-client.js.map b/tests/node_modules/@grpc/grpc-js/build/src/make-client.js.map
deleted file mode 100644
index d523dfb23aca1e5d9d93641bfdc0b1d22b49a9ea..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/make-client.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"make-client.js","sourceRoot":"","sources":["../../src/make-client.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.d.ts
deleted file mode 100644
index a497f2ce19cd9ffedc19438f60ef3752bd3000aa..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.d.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-///
-import { BaseFilter, Filter, FilterFactory } from './filter';
-import { WriteObject } from './call-interface';
-import { ChannelOptions } from './channel-options';
-export declare class MaxMessageSizeFilter extends BaseFilter implements Filter {
- private maxSendMessageSize;
- private maxReceiveMessageSize;
- constructor(options: ChannelOptions);
- sendMessage(message: Promise): Promise;
- receiveMessage(message: Promise): Promise;
-}
-export declare class MaxMessageSizeFilterFactory implements FilterFactory {
- private readonly options;
- constructor(options: ChannelOptions);
- createFilter(): MaxMessageSizeFilter;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.js b/tests/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.js
deleted file mode 100644
index f1cdcd9cbfd4e0d9f922a008c9d7e0b49fd138d6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.js
+++ /dev/null
@@ -1,86 +0,0 @@
-"use strict";
-/*
- * Copyright 2020 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.MaxMessageSizeFilterFactory = exports.MaxMessageSizeFilter = void 0;
-const filter_1 = require("./filter");
-const constants_1 = require("./constants");
-const metadata_1 = require("./metadata");
-class MaxMessageSizeFilter extends filter_1.BaseFilter {
- constructor(options) {
- super();
- this.maxSendMessageSize = constants_1.DEFAULT_MAX_SEND_MESSAGE_LENGTH;
- this.maxReceiveMessageSize = constants_1.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH;
- if ('grpc.max_send_message_length' in options) {
- this.maxSendMessageSize = options['grpc.max_send_message_length'];
- }
- if ('grpc.max_receive_message_length' in options) {
- this.maxReceiveMessageSize = options['grpc.max_receive_message_length'];
- }
- }
- async sendMessage(message) {
- /* A configured size of -1 means that there is no limit, so skip the check
- * entirely */
- if (this.maxSendMessageSize === -1) {
- return message;
- }
- else {
- const concreteMessage = await message;
- if (concreteMessage.message.length > this.maxSendMessageSize) {
- throw {
- code: constants_1.Status.RESOURCE_EXHAUSTED,
- details: `Sent message larger than max (${concreteMessage.message.length} vs. ${this.maxSendMessageSize})`,
- metadata: new metadata_1.Metadata(),
- };
- }
- else {
- return concreteMessage;
- }
- }
- }
- async receiveMessage(message) {
- /* A configured size of -1 means that there is no limit, so skip the check
- * entirely */
- if (this.maxReceiveMessageSize === -1) {
- return message;
- }
- else {
- const concreteMessage = await message;
- if (concreteMessage.length > this.maxReceiveMessageSize) {
- throw {
- code: constants_1.Status.RESOURCE_EXHAUSTED,
- details: `Received message larger than max (${concreteMessage.length} vs. ${this.maxReceiveMessageSize})`,
- metadata: new metadata_1.Metadata(),
- };
- }
- else {
- return concreteMessage;
- }
- }
- }
-}
-exports.MaxMessageSizeFilter = MaxMessageSizeFilter;
-class MaxMessageSizeFilterFactory {
- constructor(options) {
- this.options = options;
- }
- createFilter() {
- return new MaxMessageSizeFilter(this.options);
- }
-}
-exports.MaxMessageSizeFilterFactory = MaxMessageSizeFilterFactory;
-//# sourceMappingURL=max-message-size-filter.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.js.map b/tests/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.js.map
deleted file mode 100644
index 1120822026163957ad67c17ec37ad25ff2f59e35..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"max-message-size-filter.js","sourceRoot":"","sources":["../../src/max-message-size-filter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,qCAA6D;AAE7D,2CAIqB;AAErB,yCAAsC;AAEtC,MAAa,oBAAqB,SAAQ,mBAAU;IAGlD,YAAY,OAAuB;QACjC,KAAK,EAAE,CAAC;QAHF,uBAAkB,GAAW,2CAA+B,CAAC;QAC7D,0BAAqB,GAAW,8CAAkC,CAAC;QAGzE,IAAI,8BAA8B,IAAI,OAAO,EAAE;YAC7C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,8BAA8B,CAAE,CAAC;SACpE;QACD,IAAI,iCAAiC,IAAI,OAAO,EAAE;YAChD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,iCAAiC,CAAE,CAAC;SAC1E;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA6B;QAC7C;sBACc;QACd,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,CAAC,EAAE;YAClC,OAAO,OAAO,CAAC;SAChB;aAAM;YACL,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC;YACtC,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE;gBAC5D,MAAM;oBACJ,IAAI,EAAE,kBAAM,CAAC,kBAAkB;oBAC/B,OAAO,EAAE,iCAAiC,eAAe,CAAC,OAAO,CAAC,MAAM,QAAQ,IAAI,CAAC,kBAAkB,GAAG;oBAC1G,QAAQ,EAAE,IAAI,mBAAQ,EAAE;iBACzB,CAAC;aACH;iBAAM;gBACL,OAAO,eAAe,CAAC;aACxB;SACF;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAwB;QAC3C;sBACc;QACd,IAAI,IAAI,CAAC,qBAAqB,KAAK,CAAC,CAAC,EAAE;YACrC,OAAO,OAAO,CAAC;SAChB;aAAM;YACL,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC;YACtC,IAAI,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE;gBACvD,MAAM;oBACJ,IAAI,EAAE,kBAAM,CAAC,kBAAkB;oBAC/B,OAAO,EAAE,qCAAqC,eAAe,CAAC,MAAM,QAAQ,IAAI,CAAC,qBAAqB,GAAG;oBACzG,QAAQ,EAAE,IAAI,mBAAQ,EAAE;iBACzB,CAAC;aACH;iBAAM;gBACL,OAAO,eAAe,CAAC;aACxB;SACF;IACH,CAAC;CACF;AAlDD,oDAkDC;AAED,MAAa,2BAA2B;IAGtC,YAA6B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAExD,YAAY;QACV,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CACF;AARD,kEAQC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/metadata.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/metadata.d.ts
deleted file mode 100644
index 1943b75b608f123a528bc439d18b9842a9721df1..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/metadata.d.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-///
-///
-///
-import * as http2 from 'http2';
-export type MetadataValue = string | Buffer;
-export type MetadataObject = Map;
-export interface MetadataOptions {
- idempotentRequest?: boolean;
- waitForReady?: boolean;
- cacheableRequest?: boolean;
- corked?: boolean;
-}
-/**
- * A class for storing metadata. Keys are normalized to lowercase ASCII.
- */
-export declare class Metadata {
- protected internalRepr: MetadataObject;
- private options;
- constructor(options?: MetadataOptions);
- /**
- * Sets the given value for the given key by replacing any other values
- * associated with that key. Normalizes the key.
- * @param key The key to whose value should be set.
- * @param value The value to set. Must be a buffer if and only
- * if the normalized key ends with '-bin'.
- */
- set(key: string, value: MetadataValue): void;
- /**
- * Adds the given value for the given key by appending to a list of previous
- * values associated with that key. Normalizes the key.
- * @param key The key for which a new value should be appended.
- * @param value The value to add. Must be a buffer if and only
- * if the normalized key ends with '-bin'.
- */
- add(key: string, value: MetadataValue): void;
- /**
- * Removes the given key and any associated values. Normalizes the key.
- * @param key The key whose values should be removed.
- */
- remove(key: string): void;
- /**
- * Gets a list of all values associated with the key. Normalizes the key.
- * @param key The key whose value should be retrieved.
- * @return A list of values associated with the given key.
- */
- get(key: string): MetadataValue[];
- /**
- * Gets a plain object mapping each key to the first value associated with it.
- * This reflects the most common way that people will want to see metadata.
- * @return A key/value mapping of the metadata.
- */
- getMap(): {
- [key: string]: MetadataValue;
- };
- /**
- * Clones the metadata object.
- * @return The newly cloned object.
- */
- clone(): Metadata;
- /**
- * Merges all key-value pairs from a given Metadata object into this one.
- * If both this object and the given object have values in the same key,
- * values from the other Metadata object will be appended to this object's
- * values.
- * @param other A Metadata object.
- */
- merge(other: Metadata): void;
- setOptions(options: MetadataOptions): void;
- getOptions(): MetadataOptions;
- /**
- * Creates an OutgoingHttpHeaders object that can be used with the http2 API.
- */
- toHttp2Headers(): http2.OutgoingHttpHeaders;
- /**
- * This modifies the behavior of JSON.stringify to show an object
- * representation of the metadata map.
- */
- toJSON(): {
- [key: string]: MetadataValue[];
- };
- /**
- * Returns a new Metadata object based fields in a given IncomingHttpHeaders
- * object.
- * @param headers An IncomingHttpHeaders object.
- */
- static fromHttp2Headers(headers: http2.IncomingHttpHeaders): Metadata;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/metadata.js b/tests/node_modules/@grpc/grpc-js/build/src/metadata.js
deleted file mode 100644
index c0ea411c22ca3a0623a89e51edad0372ef545d2a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/metadata.js
+++ /dev/null
@@ -1,249 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Metadata = void 0;
-const logging_1 = require("./logging");
-const constants_1 = require("./constants");
-const error_1 = require("./error");
-const LEGAL_KEY_REGEX = /^[0-9a-z_.-]+$/;
-const LEGAL_NON_BINARY_VALUE_REGEX = /^[ -~]*$/;
-function isLegalKey(key) {
- return LEGAL_KEY_REGEX.test(key);
-}
-function isLegalNonBinaryValue(value) {
- return LEGAL_NON_BINARY_VALUE_REGEX.test(value);
-}
-function isBinaryKey(key) {
- return key.endsWith('-bin');
-}
-function isCustomMetadata(key) {
- return !key.startsWith('grpc-');
-}
-function normalizeKey(key) {
- return key.toLowerCase();
-}
-function validate(key, value) {
- if (!isLegalKey(key)) {
- throw new Error('Metadata key "' + key + '" contains illegal characters');
- }
- if (value !== null && value !== undefined) {
- if (isBinaryKey(key)) {
- if (!Buffer.isBuffer(value)) {
- throw new Error("keys that end with '-bin' must have Buffer values");
- }
- }
- else {
- if (Buffer.isBuffer(value)) {
- throw new Error("keys that don't end with '-bin' must have String values");
- }
- if (!isLegalNonBinaryValue(value)) {
- throw new Error('Metadata string value "' + value + '" contains illegal characters');
- }
- }
- }
-}
-/**
- * A class for storing metadata. Keys are normalized to lowercase ASCII.
- */
-class Metadata {
- constructor(options = {}) {
- this.internalRepr = new Map();
- this.options = options;
- }
- /**
- * Sets the given value for the given key by replacing any other values
- * associated with that key. Normalizes the key.
- * @param key The key to whose value should be set.
- * @param value The value to set. Must be a buffer if and only
- * if the normalized key ends with '-bin'.
- */
- set(key, value) {
- key = normalizeKey(key);
- validate(key, value);
- this.internalRepr.set(key, [value]);
- }
- /**
- * Adds the given value for the given key by appending to a list of previous
- * values associated with that key. Normalizes the key.
- * @param key The key for which a new value should be appended.
- * @param value The value to add. Must be a buffer if and only
- * if the normalized key ends with '-bin'.
- */
- add(key, value) {
- key = normalizeKey(key);
- validate(key, value);
- const existingValue = this.internalRepr.get(key);
- if (existingValue === undefined) {
- this.internalRepr.set(key, [value]);
- }
- else {
- existingValue.push(value);
- }
- }
- /**
- * Removes the given key and any associated values. Normalizes the key.
- * @param key The key whose values should be removed.
- */
- remove(key) {
- key = normalizeKey(key);
- // validate(key);
- this.internalRepr.delete(key);
- }
- /**
- * Gets a list of all values associated with the key. Normalizes the key.
- * @param key The key whose value should be retrieved.
- * @return A list of values associated with the given key.
- */
- get(key) {
- key = normalizeKey(key);
- // validate(key);
- return this.internalRepr.get(key) || [];
- }
- /**
- * Gets a plain object mapping each key to the first value associated with it.
- * This reflects the most common way that people will want to see metadata.
- * @return A key/value mapping of the metadata.
- */
- getMap() {
- const result = {};
- for (const [key, values] of this.internalRepr) {
- if (values.length > 0) {
- const v = values[0];
- result[key] = Buffer.isBuffer(v) ? Buffer.from(v) : v;
- }
- }
- return result;
- }
- /**
- * Clones the metadata object.
- * @return The newly cloned object.
- */
- clone() {
- const newMetadata = new Metadata(this.options);
- const newInternalRepr = newMetadata.internalRepr;
- for (const [key, value] of this.internalRepr) {
- const clonedValue = value.map(v => {
- if (Buffer.isBuffer(v)) {
- return Buffer.from(v);
- }
- else {
- return v;
- }
- });
- newInternalRepr.set(key, clonedValue);
- }
- return newMetadata;
- }
- /**
- * Merges all key-value pairs from a given Metadata object into this one.
- * If both this object and the given object have values in the same key,
- * values from the other Metadata object will be appended to this object's
- * values.
- * @param other A Metadata object.
- */
- merge(other) {
- for (const [key, values] of other.internalRepr) {
- const mergedValue = (this.internalRepr.get(key) || []).concat(values);
- this.internalRepr.set(key, mergedValue);
- }
- }
- setOptions(options) {
- this.options = options;
- }
- getOptions() {
- return this.options;
- }
- /**
- * Creates an OutgoingHttpHeaders object that can be used with the http2 API.
- */
- toHttp2Headers() {
- // NOTE: Node <8.9 formats http2 headers incorrectly.
- const result = {};
- for (const [key, values] of this.internalRepr) {
- // We assume that the user's interaction with this object is limited to
- // through its public API (i.e. keys and values are already validated).
- result[key] = values.map(bufToString);
- }
- return result;
- }
- /**
- * This modifies the behavior of JSON.stringify to show an object
- * representation of the metadata map.
- */
- toJSON() {
- const result = {};
- for (const [key, values] of this.internalRepr) {
- result[key] = values;
- }
- return result;
- }
- /**
- * Returns a new Metadata object based fields in a given IncomingHttpHeaders
- * object.
- * @param headers An IncomingHttpHeaders object.
- */
- static fromHttp2Headers(headers) {
- const result = new Metadata();
- for (const key of Object.keys(headers)) {
- // Reserved headers (beginning with `:`) are not valid keys.
- if (key.charAt(0) === ':') {
- continue;
- }
- const values = headers[key];
- try {
- if (isBinaryKey(key)) {
- if (Array.isArray(values)) {
- values.forEach(value => {
- result.add(key, Buffer.from(value, 'base64'));
- });
- }
- else if (values !== undefined) {
- if (isCustomMetadata(key)) {
- values.split(',').forEach(v => {
- result.add(key, Buffer.from(v.trim(), 'base64'));
- });
- }
- else {
- result.add(key, Buffer.from(values, 'base64'));
- }
- }
- }
- else {
- if (Array.isArray(values)) {
- values.forEach(value => {
- result.add(key, value);
- });
- }
- else if (values !== undefined) {
- result.add(key, values);
- }
- }
- }
- catch (error) {
- const message = `Failed to add metadata entry ${key}: ${values}. ${(0, error_1.getErrorMessage)(error)}. For more information see https://github.com/grpc/grpc-node/issues/1173`;
- (0, logging_1.log)(constants_1.LogVerbosity.ERROR, message);
- }
- }
- return result;
- }
-}
-exports.Metadata = Metadata;
-const bufToString = (val) => {
- return Buffer.isBuffer(val) ? val.toString('base64') : val;
-};
-//# sourceMappingURL=metadata.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/metadata.js.map b/tests/node_modules/@grpc/grpc-js/build/src/metadata.js.map
deleted file mode 100644
index c1756fb69099346af4002b054c6e07105d000d2e..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/metadata.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts
deleted file mode 100644
index b424cc75ca1b9cde97b912117e66487035e944ba..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-///
-import { Readable, Writable } from 'stream';
-import { EmitterAugmentation1 } from './events';
-export type WriteCallback = (error: Error | null | undefined) => void;
-export interface IntermediateObjectReadable extends Readable {
- read(size?: number): any & T;
-}
-export type ObjectReadable = {
- read(size?: number): T;
-} & EmitterAugmentation1<'data', T> & IntermediateObjectReadable;
-export interface IntermediateObjectWritable extends Writable {
- _write(chunk: any & T, encoding: string, callback: Function): void;
- write(chunk: any & T, cb?: WriteCallback): boolean;
- write(chunk: any & T, encoding?: any, cb?: WriteCallback): boolean;
- setDefaultEncoding(encoding: string): this;
- end(): ReturnType extends Writable ? this : void;
- end(chunk: any & T, cb?: Function): ReturnType extends Writable ? this : void;
- end(chunk: any & T, encoding?: any, cb?: Function): ReturnType extends Writable ? this : void;
-}
-export interface ObjectWritable extends IntermediateObjectWritable {
- _write(chunk: T, encoding: string, callback: Function): void;
- write(chunk: T, cb?: Function): boolean;
- write(chunk: T, encoding?: any, cb?: Function): boolean;
- setDefaultEncoding(encoding: string): this;
- end(): ReturnType extends Writable ? this : void;
- end(chunk: T, cb?: Function): ReturnType extends Writable ? this : void;
- end(chunk: T, encoding?: any, cb?: Function): ReturnType extends Writable ? this : void;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/object-stream.js b/tests/node_modules/@grpc/grpc-js/build/src/object-stream.js
deleted file mode 100644
index b9476565d54bc44f8c531be1a4526a8fd6a62ddb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/object-stream.js
+++ /dev/null
@@ -1,19 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=object-stream.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/object-stream.js.map b/tests/node_modules/@grpc/grpc-js/build/src/object-stream.js.map
deleted file mode 100644
index fe8b6244676da6bd5c015f21a98e301da46fd3fc..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/object-stream.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"object-stream.js","sourceRoot":"","sources":["../../src/object-stream.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/picker.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/picker.d.ts
deleted file mode 100644
index 3da17d62205064c89272e322e13be96907a788a4..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/picker.d.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { StatusObject } from './call-interface';
-import { Metadata } from './metadata';
-import { Status } from './constants';
-import { LoadBalancer } from './load-balancer';
-import { SubchannelInterface } from './subchannel-interface';
-export declare enum PickResultType {
- COMPLETE = 0,
- QUEUE = 1,
- TRANSIENT_FAILURE = 2,
- DROP = 3
-}
-export interface PickResult {
- pickResultType: PickResultType;
- /**
- * The subchannel to use as the transport for the call. Only meaningful if
- * `pickResultType` is COMPLETE. If null, indicates that the call should be
- * dropped.
- */
- subchannel: SubchannelInterface | null;
- /**
- * The status object to end the call with. Populated if and only if
- * `pickResultType` is TRANSIENT_FAILURE.
- */
- status: StatusObject | null;
- onCallStarted: (() => void) | null;
- onCallEnded: ((statusCode: Status) => void) | null;
-}
-export interface CompletePickResult extends PickResult {
- pickResultType: PickResultType.COMPLETE;
- subchannel: SubchannelInterface | null;
- status: null;
- onCallStarted: (() => void) | null;
- onCallEnded: ((statusCode: Status) => void) | null;
-}
-export interface QueuePickResult extends PickResult {
- pickResultType: PickResultType.QUEUE;
- subchannel: null;
- status: null;
- onCallStarted: null;
- onCallEnded: null;
-}
-export interface TransientFailurePickResult extends PickResult {
- pickResultType: PickResultType.TRANSIENT_FAILURE;
- subchannel: null;
- status: StatusObject;
- onCallStarted: null;
- onCallEnded: null;
-}
-export interface DropCallPickResult extends PickResult {
- pickResultType: PickResultType.DROP;
- subchannel: null;
- status: StatusObject;
- onCallStarted: null;
- onCallEnded: null;
-}
-export interface PickArgs {
- metadata: Metadata;
- extraPickInfo: {
- [key: string]: string;
- };
-}
-/**
- * A proxy object representing the momentary state of a load balancer. Picks
- * subchannels or returns other information based on that state. Should be
- * replaced every time the load balancer changes state.
- */
-export interface Picker {
- pick(pickArgs: PickArgs): PickResult;
-}
-/**
- * A standard picker representing a load balancer in the TRANSIENT_FAILURE
- * state. Always responds to every pick request with an UNAVAILABLE status.
- */
-export declare class UnavailablePicker implements Picker {
- private status;
- constructor(status?: Partial);
- pick(pickArgs: PickArgs): TransientFailurePickResult;
-}
-/**
- * A standard picker representing a load balancer in the IDLE or CONNECTING
- * state. Always responds to every pick request with a QUEUE pick result
- * indicating that the pick should be tried again with the next `Picker`. Also
- * reports back to the load balancer that a connection should be established
- * once any pick is attempted.
- */
-export declare class QueuePicker {
- private loadBalancer;
- private calledExitIdle;
- constructor(loadBalancer: LoadBalancer);
- pick(pickArgs: PickArgs): QueuePickResult;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/picker.js b/tests/node_modules/@grpc/grpc-js/build/src/picker.js
deleted file mode 100644
index 2ae80a2e32db33c77b544660ec930bfedc7c7583..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/picker.js
+++ /dev/null
@@ -1,78 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.QueuePicker = exports.UnavailablePicker = exports.PickResultType = void 0;
-const metadata_1 = require("./metadata");
-const constants_1 = require("./constants");
-var PickResultType;
-(function (PickResultType) {
- PickResultType[PickResultType["COMPLETE"] = 0] = "COMPLETE";
- PickResultType[PickResultType["QUEUE"] = 1] = "QUEUE";
- PickResultType[PickResultType["TRANSIENT_FAILURE"] = 2] = "TRANSIENT_FAILURE";
- PickResultType[PickResultType["DROP"] = 3] = "DROP";
-})(PickResultType || (exports.PickResultType = PickResultType = {}));
-/**
- * A standard picker representing a load balancer in the TRANSIENT_FAILURE
- * state. Always responds to every pick request with an UNAVAILABLE status.
- */
-class UnavailablePicker {
- constructor(status) {
- this.status = Object.assign({ code: constants_1.Status.UNAVAILABLE, details: 'No connection established', metadata: new metadata_1.Metadata() }, status);
- }
- pick(pickArgs) {
- return {
- pickResultType: PickResultType.TRANSIENT_FAILURE,
- subchannel: null,
- status: this.status,
- onCallStarted: null,
- onCallEnded: null,
- };
- }
-}
-exports.UnavailablePicker = UnavailablePicker;
-/**
- * A standard picker representing a load balancer in the IDLE or CONNECTING
- * state. Always responds to every pick request with a QUEUE pick result
- * indicating that the pick should be tried again with the next `Picker`. Also
- * reports back to the load balancer that a connection should be established
- * once any pick is attempted.
- */
-class QueuePicker {
- // Constructed with a load balancer. Calls exitIdle on it the first time pick is called
- constructor(loadBalancer) {
- this.loadBalancer = loadBalancer;
- this.calledExitIdle = false;
- }
- pick(pickArgs) {
- if (!this.calledExitIdle) {
- process.nextTick(() => {
- this.loadBalancer.exitIdle();
- });
- this.calledExitIdle = true;
- }
- return {
- pickResultType: PickResultType.QUEUE,
- subchannel: null,
- status: null,
- onCallStarted: null,
- onCallEnded: null,
- };
- }
-}
-exports.QueuePicker = QueuePicker;
-//# sourceMappingURL=picker.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/picker.js.map b/tests/node_modules/@grpc/grpc-js/build/src/picker.js.map
deleted file mode 100644
index d3c14035aabb853ba8016dd327986de382f97f26..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/picker.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"picker.js","sourceRoot":"","sources":["../../src/picker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAGH,yCAAsC;AACtC,2CAAqC;AAIrC,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,2DAAQ,CAAA;IACR,qDAAK,CAAA;IACL,6EAAiB,CAAA;IACjB,mDAAI,CAAA;AACN,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAiED;;;GAGG;AACH,MAAa,iBAAiB;IAE5B,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,mBACT,IAAI,EAAE,kBAAM,CAAC,WAAW,EACxB,OAAO,EAAE,2BAA2B,EACpC,QAAQ,EAAE,IAAI,mBAAQ,EAAE,IACrB,MAAM,CACV,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAkB;QACrB,OAAO;YACL,cAAc,EAAE,cAAc,CAAC,iBAAiB;YAChD,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;CACF;AAnBD,8CAmBC;AAED;;;;;;GAMG;AACH,MAAa,WAAW;IAEtB,uFAAuF;IACvF,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAFtC,mBAAc,GAAG,KAAK,CAAC;IAEkB,CAAC;IAElD,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;gBACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;QACD,OAAO;YACL,cAAc,EAAE,cAAc,CAAC,KAAK;YACpC,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;CACF;AApBD,kCAoBC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver-dns.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/resolver-dns.d.ts
deleted file mode 100644
index 7e89e9bb33ddad38e7d3dd64209dd7ea944b03ce..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver-dns.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Set up the DNS resolver class by registering it as the handler for the
- * "dns:" prefix and as the default resolver.
- */
-export declare function setup(): void;
-export interface DnsUrl {
- host: string;
- port?: string;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver-dns.js b/tests/node_modules/@grpc/grpc-js/build/src/resolver-dns.js
deleted file mode 100644
index 83cc4a2996bd9ff0d4e96ba09d25776f0ce7087d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver-dns.js
+++ /dev/null
@@ -1,323 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.setup = void 0;
-const resolver_1 = require("./resolver");
-const dns = require("dns");
-const util = require("util");
-const service_config_1 = require("./service-config");
-const constants_1 = require("./constants");
-const metadata_1 = require("./metadata");
-const logging = require("./logging");
-const constants_2 = require("./constants");
-const uri_parser_1 = require("./uri-parser");
-const net_1 = require("net");
-const backoff_timeout_1 = require("./backoff-timeout");
-const TRACER_NAME = 'dns_resolver';
-function trace(text) {
- logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME, text);
-}
-/**
- * The default TCP port to connect to if not explicitly specified in the target.
- */
-const DEFAULT_PORT = 443;
-const DEFAULT_MIN_TIME_BETWEEN_RESOLUTIONS_MS = 30000;
-const resolveTxtPromise = util.promisify(dns.resolveTxt);
-const dnsLookupPromise = util.promisify(dns.lookup);
-/**
- * Merge any number of arrays into a single alternating array
- * @param arrays
- */
-function mergeArrays(...arrays) {
- const result = [];
- for (let i = 0; i <
- Math.max.apply(null, arrays.map(array => array.length)); i++) {
- for (const array of arrays) {
- if (i < array.length) {
- result.push(array[i]);
- }
- }
- }
- return result;
-}
-/**
- * Resolver implementation that handles DNS names and IP addresses.
- */
-class DnsResolver {
- constructor(target, listener, channelOptions) {
- var _a, _b, _c;
- this.target = target;
- this.listener = listener;
- this.pendingLookupPromise = null;
- this.pendingTxtPromise = null;
- this.latestLookupResult = null;
- this.latestServiceConfig = null;
- this.latestServiceConfigError = null;
- this.continueResolving = false;
- this.isNextResolutionTimerRunning = false;
- this.isServiceConfigEnabled = true;
- trace('Resolver constructed for target ' + (0, uri_parser_1.uriToString)(target));
- const hostPort = (0, uri_parser_1.splitHostPort)(target.path);
- if (hostPort === null) {
- this.ipResult = null;
- this.dnsHostname = null;
- this.port = null;
- }
- else {
- if ((0, net_1.isIPv4)(hostPort.host) || (0, net_1.isIPv6)(hostPort.host)) {
- this.ipResult = [
- {
- host: hostPort.host,
- port: (_a = hostPort.port) !== null && _a !== void 0 ? _a : DEFAULT_PORT,
- },
- ];
- this.dnsHostname = null;
- this.port = null;
- }
- else {
- this.ipResult = null;
- this.dnsHostname = hostPort.host;
- this.port = (_b = hostPort.port) !== null && _b !== void 0 ? _b : DEFAULT_PORT;
- }
- }
- this.percentage = Math.random() * 100;
- if (channelOptions['grpc.service_config_disable_resolution'] === 1) {
- this.isServiceConfigEnabled = false;
- }
- this.defaultResolutionError = {
- code: constants_1.Status.UNAVAILABLE,
- details: `Name resolution failed for target ${(0, uri_parser_1.uriToString)(this.target)}`,
- metadata: new metadata_1.Metadata(),
- };
- const backoffOptions = {
- initialDelay: channelOptions['grpc.initial_reconnect_backoff_ms'],
- maxDelay: channelOptions['grpc.max_reconnect_backoff_ms'],
- };
- this.backoff = new backoff_timeout_1.BackoffTimeout(() => {
- if (this.continueResolving) {
- this.startResolutionWithBackoff();
- }
- }, backoffOptions);
- this.backoff.unref();
- this.minTimeBetweenResolutionsMs =
- (_c = channelOptions['grpc.dns_min_time_between_resolutions_ms']) !== null && _c !== void 0 ? _c : DEFAULT_MIN_TIME_BETWEEN_RESOLUTIONS_MS;
- this.nextResolutionTimer = setTimeout(() => { }, 0);
- clearTimeout(this.nextResolutionTimer);
- }
- /**
- * If the target is an IP address, just provide that address as a result.
- * Otherwise, initiate A, AAAA, and TXT lookups
- */
- startResolution() {
- if (this.ipResult !== null) {
- trace('Returning IP address for target ' + (0, uri_parser_1.uriToString)(this.target));
- setImmediate(() => {
- this.listener.onSuccessfulResolution(this.ipResult, null, null, null, {});
- });
- this.backoff.stop();
- this.backoff.reset();
- this.stopNextResolutionTimer();
- return;
- }
- if (this.dnsHostname === null) {
- trace('Failed to parse DNS address ' + (0, uri_parser_1.uriToString)(this.target));
- setImmediate(() => {
- this.listener.onError({
- code: constants_1.Status.UNAVAILABLE,
- details: `Failed to parse DNS address ${(0, uri_parser_1.uriToString)(this.target)}`,
- metadata: new metadata_1.Metadata(),
- });
- });
- this.stopNextResolutionTimer();
- }
- else {
- if (this.pendingLookupPromise !== null) {
- return;
- }
- trace('Looking up DNS hostname ' + this.dnsHostname);
- /* We clear out latestLookupResult here to ensure that it contains the
- * latest result since the last time we started resolving. That way, the
- * TXT resolution handler can use it, but only if it finishes second. We
- * don't clear out any previous service config results because it's
- * better to use a service config that's slightly out of date than to
- * revert to an effectively blank one. */
- this.latestLookupResult = null;
- const hostname = this.dnsHostname;
- /* We lookup both address families here and then split them up later
- * because when looking up a single family, dns.lookup outputs an error
- * if the name exists but there are no records for that family, and that
- * error is indistinguishable from other kinds of errors */
- this.pendingLookupPromise = dnsLookupPromise(hostname, { all: true });
- this.pendingLookupPromise.then(addressList => {
- if (this.pendingLookupPromise === null) {
- return;
- }
- this.pendingLookupPromise = null;
- this.backoff.reset();
- this.backoff.stop();
- const ip4Addresses = addressList.filter(addr => addr.family === 4);
- const ip6Addresses = addressList.filter(addr => addr.family === 6);
- this.latestLookupResult = mergeArrays(ip6Addresses, ip4Addresses).map(addr => ({ host: addr.address, port: +this.port }));
- const allAddressesString = '[' +
- this.latestLookupResult
- .map(addr => addr.host + ':' + addr.port)
- .join(',') +
- ']';
- trace('Resolved addresses for target ' +
- (0, uri_parser_1.uriToString)(this.target) +
- ': ' +
- allAddressesString);
- if (this.latestLookupResult.length === 0) {
- this.listener.onError(this.defaultResolutionError);
- return;
- }
- /* If the TXT lookup has not yet finished, both of the last two
- * arguments will be null, which is the equivalent of getting an
- * empty TXT response. When the TXT lookup does finish, its handler
- * can update the service config by using the same address list */
- this.listener.onSuccessfulResolution(this.latestLookupResult, this.latestServiceConfig, this.latestServiceConfigError, null, {});
- }, err => {
- if (this.pendingLookupPromise === null) {
- return;
- }
- trace('Resolution error for target ' +
- (0, uri_parser_1.uriToString)(this.target) +
- ': ' +
- err.message);
- this.pendingLookupPromise = null;
- this.stopNextResolutionTimer();
- this.listener.onError(this.defaultResolutionError);
- });
- /* If there already is a still-pending TXT resolution, we can just use
- * that result when it comes in */
- if (this.isServiceConfigEnabled && this.pendingTxtPromise === null) {
- /* We handle the TXT query promise differently than the others because
- * the name resolution attempt as a whole is a success even if the TXT
- * lookup fails */
- this.pendingTxtPromise = resolveTxtPromise(hostname);
- this.pendingTxtPromise.then(txtRecord => {
- if (this.pendingTxtPromise === null) {
- return;
- }
- this.pendingTxtPromise = null;
- try {
- this.latestServiceConfig = (0, service_config_1.extractAndSelectServiceConfig)(txtRecord, this.percentage);
- }
- catch (err) {
- this.latestServiceConfigError = {
- code: constants_1.Status.UNAVAILABLE,
- details: `Parsing service config failed with error ${err.message}`,
- metadata: new metadata_1.Metadata(),
- };
- }
- if (this.latestLookupResult !== null) {
- /* We rely here on the assumption that calling this function with
- * identical parameters will be essentialy idempotent, and calling
- * it with the same address list and a different service config
- * should result in a fast and seamless switchover. */
- this.listener.onSuccessfulResolution(this.latestLookupResult, this.latestServiceConfig, this.latestServiceConfigError, null, {});
- }
- }, err => {
- /* If TXT lookup fails we should do nothing, which means that we
- * continue to use the result of the most recent successful lookup,
- * or the default null config object if there has never been a
- * successful lookup. We do not set the latestServiceConfigError
- * here because that is specifically used for response validation
- * errors. We still need to handle this error so that it does not
- * bubble up as an unhandled promise rejection. */
- });
- }
- }
- }
- startNextResolutionTimer() {
- var _a, _b;
- clearTimeout(this.nextResolutionTimer);
- this.nextResolutionTimer = (_b = (_a = setTimeout(() => {
- this.stopNextResolutionTimer();
- if (this.continueResolving) {
- this.startResolutionWithBackoff();
- }
- }, this.minTimeBetweenResolutionsMs)).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- this.isNextResolutionTimerRunning = true;
- }
- stopNextResolutionTimer() {
- clearTimeout(this.nextResolutionTimer);
- this.isNextResolutionTimerRunning = false;
- }
- startResolutionWithBackoff() {
- if (this.pendingLookupPromise === null) {
- this.continueResolving = false;
- this.backoff.runOnce();
- this.startNextResolutionTimer();
- this.startResolution();
- }
- }
- updateResolution() {
- /* If there is a pending lookup, just let it finish. Otherwise, if the
- * nextResolutionTimer or backoff timer is running, set the
- * continueResolving flag to resolve when whichever of those timers
- * fires. Otherwise, start resolving immediately. */
- if (this.pendingLookupPromise === null) {
- if (this.isNextResolutionTimerRunning || this.backoff.isRunning()) {
- if (this.isNextResolutionTimerRunning) {
- trace('resolution update delayed by "min time between resolutions" rate limit');
- }
- else {
- trace('resolution update delayed by backoff timer until ' + this.backoff.getEndTime().toISOString());
- }
- this.continueResolving = true;
- }
- else {
- this.startResolutionWithBackoff();
- }
- }
- }
- /**
- * Reset the resolver to the same state it had when it was created. In-flight
- * DNS requests cannot be cancelled, but they are discarded and their results
- * will be ignored.
- */
- destroy() {
- this.continueResolving = false;
- this.backoff.reset();
- this.backoff.stop();
- this.stopNextResolutionTimer();
- this.pendingLookupPromise = null;
- this.pendingTxtPromise = null;
- this.latestLookupResult = null;
- this.latestServiceConfig = null;
- this.latestServiceConfigError = null;
- }
- /**
- * Get the default authority for the given target. For IP targets, that is
- * the IP address. For DNS targets, it is the hostname.
- * @param target
- */
- static getDefaultAuthority(target) {
- return target.path;
- }
-}
-/**
- * Set up the DNS resolver class by registering it as the handler for the
- * "dns:" prefix and as the default resolver.
- */
-function setup() {
- (0, resolver_1.registerResolver)('dns', DnsResolver);
- (0, resolver_1.registerDefaultScheme)('dns');
-}
-exports.setup = setup;
-//# sourceMappingURL=resolver-dns.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver-dns.js.map b/tests/node_modules/@grpc/grpc-js/build/src/resolver-dns.js.map
deleted file mode 100644
index f10987839dcd2b30d0c5fdaa7896b4d02862547f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver-dns.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"resolver-dns.js","sourceRoot":"","sources":["../../src/resolver-dns.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver-ip.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/resolver-ip.d.ts
deleted file mode 100644
index 2bec678101795f0832868242c2e2a8ec18df7646..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver-ip.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-export declare function setup(): void;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver-ip.js b/tests/node_modules/@grpc/grpc-js/build/src/resolver-ip.js
deleted file mode 100644
index 1b02e6709fa27e7bf444d9e9db56f742d100f6bf..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver-ip.js
+++ /dev/null
@@ -1,101 +0,0 @@
-"use strict";
-/*
- * Copyright 2021 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.setup = void 0;
-const net_1 = require("net");
-const constants_1 = require("./constants");
-const metadata_1 = require("./metadata");
-const resolver_1 = require("./resolver");
-const uri_parser_1 = require("./uri-parser");
-const logging = require("./logging");
-const TRACER_NAME = 'ip_resolver';
-function trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
-}
-const IPV4_SCHEME = 'ipv4';
-const IPV6_SCHEME = 'ipv6';
-/**
- * The default TCP port to connect to if not explicitly specified in the target.
- */
-const DEFAULT_PORT = 443;
-class IpResolver {
- constructor(target, listener, channelOptions) {
- var _a;
- this.listener = listener;
- this.addresses = [];
- this.error = null;
- trace('Resolver constructed for target ' + (0, uri_parser_1.uriToString)(target));
- const addresses = [];
- if (!(target.scheme === IPV4_SCHEME || target.scheme === IPV6_SCHEME)) {
- this.error = {
- code: constants_1.Status.UNAVAILABLE,
- details: `Unrecognized scheme ${target.scheme} in IP resolver`,
- metadata: new metadata_1.Metadata(),
- };
- return;
- }
- const pathList = target.path.split(',');
- for (const path of pathList) {
- const hostPort = (0, uri_parser_1.splitHostPort)(path);
- if (hostPort === null) {
- this.error = {
- code: constants_1.Status.UNAVAILABLE,
- details: `Failed to parse ${target.scheme} address ${path}`,
- metadata: new metadata_1.Metadata(),
- };
- return;
- }
- if ((target.scheme === IPV4_SCHEME && !(0, net_1.isIPv4)(hostPort.host)) ||
- (target.scheme === IPV6_SCHEME && !(0, net_1.isIPv6)(hostPort.host))) {
- this.error = {
- code: constants_1.Status.UNAVAILABLE,
- details: `Failed to parse ${target.scheme} address ${path}`,
- metadata: new metadata_1.Metadata(),
- };
- return;
- }
- addresses.push({
- host: hostPort.host,
- port: (_a = hostPort.port) !== null && _a !== void 0 ? _a : DEFAULT_PORT,
- });
- }
- this.addresses = addresses;
- trace('Parsed ' + target.scheme + ' address list ' + this.addresses);
- }
- updateResolution() {
- process.nextTick(() => {
- if (this.error) {
- this.listener.onError(this.error);
- }
- else {
- this.listener.onSuccessfulResolution(this.addresses, null, null, null, {});
- }
- });
- }
- destroy() {
- // This resolver owns no resources, so we do nothing here.
- }
- static getDefaultAuthority(target) {
- return target.path.split(',')[0];
- }
-}
-function setup() {
- (0, resolver_1.registerResolver)(IPV4_SCHEME, IpResolver);
- (0, resolver_1.registerResolver)(IPV6_SCHEME, IpResolver);
-}
-exports.setup = setup;
-//# sourceMappingURL=resolver-ip.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver-ip.js.map b/tests/node_modules/@grpc/grpc-js/build/src/resolver-ip.js.map
deleted file mode 100644
index 19e1976174cf31fc7eb28b76201007774fb03df3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver-ip.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"resolver-ip.js","sourceRoot":"","sources":["../../src/resolver-ip.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,6BAAqC;AAGrC,2CAAmD;AACnD,yCAAsC;AACtC,yCAA0E;AAE1E,6CAAmE;AACnE,qCAAqC;AAErC,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,CAAC,KAAK,CAAC,wBAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,WAAW,GAAG,MAAM,CAAC;AAC3B,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B;;GAEG;AACH,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,MAAM,UAAU;IAGd,YACE,MAAe,EACP,QAA0B,EAClC,cAA8B;;QADtB,aAAQ,GAAR,QAAQ,CAAkB;QAJ5B,cAAS,GAAwB,EAAE,CAAC;QACpC,UAAK,GAAwB,IAAI,CAAC;QAMxC,KAAK,CAAC,kCAAkC,GAAG,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAC,CAAC;QAChE,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE;YACrE,IAAI,CAAC,KAAK,GAAG;gBACX,IAAI,EAAE,kBAAM,CAAC,WAAW;gBACxB,OAAO,EAAE,uBAAuB,MAAM,CAAC,MAAM,iBAAiB;gBAC9D,QAAQ,EAAE,IAAI,mBAAQ,EAAE;aACzB,CAAC;YACF,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YAC3B,MAAM,QAAQ,GAAG,IAAA,0BAAa,EAAC,IAAI,CAAC,CAAC;YACrC,IAAI,QAAQ,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC,KAAK,GAAG;oBACX,IAAI,EAAE,kBAAM,CAAC,WAAW;oBACxB,OAAO,EAAE,mBAAmB,MAAM,CAAC,MAAM,YAAY,IAAI,EAAE;oBAC3D,QAAQ,EAAE,IAAI,mBAAQ,EAAE;iBACzB,CAAC;gBACF,OAAO;aACR;YACD,IACE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,IAAA,YAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzD,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,IAAA,YAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACzD;gBACA,IAAI,CAAC,KAAK,GAAG;oBACX,IAAI,EAAE,kBAAM,CAAC,WAAW;oBACxB,OAAO,EAAE,mBAAmB,MAAM,CAAC,MAAM,YAAY,IAAI,EAAE;oBAC3D,QAAQ,EAAE,IAAI,mBAAQ,EAAE;iBACzB,CAAC;gBACF,OAAO;aACR;YACD,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,MAAA,QAAQ,CAAC,IAAI,mCAAI,YAAY;aACpC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACvE,CAAC;IACD,gBAAgB;QACd,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAClC,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,EAAE,CACH,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,0DAA0D;IAC5D,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,MAAe;QACxC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;CACF;AAED,SAAgB,KAAK;IACnB,IAAA,2BAAgB,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC1C,IAAA,2BAAgB,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAC5C,CAAC;AAHD,sBAGC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver-uds.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/resolver-uds.d.ts
deleted file mode 100644
index 2bec678101795f0832868242c2e2a8ec18df7646..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver-uds.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-export declare function setup(): void;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver-uds.js b/tests/node_modules/@grpc/grpc-js/build/src/resolver-uds.js
deleted file mode 100644
index 30781be4acc5514b660d07735cabeedb6b6d8966..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver-uds.js
+++ /dev/null
@@ -1,47 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.setup = void 0;
-const resolver_1 = require("./resolver");
-class UdsResolver {
- constructor(target, listener, channelOptions) {
- this.listener = listener;
- this.addresses = [];
- let path;
- if (target.authority === '') {
- path = '/' + target.path;
- }
- else {
- path = target.path;
- }
- this.addresses = [{ path }];
- }
- updateResolution() {
- process.nextTick(this.listener.onSuccessfulResolution, this.addresses, null, null, null, {});
- }
- destroy() {
- // This resolver owns no resources, so we do nothing here.
- }
- static getDefaultAuthority(target) {
- return 'localhost';
- }
-}
-function setup() {
- (0, resolver_1.registerResolver)('unix', UdsResolver);
-}
-exports.setup = setup;
-//# sourceMappingURL=resolver-uds.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver-uds.js.map b/tests/node_modules/@grpc/grpc-js/build/src/resolver-uds.js.map
deleted file mode 100644
index a3f7daedae93c1804f0d9bc5586e31942da2f715..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver-uds.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"resolver-uds.js","sourceRoot":"","sources":["../../src/resolver-uds.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yCAA0E;AAK1E,MAAM,WAAW;IAEf,YACE,MAAe,EACP,QAA0B,EAClC,cAA8B;QADtB,aAAQ,GAAR,QAAQ,CAAkB;QAH5B,cAAS,GAAwB,EAAE,CAAC;QAM1C,IAAI,IAAY,CAAC;QACjB,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE;YAC3B,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;SAC1B;aAAM;YACL,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;SACpB;QACD,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,gBAAgB;QACd,OAAO,CAAC,QAAQ,CACd,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EACpC,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,EAAE,CACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,0DAA0D;IAC5D,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,MAAe;QACxC,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAED,SAAgB,KAAK;IACnB,IAAA,2BAAgB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACxC,CAAC;AAFD,sBAEC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/resolver.d.ts
deleted file mode 100644
index 35d2c746e818b8bfbdfdca8e43f00d9d8ab75c79..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver.d.ts
+++ /dev/null
@@ -1,105 +0,0 @@
-import { MethodConfig, ServiceConfig } from './service-config';
-import { StatusObject } from './call-interface';
-import { SubchannelAddress } from './subchannel-address';
-import { GrpcUri } from './uri-parser';
-import { ChannelOptions } from './channel-options';
-import { Metadata } from './metadata';
-import { Status } from './constants';
-import { Filter, FilterFactory } from './filter';
-export interface CallConfig {
- methodConfig: MethodConfig;
- onCommitted?: () => void;
- pickInformation: {
- [key: string]: string;
- };
- status: Status;
- dynamicFilterFactories: FilterFactory[];
-}
-/**
- * Selects a configuration for a method given the name and metadata. Defined in
- * https://github.com/grpc/proposal/blob/master/A31-xds-timeout-support-and-config-selector.md#new-functionality-in-grpc
- */
-export interface ConfigSelector {
- (methodName: string, metadata: Metadata): CallConfig;
-}
-/**
- * A listener object passed to the resolver's constructor that provides name
- * resolution updates back to the resolver's owner.
- */
-export interface ResolverListener {
- /**
- * Called whenever the resolver has new name resolution results to report
- * @param addressList The new list of backend addresses
- * @param serviceConfig The new service configuration corresponding to the
- * `addressList`. Will be `null` if no service configuration was
- * retrieved or if the service configuration was invalid
- * @param serviceConfigError If non-`null`, indicates that the retrieved
- * service configuration was invalid
- */
- onSuccessfulResolution(addressList: SubchannelAddress[], serviceConfig: ServiceConfig | null, serviceConfigError: StatusObject | null, configSelector: ConfigSelector | null, attributes: {
- [key: string]: unknown;
- }): void;
- /**
- * Called whenever a name resolution attempt fails.
- * @param error Describes how resolution failed
- */
- onError(error: StatusObject): void;
-}
-/**
- * A resolver class that handles one or more of the name syntax schemes defined
- * in the [gRPC Name Resolution document](https://github.com/grpc/grpc/blob/master/doc/naming.md)
- */
-export interface Resolver {
- /**
- * Indicates that the caller wants new name resolution data. Calling this
- * function may eventually result in calling one of the `ResolverListener`
- * functions, but that is not guaranteed. Those functions will never be
- * called synchronously with the constructor or updateResolution.
- */
- updateResolution(): void;
- /**
- * Discard all resources owned by the resolver. A later call to
- * `updateResolution` should reinitialize those resources. No
- * `ResolverListener` callbacks should be called after `destroy` is called
- * until `updateResolution` is called again.
- */
- destroy(): void;
-}
-export interface ResolverConstructor {
- new (target: GrpcUri, listener: ResolverListener, channelOptions: ChannelOptions): Resolver;
- /**
- * Get the default authority for a target. This loosely corresponds to that
- * target's hostname. Throws an error if this resolver class cannot parse the
- * `target`.
- * @param target
- */
- getDefaultAuthority(target: GrpcUri): string;
-}
-/**
- * Register a resolver class to handle target names prefixed with the `prefix`
- * string. This prefix should correspond to a URI scheme name listed in the
- * [gRPC Name Resolution document](https://github.com/grpc/grpc/blob/master/doc/naming.md)
- * @param prefix
- * @param resolverClass
- */
-export declare function registerResolver(scheme: string, resolverClass: ResolverConstructor): void;
-/**
- * Register a default resolver to handle target names that do not start with
- * any registered prefix.
- * @param resolverClass
- */
-export declare function registerDefaultScheme(scheme: string): void;
-/**
- * Create a name resolver for the specified target, if possible. Throws an
- * error if no such name resolver can be created.
- * @param target
- * @param listener
- */
-export declare function createResolver(target: GrpcUri, listener: ResolverListener, options: ChannelOptions): Resolver;
-/**
- * Get the default authority for the specified target, if possible. Throws an
- * error if no registered name resolver can parse that target string.
- * @param target
- */
-export declare function getDefaultAuthority(target: GrpcUri): string;
-export declare function mapUriDefaultScheme(target: GrpcUri): GrpcUri | null;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver.js b/tests/node_modules/@grpc/grpc-js/build/src/resolver.js
deleted file mode 100644
index 530cb8351712946f12bf76522c49746bd0eae28a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver.js
+++ /dev/null
@@ -1,88 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.mapUriDefaultScheme = exports.getDefaultAuthority = exports.createResolver = exports.registerDefaultScheme = exports.registerResolver = void 0;
-const uri_parser_1 = require("./uri-parser");
-const registeredResolvers = {};
-let defaultScheme = null;
-/**
- * Register a resolver class to handle target names prefixed with the `prefix`
- * string. This prefix should correspond to a URI scheme name listed in the
- * [gRPC Name Resolution document](https://github.com/grpc/grpc/blob/master/doc/naming.md)
- * @param prefix
- * @param resolverClass
- */
-function registerResolver(scheme, resolverClass) {
- registeredResolvers[scheme] = resolverClass;
-}
-exports.registerResolver = registerResolver;
-/**
- * Register a default resolver to handle target names that do not start with
- * any registered prefix.
- * @param resolverClass
- */
-function registerDefaultScheme(scheme) {
- defaultScheme = scheme;
-}
-exports.registerDefaultScheme = registerDefaultScheme;
-/**
- * Create a name resolver for the specified target, if possible. Throws an
- * error if no such name resolver can be created.
- * @param target
- * @param listener
- */
-function createResolver(target, listener, options) {
- if (target.scheme !== undefined && target.scheme in registeredResolvers) {
- return new registeredResolvers[target.scheme](target, listener, options);
- }
- else {
- throw new Error(`No resolver could be created for target ${(0, uri_parser_1.uriToString)(target)}`);
- }
-}
-exports.createResolver = createResolver;
-/**
- * Get the default authority for the specified target, if possible. Throws an
- * error if no registered name resolver can parse that target string.
- * @param target
- */
-function getDefaultAuthority(target) {
- if (target.scheme !== undefined && target.scheme in registeredResolvers) {
- return registeredResolvers[target.scheme].getDefaultAuthority(target);
- }
- else {
- throw new Error(`Invalid target ${(0, uri_parser_1.uriToString)(target)}`);
- }
-}
-exports.getDefaultAuthority = getDefaultAuthority;
-function mapUriDefaultScheme(target) {
- if (target.scheme === undefined || !(target.scheme in registeredResolvers)) {
- if (defaultScheme !== null) {
- return {
- scheme: defaultScheme,
- authority: undefined,
- path: (0, uri_parser_1.uriToString)(target),
- };
- }
- else {
- return null;
- }
- }
- return target;
-}
-exports.mapUriDefaultScheme = mapUriDefaultScheme;
-//# sourceMappingURL=resolver.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolver.js.map b/tests/node_modules/@grpc/grpc-js/build/src/resolver.js.map
deleted file mode 100644
index 40ab649ccd6d2efd013df4fc84ce226141810277..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolver.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAKH,6CAAoD;AAuFpD,MAAM,mBAAmB,GAA8C,EAAE,CAAC;AAC1E,IAAI,aAAa,GAAkB,IAAI,CAAC;AAExC;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,MAAc,EACd,aAAkC;IAElC,mBAAmB,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;AAC9C,CAAC;AALD,4CAKC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,MAAc;IAClD,aAAa,GAAG,MAAM,CAAC;AACzB,CAAC;AAFD,sDAEC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,MAAe,EACf,QAA0B,EAC1B,OAAuB;IAEvB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,mBAAmB,EAAE;QACvE,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC1E;SAAM;QACL,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAA,wBAAW,EAAC,MAAM,CAAC,EAAE,CACjE,CAAC;KACH;AACH,CAAC;AAZD,wCAYC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,MAAe;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,mBAAmB,EAAE;QACvE,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;KACvE;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAA,wBAAW,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC1D;AACH,CAAC;AAND,kDAMC;AAED,SAAgB,mBAAmB,CAAC,MAAe;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,mBAAmB,CAAC,EAAE;QAC1E,IAAI,aAAa,KAAK,IAAI,EAAE;YAC1B,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,IAAA,wBAAW,EAAC,MAAM,CAAC;aAC1B,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAbD,kDAaC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolving-call.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/resolving-call.d.ts
deleted file mode 100644
index 6d98b81f6d148f07525c3ef17009fd04258eb262..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolving-call.d.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-///
-import { CallCredentials } from './call-credentials';
-import { Call, CallStreamOptions, InterceptingListener, MessageContext, StatusObject } from './call-interface';
-import { Status } from './constants';
-import { FilterStackFactory } from './filter-stack';
-import { InternalChannel } from './internal-channel';
-import { Metadata } from './metadata';
-export declare class ResolvingCall implements Call {
- private readonly channel;
- private readonly method;
- private readonly filterStackFactory;
- private credentials;
- private callNumber;
- private child;
- private readPending;
- private pendingMessage;
- private pendingHalfClose;
- private ended;
- private readFilterPending;
- private writeFilterPending;
- private pendingChildStatus;
- private metadata;
- private listener;
- private deadline;
- private host;
- private statusWatchers;
- private deadlineTimer;
- private filterStack;
- constructor(channel: InternalChannel, method: string, options: CallStreamOptions, filterStackFactory: FilterStackFactory, credentials: CallCredentials, callNumber: number);
- private trace;
- private runDeadlineTimer;
- private outputStatus;
- private sendMessageOnChild;
- getConfig(): void;
- reportResolverError(status: StatusObject): void;
- cancelWithStatus(status: Status, details: string): void;
- getPeer(): string;
- start(metadata: Metadata, listener: InterceptingListener): void;
- sendMessageWithContext(context: MessageContext, message: Buffer): void;
- startRead(): void;
- halfClose(): void;
- setCredentials(credentials: CallCredentials): void;
- addStatusWatcher(watcher: (status: StatusObject) => void): void;
- getCallNumber(): number;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolving-call.js b/tests/node_modules/@grpc/grpc-js/build/src/resolving-call.js
deleted file mode 100644
index 061d4e69bd73c95592db0a9a401a354c64c954d6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolving-call.js
+++ /dev/null
@@ -1,273 +0,0 @@
-"use strict";
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.ResolvingCall = void 0;
-const constants_1 = require("./constants");
-const deadline_1 = require("./deadline");
-const metadata_1 = require("./metadata");
-const logging = require("./logging");
-const control_plane_status_1 = require("./control-plane-status");
-const TRACER_NAME = 'resolving_call';
-class ResolvingCall {
- constructor(channel, method, options, filterStackFactory, credentials, callNumber) {
- this.channel = channel;
- this.method = method;
- this.filterStackFactory = filterStackFactory;
- this.credentials = credentials;
- this.callNumber = callNumber;
- this.child = null;
- this.readPending = false;
- this.pendingMessage = null;
- this.pendingHalfClose = false;
- this.ended = false;
- this.readFilterPending = false;
- this.writeFilterPending = false;
- this.pendingChildStatus = null;
- this.metadata = null;
- this.listener = null;
- this.statusWatchers = [];
- this.deadlineTimer = setTimeout(() => { }, 0);
- this.filterStack = null;
- this.deadline = options.deadline;
- this.host = options.host;
- if (options.parentCall) {
- if (options.flags & constants_1.Propagate.CANCELLATION) {
- options.parentCall.on('cancelled', () => {
- this.cancelWithStatus(constants_1.Status.CANCELLED, 'Cancelled by parent call');
- });
- }
- if (options.flags & constants_1.Propagate.DEADLINE) {
- this.trace('Propagating deadline from parent: ' +
- options.parentCall.getDeadline());
- this.deadline = (0, deadline_1.minDeadline)(this.deadline, options.parentCall.getDeadline());
- }
- }
- this.trace('Created');
- this.runDeadlineTimer();
- }
- trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, '[' + this.callNumber + '] ' + text);
- }
- runDeadlineTimer() {
- clearTimeout(this.deadlineTimer);
- this.trace('Deadline: ' + (0, deadline_1.deadlineToString)(this.deadline));
- const timeout = (0, deadline_1.getRelativeTimeout)(this.deadline);
- if (timeout !== Infinity) {
- this.trace('Deadline will be reached in ' + timeout + 'ms');
- const handleDeadline = () => {
- this.cancelWithStatus(constants_1.Status.DEADLINE_EXCEEDED, 'Deadline exceeded');
- };
- if (timeout <= 0) {
- process.nextTick(handleDeadline);
- }
- else {
- this.deadlineTimer = setTimeout(handleDeadline, timeout);
- }
- }
- }
- outputStatus(status) {
- if (!this.ended) {
- this.ended = true;
- if (!this.filterStack) {
- this.filterStack = this.filterStackFactory.createFilter();
- }
- clearTimeout(this.deadlineTimer);
- const filteredStatus = this.filterStack.receiveTrailers(status);
- this.trace('ended with status: code=' +
- filteredStatus.code +
- ' details="' +
- filteredStatus.details +
- '"');
- this.statusWatchers.forEach(watcher => watcher(filteredStatus));
- process.nextTick(() => {
- var _a;
- (_a = this.listener) === null || _a === void 0 ? void 0 : _a.onReceiveStatus(filteredStatus);
- });
- }
- }
- sendMessageOnChild(context, message) {
- if (!this.child) {
- throw new Error('sendMessageonChild called with child not populated');
- }
- const child = this.child;
- this.writeFilterPending = true;
- this.filterStack.sendMessage(Promise.resolve({ message: message, flags: context.flags })).then(filteredMessage => {
- this.writeFilterPending = false;
- child.sendMessageWithContext(context, filteredMessage.message);
- if (this.pendingHalfClose) {
- child.halfClose();
- }
- }, (status) => {
- this.cancelWithStatus(status.code, status.details);
- });
- }
- getConfig() {
- if (this.ended) {
- return;
- }
- if (!this.metadata || !this.listener) {
- throw new Error('getConfig called before start');
- }
- const configResult = this.channel.getConfig(this.method, this.metadata);
- if (configResult.type === 'NONE') {
- this.channel.queueCallForConfig(this);
- return;
- }
- else if (configResult.type === 'ERROR') {
- if (this.metadata.getOptions().waitForReady) {
- this.channel.queueCallForConfig(this);
- }
- else {
- this.outputStatus(configResult.error);
- }
- return;
- }
- // configResult.type === 'SUCCESS'
- const config = configResult.config;
- if (config.status !== constants_1.Status.OK) {
- const { code, details } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(config.status, 'Failed to route call to method ' + this.method);
- this.outputStatus({
- code: code,
- details: details,
- metadata: new metadata_1.Metadata(),
- });
- return;
- }
- if (config.methodConfig.timeout) {
- const configDeadline = new Date();
- configDeadline.setSeconds(configDeadline.getSeconds() + config.methodConfig.timeout.seconds);
- configDeadline.setMilliseconds(configDeadline.getMilliseconds() +
- config.methodConfig.timeout.nanos / 1000000);
- this.deadline = (0, deadline_1.minDeadline)(this.deadline, configDeadline);
- this.runDeadlineTimer();
- }
- this.filterStackFactory.push(config.dynamicFilterFactories);
- this.filterStack = this.filterStackFactory.createFilter();
- this.filterStack.sendMetadata(Promise.resolve(this.metadata)).then(filteredMetadata => {
- this.child = this.channel.createInnerCall(config, this.method, this.host, this.credentials, this.deadline);
- this.trace('Created child [' + this.child.getCallNumber() + ']');
- this.child.start(filteredMetadata, {
- onReceiveMetadata: metadata => {
- this.trace('Received metadata');
- this.listener.onReceiveMetadata(this.filterStack.receiveMetadata(metadata));
- },
- onReceiveMessage: message => {
- this.trace('Received message');
- this.readFilterPending = true;
- this.filterStack.receiveMessage(message).then(filteredMesssage => {
- this.trace('Finished filtering received message');
- this.readFilterPending = false;
- this.listener.onReceiveMessage(filteredMesssage);
- if (this.pendingChildStatus) {
- this.outputStatus(this.pendingChildStatus);
- }
- }, (status) => {
- this.cancelWithStatus(status.code, status.details);
- });
- },
- onReceiveStatus: status => {
- this.trace('Received status');
- if (this.readFilterPending) {
- this.pendingChildStatus = status;
- }
- else {
- this.outputStatus(status);
- }
- },
- });
- if (this.readPending) {
- this.child.startRead();
- }
- if (this.pendingMessage) {
- this.sendMessageOnChild(this.pendingMessage.context, this.pendingMessage.message);
- }
- else if (this.pendingHalfClose) {
- this.child.halfClose();
- }
- }, (status) => {
- this.outputStatus(status);
- });
- }
- reportResolverError(status) {
- var _a;
- if ((_a = this.metadata) === null || _a === void 0 ? void 0 : _a.getOptions().waitForReady) {
- this.channel.queueCallForConfig(this);
- }
- else {
- this.outputStatus(status);
- }
- }
- cancelWithStatus(status, details) {
- var _a;
- this.trace('cancelWithStatus code: ' + status + ' details: "' + details + '"');
- (_a = this.child) === null || _a === void 0 ? void 0 : _a.cancelWithStatus(status, details);
- this.outputStatus({
- code: status,
- details: details,
- metadata: new metadata_1.Metadata(),
- });
- }
- getPeer() {
- var _a, _b;
- return (_b = (_a = this.child) === null || _a === void 0 ? void 0 : _a.getPeer()) !== null && _b !== void 0 ? _b : this.channel.getTarget();
- }
- start(metadata, listener) {
- this.trace('start called');
- this.metadata = metadata.clone();
- this.listener = listener;
- this.getConfig();
- }
- sendMessageWithContext(context, message) {
- this.trace('write() called with message of length ' + message.length);
- if (this.child) {
- this.sendMessageOnChild(context, message);
- }
- else {
- this.pendingMessage = { context, message };
- }
- }
- startRead() {
- this.trace('startRead called');
- if (this.child) {
- this.child.startRead();
- }
- else {
- this.readPending = true;
- }
- }
- halfClose() {
- this.trace('halfClose called');
- if (this.child && !this.writeFilterPending) {
- this.child.halfClose();
- }
- else {
- this.pendingHalfClose = true;
- }
- }
- setCredentials(credentials) {
- this.credentials = this.credentials.compose(credentials);
- }
- addStatusWatcher(watcher) {
- this.statusWatchers.push(watcher);
- }
- getCallNumber() {
- return this.callNumber;
- }
-}
-exports.ResolvingCall = ResolvingCall;
-//# sourceMappingURL=resolving-call.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolving-call.js.map b/tests/node_modules/@grpc/grpc-js/build/src/resolving-call.js.map
deleted file mode 100644
index bfbaa501088907fb05102f3c958233b09496a3e4..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolving-call.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"resolving-call.js","sourceRoot":"","sources":["../../src/resolving-call.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.d.ts
deleted file mode 100644
index 1f697fb4f51bd898f9db5025bb7c77896dfb4fc7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.d.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { ChannelControlHelper, LoadBalancer, LoadBalancingConfig } from './load-balancer';
-import { ServiceConfig } from './service-config';
-import { ConfigSelector } from './resolver';
-import { StatusObject } from './call-interface';
-import { SubchannelAddress } from './subchannel-address';
-import { GrpcUri } from './uri-parser';
-import { ChannelOptions } from './channel-options';
-export interface ResolutionCallback {
- (serviceConfig: ServiceConfig, configSelector: ConfigSelector): void;
-}
-export interface ResolutionFailureCallback {
- (status: StatusObject): void;
-}
-export declare class ResolvingLoadBalancer implements LoadBalancer {
- private readonly target;
- private readonly channelControlHelper;
- private readonly onSuccessfulResolution;
- private readonly onFailedResolution;
- /**
- * The resolver class constructed for the target address.
- */
- private readonly innerResolver;
- private readonly childLoadBalancer;
- private latestChildState;
- private latestChildPicker;
- /**
- * This resolving load balancer's current connectivity state.
- */
- private currentState;
- private readonly defaultServiceConfig;
- /**
- * The service config object from the last successful resolution, if
- * available. A value of null indicates that we have not yet received a valid
- * service config from the resolver.
- */
- private previousServiceConfig;
- /**
- * The backoff timer for handling name resolution failures.
- */
- private readonly backoffTimeout;
- /**
- * Indicates whether we should attempt to resolve again after the backoff
- * timer runs out.
- */
- private continueResolving;
- /**
- * Wrapper class that behaves like a `LoadBalancer` and also handles name
- * resolution internally.
- * @param target The address of the backend to connect to.
- * @param channelControlHelper `ChannelControlHelper` instance provided by
- * this load balancer's owner.
- * @param defaultServiceConfig The default service configuration to be used
- * if none is provided by the name resolver. A `null` value indicates
- * that the default behavior should be the default unconfigured behavior.
- * In practice, that means using the "pick first" load balancer
- * implmentation
- */
- constructor(target: GrpcUri, channelControlHelper: ChannelControlHelper, channelOptions: ChannelOptions, onSuccessfulResolution: ResolutionCallback, onFailedResolution: ResolutionFailureCallback);
- private updateResolution;
- private updateState;
- private handleResolutionFailure;
- exitIdle(): void;
- updateAddressList(addressList: SubchannelAddress[], lbConfig: LoadBalancingConfig | null): never;
- resetBackoff(): void;
- destroy(): void;
- getTypeName(): string;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js b/tests/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js
deleted file mode 100644
index 6867faf710be1c884a5b516a336c73c39210826b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js
+++ /dev/null
@@ -1,304 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.ResolvingLoadBalancer = void 0;
-const load_balancer_1 = require("./load-balancer");
-const service_config_1 = require("./service-config");
-const connectivity_state_1 = require("./connectivity-state");
-const resolver_1 = require("./resolver");
-const picker_1 = require("./picker");
-const backoff_timeout_1 = require("./backoff-timeout");
-const constants_1 = require("./constants");
-const metadata_1 = require("./metadata");
-const logging = require("./logging");
-const constants_2 = require("./constants");
-const uri_parser_1 = require("./uri-parser");
-const load_balancer_child_handler_1 = require("./load-balancer-child-handler");
-const TRACER_NAME = 'resolving_load_balancer';
-function trace(text) {
- logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME, text);
-}
-/**
- * Name match levels in order from most to least specific. This is the order in
- * which searches will be performed.
- */
-const NAME_MATCH_LEVEL_ORDER = [
- 'SERVICE_AND_METHOD',
- 'SERVICE',
- 'EMPTY',
-];
-function hasMatchingName(service, method, methodConfig, matchLevel) {
- for (const name of methodConfig.name) {
- switch (matchLevel) {
- case 'EMPTY':
- if (!name.service && !name.method) {
- return true;
- }
- break;
- case 'SERVICE':
- if (name.service === service && !name.method) {
- return true;
- }
- break;
- case 'SERVICE_AND_METHOD':
- if (name.service === service && name.method === method) {
- return true;
- }
- }
- }
- return false;
-}
-function findMatchingConfig(service, method, methodConfigs, matchLevel) {
- for (const config of methodConfigs) {
- if (hasMatchingName(service, method, config, matchLevel)) {
- return config;
- }
- }
- return null;
-}
-function getDefaultConfigSelector(serviceConfig) {
- return function defaultConfigSelector(methodName, metadata) {
- var _a, _b;
- const splitName = methodName.split('/').filter(x => x.length > 0);
- const service = (_a = splitName[0]) !== null && _a !== void 0 ? _a : '';
- const method = (_b = splitName[1]) !== null && _b !== void 0 ? _b : '';
- if (serviceConfig && serviceConfig.methodConfig) {
- /* Check for the following in order, and return the first method
- * config that matches:
- * 1. A name that exactly matches the service and method
- * 2. A name with no method set that matches the service
- * 3. An empty name
- */
- for (const matchLevel of NAME_MATCH_LEVEL_ORDER) {
- const matchingConfig = findMatchingConfig(service, method, serviceConfig.methodConfig, matchLevel);
- if (matchingConfig) {
- return {
- methodConfig: matchingConfig,
- pickInformation: {},
- status: constants_1.Status.OK,
- dynamicFilterFactories: [],
- };
- }
- }
- }
- return {
- methodConfig: { name: [] },
- pickInformation: {},
- status: constants_1.Status.OK,
- dynamicFilterFactories: [],
- };
- };
-}
-class ResolvingLoadBalancer {
- /**
- * Wrapper class that behaves like a `LoadBalancer` and also handles name
- * resolution internally.
- * @param target The address of the backend to connect to.
- * @param channelControlHelper `ChannelControlHelper` instance provided by
- * this load balancer's owner.
- * @param defaultServiceConfig The default service configuration to be used
- * if none is provided by the name resolver. A `null` value indicates
- * that the default behavior should be the default unconfigured behavior.
- * In practice, that means using the "pick first" load balancer
- * implmentation
- */
- constructor(target, channelControlHelper, channelOptions, onSuccessfulResolution, onFailedResolution) {
- this.target = target;
- this.channelControlHelper = channelControlHelper;
- this.onSuccessfulResolution = onSuccessfulResolution;
- this.onFailedResolution = onFailedResolution;
- this.latestChildState = connectivity_state_1.ConnectivityState.IDLE;
- this.latestChildPicker = new picker_1.QueuePicker(this);
- /**
- * This resolving load balancer's current connectivity state.
- */
- this.currentState = connectivity_state_1.ConnectivityState.IDLE;
- /**
- * The service config object from the last successful resolution, if
- * available. A value of null indicates that we have not yet received a valid
- * service config from the resolver.
- */
- this.previousServiceConfig = null;
- /**
- * Indicates whether we should attempt to resolve again after the backoff
- * timer runs out.
- */
- this.continueResolving = false;
- if (channelOptions['grpc.service_config']) {
- this.defaultServiceConfig = (0, service_config_1.validateServiceConfig)(JSON.parse(channelOptions['grpc.service_config']));
- }
- else {
- this.defaultServiceConfig = {
- loadBalancingConfig: [],
- methodConfig: [],
- };
- }
- this.updateState(connectivity_state_1.ConnectivityState.IDLE, new picker_1.QueuePicker(this));
- this.childLoadBalancer = new load_balancer_child_handler_1.ChildLoadBalancerHandler({
- createSubchannel: channelControlHelper.createSubchannel.bind(channelControlHelper),
- requestReresolution: () => {
- /* If the backoffTimeout is running, we're still backing off from
- * making resolve requests, so we shouldn't make another one here.
- * In that case, the backoff timer callback will call
- * updateResolution */
- if (this.backoffTimeout.isRunning()) {
- trace('requestReresolution delayed by backoff timer until ' + this.backoffTimeout.getEndTime().toISOString());
- this.continueResolving = true;
- }
- else {
- this.updateResolution();
- }
- },
- updateState: (newState, picker) => {
- this.latestChildState = newState;
- this.latestChildPicker = picker;
- this.updateState(newState, picker);
- },
- addChannelzChild: channelControlHelper.addChannelzChild.bind(channelControlHelper),
- removeChannelzChild: channelControlHelper.removeChannelzChild.bind(channelControlHelper),
- });
- this.innerResolver = (0, resolver_1.createResolver)(target, {
- onSuccessfulResolution: (addressList, serviceConfig, serviceConfigError, configSelector, attributes) => {
- var _a;
- this.backoffTimeout.stop();
- this.backoffTimeout.reset();
- let workingServiceConfig = null;
- /* This first group of conditionals implements the algorithm described
- * in https://github.com/grpc/proposal/blob/master/A21-service-config-error-handling.md
- * in the section called "Behavior on receiving a new gRPC Config".
- */
- if (serviceConfig === null) {
- // Step 4 and 5
- if (serviceConfigError === null) {
- // Step 5
- this.previousServiceConfig = null;
- workingServiceConfig = this.defaultServiceConfig;
- }
- else {
- // Step 4
- if (this.previousServiceConfig === null) {
- // Step 4.ii
- this.handleResolutionFailure(serviceConfigError);
- }
- else {
- // Step 4.i
- workingServiceConfig = this.previousServiceConfig;
- }
- }
- }
- else {
- // Step 3
- workingServiceConfig = serviceConfig;
- this.previousServiceConfig = serviceConfig;
- }
- const workingConfigList = (_a = workingServiceConfig === null || workingServiceConfig === void 0 ? void 0 : workingServiceConfig.loadBalancingConfig) !== null && _a !== void 0 ? _a : [];
- const loadBalancingConfig = (0, load_balancer_1.getFirstUsableConfig)(workingConfigList, true);
- if (loadBalancingConfig === null) {
- // There were load balancing configs but none are supported. This counts as a resolution failure
- this.handleResolutionFailure({
- code: constants_1.Status.UNAVAILABLE,
- details: 'All load balancer options in service config are not compatible',
- metadata: new metadata_1.Metadata(),
- });
- return;
- }
- this.childLoadBalancer.updateAddressList(addressList, loadBalancingConfig, attributes);
- const finalServiceConfig = workingServiceConfig !== null && workingServiceConfig !== void 0 ? workingServiceConfig : this.defaultServiceConfig;
- this.onSuccessfulResolution(finalServiceConfig, configSelector !== null && configSelector !== void 0 ? configSelector : getDefaultConfigSelector(finalServiceConfig));
- },
- onError: (error) => {
- this.handleResolutionFailure(error);
- },
- }, channelOptions);
- const backoffOptions = {
- initialDelay: channelOptions['grpc.initial_reconnect_backoff_ms'],
- maxDelay: channelOptions['grpc.max_reconnect_backoff_ms'],
- };
- this.backoffTimeout = new backoff_timeout_1.BackoffTimeout(() => {
- if (this.continueResolving) {
- this.updateResolution();
- this.continueResolving = false;
- }
- else {
- this.updateState(this.latestChildState, this.latestChildPicker);
- }
- }, backoffOptions);
- this.backoffTimeout.unref();
- }
- updateResolution() {
- this.innerResolver.updateResolution();
- if (this.currentState === connectivity_state_1.ConnectivityState.IDLE) {
- this.updateState(connectivity_state_1.ConnectivityState.CONNECTING, new picker_1.QueuePicker(this));
- }
- this.backoffTimeout.runOnce();
- }
- updateState(connectivityState, picker) {
- trace((0, uri_parser_1.uriToString)(this.target) +
- ' ' +
- connectivity_state_1.ConnectivityState[this.currentState] +
- ' -> ' +
- connectivity_state_1.ConnectivityState[connectivityState]);
- // Ensure that this.exitIdle() is called by the picker
- if (connectivityState === connectivity_state_1.ConnectivityState.IDLE) {
- picker = new picker_1.QueuePicker(this);
- }
- this.currentState = connectivityState;
- this.channelControlHelper.updateState(connectivityState, picker);
- }
- handleResolutionFailure(error) {
- if (this.latestChildState === connectivity_state_1.ConnectivityState.IDLE) {
- this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker(error));
- this.onFailedResolution(error);
- }
- }
- exitIdle() {
- if (this.currentState === connectivity_state_1.ConnectivityState.IDLE ||
- this.currentState === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
- if (this.backoffTimeout.isRunning()) {
- this.continueResolving = true;
- }
- else {
- this.updateResolution();
- }
- }
- this.childLoadBalancer.exitIdle();
- }
- updateAddressList(addressList, lbConfig) {
- throw new Error('updateAddressList not supported on ResolvingLoadBalancer');
- }
- resetBackoff() {
- this.backoffTimeout.reset();
- this.childLoadBalancer.resetBackoff();
- }
- destroy() {
- this.childLoadBalancer.destroy();
- this.innerResolver.destroy();
- this.backoffTimeout.reset();
- this.backoffTimeout.stop();
- this.latestChildState = connectivity_state_1.ConnectivityState.IDLE;
- this.latestChildPicker = new picker_1.QueuePicker(this);
- this.currentState = connectivity_state_1.ConnectivityState.IDLE;
- this.previousServiceConfig = null;
- this.continueResolving = false;
- }
- getTypeName() {
- return 'resolving_load_balancer';
- }
-}
-exports.ResolvingLoadBalancer = ResolvingLoadBalancer;
-//# sourceMappingURL=resolving-load-balancer.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js.map b/tests/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js.map
deleted file mode 100644
index dca8114e9d09e870abdc31f4171f41f96bf1d600..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"resolving-load-balancer.js","sourceRoot":"","sources":["../../src/resolving-load-balancer.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/retrying-call.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/retrying-call.d.ts
deleted file mode 100644
index cc80bd0c192ccee5e0c2fb48a978a1fc2e492f66..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/retrying-call.d.ts
+++ /dev/null
@@ -1,95 +0,0 @@
-///
-import { CallCredentials } from './call-credentials';
-import { Status } from './constants';
-import { Deadline } from './deadline';
-import { Metadata } from './metadata';
-import { CallConfig } from './resolver';
-import { Call, InterceptingListener, MessageContext } from './call-interface';
-import { InternalChannel } from './internal-channel';
-export declare class RetryThrottler {
- private readonly maxTokens;
- private readonly tokenRatio;
- private tokens;
- constructor(maxTokens: number, tokenRatio: number, previousRetryThrottler?: RetryThrottler);
- addCallSucceeded(): void;
- addCallFailed(): void;
- canRetryCall(): boolean;
-}
-export declare class MessageBufferTracker {
- private totalLimit;
- private limitPerCall;
- private totalAllocated;
- private allocatedPerCall;
- constructor(totalLimit: number, limitPerCall: number);
- allocate(size: number, callId: number): boolean;
- free(size: number, callId: number): void;
- freeAll(callId: number): void;
-}
-export declare class RetryingCall implements Call {
- private readonly channel;
- private readonly callConfig;
- private readonly methodName;
- private readonly host;
- private readonly credentials;
- private readonly deadline;
- private readonly callNumber;
- private readonly bufferTracker;
- private readonly retryThrottler?;
- private state;
- private listener;
- private initialMetadata;
- private underlyingCalls;
- private writeBuffer;
- /**
- * The offset of message indices in the writeBuffer. For example, if
- * writeBufferOffset is 10, message 10 is in writeBuffer[0] and message 15
- * is in writeBuffer[5].
- */
- private writeBufferOffset;
- /**
- * Tracks whether a read has been started, so that we know whether to start
- * reads on new child calls. This only matters for the first read, because
- * once a message comes in the child call becomes committed and there will
- * be no new child calls.
- */
- private readStarted;
- private transparentRetryUsed;
- /**
- * Number of attempts so far
- */
- private attempts;
- private hedgingTimer;
- private committedCallIndex;
- private initialRetryBackoffSec;
- private nextRetryBackoffSec;
- constructor(channel: InternalChannel, callConfig: CallConfig, methodName: string, host: string, credentials: CallCredentials, deadline: Deadline, callNumber: number, bufferTracker: MessageBufferTracker, retryThrottler?: RetryThrottler | undefined);
- getCallNumber(): number;
- private trace;
- private reportStatus;
- cancelWithStatus(status: Status, details: string): void;
- getPeer(): string;
- private getBufferEntry;
- private getNextBufferIndex;
- private clearSentMessages;
- private commitCall;
- private commitCallWithMostMessages;
- private isStatusCodeInList;
- private getNextRetryBackoffMs;
- private maybeRetryCall;
- private countActiveCalls;
- private handleProcessedStatus;
- private getPushback;
- private handleChildStatus;
- private maybeStartHedgingAttempt;
- private maybeStartHedgingTimer;
- private startNewAttempt;
- start(metadata: Metadata, listener: InterceptingListener): void;
- private handleChildWriteCompleted;
- private sendNextChildMessage;
- sendMessageWithContext(context: MessageContext, message: Buffer): void;
- startRead(): void;
- halfClose(): void;
- setCredentials(newCredentials: CallCredentials): void;
- getMethod(): string;
- getHost(): string;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/retrying-call.js b/tests/node_modules/@grpc/grpc-js/build/src/retrying-call.js
deleted file mode 100644
index 6db6ce9c921451246df1494f6956c122dc8a310a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/retrying-call.js
+++ /dev/null
@@ -1,639 +0,0 @@
-"use strict";
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.RetryingCall = exports.MessageBufferTracker = exports.RetryThrottler = void 0;
-const constants_1 = require("./constants");
-const metadata_1 = require("./metadata");
-const logging = require("./logging");
-const TRACER_NAME = 'retrying_call';
-class RetryThrottler {
- constructor(maxTokens, tokenRatio, previousRetryThrottler) {
- this.maxTokens = maxTokens;
- this.tokenRatio = tokenRatio;
- if (previousRetryThrottler) {
- /* When carrying over tokens from a previous config, rescale them to the
- * new max value */
- this.tokens =
- previousRetryThrottler.tokens *
- (maxTokens / previousRetryThrottler.maxTokens);
- }
- else {
- this.tokens = maxTokens;
- }
- }
- addCallSucceeded() {
- this.tokens = Math.max(this.tokens + this.tokenRatio, this.maxTokens);
- }
- addCallFailed() {
- this.tokens = Math.min(this.tokens - 1, 0);
- }
- canRetryCall() {
- return this.tokens > this.maxTokens / 2;
- }
-}
-exports.RetryThrottler = RetryThrottler;
-class MessageBufferTracker {
- constructor(totalLimit, limitPerCall) {
- this.totalLimit = totalLimit;
- this.limitPerCall = limitPerCall;
- this.totalAllocated = 0;
- this.allocatedPerCall = new Map();
- }
- allocate(size, callId) {
- var _a;
- const currentPerCall = (_a = this.allocatedPerCall.get(callId)) !== null && _a !== void 0 ? _a : 0;
- if (this.limitPerCall - currentPerCall < size ||
- this.totalLimit - this.totalAllocated < size) {
- return false;
- }
- this.allocatedPerCall.set(callId, currentPerCall + size);
- this.totalAllocated += size;
- return true;
- }
- free(size, callId) {
- var _a;
- if (this.totalAllocated < size) {
- throw new Error(`Invalid buffer allocation state: call ${callId} freed ${size} > total allocated ${this.totalAllocated}`);
- }
- this.totalAllocated -= size;
- const currentPerCall = (_a = this.allocatedPerCall.get(callId)) !== null && _a !== void 0 ? _a : 0;
- if (currentPerCall < size) {
- throw new Error(`Invalid buffer allocation state: call ${callId} freed ${size} > allocated for call ${currentPerCall}`);
- }
- this.allocatedPerCall.set(callId, currentPerCall - size);
- }
- freeAll(callId) {
- var _a;
- const currentPerCall = (_a = this.allocatedPerCall.get(callId)) !== null && _a !== void 0 ? _a : 0;
- if (this.totalAllocated < currentPerCall) {
- throw new Error(`Invalid buffer allocation state: call ${callId} allocated ${currentPerCall} > total allocated ${this.totalAllocated}`);
- }
- this.totalAllocated -= currentPerCall;
- this.allocatedPerCall.delete(callId);
- }
-}
-exports.MessageBufferTracker = MessageBufferTracker;
-const PREVIONS_RPC_ATTEMPTS_METADATA_KEY = 'grpc-previous-rpc-attempts';
-class RetryingCall {
- constructor(channel, callConfig, methodName, host, credentials, deadline, callNumber, bufferTracker, retryThrottler) {
- this.channel = channel;
- this.callConfig = callConfig;
- this.methodName = methodName;
- this.host = host;
- this.credentials = credentials;
- this.deadline = deadline;
- this.callNumber = callNumber;
- this.bufferTracker = bufferTracker;
- this.retryThrottler = retryThrottler;
- this.listener = null;
- this.initialMetadata = null;
- this.underlyingCalls = [];
- this.writeBuffer = [];
- /**
- * The offset of message indices in the writeBuffer. For example, if
- * writeBufferOffset is 10, message 10 is in writeBuffer[0] and message 15
- * is in writeBuffer[5].
- */
- this.writeBufferOffset = 0;
- /**
- * Tracks whether a read has been started, so that we know whether to start
- * reads on new child calls. This only matters for the first read, because
- * once a message comes in the child call becomes committed and there will
- * be no new child calls.
- */
- this.readStarted = false;
- this.transparentRetryUsed = false;
- /**
- * Number of attempts so far
- */
- this.attempts = 0;
- this.hedgingTimer = null;
- this.committedCallIndex = null;
- this.initialRetryBackoffSec = 0;
- this.nextRetryBackoffSec = 0;
- if (callConfig.methodConfig.retryPolicy) {
- this.state = 'RETRY';
- const retryPolicy = callConfig.methodConfig.retryPolicy;
- this.nextRetryBackoffSec = this.initialRetryBackoffSec = Number(retryPolicy.initialBackoff.substring(0, retryPolicy.initialBackoff.length - 1));
- }
- else if (callConfig.methodConfig.hedgingPolicy) {
- this.state = 'HEDGING';
- }
- else {
- this.state = 'TRANSPARENT_ONLY';
- }
- }
- getCallNumber() {
- return this.callNumber;
- }
- trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, '[' + this.callNumber + '] ' + text);
- }
- reportStatus(statusObject) {
- this.trace('ended with status: code=' +
- statusObject.code +
- ' details="' +
- statusObject.details +
- '"');
- this.bufferTracker.freeAll(this.callNumber);
- this.writeBufferOffset = this.writeBufferOffset + this.writeBuffer.length;
- this.writeBuffer = [];
- process.nextTick(() => {
- var _a;
- // Explicitly construct status object to remove progress field
- (_a = this.listener) === null || _a === void 0 ? void 0 : _a.onReceiveStatus({
- code: statusObject.code,
- details: statusObject.details,
- metadata: statusObject.metadata,
- });
- });
- }
- cancelWithStatus(status, details) {
- this.trace('cancelWithStatus code: ' + status + ' details: "' + details + '"');
- this.reportStatus({ code: status, details, metadata: new metadata_1.Metadata() });
- for (const { call } of this.underlyingCalls) {
- call.cancelWithStatus(status, details);
- }
- }
- getPeer() {
- if (this.committedCallIndex !== null) {
- return this.underlyingCalls[this.committedCallIndex].call.getPeer();
- }
- else {
- return 'unknown';
- }
- }
- getBufferEntry(messageIndex) {
- var _a;
- return ((_a = this.writeBuffer[messageIndex - this.writeBufferOffset]) !== null && _a !== void 0 ? _a : {
- entryType: 'FREED',
- allocated: false,
- });
- }
- getNextBufferIndex() {
- return this.writeBufferOffset + this.writeBuffer.length;
- }
- clearSentMessages() {
- if (this.state !== 'COMMITTED') {
- return;
- }
- const earliestNeededMessageIndex = this.underlyingCalls[this.committedCallIndex].nextMessageToSend;
- for (let messageIndex = this.writeBufferOffset; messageIndex < earliestNeededMessageIndex; messageIndex++) {
- const bufferEntry = this.getBufferEntry(messageIndex);
- if (bufferEntry.allocated) {
- this.bufferTracker.free(bufferEntry.message.message.length, this.callNumber);
- }
- }
- this.writeBuffer = this.writeBuffer.slice(earliestNeededMessageIndex - this.writeBufferOffset);
- this.writeBufferOffset = earliestNeededMessageIndex;
- }
- commitCall(index) {
- if (this.state === 'COMMITTED') {
- return;
- }
- if (this.underlyingCalls[index].state === 'COMPLETED') {
- return;
- }
- this.trace('Committing call [' +
- this.underlyingCalls[index].call.getCallNumber() +
- '] at index ' +
- index);
- this.state = 'COMMITTED';
- this.committedCallIndex = index;
- for (let i = 0; i < this.underlyingCalls.length; i++) {
- if (i === index) {
- continue;
- }
- if (this.underlyingCalls[i].state === 'COMPLETED') {
- continue;
- }
- this.underlyingCalls[i].state = 'COMPLETED';
- this.underlyingCalls[i].call.cancelWithStatus(constants_1.Status.CANCELLED, 'Discarded in favor of other hedged attempt');
- }
- this.clearSentMessages();
- }
- commitCallWithMostMessages() {
- if (this.state === 'COMMITTED') {
- return;
- }
- let mostMessages = -1;
- let callWithMostMessages = -1;
- for (const [index, childCall] of this.underlyingCalls.entries()) {
- if (childCall.state === 'ACTIVE' &&
- childCall.nextMessageToSend > mostMessages) {
- mostMessages = childCall.nextMessageToSend;
- callWithMostMessages = index;
- }
- }
- if (callWithMostMessages === -1) {
- /* There are no active calls, disable retries to force the next call that
- * is started to be committed. */
- this.state = 'TRANSPARENT_ONLY';
- }
- else {
- this.commitCall(callWithMostMessages);
- }
- }
- isStatusCodeInList(list, code) {
- return list.some(value => value === code ||
- value.toString().toLowerCase() === constants_1.Status[code].toLowerCase());
- }
- getNextRetryBackoffMs() {
- var _a;
- const retryPolicy = (_a = this.callConfig) === null || _a === void 0 ? void 0 : _a.methodConfig.retryPolicy;
- if (!retryPolicy) {
- return 0;
- }
- const nextBackoffMs = Math.random() * this.nextRetryBackoffSec * 1000;
- const maxBackoffSec = Number(retryPolicy.maxBackoff.substring(0, retryPolicy.maxBackoff.length - 1));
- this.nextRetryBackoffSec = Math.min(this.nextRetryBackoffSec * retryPolicy.backoffMultiplier, maxBackoffSec);
- return nextBackoffMs;
- }
- maybeRetryCall(pushback, callback) {
- if (this.state !== 'RETRY') {
- callback(false);
- return;
- }
- const retryPolicy = this.callConfig.methodConfig.retryPolicy;
- if (this.attempts >= Math.min(retryPolicy.maxAttempts, 5)) {
- callback(false);
- return;
- }
- let retryDelayMs;
- if (pushback === null) {
- retryDelayMs = this.getNextRetryBackoffMs();
- }
- else if (pushback < 0) {
- this.state = 'TRANSPARENT_ONLY';
- callback(false);
- return;
- }
- else {
- retryDelayMs = pushback;
- this.nextRetryBackoffSec = this.initialRetryBackoffSec;
- }
- setTimeout(() => {
- var _a, _b;
- if (this.state !== 'RETRY') {
- callback(false);
- return;
- }
- if ((_b = (_a = this.retryThrottler) === null || _a === void 0 ? void 0 : _a.canRetryCall()) !== null && _b !== void 0 ? _b : true) {
- callback(true);
- this.attempts += 1;
- this.startNewAttempt();
- }
- }, retryDelayMs);
- }
- countActiveCalls() {
- let count = 0;
- for (const call of this.underlyingCalls) {
- if ((call === null || call === void 0 ? void 0 : call.state) === 'ACTIVE') {
- count += 1;
- }
- }
- return count;
- }
- handleProcessedStatus(status, callIndex, pushback) {
- var _a, _b, _c;
- switch (this.state) {
- case 'COMMITTED':
- case 'TRANSPARENT_ONLY':
- this.commitCall(callIndex);
- this.reportStatus(status);
- break;
- case 'HEDGING':
- if (this.isStatusCodeInList((_a = this.callConfig.methodConfig.hedgingPolicy.nonFatalStatusCodes) !== null && _a !== void 0 ? _a : [], status.code)) {
- (_b = this.retryThrottler) === null || _b === void 0 ? void 0 : _b.addCallFailed();
- let delayMs;
- if (pushback === null) {
- delayMs = 0;
- }
- else if (pushback < 0) {
- this.state = 'TRANSPARENT_ONLY';
- this.commitCall(callIndex);
- this.reportStatus(status);
- return;
- }
- else {
- delayMs = pushback;
- }
- setTimeout(() => {
- this.maybeStartHedgingAttempt();
- // If after trying to start a call there are no active calls, this was the last one
- if (this.countActiveCalls() === 0) {
- this.commitCall(callIndex);
- this.reportStatus(status);
- }
- }, delayMs);
- }
- else {
- this.commitCall(callIndex);
- this.reportStatus(status);
- }
- break;
- case 'RETRY':
- if (this.isStatusCodeInList(this.callConfig.methodConfig.retryPolicy.retryableStatusCodes, status.code)) {
- (_c = this.retryThrottler) === null || _c === void 0 ? void 0 : _c.addCallFailed();
- this.maybeRetryCall(pushback, retried => {
- if (!retried) {
- this.commitCall(callIndex);
- this.reportStatus(status);
- }
- });
- }
- else {
- this.commitCall(callIndex);
- this.reportStatus(status);
- }
- break;
- }
- }
- getPushback(metadata) {
- const mdValue = metadata.get('grpc-retry-pushback-ms');
- if (mdValue.length === 0) {
- return null;
- }
- try {
- return parseInt(mdValue[0]);
- }
- catch (e) {
- return -1;
- }
- }
- handleChildStatus(status, callIndex) {
- var _a;
- if (this.underlyingCalls[callIndex].state === 'COMPLETED') {
- return;
- }
- this.trace('state=' +
- this.state +
- ' handling status with progress ' +
- status.progress +
- ' from child [' +
- this.underlyingCalls[callIndex].call.getCallNumber() +
- '] in state ' +
- this.underlyingCalls[callIndex].state);
- this.underlyingCalls[callIndex].state = 'COMPLETED';
- if (status.code === constants_1.Status.OK) {
- (_a = this.retryThrottler) === null || _a === void 0 ? void 0 : _a.addCallSucceeded();
- this.commitCall(callIndex);
- this.reportStatus(status);
- return;
- }
- if (this.state === 'COMMITTED') {
- this.reportStatus(status);
- return;
- }
- const pushback = this.getPushback(status.metadata);
- switch (status.progress) {
- case 'NOT_STARTED':
- // RPC never leaves the client, always safe to retry
- this.startNewAttempt();
- break;
- case 'REFUSED':
- // RPC reaches the server library, but not the server application logic
- if (this.transparentRetryUsed) {
- this.handleProcessedStatus(status, callIndex, pushback);
- }
- else {
- this.transparentRetryUsed = true;
- this.startNewAttempt();
- }
- break;
- case 'DROP':
- this.commitCall(callIndex);
- this.reportStatus(status);
- break;
- case 'PROCESSED':
- this.handleProcessedStatus(status, callIndex, pushback);
- break;
- }
- }
- maybeStartHedgingAttempt() {
- if (this.state !== 'HEDGING') {
- return;
- }
- if (!this.callConfig.methodConfig.hedgingPolicy) {
- return;
- }
- const hedgingPolicy = this.callConfig.methodConfig.hedgingPolicy;
- if (this.attempts >= Math.min(hedgingPolicy.maxAttempts, 5)) {
- return;
- }
- this.attempts += 1;
- this.startNewAttempt();
- this.maybeStartHedgingTimer();
- }
- maybeStartHedgingTimer() {
- var _a, _b, _c;
- if (this.hedgingTimer) {
- clearTimeout(this.hedgingTimer);
- }
- if (this.state !== 'HEDGING') {
- return;
- }
- if (!this.callConfig.methodConfig.hedgingPolicy) {
- return;
- }
- const hedgingPolicy = this.callConfig.methodConfig.hedgingPolicy;
- if (this.attempts >= Math.min(hedgingPolicy.maxAttempts, 5)) {
- return;
- }
- const hedgingDelayString = (_a = hedgingPolicy.hedgingDelay) !== null && _a !== void 0 ? _a : '0s';
- const hedgingDelaySec = Number(hedgingDelayString.substring(0, hedgingDelayString.length - 1));
- this.hedgingTimer = setTimeout(() => {
- this.maybeStartHedgingAttempt();
- }, hedgingDelaySec * 1000);
- (_c = (_b = this.hedgingTimer).unref) === null || _c === void 0 ? void 0 : _c.call(_b);
- }
- startNewAttempt() {
- const child = this.channel.createLoadBalancingCall(this.callConfig, this.methodName, this.host, this.credentials, this.deadline);
- this.trace('Created child call [' +
- child.getCallNumber() +
- '] for attempt ' +
- this.attempts);
- const index = this.underlyingCalls.length;
- this.underlyingCalls.push({
- state: 'ACTIVE',
- call: child,
- nextMessageToSend: 0,
- });
- const previousAttempts = this.attempts - 1;
- const initialMetadata = this.initialMetadata.clone();
- if (previousAttempts > 0) {
- initialMetadata.set(PREVIONS_RPC_ATTEMPTS_METADATA_KEY, `${previousAttempts}`);
- }
- let receivedMetadata = false;
- child.start(initialMetadata, {
- onReceiveMetadata: metadata => {
- this.trace('Received metadata from child [' + child.getCallNumber() + ']');
- this.commitCall(index);
- receivedMetadata = true;
- if (previousAttempts > 0) {
- metadata.set(PREVIONS_RPC_ATTEMPTS_METADATA_KEY, `${previousAttempts}`);
- }
- if (this.underlyingCalls[index].state === 'ACTIVE') {
- this.listener.onReceiveMetadata(metadata);
- }
- },
- onReceiveMessage: message => {
- this.trace('Received message from child [' + child.getCallNumber() + ']');
- this.commitCall(index);
- if (this.underlyingCalls[index].state === 'ACTIVE') {
- this.listener.onReceiveMessage(message);
- }
- },
- onReceiveStatus: status => {
- this.trace('Received status from child [' + child.getCallNumber() + ']');
- if (!receivedMetadata && previousAttempts > 0) {
- status.metadata.set(PREVIONS_RPC_ATTEMPTS_METADATA_KEY, `${previousAttempts}`);
- }
- this.handleChildStatus(status, index);
- },
- });
- this.sendNextChildMessage(index);
- if (this.readStarted) {
- child.startRead();
- }
- }
- start(metadata, listener) {
- this.trace('start called');
- this.listener = listener;
- this.initialMetadata = metadata;
- this.attempts += 1;
- this.startNewAttempt();
- this.maybeStartHedgingTimer();
- }
- handleChildWriteCompleted(childIndex) {
- var _a, _b;
- const childCall = this.underlyingCalls[childIndex];
- const messageIndex = childCall.nextMessageToSend;
- (_b = (_a = this.getBufferEntry(messageIndex)).callback) === null || _b === void 0 ? void 0 : _b.call(_a);
- this.clearSentMessages();
- childCall.nextMessageToSend += 1;
- this.sendNextChildMessage(childIndex);
- }
- sendNextChildMessage(childIndex) {
- const childCall = this.underlyingCalls[childIndex];
- if (childCall.state === 'COMPLETED') {
- return;
- }
- if (this.getBufferEntry(childCall.nextMessageToSend)) {
- const bufferEntry = this.getBufferEntry(childCall.nextMessageToSend);
- switch (bufferEntry.entryType) {
- case 'MESSAGE':
- childCall.call.sendMessageWithContext({
- callback: error => {
- // Ignore error
- this.handleChildWriteCompleted(childIndex);
- },
- }, bufferEntry.message.message);
- break;
- case 'HALF_CLOSE':
- childCall.nextMessageToSend += 1;
- childCall.call.halfClose();
- break;
- case 'FREED':
- // Should not be possible
- break;
- }
- }
- }
- sendMessageWithContext(context, message) {
- var _a;
- this.trace('write() called with message of length ' + message.length);
- const writeObj = {
- message,
- flags: context.flags,
- };
- const messageIndex = this.getNextBufferIndex();
- const bufferEntry = {
- entryType: 'MESSAGE',
- message: writeObj,
- allocated: this.bufferTracker.allocate(message.length, this.callNumber),
- };
- this.writeBuffer.push(bufferEntry);
- if (bufferEntry.allocated) {
- (_a = context.callback) === null || _a === void 0 ? void 0 : _a.call(context);
- for (const [callIndex, call] of this.underlyingCalls.entries()) {
- if (call.state === 'ACTIVE' &&
- call.nextMessageToSend === messageIndex) {
- call.call.sendMessageWithContext({
- callback: error => {
- // Ignore error
- this.handleChildWriteCompleted(callIndex);
- },
- }, message);
- }
- }
- }
- else {
- this.commitCallWithMostMessages();
- // commitCallWithMostMessages can fail if we are between ping attempts
- if (this.committedCallIndex === null) {
- return;
- }
- const call = this.underlyingCalls[this.committedCallIndex];
- bufferEntry.callback = context.callback;
- if (call.state === 'ACTIVE' && call.nextMessageToSend === messageIndex) {
- call.call.sendMessageWithContext({
- callback: error => {
- // Ignore error
- this.handleChildWriteCompleted(this.committedCallIndex);
- },
- }, message);
- }
- }
- }
- startRead() {
- this.trace('startRead called');
- this.readStarted = true;
- for (const underlyingCall of this.underlyingCalls) {
- if ((underlyingCall === null || underlyingCall === void 0 ? void 0 : underlyingCall.state) === 'ACTIVE') {
- underlyingCall.call.startRead();
- }
- }
- }
- halfClose() {
- this.trace('halfClose called');
- const halfCloseIndex = this.getNextBufferIndex();
- this.writeBuffer.push({
- entryType: 'HALF_CLOSE',
- allocated: false,
- });
- for (const call of this.underlyingCalls) {
- if ((call === null || call === void 0 ? void 0 : call.state) === 'ACTIVE' &&
- call.nextMessageToSend === halfCloseIndex) {
- call.nextMessageToSend += 1;
- call.call.halfClose();
- }
- }
- }
- setCredentials(newCredentials) {
- throw new Error('Method not implemented.');
- }
- getMethod() {
- return this.methodName;
- }
- getHost() {
- return this.host;
- }
-}
-exports.RetryingCall = RetryingCall;
-//# sourceMappingURL=retrying-call.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/retrying-call.js.map b/tests/node_modules/@grpc/grpc-js/build/src/retrying-call.js.map
deleted file mode 100644
index 637dda468e7ab5bf16e9854c4a2c6bd4aa0a18b6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/retrying-call.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"retrying-call.js","sourceRoot":"","sources":["../../src/retrying-call.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/server-call.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/server-call.d.ts
deleted file mode 100644
index b923fd52fc9ec7ad88d8e8522922a48ea42d6de8..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/server-call.d.ts
+++ /dev/null
@@ -1,162 +0,0 @@
-///
-///
-///
-///
-///
-import { EventEmitter } from 'events';
-import * as http2 from 'http2';
-import { Duplex, Readable, Writable } from 'stream';
-import { Deserialize, Serialize } from './make-client';
-import { Metadata } from './metadata';
-import { ObjectReadable, ObjectWritable } from './object-stream';
-import { ChannelOptions } from './channel-options';
-import { StatusObject, PartialStatusObject } from './call-interface';
-import { Deadline } from './deadline';
-export type ServerStatusResponse = Partial;
-export type ServerErrorResponse = ServerStatusResponse & Error;
-export type ServerSurfaceCall = {
- cancelled: boolean;
- readonly metadata: Metadata;
- getPeer(): string;
- sendMetadata(responseMetadata: Metadata): void;
- getDeadline(): Deadline;
- getPath(): string;
-} & EventEmitter;
-export type ServerUnaryCall = ServerSurfaceCall & {
- request: RequestType;
-};
-export type ServerReadableStream = ServerSurfaceCall & ObjectReadable;
-export type ServerWritableStream = ServerSurfaceCall & ObjectWritable & {
- request: RequestType;
- end: (metadata?: Metadata) => void;
-};
-export type ServerDuplexStream = ServerSurfaceCall & ObjectReadable & ObjectWritable & {
- end: (metadata?: Metadata) => void;
-};
-export declare class ServerUnaryCallImpl extends EventEmitter implements ServerUnaryCall {
- private call;
- metadata: Metadata;
- request: RequestType;
- cancelled: boolean;
- constructor(call: Http2ServerCallStream, metadata: Metadata, request: RequestType);
- getPeer(): string;
- sendMetadata(responseMetadata: Metadata): void;
- getDeadline(): Deadline;
- getPath(): string;
-}
-export declare class ServerReadableStreamImpl extends Readable implements ServerReadableStream {
- private call;
- metadata: Metadata;
- deserialize: Deserialize;
- cancelled: boolean;
- constructor(call: Http2ServerCallStream, metadata: Metadata, deserialize: Deserialize, encoding: string);
- _read(size: number): void;
- getPeer(): string;
- sendMetadata(responseMetadata: Metadata): void;
- getDeadline(): Deadline;
- getPath(): string;
-}
-export declare class ServerWritableStreamImpl extends Writable implements ServerWritableStream {
- private call;
- metadata: Metadata;
- serialize: Serialize;
- request: RequestType;
- cancelled: boolean;
- private trailingMetadata;
- constructor(call: Http2ServerCallStream, metadata: Metadata, serialize: Serialize, request: RequestType);
- getPeer(): string;
- sendMetadata(responseMetadata: Metadata): void;
- getDeadline(): Deadline;
- getPath(): string;
- _write(chunk: ResponseType, encoding: string, callback: (...args: any[]) => void): void;
- _final(callback: Function): void;
- end(metadata?: any): this;
-}
-export declare class ServerDuplexStreamImpl extends Duplex implements ServerDuplexStream {
- private call;
- metadata: Metadata;
- serialize: Serialize;
- deserialize: Deserialize;
- cancelled: boolean;
- private trailingMetadata;
- constructor(call: Http2ServerCallStream, metadata: Metadata, serialize: Serialize, deserialize: Deserialize, encoding: string);
- getPeer(): string;
- sendMetadata(responseMetadata: Metadata): void;
- getDeadline(): Deadline;
- getPath(): string;
- end(metadata?: any): this;
-}
-export type sendUnaryData = (error: ServerErrorResponse | ServerStatusResponse | null, value?: ResponseType | null, trailer?: Metadata, flags?: number) => void;
-export type handleUnaryCall = (call: ServerUnaryCall, callback: sendUnaryData) => void;
-export type handleClientStreamingCall = (call: ServerReadableStream, callback: sendUnaryData) => void;
-export type handleServerStreamingCall = (call: ServerWritableStream) => void;
-export type handleBidiStreamingCall = (call: ServerDuplexStream) => void;
-export type HandleCall = handleUnaryCall | handleClientStreamingCall | handleServerStreamingCall | handleBidiStreamingCall;
-export interface UnaryHandler {
- func: handleUnaryCall;
- serialize: Serialize;
- deserialize: Deserialize;
- type: HandlerType;
- path: string;
-}
-export interface ClientStreamingHandler {
- func: handleClientStreamingCall;
- serialize: Serialize;
- deserialize: Deserialize;
- type: HandlerType;
- path: string;
-}
-export interface ServerStreamingHandler {
- func: handleServerStreamingCall;
- serialize: Serialize;
- deserialize: Deserialize;
- type: HandlerType;
- path: string;
-}
-export interface BidiStreamingHandler {
- func: handleBidiStreamingCall;
- serialize: Serialize;
- deserialize: Deserialize;
- type: HandlerType;
- path: string;
-}
-export type Handler = UnaryHandler | ClientStreamingHandler | ServerStreamingHandler | BidiStreamingHandler;
-export type HandlerType = 'bidi' | 'clientStream' | 'serverStream' | 'unary';
-export declare class Http2ServerCallStream extends EventEmitter {
- private stream;
- private handler;
- cancelled: boolean;
- deadlineTimer: NodeJS.Timeout | null;
- private statusSent;
- private deadline;
- private wantTrailers;
- private metadataSent;
- private canPush;
- private isPushPending;
- private bufferedMessages;
- private messagesToPush;
- private maxSendMessageSize;
- private maxReceiveMessageSize;
- constructor(stream: http2.ServerHttp2Stream, handler: Handler, options: ChannelOptions);
- private checkCancelled;
- private getDecompressedMessage;
- sendMetadata(customMetadata?: Metadata): void;
- receiveMetadata(headers: http2.IncomingHttpHeaders): Metadata;
- receiveUnaryMessage(encoding: string): Promise;
- private deserializeMessageWithInternalError;
- serializeMessage(value: ResponseType): Buffer;
- deserializeMessage(bytes: Buffer): RequestType;
- sendUnaryMessage(err: ServerErrorResponse | ServerStatusResponse | null, value?: ResponseType | null, metadata?: Metadata | null, flags?: number): Promise;
- sendStatus(statusObj: PartialStatusObject): void;
- sendError(error: ServerErrorResponse | ServerStatusResponse): void;
- write(chunk: Buffer): boolean | undefined;
- resume(): void;
- setupSurfaceCall(call: ServerSurfaceCall): void;
- setupReadable(readable: ServerReadableStream | ServerDuplexStream, encoding: string): void;
- consumeUnpushedMessages(readable: ServerReadableStream | ServerDuplexStream): boolean;
- private pushOrBufferMessage;
- private pushMessage;
- getPeer(): string;
- getDeadline(): Deadline;
- getPath(): string;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/server-call.js b/tests/node_modules/@grpc/grpc-js/build/src/server-call.js
deleted file mode 100644
index 4092c3e05177e764378742fe9ffa54f0d596f6bb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/server-call.js
+++ /dev/null
@@ -1,663 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Http2ServerCallStream = exports.ServerDuplexStreamImpl = exports.ServerWritableStreamImpl = exports.ServerReadableStreamImpl = exports.ServerUnaryCallImpl = void 0;
-const events_1 = require("events");
-const http2 = require("http2");
-const stream_1 = require("stream");
-const zlib = require("zlib");
-const util_1 = require("util");
-const constants_1 = require("./constants");
-const metadata_1 = require("./metadata");
-const stream_decoder_1 = require("./stream-decoder");
-const logging = require("./logging");
-const error_1 = require("./error");
-const TRACER_NAME = 'server_call';
-const unzip = (0, util_1.promisify)(zlib.unzip);
-const inflate = (0, util_1.promisify)(zlib.inflate);
-function trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
-}
-const GRPC_ACCEPT_ENCODING_HEADER = 'grpc-accept-encoding';
-const GRPC_ENCODING_HEADER = 'grpc-encoding';
-const GRPC_MESSAGE_HEADER = 'grpc-message';
-const GRPC_STATUS_HEADER = 'grpc-status';
-const GRPC_TIMEOUT_HEADER = 'grpc-timeout';
-const DEADLINE_REGEX = /(\d{1,8})\s*([HMSmun])/;
-const deadlineUnitsToMs = {
- H: 3600000,
- M: 60000,
- S: 1000,
- m: 1,
- u: 0.001,
- n: 0.000001,
-};
-const defaultCompressionHeaders = {
- // TODO(cjihrig): Remove these encoding headers from the default response
- // once compression is integrated.
- [GRPC_ACCEPT_ENCODING_HEADER]: 'identity,deflate,gzip',
- [GRPC_ENCODING_HEADER]: 'identity',
-};
-const defaultResponseHeaders = {
- [http2.constants.HTTP2_HEADER_STATUS]: http2.constants.HTTP_STATUS_OK,
- [http2.constants.HTTP2_HEADER_CONTENT_TYPE]: 'application/grpc+proto',
-};
-const defaultResponseOptions = {
- waitForTrailers: true,
-};
-class ServerUnaryCallImpl extends events_1.EventEmitter {
- constructor(call, metadata, request) {
- super();
- this.call = call;
- this.metadata = metadata;
- this.request = request;
- this.cancelled = false;
- this.call.setupSurfaceCall(this);
- }
- getPeer() {
- return this.call.getPeer();
- }
- sendMetadata(responseMetadata) {
- this.call.sendMetadata(responseMetadata);
- }
- getDeadline() {
- return this.call.getDeadline();
- }
- getPath() {
- return this.call.getPath();
- }
-}
-exports.ServerUnaryCallImpl = ServerUnaryCallImpl;
-class ServerReadableStreamImpl extends stream_1.Readable {
- constructor(call, metadata, deserialize, encoding) {
- super({ objectMode: true });
- this.call = call;
- this.metadata = metadata;
- this.deserialize = deserialize;
- this.cancelled = false;
- this.call.setupSurfaceCall(this);
- this.call.setupReadable(this, encoding);
- }
- _read(size) {
- if (!this.call.consumeUnpushedMessages(this)) {
- return;
- }
- this.call.resume();
- }
- getPeer() {
- return this.call.getPeer();
- }
- sendMetadata(responseMetadata) {
- this.call.sendMetadata(responseMetadata);
- }
- getDeadline() {
- return this.call.getDeadline();
- }
- getPath() {
- return this.call.getPath();
- }
-}
-exports.ServerReadableStreamImpl = ServerReadableStreamImpl;
-class ServerWritableStreamImpl extends stream_1.Writable {
- constructor(call, metadata, serialize, request) {
- super({ objectMode: true });
- this.call = call;
- this.metadata = metadata;
- this.serialize = serialize;
- this.request = request;
- this.cancelled = false;
- this.trailingMetadata = new metadata_1.Metadata();
- this.call.setupSurfaceCall(this);
- this.on('error', err => {
- this.call.sendError(err);
- this.end();
- });
- }
- getPeer() {
- return this.call.getPeer();
- }
- sendMetadata(responseMetadata) {
- this.call.sendMetadata(responseMetadata);
- }
- getDeadline() {
- return this.call.getDeadline();
- }
- getPath() {
- return this.call.getPath();
- }
- _write(chunk, encoding,
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- callback) {
- try {
- const response = this.call.serializeMessage(chunk);
- if (!this.call.write(response)) {
- this.call.once('drain', callback);
- return;
- }
- }
- catch (err) {
- this.emit('error', {
- details: (0, error_1.getErrorMessage)(err),
- code: constants_1.Status.INTERNAL,
- });
- }
- callback();
- }
- _final(callback) {
- this.call.sendStatus({
- code: constants_1.Status.OK,
- details: 'OK',
- metadata: this.trailingMetadata,
- });
- callback(null);
- }
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- end(metadata) {
- if (metadata) {
- this.trailingMetadata = metadata;
- }
- return super.end();
- }
-}
-exports.ServerWritableStreamImpl = ServerWritableStreamImpl;
-class ServerDuplexStreamImpl extends stream_1.Duplex {
- constructor(call, metadata, serialize, deserialize, encoding) {
- super({ objectMode: true });
- this.call = call;
- this.metadata = metadata;
- this.serialize = serialize;
- this.deserialize = deserialize;
- this.cancelled = false;
- this.trailingMetadata = new metadata_1.Metadata();
- this.call.setupSurfaceCall(this);
- this.call.setupReadable(this, encoding);
- this.on('error', err => {
- this.call.sendError(err);
- this.end();
- });
- }
- getPeer() {
- return this.call.getPeer();
- }
- sendMetadata(responseMetadata) {
- this.call.sendMetadata(responseMetadata);
- }
- getDeadline() {
- return this.call.getDeadline();
- }
- getPath() {
- return this.call.getPath();
- }
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- end(metadata) {
- if (metadata) {
- this.trailingMetadata = metadata;
- }
- return super.end();
- }
-}
-exports.ServerDuplexStreamImpl = ServerDuplexStreamImpl;
-ServerDuplexStreamImpl.prototype._read =
- ServerReadableStreamImpl.prototype._read;
-ServerDuplexStreamImpl.prototype._write =
- ServerWritableStreamImpl.prototype._write;
-ServerDuplexStreamImpl.prototype._final =
- ServerWritableStreamImpl.prototype._final;
-// Internal class that wraps the HTTP2 request.
-class Http2ServerCallStream extends events_1.EventEmitter {
- constructor(stream, handler, options) {
- super();
- this.stream = stream;
- this.handler = handler;
- this.cancelled = false;
- this.deadlineTimer = null;
- this.statusSent = false;
- this.deadline = Infinity;
- this.wantTrailers = false;
- this.metadataSent = false;
- this.canPush = false;
- this.isPushPending = false;
- this.bufferedMessages = [];
- this.messagesToPush = [];
- this.maxSendMessageSize = constants_1.DEFAULT_MAX_SEND_MESSAGE_LENGTH;
- this.maxReceiveMessageSize = constants_1.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH;
- this.stream.once('error', (err) => {
- /* We need an error handler to avoid uncaught error event exceptions, but
- * there is nothing we can reasonably do here. Any error event should
- * have a corresponding close event, which handles emitting the cancelled
- * event. And the stream is now in a bad state, so we can't reasonably
- * expect to be able to send an error over it. */
- });
- this.stream.once('close', () => {
- var _a;
- trace('Request to method ' +
- ((_a = this.handler) === null || _a === void 0 ? void 0 : _a.path) +
- ' stream closed with rstCode ' +
- this.stream.rstCode);
- if (!this.statusSent) {
- this.cancelled = true;
- this.emit('cancelled', 'cancelled');
- this.emit('streamEnd', false);
- this.sendStatus({
- code: constants_1.Status.CANCELLED,
- details: 'Cancelled by client',
- metadata: null,
- });
- if (this.deadlineTimer)
- clearTimeout(this.deadlineTimer);
- }
- });
- this.stream.on('drain', () => {
- this.emit('drain');
- });
- if ('grpc.max_send_message_length' in options) {
- this.maxSendMessageSize = options['grpc.max_send_message_length'];
- }
- if ('grpc.max_receive_message_length' in options) {
- this.maxReceiveMessageSize = options['grpc.max_receive_message_length'];
- }
- }
- checkCancelled() {
- /* In some cases the stream can become destroyed before the close event
- * fires. That creates a race condition that this check works around */
- if (this.stream.destroyed || this.stream.closed) {
- this.cancelled = true;
- }
- return this.cancelled;
- }
- getDecompressedMessage(message, encoding) {
- if (encoding === 'deflate') {
- return inflate(message.subarray(5));
- }
- else if (encoding === 'gzip') {
- return unzip(message.subarray(5));
- }
- else if (encoding === 'identity') {
- return message.subarray(5);
- }
- return Promise.reject({
- code: constants_1.Status.UNIMPLEMENTED,
- details: `Received message compressed with unsupported encoding "${encoding}"`,
- });
- }
- sendMetadata(customMetadata) {
- if (this.checkCancelled()) {
- return;
- }
- if (this.metadataSent) {
- return;
- }
- this.metadataSent = true;
- const custom = customMetadata ? customMetadata.toHttp2Headers() : null;
- // TODO(cjihrig): Include compression headers.
- const headers = Object.assign(Object.assign(Object.assign({}, defaultResponseHeaders), defaultCompressionHeaders), custom);
- this.stream.respond(headers, defaultResponseOptions);
- }
- receiveMetadata(headers) {
- const metadata = metadata_1.Metadata.fromHttp2Headers(headers);
- if (logging.isTracerEnabled(TRACER_NAME)) {
- trace('Request to ' +
- this.handler.path +
- ' received headers ' +
- JSON.stringify(metadata.toJSON()));
- }
- // TODO(cjihrig): Receive compression metadata.
- const timeoutHeader = metadata.get(GRPC_TIMEOUT_HEADER);
- if (timeoutHeader.length > 0) {
- const match = timeoutHeader[0].toString().match(DEADLINE_REGEX);
- if (match === null) {
- const err = new Error('Invalid deadline');
- err.code = constants_1.Status.OUT_OF_RANGE;
- this.sendError(err);
- return metadata;
- }
- const timeout = (+match[1] * deadlineUnitsToMs[match[2]]) | 0;
- const now = new Date();
- this.deadline = now.setMilliseconds(now.getMilliseconds() + timeout);
- this.deadlineTimer = setTimeout(handleExpiredDeadline, timeout, this);
- metadata.remove(GRPC_TIMEOUT_HEADER);
- }
- // Remove several headers that should not be propagated to the application
- metadata.remove(http2.constants.HTTP2_HEADER_ACCEPT_ENCODING);
- metadata.remove(http2.constants.HTTP2_HEADER_TE);
- metadata.remove(http2.constants.HTTP2_HEADER_CONTENT_TYPE);
- metadata.remove('grpc-accept-encoding');
- return metadata;
- }
- receiveUnaryMessage(encoding) {
- return new Promise((resolve, reject) => {
- const { stream } = this;
- let receivedLength = 0;
- // eslint-disable-next-line @typescript-eslint/no-this-alias
- const call = this;
- const body = [];
- const limit = this.maxReceiveMessageSize;
- this.stream.on('data', onData);
- this.stream.on('end', onEnd);
- this.stream.on('error', onEnd);
- function onData(chunk) {
- receivedLength += chunk.byteLength;
- if (limit !== -1 && receivedLength > limit) {
- stream.removeListener('data', onData);
- stream.removeListener('end', onEnd);
- stream.removeListener('error', onEnd);
- reject({
- code: constants_1.Status.RESOURCE_EXHAUSTED,
- details: `Received message larger than max (${receivedLength} vs. ${limit})`,
- });
- return;
- }
- body.push(chunk);
- }
- function onEnd(err) {
- stream.removeListener('data', onData);
- stream.removeListener('end', onEnd);
- stream.removeListener('error', onEnd);
- if (err !== undefined) {
- reject({ code: constants_1.Status.INTERNAL, details: err.message });
- return;
- }
- if (receivedLength === 0) {
- reject({
- code: constants_1.Status.INTERNAL,
- details: 'received empty unary message',
- });
- return;
- }
- call.emit('receiveMessage');
- const requestBytes = Buffer.concat(body, receivedLength);
- const compressed = requestBytes.readUInt8(0) === 1;
- const compressedMessageEncoding = compressed ? encoding : 'identity';
- const decompressedMessage = call.getDecompressedMessage(requestBytes, compressedMessageEncoding);
- if (Buffer.isBuffer(decompressedMessage)) {
- resolve(call.deserializeMessageWithInternalError(decompressedMessage));
- return;
- }
- decompressedMessage.then(decompressed => resolve(call.deserializeMessageWithInternalError(decompressed)), (err) => reject(err.code
- ? err
- : {
- code: constants_1.Status.INTERNAL,
- details: `Received "grpc-encoding" header "${encoding}" but ${encoding} decompression failed`,
- }));
- }
- });
- }
- async deserializeMessageWithInternalError(buffer) {
- try {
- return this.deserializeMessage(buffer);
- }
- catch (err) {
- throw {
- details: (0, error_1.getErrorMessage)(err),
- code: constants_1.Status.INTERNAL,
- };
- }
- }
- serializeMessage(value) {
- const messageBuffer = this.handler.serialize(value);
- // TODO(cjihrig): Call compression aware serializeMessage().
- const byteLength = messageBuffer.byteLength;
- const output = Buffer.allocUnsafe(byteLength + 5);
- output.writeUInt8(0, 0);
- output.writeUInt32BE(byteLength, 1);
- messageBuffer.copy(output, 5);
- return output;
- }
- deserializeMessage(bytes) {
- return this.handler.deserialize(bytes);
- }
- async sendUnaryMessage(err, value, metadata, flags) {
- if (this.checkCancelled()) {
- return;
- }
- if (metadata === undefined) {
- metadata = null;
- }
- if (err) {
- if (!Object.prototype.hasOwnProperty.call(err, 'metadata') && metadata) {
- err.metadata = metadata;
- }
- this.sendError(err);
- return;
- }
- try {
- const response = this.serializeMessage(value);
- this.write(response);
- this.sendStatus({ code: constants_1.Status.OK, details: 'OK', metadata });
- }
- catch (err) {
- this.sendError({
- details: (0, error_1.getErrorMessage)(err),
- code: constants_1.Status.INTERNAL,
- });
- }
- }
- sendStatus(statusObj) {
- var _a, _b;
- this.emit('callEnd', statusObj.code);
- this.emit('streamEnd', statusObj.code === constants_1.Status.OK);
- if (this.checkCancelled()) {
- return;
- }
- trace('Request to method ' +
- ((_a = this.handler) === null || _a === void 0 ? void 0 : _a.path) +
- ' ended with status code: ' +
- constants_1.Status[statusObj.code] +
- ' details: ' +
- statusObj.details);
- if (this.deadlineTimer)
- clearTimeout(this.deadlineTimer);
- if (this.stream.headersSent) {
- if (!this.wantTrailers) {
- this.wantTrailers = true;
- this.stream.once('wantTrailers', () => {
- var _a;
- const trailersToSend = Object.assign({ [GRPC_STATUS_HEADER]: statusObj.code, [GRPC_MESSAGE_HEADER]: encodeURI(statusObj.details) }, (_a = statusObj.metadata) === null || _a === void 0 ? void 0 : _a.toHttp2Headers());
- this.stream.sendTrailers(trailersToSend);
- this.statusSent = true;
- });
- this.stream.end();
- }
- }
- else {
- // Trailers-only response
- const trailersToSend = Object.assign(Object.assign({ [GRPC_STATUS_HEADER]: statusObj.code, [GRPC_MESSAGE_HEADER]: encodeURI(statusObj.details) }, defaultResponseHeaders), (_b = statusObj.metadata) === null || _b === void 0 ? void 0 : _b.toHttp2Headers());
- this.stream.respond(trailersToSend, { endStream: true });
- this.statusSent = true;
- }
- }
- sendError(error) {
- const status = {
- code: constants_1.Status.UNKNOWN,
- details: 'message' in error ? error.message : 'Unknown Error',
- metadata: 'metadata' in error && error.metadata !== undefined
- ? error.metadata
- : null,
- };
- if ('code' in error &&
- typeof error.code === 'number' &&
- Number.isInteger(error.code)) {
- status.code = error.code;
- if ('details' in error && typeof error.details === 'string') {
- status.details = error.details;
- }
- }
- this.sendStatus(status);
- }
- write(chunk) {
- if (this.checkCancelled()) {
- return;
- }
- if (this.maxSendMessageSize !== -1 &&
- chunk.length > this.maxSendMessageSize) {
- this.sendError({
- code: constants_1.Status.RESOURCE_EXHAUSTED,
- details: `Sent message larger than max (${chunk.length} vs. ${this.maxSendMessageSize})`,
- });
- return;
- }
- this.sendMetadata();
- this.emit('sendMessage');
- return this.stream.write(chunk);
- }
- resume() {
- this.stream.resume();
- }
- setupSurfaceCall(call) {
- this.once('cancelled', reason => {
- call.cancelled = true;
- call.emit('cancelled', reason);
- });
- this.once('callEnd', status => call.emit('callEnd', status));
- }
- setupReadable(readable, encoding) {
- const decoder = new stream_decoder_1.StreamDecoder();
- let readsDone = false;
- let pendingMessageProcessing = false;
- let pushedEnd = false;
- const maybePushEnd = async () => {
- if (!pushedEnd && readsDone && !pendingMessageProcessing) {
- pushedEnd = true;
- await this.pushOrBufferMessage(readable, null);
- }
- };
- this.stream.on('data', async (data) => {
- const messages = decoder.write(data);
- pendingMessageProcessing = true;
- this.stream.pause();
- for (const message of messages) {
- if (this.maxReceiveMessageSize !== -1 &&
- message.length > this.maxReceiveMessageSize) {
- this.sendError({
- code: constants_1.Status.RESOURCE_EXHAUSTED,
- details: `Received message larger than max (${message.length} vs. ${this.maxReceiveMessageSize})`,
- });
- return;
- }
- this.emit('receiveMessage');
- const compressed = message.readUInt8(0) === 1;
- const compressedMessageEncoding = compressed ? encoding : 'identity';
- const decompressedMessage = await this.getDecompressedMessage(message, compressedMessageEncoding);
- // Encountered an error with decompression; it'll already have been propogated back
- // Just return early
- if (!decompressedMessage)
- return;
- await this.pushOrBufferMessage(readable, decompressedMessage);
- }
- pendingMessageProcessing = false;
- this.stream.resume();
- await maybePushEnd();
- });
- this.stream.once('end', async () => {
- readsDone = true;
- await maybePushEnd();
- });
- }
- consumeUnpushedMessages(readable) {
- this.canPush = true;
- while (this.messagesToPush.length > 0) {
- const nextMessage = this.messagesToPush.shift();
- const canPush = readable.push(nextMessage);
- if (nextMessage === null || canPush === false) {
- this.canPush = false;
- break;
- }
- }
- return this.canPush;
- }
- async pushOrBufferMessage(readable, messageBytes) {
- if (this.isPushPending) {
- this.bufferedMessages.push(messageBytes);
- }
- else {
- await this.pushMessage(readable, messageBytes);
- }
- }
- async pushMessage(readable, messageBytes) {
- if (messageBytes === null) {
- trace('Received end of stream');
- if (this.canPush) {
- readable.push(null);
- }
- else {
- this.messagesToPush.push(null);
- }
- return;
- }
- trace('Received message of length ' + messageBytes.length);
- this.isPushPending = true;
- try {
- const deserialized = await this.deserializeMessage(messageBytes);
- if (this.canPush) {
- if (!readable.push(deserialized)) {
- this.canPush = false;
- this.stream.pause();
- }
- }
- else {
- this.messagesToPush.push(deserialized);
- }
- }
- catch (error) {
- // Ignore any remaining messages when errors occur.
- this.bufferedMessages.length = 0;
- let code = (0, error_1.getErrorCode)(error);
- if (code === null || code < constants_1.Status.OK || code > constants_1.Status.UNAUTHENTICATED) {
- code = constants_1.Status.INTERNAL;
- }
- readable.emit('error', {
- details: (0, error_1.getErrorMessage)(error),
- code: code,
- });
- }
- this.isPushPending = false;
- if (this.bufferedMessages.length > 0) {
- await this.pushMessage(readable, this.bufferedMessages.shift());
- }
- }
- getPeer() {
- var _a;
- const socket = (_a = this.stream.session) === null || _a === void 0 ? void 0 : _a.socket;
- if (socket === null || socket === void 0 ? void 0 : socket.remoteAddress) {
- if (socket.remotePort) {
- return `${socket.remoteAddress}:${socket.remotePort}`;
- }
- else {
- return socket.remoteAddress;
- }
- }
- else {
- return 'unknown';
- }
- }
- getDeadline() {
- return this.deadline;
- }
- getPath() {
- return this.handler.path;
- }
-}
-exports.Http2ServerCallStream = Http2ServerCallStream;
-function handleExpiredDeadline(call) {
- const err = new Error('Deadline exceeded');
- err.code = constants_1.Status.DEADLINE_EXCEEDED;
- call.sendError(err);
- call.cancelled = true;
- call.emit('cancelled', 'deadline');
-}
-//# sourceMappingURL=server-call.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/server-call.js.map b/tests/node_modules/@grpc/grpc-js/build/src/server-call.js.map
deleted file mode 100644
index aecaa55096c69b43ab7e2390a7a6a0bcb8232939..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/server-call.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"server-call.js","sourceRoot":"","sources":["../../src/server-call.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts
deleted file mode 100644
index ab98e657852583bbb69cfc020ed07875fb2e4ee1..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-///
-///
-import { SecureServerOptions } from 'http2';
-export interface KeyCertPair {
- private_key: Buffer;
- cert_chain: Buffer;
-}
-export declare abstract class ServerCredentials {
- abstract _isSecure(): boolean;
- abstract _getSettings(): SecureServerOptions | null;
- static createInsecure(): ServerCredentials;
- static createSsl(rootCerts: Buffer | null, keyCertPairs: KeyCertPair[], checkClientCertificate?: boolean): ServerCredentials;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/server-credentials.js b/tests/node_modules/@grpc/grpc-js/build/src/server-credentials.js
deleted file mode 100644
index f1d3f96b9b4a9a3f31a91ea94840777363a12005..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/server-credentials.js
+++ /dev/null
@@ -1,81 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.ServerCredentials = void 0;
-const tls_helpers_1 = require("./tls-helpers");
-class ServerCredentials {
- static createInsecure() {
- return new InsecureServerCredentials();
- }
- static createSsl(rootCerts, keyCertPairs, checkClientCertificate = false) {
- if (rootCerts !== null && !Buffer.isBuffer(rootCerts)) {
- throw new TypeError('rootCerts must be null or a Buffer');
- }
- if (!Array.isArray(keyCertPairs)) {
- throw new TypeError('keyCertPairs must be an array');
- }
- if (typeof checkClientCertificate !== 'boolean') {
- throw new TypeError('checkClientCertificate must be a boolean');
- }
- const cert = [];
- const key = [];
- for (let i = 0; i < keyCertPairs.length; i++) {
- const pair = keyCertPairs[i];
- if (pair === null || typeof pair !== 'object') {
- throw new TypeError(`keyCertPair[${i}] must be an object`);
- }
- if (!Buffer.isBuffer(pair.private_key)) {
- throw new TypeError(`keyCertPair[${i}].private_key must be a Buffer`);
- }
- if (!Buffer.isBuffer(pair.cert_chain)) {
- throw new TypeError(`keyCertPair[${i}].cert_chain must be a Buffer`);
- }
- cert.push(pair.cert_chain);
- key.push(pair.private_key);
- }
- return new SecureServerCredentials({
- ca: rootCerts || (0, tls_helpers_1.getDefaultRootsData)() || undefined,
- cert,
- key,
- requestCert: checkClientCertificate,
- ciphers: tls_helpers_1.CIPHER_SUITES,
- });
- }
-}
-exports.ServerCredentials = ServerCredentials;
-class InsecureServerCredentials extends ServerCredentials {
- _isSecure() {
- return false;
- }
- _getSettings() {
- return null;
- }
-}
-class SecureServerCredentials extends ServerCredentials {
- constructor(options) {
- super();
- this.options = options;
- }
- _isSecure() {
- return true;
- }
- _getSettings() {
- return this.options;
- }
-}
-//# sourceMappingURL=server-credentials.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/server-credentials.js.map b/tests/node_modules/@grpc/grpc-js/build/src/server-credentials.js.map
deleted file mode 100644
index 99fdcb53e1f94670aa270db27aee25174be1e87f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/server-credentials.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"server-credentials.js","sourceRoot":"","sources":["../../src/server-credentials.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAGH,+CAAmE;AAOnE,MAAsB,iBAAiB;IAIrC,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,yBAAyB,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,SAAS,CACd,SAAwB,EACxB,YAA2B,EAC3B,sBAAsB,GAAG,KAAK;QAE9B,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACrD,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAChC,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;SACtD;QAED,IAAI,OAAO,sBAAsB,KAAK,SAAS,EAAE;YAC/C,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;SACjE;QAED,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,EAAE,CAAC;QAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7C,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;aAC5D;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACtC,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC;aACvE;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACrC,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;aACtE;YAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5B;QAED,OAAO,IAAI,uBAAuB,CAAC;YACjC,EAAE,EAAE,SAAS,IAAI,IAAA,iCAAmB,GAAE,IAAI,SAAS;YACnD,IAAI;YACJ,GAAG;YACH,WAAW,EAAE,sBAAsB;YACnC,OAAO,EAAE,2BAAa;SACvB,CAAC,CAAC;IACL,CAAC;CACF;AAvDD,8CAuDC;AAED,MAAM,yBAA0B,SAAQ,iBAAiB;IACvD,SAAS;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,uBAAwB,SAAQ,iBAAiB;IAGrD,YAAY,OAA4B;QACtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/server.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/server.d.ts
deleted file mode 100644
index b360fd9b5510076c28b2878b966819fb30e3a821..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/server.d.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Deserialize, Serialize, ServiceDefinition } from './make-client';
-import { HandleCall } from './server-call';
-import { ServerCredentials } from './server-credentials';
-import { ChannelOptions } from './channel-options';
-import { ServerRef } from './channelz';
-export type UntypedHandleCall = HandleCall;
-export interface UntypedServiceImplementation {
- [name: string]: UntypedHandleCall;
-}
-export declare class Server {
- private http2ServerList;
- private handlers;
- private sessions;
- private started;
- private shutdown;
- private options;
- private serverAddressString;
- private readonly channelzEnabled;
- private channelzRef;
- private channelzTrace;
- private callTracker;
- private listenerChildrenTracker;
- private sessionChildrenTracker;
- private readonly maxConnectionAgeMs;
- private readonly maxConnectionAgeGraceMs;
- private readonly keepaliveTimeMs;
- private readonly keepaliveTimeoutMs;
- constructor(options?: ChannelOptions);
- private getChannelzInfo;
- private getChannelzSessionInfoGetter;
- private trace;
- addProtoService(): never;
- addService(service: ServiceDefinition, implementation: UntypedServiceImplementation): void;
- removeService(service: ServiceDefinition): void;
- bind(port: string, creds: ServerCredentials): never;
- bindAsync(port: string, creds: ServerCredentials, callback: (error: Error | null, port: number) => void): void;
- forceShutdown(): void;
- register(name: string, handler: HandleCall, serialize: Serialize, deserialize: Deserialize, type: string): boolean;
- unregister(name: string): boolean;
- start(): void;
- tryShutdown(callback: (error?: Error) => void): void;
- addHttp2Port(): never;
- /**
- * Get the channelz reference object for this server. The returned value is
- * garbage if channelz is disabled for this server.
- * @returns
- */
- getChannelzRef(): ServerRef;
- private _verifyContentType;
- private _retrieveHandler;
- private _respondWithError;
- private _channelzHandler;
- private _streamHandler;
- private _runHandlerForCall;
- private _setupHandlers;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/server.js b/tests/node_modules/@grpc/grpc-js/build/src/server.js
deleted file mode 100644
index a6c80ffd974c9db528a61d9a28f7b81b807e9d57..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/server.js
+++ /dev/null
@@ -1,892 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Server = void 0;
-const http2 = require("http2");
-const constants_1 = require("./constants");
-const server_call_1 = require("./server-call");
-const server_credentials_1 = require("./server-credentials");
-const resolver_1 = require("./resolver");
-const logging = require("./logging");
-const subchannel_address_1 = require("./subchannel-address");
-const uri_parser_1 = require("./uri-parser");
-const channelz_1 = require("./channelz");
-const UNLIMITED_CONNECTION_AGE_MS = ~(1 << 31);
-const KEEPALIVE_MAX_TIME_MS = ~(1 << 31);
-const KEEPALIVE_TIMEOUT_MS = 20000;
-const { HTTP2_HEADER_PATH } = http2.constants;
-const TRACER_NAME = 'server';
-function noop() { }
-function getUnimplementedStatusResponse(methodName) {
- return {
- code: constants_1.Status.UNIMPLEMENTED,
- details: `The server does not implement the method ${methodName}`,
- };
-}
-function getDefaultHandler(handlerType, methodName) {
- const unimplementedStatusResponse = getUnimplementedStatusResponse(methodName);
- switch (handlerType) {
- case 'unary':
- return (call, callback) => {
- callback(unimplementedStatusResponse, null);
- };
- case 'clientStream':
- return (call, callback) => {
- callback(unimplementedStatusResponse, null);
- };
- case 'serverStream':
- return (call) => {
- call.emit('error', unimplementedStatusResponse);
- };
- case 'bidi':
- return (call) => {
- call.emit('error', unimplementedStatusResponse);
- };
- default:
- throw new Error(`Invalid handlerType ${handlerType}`);
- }
-}
-class Server {
- constructor(options) {
- var _a, _b, _c, _d;
- this.http2ServerList = [];
- this.handlers = new Map();
- this.sessions = new Map();
- this.started = false;
- this.shutdown = false;
- this.serverAddressString = 'null';
- // Channelz Info
- this.channelzEnabled = true;
- this.channelzTrace = new channelz_1.ChannelzTrace();
- this.callTracker = new channelz_1.ChannelzCallTracker();
- this.listenerChildrenTracker = new channelz_1.ChannelzChildrenTracker();
- this.sessionChildrenTracker = new channelz_1.ChannelzChildrenTracker();
- this.options = options !== null && options !== void 0 ? options : {};
- if (this.options['grpc.enable_channelz'] === 0) {
- this.channelzEnabled = false;
- }
- this.channelzRef = (0, channelz_1.registerChannelzServer)(() => this.getChannelzInfo(), this.channelzEnabled);
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Server created');
- }
- this.maxConnectionAgeMs =
- (_a = this.options['grpc.max_connection_age_ms']) !== null && _a !== void 0 ? _a : UNLIMITED_CONNECTION_AGE_MS;
- this.maxConnectionAgeGraceMs =
- (_b = this.options['grpc.max_connection_age_grace_ms']) !== null && _b !== void 0 ? _b : UNLIMITED_CONNECTION_AGE_MS;
- this.keepaliveTimeMs =
- (_c = this.options['grpc.keepalive_time_ms']) !== null && _c !== void 0 ? _c : KEEPALIVE_MAX_TIME_MS;
- this.keepaliveTimeoutMs =
- (_d = this.options['grpc.keepalive_timeout_ms']) !== null && _d !== void 0 ? _d : KEEPALIVE_TIMEOUT_MS;
- this.trace('Server constructed');
- }
- getChannelzInfo() {
- return {
- trace: this.channelzTrace,
- callTracker: this.callTracker,
- listenerChildren: this.listenerChildrenTracker.getChildLists(),
- sessionChildren: this.sessionChildrenTracker.getChildLists(),
- };
- }
- getChannelzSessionInfoGetter(session) {
- return () => {
- var _a, _b, _c;
- const sessionInfo = this.sessions.get(session);
- const sessionSocket = session.socket;
- const remoteAddress = sessionSocket.remoteAddress
- ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.remoteAddress, sessionSocket.remotePort)
- : null;
- const localAddress = sessionSocket.localAddress
- ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.localAddress, sessionSocket.localPort)
- : null;
- let tlsInfo;
- if (session.encrypted) {
- const tlsSocket = sessionSocket;
- const cipherInfo = tlsSocket.getCipher();
- const certificate = tlsSocket.getCertificate();
- const peerCertificate = tlsSocket.getPeerCertificate();
- tlsInfo = {
- cipherSuiteStandardName: (_a = cipherInfo.standardName) !== null && _a !== void 0 ? _a : null,
- cipherSuiteOtherName: cipherInfo.standardName
- ? null
- : cipherInfo.name,
- localCertificate: certificate && 'raw' in certificate ? certificate.raw : null,
- remoteCertificate: peerCertificate && 'raw' in peerCertificate
- ? peerCertificate.raw
- : null,
- };
- }
- else {
- tlsInfo = null;
- }
- const socketInfo = {
- remoteAddress: remoteAddress,
- localAddress: localAddress,
- security: tlsInfo,
- remoteName: null,
- streamsStarted: sessionInfo.streamTracker.callsStarted,
- streamsSucceeded: sessionInfo.streamTracker.callsSucceeded,
- streamsFailed: sessionInfo.streamTracker.callsFailed,
- messagesSent: sessionInfo.messagesSent,
- messagesReceived: sessionInfo.messagesReceived,
- keepAlivesSent: 0,
- lastLocalStreamCreatedTimestamp: null,
- lastRemoteStreamCreatedTimestamp: sessionInfo.streamTracker.lastCallStartedTimestamp,
- lastMessageSentTimestamp: sessionInfo.lastMessageSentTimestamp,
- lastMessageReceivedTimestamp: sessionInfo.lastMessageReceivedTimestamp,
- localFlowControlWindow: (_b = session.state.localWindowSize) !== null && _b !== void 0 ? _b : null,
- remoteFlowControlWindow: (_c = session.state.remoteWindowSize) !== null && _c !== void 0 ? _c : null,
- };
- return socketInfo;
- };
- }
- trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, '(' + this.channelzRef.id + ') ' + text);
- }
- addProtoService() {
- throw new Error('Not implemented. Use addService() instead');
- }
- addService(service, implementation) {
- if (service === null ||
- typeof service !== 'object' ||
- implementation === null ||
- typeof implementation !== 'object') {
- throw new Error('addService() requires two objects as arguments');
- }
- const serviceKeys = Object.keys(service);
- if (serviceKeys.length === 0) {
- throw new Error('Cannot add an empty service to a server');
- }
- serviceKeys.forEach(name => {
- const attrs = service[name];
- let methodType;
- if (attrs.requestStream) {
- if (attrs.responseStream) {
- methodType = 'bidi';
- }
- else {
- methodType = 'clientStream';
- }
- }
- else {
- if (attrs.responseStream) {
- methodType = 'serverStream';
- }
- else {
- methodType = 'unary';
- }
- }
- let implFn = implementation[name];
- let impl;
- if (implFn === undefined && typeof attrs.originalName === 'string') {
- implFn = implementation[attrs.originalName];
- }
- if (implFn !== undefined) {
- impl = implFn.bind(implementation);
- }
- else {
- impl = getDefaultHandler(methodType, name);
- }
- const success = this.register(attrs.path, impl, attrs.responseSerialize, attrs.requestDeserialize, methodType);
- if (success === false) {
- throw new Error(`Method handler for ${attrs.path} already provided.`);
- }
- });
- }
- removeService(service) {
- if (service === null || typeof service !== 'object') {
- throw new Error('removeService() requires object as argument');
- }
- const serviceKeys = Object.keys(service);
- serviceKeys.forEach(name => {
- const attrs = service[name];
- this.unregister(attrs.path);
- });
- }
- bind(port, creds) {
- throw new Error('Not implemented. Use bindAsync() instead');
- }
- bindAsync(port, creds, callback) {
- if (this.started === true) {
- throw new Error('server is already started');
- }
- if (this.shutdown) {
- throw new Error('bindAsync called after shutdown');
- }
- if (typeof port !== 'string') {
- throw new TypeError('port must be a string');
- }
- if (creds === null || !(creds instanceof server_credentials_1.ServerCredentials)) {
- throw new TypeError('creds must be a ServerCredentials object');
- }
- if (typeof callback !== 'function') {
- throw new TypeError('callback must be a function');
- }
- const initialPortUri = (0, uri_parser_1.parseUri)(port);
- if (initialPortUri === null) {
- throw new Error(`Could not parse port "${port}"`);
- }
- const portUri = (0, resolver_1.mapUriDefaultScheme)(initialPortUri);
- if (portUri === null) {
- throw new Error(`Could not get a default scheme for port "${port}"`);
- }
- const serverOptions = {
- maxSendHeaderBlockLength: Number.MAX_SAFE_INTEGER,
- };
- if ('grpc-node.max_session_memory' in this.options) {
- serverOptions.maxSessionMemory =
- this.options['grpc-node.max_session_memory'];
- }
- else {
- /* By default, set a very large max session memory limit, to effectively
- * disable enforcement of the limit. Some testing indicates that Node's
- * behavior degrades badly when this limit is reached, so we solve that
- * by disabling the check entirely. */
- serverOptions.maxSessionMemory = Number.MAX_SAFE_INTEGER;
- }
- if ('grpc.max_concurrent_streams' in this.options) {
- serverOptions.settings = {
- maxConcurrentStreams: this.options['grpc.max_concurrent_streams'],
- };
- }
- const deferredCallback = (error, port) => {
- process.nextTick(() => callback(error, port));
- };
- const setupServer = () => {
- let http2Server;
- if (creds._isSecure()) {
- const secureServerOptions = Object.assign(serverOptions, creds._getSettings());
- secureServerOptions.enableTrace =
- this.options['grpc-node.tls_enable_trace'] === 1;
- http2Server = http2.createSecureServer(secureServerOptions);
- http2Server.on('secureConnection', (socket) => {
- /* These errors need to be handled by the user of Http2SecureServer,
- * according to https://github.com/nodejs/node/issues/35824 */
- socket.on('error', (e) => {
- this.trace('An incoming TLS connection closed with error: ' + e.message);
- });
- });
- }
- else {
- http2Server = http2.createServer(serverOptions);
- }
- http2Server.setTimeout(0, noop);
- this._setupHandlers(http2Server);
- return http2Server;
- };
- const bindSpecificPort = (addressList, portNum, previousCount) => {
- if (addressList.length === 0) {
- return Promise.resolve({ port: portNum, count: previousCount });
- }
- return Promise.all(addressList.map(address => {
- this.trace('Attempting to bind ' + (0, subchannel_address_1.subchannelAddressToString)(address));
- let addr;
- if ((0, subchannel_address_1.isTcpSubchannelAddress)(address)) {
- addr = {
- host: address.host,
- port: portNum,
- };
- }
- else {
- addr = address;
- }
- const http2Server = setupServer();
- return new Promise((resolve, reject) => {
- const onError = (err) => {
- this.trace('Failed to bind ' +
- (0, subchannel_address_1.subchannelAddressToString)(address) +
- ' with error ' +
- err.message);
- resolve(err);
- };
- http2Server.once('error', onError);
- http2Server.listen(addr, () => {
- if (this.shutdown) {
- http2Server.close();
- resolve(new Error('bindAsync failed because server is shutdown'));
- return;
- }
- const boundAddress = http2Server.address();
- let boundSubchannelAddress;
- if (typeof boundAddress === 'string') {
- boundSubchannelAddress = {
- path: boundAddress,
- };
- }
- else {
- boundSubchannelAddress = {
- host: boundAddress.address,
- port: boundAddress.port,
- };
- }
- const channelzRef = (0, channelz_1.registerChannelzSocket)((0, subchannel_address_1.subchannelAddressToString)(boundSubchannelAddress), () => {
- return {
- localAddress: boundSubchannelAddress,
- remoteAddress: null,
- security: null,
- remoteName: null,
- streamsStarted: 0,
- streamsSucceeded: 0,
- streamsFailed: 0,
- messagesSent: 0,
- messagesReceived: 0,
- keepAlivesSent: 0,
- lastLocalStreamCreatedTimestamp: null,
- lastRemoteStreamCreatedTimestamp: null,
- lastMessageSentTimestamp: null,
- lastMessageReceivedTimestamp: null,
- localFlowControlWindow: null,
- remoteFlowControlWindow: null,
- };
- }, this.channelzEnabled);
- if (this.channelzEnabled) {
- this.listenerChildrenTracker.refChild(channelzRef);
- }
- this.http2ServerList.push({
- server: http2Server,
- channelzRef: channelzRef,
- });
- this.trace('Successfully bound ' +
- (0, subchannel_address_1.subchannelAddressToString)(boundSubchannelAddress));
- resolve('port' in boundSubchannelAddress
- ? boundSubchannelAddress.port
- : portNum);
- http2Server.removeListener('error', onError);
- });
- });
- })).then(results => {
- let count = 0;
- for (const result of results) {
- if (typeof result === 'number') {
- count += 1;
- if (result !== portNum) {
- throw new Error('Invalid state: multiple port numbers added from single address');
- }
- }
- }
- return {
- port: portNum,
- count: count + previousCount,
- };
- });
- };
- const bindWildcardPort = (addressList) => {
- if (addressList.length === 0) {
- return Promise.resolve({ port: 0, count: 0 });
- }
- const address = addressList[0];
- const http2Server = setupServer();
- return new Promise((resolve, reject) => {
- const onError = (err) => {
- this.trace('Failed to bind ' +
- (0, subchannel_address_1.subchannelAddressToString)(address) +
- ' with error ' +
- err.message);
- resolve(bindWildcardPort(addressList.slice(1)));
- };
- http2Server.once('error', onError);
- http2Server.listen(address, () => {
- if (this.shutdown) {
- http2Server.close();
- resolve({ port: 0, count: 0 });
- return;
- }
- const boundAddress = http2Server.address();
- const boundSubchannelAddress = {
- host: boundAddress.address,
- port: boundAddress.port,
- };
- const channelzRef = (0, channelz_1.registerChannelzSocket)((0, subchannel_address_1.subchannelAddressToString)(boundSubchannelAddress), () => {
- return {
- localAddress: boundSubchannelAddress,
- remoteAddress: null,
- security: null,
- remoteName: null,
- streamsStarted: 0,
- streamsSucceeded: 0,
- streamsFailed: 0,
- messagesSent: 0,
- messagesReceived: 0,
- keepAlivesSent: 0,
- lastLocalStreamCreatedTimestamp: null,
- lastRemoteStreamCreatedTimestamp: null,
- lastMessageSentTimestamp: null,
- lastMessageReceivedTimestamp: null,
- localFlowControlWindow: null,
- remoteFlowControlWindow: null,
- };
- }, this.channelzEnabled);
- if (this.channelzEnabled) {
- this.listenerChildrenTracker.refChild(channelzRef);
- }
- this.http2ServerList.push({
- server: http2Server,
- channelzRef: channelzRef,
- });
- this.trace('Successfully bound ' +
- (0, subchannel_address_1.subchannelAddressToString)(boundSubchannelAddress));
- resolve(bindSpecificPort(addressList.slice(1), boundAddress.port, 1));
- http2Server.removeListener('error', onError);
- });
- });
- };
- const resolverListener = {
- onSuccessfulResolution: (addressList, serviceConfig, serviceConfigError) => {
- // We only want one resolution result. Discard all future results
- resolverListener.onSuccessfulResolution = () => { };
- if (this.shutdown) {
- deferredCallback(new Error(`bindAsync failed because server is shutdown`), 0);
- }
- if (addressList.length === 0) {
- deferredCallback(new Error(`No addresses resolved for port ${port}`), 0);
- return;
- }
- let bindResultPromise;
- if ((0, subchannel_address_1.isTcpSubchannelAddress)(addressList[0])) {
- if (addressList[0].port === 0) {
- bindResultPromise = bindWildcardPort(addressList);
- }
- else {
- bindResultPromise = bindSpecificPort(addressList, addressList[0].port, 0);
- }
- }
- else {
- // Use an arbitrary non-zero port for non-TCP addresses
- bindResultPromise = bindSpecificPort(addressList, 1, 0);
- }
- bindResultPromise.then(bindResult => {
- if (bindResult.count === 0) {
- const errorString = `No address added out of total ${addressList.length} resolved`;
- logging.log(constants_1.LogVerbosity.ERROR, errorString);
- deferredCallback(new Error(errorString), 0);
- }
- else {
- if (bindResult.count < addressList.length) {
- logging.log(constants_1.LogVerbosity.INFO, `WARNING Only ${bindResult.count} addresses added out of total ${addressList.length} resolved`);
- }
- deferredCallback(null, bindResult.port);
- }
- }, error => {
- const errorString = `No address added out of total ${addressList.length} resolved`;
- logging.log(constants_1.LogVerbosity.ERROR, errorString);
- deferredCallback(new Error(errorString), 0);
- });
- },
- onError: error => {
- deferredCallback(new Error(error.details), 0);
- },
- };
- const resolver = (0, resolver_1.createResolver)(portUri, resolverListener, this.options);
- resolver.updateResolution();
- }
- forceShutdown() {
- // Close the server if it is still running.
- for (const { server: http2Server, channelzRef: ref } of this
- .http2ServerList) {
- if (http2Server.listening) {
- http2Server.close(() => {
- if (this.channelzEnabled) {
- this.listenerChildrenTracker.unrefChild(ref);
- (0, channelz_1.unregisterChannelzRef)(ref);
- }
- });
- }
- }
- this.started = false;
- this.shutdown = true;
- // Always destroy any available sessions. It's possible that one or more
- // tryShutdown() calls are in progress. Don't wait on them to finish.
- this.sessions.forEach((channelzInfo, session) => {
- // Cast NGHTTP2_CANCEL to any because TypeScript doesn't seem to
- // recognize destroy(code) as a valid signature.
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- session.destroy(http2.constants.NGHTTP2_CANCEL);
- });
- this.sessions.clear();
- if (this.channelzEnabled) {
- (0, channelz_1.unregisterChannelzRef)(this.channelzRef);
- }
- }
- register(name, handler, serialize, deserialize, type) {
- if (this.handlers.has(name)) {
- return false;
- }
- this.handlers.set(name, {
- func: handler,
- serialize,
- deserialize,
- type,
- path: name,
- });
- return true;
- }
- unregister(name) {
- return this.handlers.delete(name);
- }
- start() {
- if (this.http2ServerList.length === 0 ||
- this.http2ServerList.every(({ server: http2Server }) => http2Server.listening !== true)) {
- throw new Error('server must be bound in order to start');
- }
- if (this.started === true) {
- throw new Error('server is already started');
- }
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Starting');
- }
- this.started = true;
- }
- tryShutdown(callback) {
- const wrappedCallback = (error) => {
- if (this.channelzEnabled) {
- (0, channelz_1.unregisterChannelzRef)(this.channelzRef);
- }
- callback(error);
- };
- let pendingChecks = 0;
- function maybeCallback() {
- pendingChecks--;
- if (pendingChecks === 0) {
- wrappedCallback();
- }
- }
- // Close the server if necessary.
- this.started = false;
- this.shutdown = true;
- for (const { server: http2Server, channelzRef: ref } of this
- .http2ServerList) {
- if (http2Server.listening) {
- pendingChecks++;
- http2Server.close(() => {
- if (this.channelzEnabled) {
- this.listenerChildrenTracker.unrefChild(ref);
- (0, channelz_1.unregisterChannelzRef)(ref);
- }
- maybeCallback();
- });
- }
- }
- this.sessions.forEach((channelzInfo, session) => {
- if (!session.closed) {
- pendingChecks += 1;
- session.close(maybeCallback);
- }
- });
- if (pendingChecks === 0) {
- wrappedCallback();
- }
- }
- addHttp2Port() {
- throw new Error('Not yet implemented');
- }
- /**
- * Get the channelz reference object for this server. The returned value is
- * garbage if channelz is disabled for this server.
- * @returns
- */
- getChannelzRef() {
- return this.channelzRef;
- }
- _verifyContentType(stream, headers) {
- const contentType = headers[http2.constants.HTTP2_HEADER_CONTENT_TYPE];
- if (typeof contentType !== 'string' ||
- !contentType.startsWith('application/grpc')) {
- stream.respond({
- [http2.constants.HTTP2_HEADER_STATUS]: http2.constants.HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE,
- }, { endStream: true });
- return false;
- }
- return true;
- }
- _retrieveHandler(path) {
- this.trace('Received call to method ' +
- path +
- ' at address ' +
- this.serverAddressString);
- const handler = this.handlers.get(path);
- if (handler === undefined) {
- this.trace('No handler registered for method ' +
- path +
- '. Sending UNIMPLEMENTED status.');
- return null;
- }
- return handler;
- }
- _respondWithError(err, stream, channelzSessionInfo = null) {
- const call = new server_call_1.Http2ServerCallStream(stream, null, this.options);
- if (err.code === undefined) {
- err.code = constants_1.Status.INTERNAL;
- }
- if (this.channelzEnabled) {
- this.callTracker.addCallFailed();
- channelzSessionInfo === null || channelzSessionInfo === void 0 ? void 0 : channelzSessionInfo.streamTracker.addCallFailed();
- }
- call.sendError(err);
- }
- _channelzHandler(stream, headers) {
- const channelzSessionInfo = this.sessions.get(stream.session);
- this.callTracker.addCallStarted();
- channelzSessionInfo === null || channelzSessionInfo === void 0 ? void 0 : channelzSessionInfo.streamTracker.addCallStarted();
- if (!this._verifyContentType(stream, headers)) {
- this.callTracker.addCallFailed();
- channelzSessionInfo === null || channelzSessionInfo === void 0 ? void 0 : channelzSessionInfo.streamTracker.addCallFailed();
- return;
- }
- const path = headers[HTTP2_HEADER_PATH];
- const handler = this._retrieveHandler(path);
- if (!handler) {
- this._respondWithError(getUnimplementedStatusResponse(path), stream, channelzSessionInfo);
- return;
- }
- const call = new server_call_1.Http2ServerCallStream(stream, handler, this.options);
- call.once('callEnd', (code) => {
- if (code === constants_1.Status.OK) {
- this.callTracker.addCallSucceeded();
- }
- else {
- this.callTracker.addCallFailed();
- }
- });
- if (channelzSessionInfo) {
- call.once('streamEnd', (success) => {
- if (success) {
- channelzSessionInfo.streamTracker.addCallSucceeded();
- }
- else {
- channelzSessionInfo.streamTracker.addCallFailed();
- }
- });
- call.on('sendMessage', () => {
- channelzSessionInfo.messagesSent += 1;
- channelzSessionInfo.lastMessageSentTimestamp = new Date();
- });
- call.on('receiveMessage', () => {
- channelzSessionInfo.messagesReceived += 1;
- channelzSessionInfo.lastMessageReceivedTimestamp = new Date();
- });
- }
- if (!this._runHandlerForCall(call, handler, headers)) {
- this.callTracker.addCallFailed();
- channelzSessionInfo === null || channelzSessionInfo === void 0 ? void 0 : channelzSessionInfo.streamTracker.addCallFailed();
- call.sendError({
- code: constants_1.Status.INTERNAL,
- details: `Unknown handler type: ${handler.type}`,
- });
- }
- }
- _streamHandler(stream, headers) {
- if (this._verifyContentType(stream, headers) !== true) {
- return;
- }
- const path = headers[HTTP2_HEADER_PATH];
- const handler = this._retrieveHandler(path);
- if (!handler) {
- this._respondWithError(getUnimplementedStatusResponse(path), stream, null);
- return;
- }
- const call = new server_call_1.Http2ServerCallStream(stream, handler, this.options);
- if (!this._runHandlerForCall(call, handler, headers)) {
- call.sendError({
- code: constants_1.Status.INTERNAL,
- details: `Unknown handler type: ${handler.type}`,
- });
- }
- }
- _runHandlerForCall(call, handler, headers) {
- var _a;
- const metadata = call.receiveMetadata(headers);
- const encoding = (_a = metadata.get('grpc-encoding')[0]) !== null && _a !== void 0 ? _a : 'identity';
- metadata.remove('grpc-encoding');
- const { type } = handler;
- if (type === 'unary') {
- handleUnary(call, handler, metadata, encoding);
- }
- else if (type === 'clientStream') {
- handleClientStreaming(call, handler, metadata, encoding);
- }
- else if (type === 'serverStream') {
- handleServerStreaming(call, handler, metadata, encoding);
- }
- else if (type === 'bidi') {
- handleBidiStreaming(call, handler, metadata, encoding);
- }
- else {
- return false;
- }
- return true;
- }
- _setupHandlers(http2Server) {
- if (http2Server === null) {
- return;
- }
- const serverAddress = http2Server.address();
- let serverAddressString = 'null';
- if (serverAddress) {
- if (typeof serverAddress === 'string') {
- serverAddressString = serverAddress;
- }
- else {
- serverAddressString = serverAddress.address + ':' + serverAddress.port;
- }
- }
- this.serverAddressString = serverAddressString;
- const handler = this.channelzEnabled
- ? this._channelzHandler
- : this._streamHandler;
- http2Server.on('stream', handler.bind(this));
- http2Server.on('session', session => {
- var _a, _b, _c, _d, _e;
- if (!this.started) {
- session.destroy();
- return;
- }
- const channelzRef = (0, channelz_1.registerChannelzSocket)((_a = session.socket.remoteAddress) !== null && _a !== void 0 ? _a : 'unknown', this.getChannelzSessionInfoGetter(session), this.channelzEnabled);
- const channelzSessionInfo = {
- ref: channelzRef,
- streamTracker: new channelz_1.ChannelzCallTracker(),
- messagesSent: 0,
- messagesReceived: 0,
- lastMessageSentTimestamp: null,
- lastMessageReceivedTimestamp: null,
- };
- this.sessions.set(session, channelzSessionInfo);
- const clientAddress = session.socket.remoteAddress;
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Connection established by client ' + clientAddress);
- this.sessionChildrenTracker.refChild(channelzRef);
- }
- let connectionAgeTimer = null;
- let connectionAgeGraceTimer = null;
- let sessionClosedByServer = false;
- if (this.maxConnectionAgeMs !== UNLIMITED_CONNECTION_AGE_MS) {
- // Apply a random jitter within a +/-10% range
- const jitterMagnitude = this.maxConnectionAgeMs / 10;
- const jitter = Math.random() * jitterMagnitude * 2 - jitterMagnitude;
- connectionAgeTimer = (_c = (_b = setTimeout(() => {
- var _a, _b;
- sessionClosedByServer = true;
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Connection dropped by max connection age from ' + clientAddress);
- }
- try {
- session.goaway(http2.constants.NGHTTP2_NO_ERROR, ~(1 << 31), Buffer.from('max_age'));
- }
- catch (e) {
- // The goaway can't be sent because the session is already closed
- session.destroy();
- return;
- }
- session.close();
- /* Allow a grace period after sending the GOAWAY before forcibly
- * closing the connection. */
- if (this.maxConnectionAgeGraceMs !== UNLIMITED_CONNECTION_AGE_MS) {
- connectionAgeGraceTimer = (_b = (_a = setTimeout(() => {
- session.destroy();
- }, this.maxConnectionAgeGraceMs)).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- }, this.maxConnectionAgeMs + jitter)).unref) === null || _c === void 0 ? void 0 : _c.call(_b);
- }
- const keeapliveTimeTimer = (_e = (_d = setInterval(() => {
- var _a, _b;
- const timeoutTImer = (_b = (_a = setTimeout(() => {
- sessionClosedByServer = true;
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Connection dropped by keepalive timeout from ' + clientAddress);
- }
- session.close();
- }, this.keepaliveTimeoutMs)).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- try {
- session.ping((err, duration, payload) => {
- clearTimeout(timeoutTImer);
- });
- }
- catch (e) {
- // The ping can't be sent because the session is already closed
- session.destroy();
- }
- }, this.keepaliveTimeMs)).unref) === null || _e === void 0 ? void 0 : _e.call(_d);
- session.on('close', () => {
- if (this.channelzEnabled) {
- if (!sessionClosedByServer) {
- this.channelzTrace.addTrace('CT_INFO', 'Connection dropped by client ' + clientAddress);
- }
- this.sessionChildrenTracker.unrefChild(channelzRef);
- (0, channelz_1.unregisterChannelzRef)(channelzRef);
- }
- if (connectionAgeTimer) {
- clearTimeout(connectionAgeTimer);
- }
- if (connectionAgeGraceTimer) {
- clearTimeout(connectionAgeGraceTimer);
- }
- if (keeapliveTimeTimer) {
- clearTimeout(keeapliveTimeTimer);
- }
- this.sessions.delete(session);
- });
- });
- }
-}
-exports.Server = Server;
-async function handleUnary(call, handler, metadata, encoding) {
- try {
- const request = await call.receiveUnaryMessage(encoding);
- if (request === undefined || call.cancelled) {
- return;
- }
- const emitter = new server_call_1.ServerUnaryCallImpl(call, metadata, request);
- handler.func(emitter, (err, value, trailer, flags) => {
- call.sendUnaryMessage(err, value, trailer, flags);
- });
- }
- catch (err) {
- call.sendError(err);
- }
-}
-function handleClientStreaming(call, handler, metadata, encoding) {
- const stream = new server_call_1.ServerReadableStreamImpl(call, metadata, handler.deserialize, encoding);
- function respond(err, value, trailer, flags) {
- stream.destroy();
- call.sendUnaryMessage(err, value, trailer, flags);
- }
- if (call.cancelled) {
- return;
- }
- stream.on('error', respond);
- handler.func(stream, respond);
-}
-async function handleServerStreaming(call, handler, metadata, encoding) {
- try {
- const request = await call.receiveUnaryMessage(encoding);
- if (request === undefined || call.cancelled) {
- return;
- }
- const stream = new server_call_1.ServerWritableStreamImpl(call, metadata, handler.serialize, request);
- handler.func(stream);
- }
- catch (err) {
- call.sendError(err);
- }
-}
-function handleBidiStreaming(call, handler, metadata, encoding) {
- const stream = new server_call_1.ServerDuplexStreamImpl(call, metadata, handler.serialize, handler.deserialize, encoding);
- if (call.cancelled) {
- return;
- }
- handler.func(stream);
-}
-//# sourceMappingURL=server.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/server.js.map b/tests/node_modules/@grpc/grpc-js/build/src/server.js.map
deleted file mode 100644
index bc88972301aaefb6541d0b2c7982b0b8722b6028..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/server.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/service-config.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/service-config.d.ts
deleted file mode 100644
index 4006426b442f382b7836f25c6b1e1c96556288db..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/service-config.d.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Status } from './constants';
-import { Duration } from './duration';
-import { LoadBalancingConfig } from './load-balancer';
-export interface MethodConfigName {
- service?: string;
- method?: string;
-}
-export interface RetryPolicy {
- maxAttempts: number;
- initialBackoff: string;
- maxBackoff: string;
- backoffMultiplier: number;
- retryableStatusCodes: (Status | string)[];
-}
-export interface HedgingPolicy {
- maxAttempts: number;
- hedgingDelay?: string;
- nonFatalStatusCodes?: (Status | string)[];
-}
-export interface MethodConfig {
- name: MethodConfigName[];
- waitForReady?: boolean;
- timeout?: Duration;
- maxRequestBytes?: number;
- maxResponseBytes?: number;
- retryPolicy?: RetryPolicy;
- hedgingPolicy?: HedgingPolicy;
-}
-export interface RetryThrottling {
- maxTokens: number;
- tokenRatio: number;
-}
-export interface ServiceConfig {
- loadBalancingPolicy?: string;
- loadBalancingConfig: LoadBalancingConfig[];
- methodConfig: MethodConfig[];
- retryThrottling?: RetryThrottling;
-}
-export interface ServiceConfigCanaryConfig {
- clientLanguage?: string[];
- percentage?: number;
- clientHostname?: string[];
- serviceConfig: ServiceConfig;
-}
-export declare function validateRetryThrottling(obj: any): RetryThrottling;
-export declare function validateServiceConfig(obj: any): ServiceConfig;
-/**
- * Find the "grpc_config" record among the TXT records, parse its value as JSON, validate its contents,
- * and select a service config with selection fields that all match this client. Most of these steps
- * can fail with an error; the caller must handle any errors thrown this way.
- * @param txtRecord The TXT record array that is output from a successful call to dns.resolveTxt
- * @param percentage A number chosen from the range [0, 100) that is used to select which config to use
- * @return The service configuration to use, given the percentage value, or null if the service config
- * data has a valid format but none of the options match the current client.
- */
-export declare function extractAndSelectServiceConfig(txtRecord: string[][], percentage: number): ServiceConfig | null;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/service-config.js b/tests/node_modules/@grpc/grpc-js/build/src/service-config.js
deleted file mode 100644
index 165585cec44ba32b25283f9a42fee3d4c4992490..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/service-config.js
+++ /dev/null
@@ -1,417 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.extractAndSelectServiceConfig = exports.validateServiceConfig = exports.validateRetryThrottling = void 0;
-/* This file implements gRFC A2 and the service config spec:
- * https://github.com/grpc/proposal/blob/master/A2-service-configs-in-dns.md
- * https://github.com/grpc/grpc/blob/master/doc/service_config.md. Each
- * function here takes an object with unknown structure and returns its
- * specific object type if the input has the right structure, and throws an
- * error otherwise. */
-/* The any type is purposely used here. All functions validate their input at
- * runtime */
-/* eslint-disable @typescript-eslint/no-explicit-any */
-const os = require("os");
-const constants_1 = require("./constants");
-const load_balancer_1 = require("./load-balancer");
-/**
- * Recognizes a number with up to 9 digits after the decimal point, followed by
- * an "s", representing a number of seconds.
- */
-const DURATION_REGEX = /^\d+(\.\d{1,9})?s$/;
-/**
- * Client language name used for determining whether this client matches a
- * `ServiceConfigCanaryConfig`'s `clientLanguage` list.
- */
-const CLIENT_LANGUAGE_STRING = 'node';
-function validateName(obj) {
- // In this context, and unset field and '' are considered the same
- if ('service' in obj && obj.service !== '') {
- if (typeof obj.service !== 'string') {
- throw new Error(`Invalid method config name: invalid service: expected type string, got ${typeof obj.service}`);
- }
- if ('method' in obj && obj.method !== '') {
- if (typeof obj.method !== 'string') {
- throw new Error(`Invalid method config name: invalid method: expected type string, got ${typeof obj.service}`);
- }
- return {
- service: obj.service,
- method: obj.method,
- };
- }
- else {
- return {
- service: obj.service,
- };
- }
- }
- else {
- if ('method' in obj && obj.method !== undefined) {
- throw new Error(`Invalid method config name: method set with empty or unset service`);
- }
- return {};
- }
-}
-function validateRetryPolicy(obj) {
- if (!('maxAttempts' in obj) ||
- !Number.isInteger(obj.maxAttempts) ||
- obj.maxAttempts < 2) {
- throw new Error('Invalid method config retry policy: maxAttempts must be an integer at least 2');
- }
- if (!('initialBackoff' in obj) ||
- typeof obj.initialBackoff !== 'string' ||
- !DURATION_REGEX.test(obj.initialBackoff)) {
- throw new Error('Invalid method config retry policy: initialBackoff must be a string consisting of a positive integer followed by s');
- }
- if (!('maxBackoff' in obj) ||
- typeof obj.maxBackoff !== 'string' ||
- !DURATION_REGEX.test(obj.maxBackoff)) {
- throw new Error('Invalid method config retry policy: maxBackoff must be a string consisting of a positive integer followed by s');
- }
- if (!('backoffMultiplier' in obj) ||
- typeof obj.backoffMultiplier !== 'number' ||
- obj.backoffMultiplier <= 0) {
- throw new Error('Invalid method config retry policy: backoffMultiplier must be a number greater than 0');
- }
- if (!('retryableStatusCodes' in obj && Array.isArray(obj.retryableStatusCodes))) {
- throw new Error('Invalid method config retry policy: retryableStatusCodes is required');
- }
- if (obj.retryableStatusCodes.length === 0) {
- throw new Error('Invalid method config retry policy: retryableStatusCodes must be non-empty');
- }
- for (const value of obj.retryableStatusCodes) {
- if (typeof value === 'number') {
- if (!Object.values(constants_1.Status).includes(value)) {
- throw new Error('Invalid method config retry policy: retryableStatusCodes value not in status code range');
- }
- }
- else if (typeof value === 'string') {
- if (!Object.values(constants_1.Status).includes(value.toUpperCase())) {
- throw new Error('Invalid method config retry policy: retryableStatusCodes value not a status code name');
- }
- }
- else {
- throw new Error('Invalid method config retry policy: retryableStatusCodes value must be a string or number');
- }
- }
- return {
- maxAttempts: obj.maxAttempts,
- initialBackoff: obj.initialBackoff,
- maxBackoff: obj.maxBackoff,
- backoffMultiplier: obj.backoffMultiplier,
- retryableStatusCodes: obj.retryableStatusCodes,
- };
-}
-function validateHedgingPolicy(obj) {
- if (!('maxAttempts' in obj) ||
- !Number.isInteger(obj.maxAttempts) ||
- obj.maxAttempts < 2) {
- throw new Error('Invalid method config hedging policy: maxAttempts must be an integer at least 2');
- }
- if ('hedgingDelay' in obj &&
- (typeof obj.hedgingDelay !== 'string' ||
- !DURATION_REGEX.test(obj.hedgingDelay))) {
- throw new Error('Invalid method config hedging policy: hedgingDelay must be a string consisting of a positive integer followed by s');
- }
- if ('nonFatalStatusCodes' in obj && Array.isArray(obj.nonFatalStatusCodes)) {
- for (const value of obj.nonFatalStatusCodes) {
- if (typeof value === 'number') {
- if (!Object.values(constants_1.Status).includes(value)) {
- throw new Error('Invlid method config hedging policy: nonFatalStatusCodes value not in status code range');
- }
- }
- else if (typeof value === 'string') {
- if (!Object.values(constants_1.Status).includes(value.toUpperCase())) {
- throw new Error('Invlid method config hedging policy: nonFatalStatusCodes value not a status code name');
- }
- }
- else {
- throw new Error('Invlid method config hedging policy: nonFatalStatusCodes value must be a string or number');
- }
- }
- }
- const result = {
- maxAttempts: obj.maxAttempts,
- };
- if (obj.hedgingDelay) {
- result.hedgingDelay = obj.hedgingDelay;
- }
- if (obj.nonFatalStatusCodes) {
- result.nonFatalStatusCodes = obj.nonFatalStatusCodes;
- }
- return result;
-}
-function validateMethodConfig(obj) {
- var _a;
- const result = {
- name: [],
- };
- if (!('name' in obj) || !Array.isArray(obj.name)) {
- throw new Error('Invalid method config: invalid name array');
- }
- for (const name of obj.name) {
- result.name.push(validateName(name));
- }
- if ('waitForReady' in obj) {
- if (typeof obj.waitForReady !== 'boolean') {
- throw new Error('Invalid method config: invalid waitForReady');
- }
- result.waitForReady = obj.waitForReady;
- }
- if ('timeout' in obj) {
- if (typeof obj.timeout === 'object') {
- if (!('seconds' in obj.timeout) ||
- !(typeof obj.timeout.seconds === 'number')) {
- throw new Error('Invalid method config: invalid timeout.seconds');
- }
- if (!('nanos' in obj.timeout) ||
- !(typeof obj.timeout.nanos === 'number')) {
- throw new Error('Invalid method config: invalid timeout.nanos');
- }
- result.timeout = obj.timeout;
- }
- else if (typeof obj.timeout === 'string' &&
- DURATION_REGEX.test(obj.timeout)) {
- const timeoutParts = obj.timeout
- .substring(0, obj.timeout.length - 1)
- .split('.');
- result.timeout = {
- seconds: timeoutParts[0] | 0,
- nanos: ((_a = timeoutParts[1]) !== null && _a !== void 0 ? _a : 0) | 0,
- };
- }
- else {
- throw new Error('Invalid method config: invalid timeout');
- }
- }
- if ('maxRequestBytes' in obj) {
- if (typeof obj.maxRequestBytes !== 'number') {
- throw new Error('Invalid method config: invalid maxRequestBytes');
- }
- result.maxRequestBytes = obj.maxRequestBytes;
- }
- if ('maxResponseBytes' in obj) {
- if (typeof obj.maxResponseBytes !== 'number') {
- throw new Error('Invalid method config: invalid maxRequestBytes');
- }
- result.maxResponseBytes = obj.maxResponseBytes;
- }
- if ('retryPolicy' in obj) {
- if ('hedgingPolicy' in obj) {
- throw new Error('Invalid method config: retryPolicy and hedgingPolicy cannot both be specified');
- }
- else {
- result.retryPolicy = validateRetryPolicy(obj.retryPolicy);
- }
- }
- else if ('hedgingPolicy' in obj) {
- result.hedgingPolicy = validateHedgingPolicy(obj.hedgingPolicy);
- }
- return result;
-}
-function validateRetryThrottling(obj) {
- if (!('maxTokens' in obj) ||
- typeof obj.maxTokens !== 'number' ||
- obj.maxTokens <= 0 ||
- obj.maxTokens > 1000) {
- throw new Error('Invalid retryThrottling: maxTokens must be a number in (0, 1000]');
- }
- if (!('tokenRatio' in obj) ||
- typeof obj.tokenRatio !== 'number' ||
- obj.tokenRatio <= 0) {
- throw new Error('Invalid retryThrottling: tokenRatio must be a number greater than 0');
- }
- return {
- maxTokens: +obj.maxTokens.toFixed(3),
- tokenRatio: +obj.tokenRatio.toFixed(3),
- };
-}
-exports.validateRetryThrottling = validateRetryThrottling;
-function validateServiceConfig(obj) {
- const result = {
- loadBalancingConfig: [],
- methodConfig: [],
- };
- if ('loadBalancingPolicy' in obj) {
- if (typeof obj.loadBalancingPolicy === 'string') {
- result.loadBalancingPolicy = obj.loadBalancingPolicy;
- }
- else {
- throw new Error('Invalid service config: invalid loadBalancingPolicy');
- }
- }
- if ('loadBalancingConfig' in obj) {
- if (Array.isArray(obj.loadBalancingConfig)) {
- for (const config of obj.loadBalancingConfig) {
- result.loadBalancingConfig.push((0, load_balancer_1.validateLoadBalancingConfig)(config));
- }
- }
- else {
- throw new Error('Invalid service config: invalid loadBalancingConfig');
- }
- }
- if ('methodConfig' in obj) {
- if (Array.isArray(obj.methodConfig)) {
- for (const methodConfig of obj.methodConfig) {
- result.methodConfig.push(validateMethodConfig(methodConfig));
- }
- }
- }
- if ('retryThrottling' in obj) {
- result.retryThrottling = validateRetryThrottling(obj.retryThrottling);
- }
- // Validate method name uniqueness
- const seenMethodNames = [];
- for (const methodConfig of result.methodConfig) {
- for (const name of methodConfig.name) {
- for (const seenName of seenMethodNames) {
- if (name.service === seenName.service &&
- name.method === seenName.method) {
- throw new Error(`Invalid service config: duplicate name ${name.service}/${name.method}`);
- }
- }
- seenMethodNames.push(name);
- }
- }
- return result;
-}
-exports.validateServiceConfig = validateServiceConfig;
-function validateCanaryConfig(obj) {
- if (!('serviceConfig' in obj)) {
- throw new Error('Invalid service config choice: missing service config');
- }
- const result = {
- serviceConfig: validateServiceConfig(obj.serviceConfig),
- };
- if ('clientLanguage' in obj) {
- if (Array.isArray(obj.clientLanguage)) {
- result.clientLanguage = [];
- for (const lang of obj.clientLanguage) {
- if (typeof lang === 'string') {
- result.clientLanguage.push(lang);
- }
- else {
- throw new Error('Invalid service config choice: invalid clientLanguage');
- }
- }
- }
- else {
- throw new Error('Invalid service config choice: invalid clientLanguage');
- }
- }
- if ('clientHostname' in obj) {
- if (Array.isArray(obj.clientHostname)) {
- result.clientHostname = [];
- for (const lang of obj.clientHostname) {
- if (typeof lang === 'string') {
- result.clientHostname.push(lang);
- }
- else {
- throw new Error('Invalid service config choice: invalid clientHostname');
- }
- }
- }
- else {
- throw new Error('Invalid service config choice: invalid clientHostname');
- }
- }
- if ('percentage' in obj) {
- if (typeof obj.percentage === 'number' &&
- 0 <= obj.percentage &&
- obj.percentage <= 100) {
- result.percentage = obj.percentage;
- }
- else {
- throw new Error('Invalid service config choice: invalid percentage');
- }
- }
- // Validate that no unexpected fields are present
- const allowedFields = [
- 'clientLanguage',
- 'percentage',
- 'clientHostname',
- 'serviceConfig',
- ];
- for (const field in obj) {
- if (!allowedFields.includes(field)) {
- throw new Error(`Invalid service config choice: unexpected field ${field}`);
- }
- }
- return result;
-}
-function validateAndSelectCanaryConfig(obj, percentage) {
- if (!Array.isArray(obj)) {
- throw new Error('Invalid service config list');
- }
- for (const config of obj) {
- const validatedConfig = validateCanaryConfig(config);
- /* For each field, we check if it is present, then only discard the
- * config if the field value does not match the current client */
- if (typeof validatedConfig.percentage === 'number' &&
- percentage > validatedConfig.percentage) {
- continue;
- }
- if (Array.isArray(validatedConfig.clientHostname)) {
- let hostnameMatched = false;
- for (const hostname of validatedConfig.clientHostname) {
- if (hostname === os.hostname()) {
- hostnameMatched = true;
- }
- }
- if (!hostnameMatched) {
- continue;
- }
- }
- if (Array.isArray(validatedConfig.clientLanguage)) {
- let languageMatched = false;
- for (const language of validatedConfig.clientLanguage) {
- if (language === CLIENT_LANGUAGE_STRING) {
- languageMatched = true;
- }
- }
- if (!languageMatched) {
- continue;
- }
- }
- return validatedConfig.serviceConfig;
- }
- throw new Error('No matching service config found');
-}
-/**
- * Find the "grpc_config" record among the TXT records, parse its value as JSON, validate its contents,
- * and select a service config with selection fields that all match this client. Most of these steps
- * can fail with an error; the caller must handle any errors thrown this way.
- * @param txtRecord The TXT record array that is output from a successful call to dns.resolveTxt
- * @param percentage A number chosen from the range [0, 100) that is used to select which config to use
- * @return The service configuration to use, given the percentage value, or null if the service config
- * data has a valid format but none of the options match the current client.
- */
-function extractAndSelectServiceConfig(txtRecord, percentage) {
- for (const record of txtRecord) {
- if (record.length > 0 && record[0].startsWith('grpc_config=')) {
- /* Treat the list of strings in this record as a single string and remove
- * "grpc_config=" from the beginning. The rest should be a JSON string */
- const recordString = record.join('').substring('grpc_config='.length);
- const recordJson = JSON.parse(recordString);
- return validateAndSelectCanaryConfig(recordJson, percentage);
- }
- }
- return null;
-}
-exports.extractAndSelectServiceConfig = extractAndSelectServiceConfig;
-//# sourceMappingURL=service-config.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/service-config.js.map b/tests/node_modules/@grpc/grpc-js/build/src/service-config.js.map
deleted file mode 100644
index 11ae3c4151a6313771974386a5020e60ef41d72b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/service-config.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"service-config.js","sourceRoot":"","sources":["../../src/service-config.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts
deleted file mode 100644
index 5628226b986dbdad8b98f07498ac75bc0a22764a..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { StatusObject } from './call-interface';
-import { Status } from './constants';
-import { Metadata } from './metadata';
-/**
- * A builder for gRPC status objects.
- */
-export declare class StatusBuilder {
- private code;
- private details;
- private metadata;
- constructor();
- /**
- * Adds a status code to the builder.
- */
- withCode(code: Status): this;
- /**
- * Adds details to the builder.
- */
- withDetails(details: string): this;
- /**
- * Adds metadata to the builder.
- */
- withMetadata(metadata: Metadata): this;
- /**
- * Builds the status object.
- */
- build(): Partial;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/status-builder.js b/tests/node_modules/@grpc/grpc-js/build/src/status-builder.js
deleted file mode 100644
index 7426e54b000f99ce2c91a9166937f3c4064c186f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/status-builder.js
+++ /dev/null
@@ -1,68 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.StatusBuilder = void 0;
-/**
- * A builder for gRPC status objects.
- */
-class StatusBuilder {
- constructor() {
- this.code = null;
- this.details = null;
- this.metadata = null;
- }
- /**
- * Adds a status code to the builder.
- */
- withCode(code) {
- this.code = code;
- return this;
- }
- /**
- * Adds details to the builder.
- */
- withDetails(details) {
- this.details = details;
- return this;
- }
- /**
- * Adds metadata to the builder.
- */
- withMetadata(metadata) {
- this.metadata = metadata;
- return this;
- }
- /**
- * Builds the status object.
- */
- build() {
- const status = {};
- if (this.code !== null) {
- status.code = this.code;
- }
- if (this.details !== null) {
- status.details = this.details;
- }
- if (this.metadata !== null) {
- status.metadata = this.metadata;
- }
- return status;
- }
-}
-exports.StatusBuilder = StatusBuilder;
-//# sourceMappingURL=status-builder.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/status-builder.js.map b/tests/node_modules/@grpc/grpc-js/build/src/status-builder.js.map
deleted file mode 100644
index 3543d3966439e33735a01c609fbd4231d8dcc9ce..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/status-builder.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"status-builder.js","sourceRoot":"","sources":["../../src/status-builder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAMH;;GAEG;AACH,MAAa,aAAa;IAKxB;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAe;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAkB;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,MAAM,GAA0B,EAAE,CAAC;QAEzC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACtB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACzB;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SAC/B;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SACjC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvDD,sCAuDC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/stream-decoder.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/stream-decoder.d.ts
deleted file mode 100644
index 512962f195fe0f0dc7042322fcb37dcb4729c91e..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/stream-decoder.d.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-export declare class StreamDecoder {
- private readState;
- private readCompressFlag;
- private readPartialSize;
- private readSizeRemaining;
- private readMessageSize;
- private readPartialMessage;
- private readMessageRemaining;
- write(data: Buffer): Buffer[];
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/stream-decoder.js b/tests/node_modules/@grpc/grpc-js/build/src/stream-decoder.js
deleted file mode 100644
index 5c64d429746a2c0bc2d072f38217154b8d394acb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/stream-decoder.js
+++ /dev/null
@@ -1,96 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.StreamDecoder = void 0;
-var ReadState;
-(function (ReadState) {
- ReadState[ReadState["NO_DATA"] = 0] = "NO_DATA";
- ReadState[ReadState["READING_SIZE"] = 1] = "READING_SIZE";
- ReadState[ReadState["READING_MESSAGE"] = 2] = "READING_MESSAGE";
-})(ReadState || (ReadState = {}));
-class StreamDecoder {
- constructor() {
- this.readState = ReadState.NO_DATA;
- this.readCompressFlag = Buffer.alloc(1);
- this.readPartialSize = Buffer.alloc(4);
- this.readSizeRemaining = 4;
- this.readMessageSize = 0;
- this.readPartialMessage = [];
- this.readMessageRemaining = 0;
- }
- write(data) {
- let readHead = 0;
- let toRead;
- const result = [];
- while (readHead < data.length) {
- switch (this.readState) {
- case ReadState.NO_DATA:
- this.readCompressFlag = data.slice(readHead, readHead + 1);
- readHead += 1;
- this.readState = ReadState.READING_SIZE;
- this.readPartialSize.fill(0);
- this.readSizeRemaining = 4;
- this.readMessageSize = 0;
- this.readMessageRemaining = 0;
- this.readPartialMessage = [];
- break;
- case ReadState.READING_SIZE:
- toRead = Math.min(data.length - readHead, this.readSizeRemaining);
- data.copy(this.readPartialSize, 4 - this.readSizeRemaining, readHead, readHead + toRead);
- this.readSizeRemaining -= toRead;
- readHead += toRead;
- // readSizeRemaining >=0 here
- if (this.readSizeRemaining === 0) {
- this.readMessageSize = this.readPartialSize.readUInt32BE(0);
- this.readMessageRemaining = this.readMessageSize;
- if (this.readMessageRemaining > 0) {
- this.readState = ReadState.READING_MESSAGE;
- }
- else {
- const message = Buffer.concat([this.readCompressFlag, this.readPartialSize], 5);
- this.readState = ReadState.NO_DATA;
- result.push(message);
- }
- }
- break;
- case ReadState.READING_MESSAGE:
- toRead = Math.min(data.length - readHead, this.readMessageRemaining);
- this.readPartialMessage.push(data.slice(readHead, readHead + toRead));
- this.readMessageRemaining -= toRead;
- readHead += toRead;
- // readMessageRemaining >=0 here
- if (this.readMessageRemaining === 0) {
- // At this point, we have read a full message
- const framedMessageBuffers = [
- this.readCompressFlag,
- this.readPartialSize,
- ].concat(this.readPartialMessage);
- const framedMessage = Buffer.concat(framedMessageBuffers, this.readMessageSize + 5);
- this.readState = ReadState.NO_DATA;
- result.push(framedMessage);
- }
- break;
- default:
- throw new Error('Unexpected read state');
- }
- }
- return result;
- }
-}
-exports.StreamDecoder = StreamDecoder;
-//# sourceMappingURL=stream-decoder.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/stream-decoder.js.map b/tests/node_modules/@grpc/grpc-js/build/src/stream-decoder.js.map
deleted file mode 100644
index adc033e8ca2b8a3f1521f5d09f58cbad8b229408..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/stream-decoder.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"stream-decoder.js","sourceRoot":"","sources":["../../src/stream-decoder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,IAAK,SAIJ;AAJD,WAAK,SAAS;IACZ,+CAAO,CAAA;IACP,yDAAY,CAAA;IACZ,+DAAe,CAAA;AACjB,CAAC,EAJI,SAAS,KAAT,SAAS,QAIb;AAED,MAAa,aAAa;IAA1B;QACU,cAAS,GAAc,SAAS,CAAC,OAAO,CAAC;QACzC,qBAAgB,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,oBAAe,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,sBAAiB,GAAG,CAAC,CAAC;QACtB,oBAAe,GAAG,CAAC,CAAC;QACpB,uBAAkB,GAAa,EAAE,CAAC;QAClC,yBAAoB,GAAG,CAAC,CAAC;IA0EnC,CAAC;IAxEC,KAAK,CAAC,IAAY;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAc,CAAC;QACnB,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,OAAO,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE;YAC7B,QAAQ,IAAI,CAAC,SAAS,EAAE;gBACtB,KAAK,SAAS,CAAC,OAAO;oBACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAC3D,QAAQ,IAAI,CAAC,CAAC;oBACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;oBACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;oBAC7B,MAAM;gBACR,KAAK,SAAS,CAAC,YAAY;oBACzB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAClE,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,eAAe,EACpB,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAC1B,QAAQ,EACR,QAAQ,GAAG,MAAM,CAClB,CAAC;oBACF,IAAI,CAAC,iBAAiB,IAAI,MAAM,CAAC;oBACjC,QAAQ,IAAI,MAAM,CAAC;oBACnB,6BAA6B;oBAC7B,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE;wBAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBAC5D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC;wBACjD,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC,EAAE;4BACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,eAAe,CAAC;yBAC5C;6BAAM;4BACL,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,EAC7C,CAAC,CACF,CAAC;4BAEF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC;4BACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBACtB;qBACF;oBACD,MAAM;gBACR,KAAK,SAAS,CAAC,eAAe;oBAC5B,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACrE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC;oBACtE,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC;oBACpC,QAAQ,IAAI,MAAM,CAAC;oBACnB,gCAAgC;oBAChC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE;wBACnC,6CAA6C;wBAC7C,MAAM,oBAAoB,GAAG;4BAC3B,IAAI,CAAC,gBAAgB;4BACrB,IAAI,CAAC,eAAe;yBACrB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;wBAClC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CACjC,oBAAoB,EACpB,IAAI,CAAC,eAAe,GAAG,CAAC,CACzB,CAAC;wBAEF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC;wBACnC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qBAC5B;oBACD,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC5C;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAjFD,sCAiFC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts
deleted file mode 100644
index 8e94e10caa739162840af6152a7f903d33ef07f6..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-export interface TcpSubchannelAddress {
- port: number;
- host: string;
-}
-export interface IpcSubchannelAddress {
- path: string;
-}
-/**
- * This represents a single backend address to connect to. This interface is a
- * subset of net.SocketConnectOpts, i.e. the options described at
- * https://nodejs.org/api/net.html#net_socket_connect_options_connectlistener.
- * Those are in turn a subset of the options that can be passed to http2.connect.
- */
-export type SubchannelAddress = TcpSubchannelAddress | IpcSubchannelAddress;
-export declare function isTcpSubchannelAddress(address: SubchannelAddress): address is TcpSubchannelAddress;
-export declare function subchannelAddressEqual(address1?: SubchannelAddress, address2?: SubchannelAddress): boolean;
-export declare function subchannelAddressToString(address: SubchannelAddress): string;
-export declare function stringToSubchannelAddress(addressString: string, port?: number): SubchannelAddress;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-address.js b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-address.js
deleted file mode 100644
index 4cf660dcda300543dc2925030ea784323c54cca9..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-address.js
+++ /dev/null
@@ -1,66 +0,0 @@
-"use strict";
-/*
- * Copyright 2021 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.stringToSubchannelAddress = exports.subchannelAddressToString = exports.subchannelAddressEqual = exports.isTcpSubchannelAddress = void 0;
-const net_1 = require("net");
-function isTcpSubchannelAddress(address) {
- return 'port' in address;
-}
-exports.isTcpSubchannelAddress = isTcpSubchannelAddress;
-function subchannelAddressEqual(address1, address2) {
- if (!address1 && !address2) {
- return true;
- }
- if (!address1 || !address2) {
- return false;
- }
- if (isTcpSubchannelAddress(address1)) {
- return (isTcpSubchannelAddress(address2) &&
- address1.host === address2.host &&
- address1.port === address2.port);
- }
- else {
- return !isTcpSubchannelAddress(address2) && address1.path === address2.path;
- }
-}
-exports.subchannelAddressEqual = subchannelAddressEqual;
-function subchannelAddressToString(address) {
- if (isTcpSubchannelAddress(address)) {
- return address.host + ':' + address.port;
- }
- else {
- return address.path;
- }
-}
-exports.subchannelAddressToString = subchannelAddressToString;
-const DEFAULT_PORT = 443;
-function stringToSubchannelAddress(addressString, port) {
- if ((0, net_1.isIP)(addressString)) {
- return {
- host: addressString,
- port: port !== null && port !== void 0 ? port : DEFAULT_PORT,
- };
- }
- else {
- return {
- path: addressString,
- };
- }
-}
-exports.stringToSubchannelAddress = stringToSubchannelAddress;
-//# sourceMappingURL=subchannel-address.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-address.js.map b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-address.js.map
deleted file mode 100644
index 8452f946892a3b23650294bef11fa6563a213a09..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-address.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"subchannel-address.js","sourceRoot":"","sources":["../../src/subchannel-address.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,6BAA2B;AAmB3B,SAAgB,sBAAsB,CACpC,OAA0B;IAE1B,OAAO,MAAM,IAAI,OAAO,CAAC;AAC3B,CAAC;AAJD,wDAIC;AAED,SAAgB,sBAAsB,CACpC,QAA4B,EAC5B,QAA4B;IAE5B,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;QAC1B,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IACD,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE;QACpC,OAAO,CACL,sBAAsB,CAAC,QAAQ,CAAC;YAChC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;YAC/B,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAChC,CAAC;KACH;SAAM;QACL,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;KAC7E;AACH,CAAC;AAnBD,wDAmBC;AAED,SAAgB,yBAAyB,CAAC,OAA0B;IAClE,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE;QACnC,OAAO,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;KAC1C;SAAM;QACL,OAAO,OAAO,CAAC,IAAI,CAAC;KACrB;AACH,CAAC;AAND,8DAMC;AAED,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,SAAgB,yBAAyB,CACvC,aAAqB,EACrB,IAAa;IAEb,IAAI,IAAA,UAAI,EAAC,aAAa,CAAC,EAAE;QACvB,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,YAAY;SAC3B,CAAC;KACH;SAAM;QACL,OAAO;YACL,IAAI,EAAE,aAAa;SACpB,CAAC;KACH;AACH,CAAC;AAdD,8DAcC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-call.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-call.d.ts
deleted file mode 100644
index 1a6bb17a3cc4971db6047a765f9bc68f27c1a160..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-call.d.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-///
-///
-import * as http2 from 'http2';
-import { Status } from './constants';
-import { InterceptingListener, MessageContext, StatusObject } from './call-interface';
-import { CallEventTracker, Transport } from './transport';
-export interface SubchannelCall {
- cancelWithStatus(status: Status, details: string): void;
- getPeer(): string;
- sendMessageWithContext(context: MessageContext, message: Buffer): void;
- startRead(): void;
- halfClose(): void;
- getCallNumber(): number;
-}
-export interface StatusObjectWithRstCode extends StatusObject {
- rstCode?: number;
-}
-export interface SubchannelCallInterceptingListener extends InterceptingListener {
- onReceiveStatus(status: StatusObjectWithRstCode): void;
-}
-export declare class Http2SubchannelCall implements SubchannelCall {
- private readonly http2Stream;
- private readonly callEventTracker;
- private readonly listener;
- private readonly transport;
- private readonly callId;
- private decoder;
- private isReadFilterPending;
- private isPushPending;
- private canPush;
- /**
- * Indicates that an 'end' event has come from the http2 stream, so there
- * will be no more data events.
- */
- private readsClosed;
- private statusOutput;
- private unpushedReadMessages;
- private mappedStatusCode;
- private finalStatus;
- private internalError;
- constructor(http2Stream: http2.ClientHttp2Stream, callEventTracker: CallEventTracker, listener: SubchannelCallInterceptingListener, transport: Transport, callId: number);
- onDisconnect(): void;
- private outputStatus;
- private trace;
- /**
- * On first call, emits a 'status' event with the given StatusObject.
- * Subsequent calls are no-ops.
- * @param status The status of the call.
- */
- private endCall;
- private maybeOutputStatus;
- private push;
- private tryPush;
- private handleTrailers;
- private destroyHttp2Stream;
- cancelWithStatus(status: Status, details: string): void;
- getStatus(): StatusObject | null;
- getPeer(): string;
- getCallNumber(): number;
- startRead(): void;
- sendMessageWithContext(context: MessageContext, message: Buffer): void;
- halfClose(): void;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-call.js b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-call.js
deleted file mode 100644
index b70d895f35fe597d32dbfbc9ee8f48661c5de353..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-call.js
+++ /dev/null
@@ -1,461 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Http2SubchannelCall = void 0;
-const http2 = require("http2");
-const os = require("os");
-const constants_1 = require("./constants");
-const metadata_1 = require("./metadata");
-const stream_decoder_1 = require("./stream-decoder");
-const logging = require("./logging");
-const constants_2 = require("./constants");
-const TRACER_NAME = 'subchannel_call';
-/**
- * Should do approximately the same thing as util.getSystemErrorName but the
- * TypeScript types don't have that function for some reason so I just made my
- * own.
- * @param errno
- */
-function getSystemErrorName(errno) {
- for (const [name, num] of Object.entries(os.constants.errno)) {
- if (num === errno) {
- return name;
- }
- }
- return 'Unknown system error ' + errno;
-}
-class Http2SubchannelCall {
- constructor(http2Stream, callEventTracker, listener, transport, callId) {
- this.http2Stream = http2Stream;
- this.callEventTracker = callEventTracker;
- this.listener = listener;
- this.transport = transport;
- this.callId = callId;
- this.decoder = new stream_decoder_1.StreamDecoder();
- this.isReadFilterPending = false;
- this.isPushPending = false;
- this.canPush = false;
- /**
- * Indicates that an 'end' event has come from the http2 stream, so there
- * will be no more data events.
- */
- this.readsClosed = false;
- this.statusOutput = false;
- this.unpushedReadMessages = [];
- // Status code mapped from :status. To be used if grpc-status is not received
- this.mappedStatusCode = constants_1.Status.UNKNOWN;
- // This is populated (non-null) if and only if the call has ended
- this.finalStatus = null;
- this.internalError = null;
- http2Stream.on('response', (headers, flags) => {
- let headersString = '';
- for (const header of Object.keys(headers)) {
- headersString += '\t\t' + header + ': ' + headers[header] + '\n';
- }
- this.trace('Received server headers:\n' + headersString);
- switch (headers[':status']) {
- // TODO(murgatroid99): handle 100 and 101
- case 400:
- this.mappedStatusCode = constants_1.Status.INTERNAL;
- break;
- case 401:
- this.mappedStatusCode = constants_1.Status.UNAUTHENTICATED;
- break;
- case 403:
- this.mappedStatusCode = constants_1.Status.PERMISSION_DENIED;
- break;
- case 404:
- this.mappedStatusCode = constants_1.Status.UNIMPLEMENTED;
- break;
- case 429:
- case 502:
- case 503:
- case 504:
- this.mappedStatusCode = constants_1.Status.UNAVAILABLE;
- break;
- default:
- this.mappedStatusCode = constants_1.Status.UNKNOWN;
- }
- if (flags & http2.constants.NGHTTP2_FLAG_END_STREAM) {
- this.handleTrailers(headers);
- }
- else {
- let metadata;
- try {
- metadata = metadata_1.Metadata.fromHttp2Headers(headers);
- }
- catch (error) {
- this.endCall({
- code: constants_1.Status.UNKNOWN,
- details: error.message,
- metadata: new metadata_1.Metadata(),
- });
- return;
- }
- this.listener.onReceiveMetadata(metadata);
- }
- });
- http2Stream.on('trailers', (headers) => {
- this.handleTrailers(headers);
- });
- http2Stream.on('data', (data) => {
- /* If the status has already been output, allow the http2 stream to
- * drain without processing the data. */
- if (this.statusOutput) {
- return;
- }
- this.trace('receive HTTP/2 data frame of length ' + data.length);
- const messages = this.decoder.write(data);
- for (const message of messages) {
- this.trace('parsed message of length ' + message.length);
- this.callEventTracker.addMessageReceived();
- this.tryPush(message);
- }
- });
- http2Stream.on('end', () => {
- this.readsClosed = true;
- this.maybeOutputStatus();
- });
- http2Stream.on('close', () => {
- /* Use process.next tick to ensure that this code happens after any
- * "error" event that may be emitted at about the same time, so that
- * we can bubble up the error message from that event. */
- process.nextTick(() => {
- var _a;
- this.trace('HTTP/2 stream closed with code ' + http2Stream.rstCode);
- /* If we have a final status with an OK status code, that means that
- * we have received all of the messages and we have processed the
- * trailers and the call completed successfully, so it doesn't matter
- * how the stream ends after that */
- if (((_a = this.finalStatus) === null || _a === void 0 ? void 0 : _a.code) === constants_1.Status.OK) {
- return;
- }
- let code;
- let details = '';
- switch (http2Stream.rstCode) {
- case http2.constants.NGHTTP2_NO_ERROR:
- /* If we get a NO_ERROR code and we already have a status, the
- * stream completed properly and we just haven't fully processed
- * it yet */
- if (this.finalStatus !== null) {
- return;
- }
- code = constants_1.Status.INTERNAL;
- details = `Received RST_STREAM with code ${http2Stream.rstCode}`;
- break;
- case http2.constants.NGHTTP2_REFUSED_STREAM:
- code = constants_1.Status.UNAVAILABLE;
- details = 'Stream refused by server';
- break;
- case http2.constants.NGHTTP2_CANCEL:
- code = constants_1.Status.CANCELLED;
- details = 'Call cancelled';
- break;
- case http2.constants.NGHTTP2_ENHANCE_YOUR_CALM:
- code = constants_1.Status.RESOURCE_EXHAUSTED;
- details = 'Bandwidth exhausted or memory limit exceeded';
- break;
- case http2.constants.NGHTTP2_INADEQUATE_SECURITY:
- code = constants_1.Status.PERMISSION_DENIED;
- details = 'Protocol not secure enough';
- break;
- case http2.constants.NGHTTP2_INTERNAL_ERROR:
- code = constants_1.Status.INTERNAL;
- if (this.internalError === null) {
- /* This error code was previously handled in the default case, and
- * there are several instances of it online, so I wanted to
- * preserve the original error message so that people find existing
- * information in searches, but also include the more recognizable
- * "Internal server error" message. */
- details = `Received RST_STREAM with code ${http2Stream.rstCode} (Internal server error)`;
- }
- else {
- if (this.internalError.code === 'ECONNRESET' ||
- this.internalError.code === 'ETIMEDOUT') {
- code = constants_1.Status.UNAVAILABLE;
- details = this.internalError.message;
- }
- else {
- /* The "Received RST_STREAM with code ..." error is preserved
- * here for continuity with errors reported online, but the
- * error message at the end will probably be more relevant in
- * most cases. */
- details = `Received RST_STREAM with code ${http2Stream.rstCode} triggered by internal client error: ${this.internalError.message}`;
- }
- }
- break;
- default:
- code = constants_1.Status.INTERNAL;
- details = `Received RST_STREAM with code ${http2Stream.rstCode}`;
- }
- // This is a no-op if trailers were received at all.
- // This is OK, because status codes emitted here correspond to more
- // catastrophic issues that prevent us from receiving trailers in the
- // first place.
- this.endCall({
- code,
- details,
- metadata: new metadata_1.Metadata(),
- rstCode: http2Stream.rstCode,
- });
- });
- });
- http2Stream.on('error', (err) => {
- /* We need an error handler here to stop "Uncaught Error" exceptions
- * from bubbling up. However, errors here should all correspond to
- * "close" events, where we will handle the error more granularly */
- /* Specifically looking for stream errors that were *not* constructed
- * from a RST_STREAM response here:
- * https://github.com/nodejs/node/blob/8b8620d580314050175983402dfddf2674e8e22a/lib/internal/http2/core.js#L2267
- */
- if (err.code !== 'ERR_HTTP2_STREAM_ERROR') {
- this.trace('Node error event: message=' +
- err.message +
- ' code=' +
- err.code +
- ' errno=' +
- getSystemErrorName(err.errno) +
- ' syscall=' +
- err.syscall);
- this.internalError = err;
- }
- this.callEventTracker.onStreamEnd(false);
- });
- }
- onDisconnect() {
- this.endCall({
- code: constants_1.Status.UNAVAILABLE,
- details: 'Connection dropped',
- metadata: new metadata_1.Metadata(),
- });
- }
- outputStatus() {
- /* Precondition: this.finalStatus !== null */
- if (!this.statusOutput) {
- this.statusOutput = true;
- this.trace('ended with status: code=' +
- this.finalStatus.code +
- ' details="' +
- this.finalStatus.details +
- '"');
- this.callEventTracker.onCallEnd(this.finalStatus);
- /* We delay the actual action of bubbling up the status to insulate the
- * cleanup code in this class from any errors that may be thrown in the
- * upper layers as a result of bubbling up the status. In particular,
- * if the status is not OK, the "error" event may be emitted
- * synchronously at the top level, which will result in a thrown error if
- * the user does not handle that event. */
- process.nextTick(() => {
- this.listener.onReceiveStatus(this.finalStatus);
- });
- /* Leave the http2 stream in flowing state to drain incoming messages, to
- * ensure that the stream closure completes. The call stream already does
- * not push more messages after the status is output, so the messages go
- * nowhere either way. */
- this.http2Stream.resume();
- }
- }
- trace(text) {
- logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME, '[' + this.callId + '] ' + text);
- }
- /**
- * On first call, emits a 'status' event with the given StatusObject.
- * Subsequent calls are no-ops.
- * @param status The status of the call.
- */
- endCall(status) {
- /* If the status is OK and a new status comes in (e.g. from a
- * deserialization failure), that new status takes priority */
- if (this.finalStatus === null || this.finalStatus.code === constants_1.Status.OK) {
- this.finalStatus = status;
- this.maybeOutputStatus();
- }
- this.destroyHttp2Stream();
- }
- maybeOutputStatus() {
- if (this.finalStatus !== null) {
- /* The combination check of readsClosed and that the two message buffer
- * arrays are empty checks that there all incoming data has been fully
- * processed */
- if (this.finalStatus.code !== constants_1.Status.OK ||
- (this.readsClosed &&
- this.unpushedReadMessages.length === 0 &&
- !this.isReadFilterPending &&
- !this.isPushPending)) {
- this.outputStatus();
- }
- }
- }
- push(message) {
- this.trace('pushing to reader message of length ' +
- (message instanceof Buffer ? message.length : null));
- this.canPush = false;
- this.isPushPending = true;
- process.nextTick(() => {
- this.isPushPending = false;
- /* If we have already output the status any later messages should be
- * ignored, and can cause out-of-order operation errors higher up in the
- * stack. Checking as late as possible here to avoid any race conditions.
- */
- if (this.statusOutput) {
- return;
- }
- this.listener.onReceiveMessage(message);
- this.maybeOutputStatus();
- });
- }
- tryPush(messageBytes) {
- if (this.canPush) {
- this.http2Stream.pause();
- this.push(messageBytes);
- }
- else {
- this.trace('unpushedReadMessages.push message of length ' + messageBytes.length);
- this.unpushedReadMessages.push(messageBytes);
- }
- }
- handleTrailers(headers) {
- this.callEventTracker.onStreamEnd(true);
- let headersString = '';
- for (const header of Object.keys(headers)) {
- headersString += '\t\t' + header + ': ' + headers[header] + '\n';
- }
- this.trace('Received server trailers:\n' + headersString);
- let metadata;
- try {
- metadata = metadata_1.Metadata.fromHttp2Headers(headers);
- }
- catch (e) {
- metadata = new metadata_1.Metadata();
- }
- const metadataMap = metadata.getMap();
- let code = this.mappedStatusCode;
- if (code === constants_1.Status.UNKNOWN &&
- typeof metadataMap['grpc-status'] === 'string') {
- const receivedStatus = Number(metadataMap['grpc-status']);
- if (receivedStatus in constants_1.Status) {
- code = receivedStatus;
- this.trace('received status code ' + receivedStatus + ' from server');
- }
- metadata.remove('grpc-status');
- }
- let details = '';
- if (typeof metadataMap['grpc-message'] === 'string') {
- try {
- details = decodeURI(metadataMap['grpc-message']);
- }
- catch (e) {
- details = metadataMap['grpc-message'];
- }
- metadata.remove('grpc-message');
- this.trace('received status details string "' + details + '" from server');
- }
- const status = { code, details, metadata };
- // This is a no-op if the call was already ended when handling headers.
- this.endCall(status);
- }
- destroyHttp2Stream() {
- var _a;
- // The http2 stream could already have been destroyed if cancelWithStatus
- // is called in response to an internal http2 error.
- if (!this.http2Stream.destroyed) {
- /* If the call has ended with an OK status, communicate that when closing
- * the stream, partly to avoid a situation in which we detect an error
- * RST_STREAM as a result after we have the status */
- let code;
- if (((_a = this.finalStatus) === null || _a === void 0 ? void 0 : _a.code) === constants_1.Status.OK) {
- code = http2.constants.NGHTTP2_NO_ERROR;
- }
- else {
- code = http2.constants.NGHTTP2_CANCEL;
- }
- this.trace('close http2 stream with code ' + code);
- this.http2Stream.close(code);
- }
- }
- cancelWithStatus(status, details) {
- this.trace('cancelWithStatus code: ' + status + ' details: "' + details + '"');
- this.endCall({ code: status, details, metadata: new metadata_1.Metadata() });
- }
- getStatus() {
- return this.finalStatus;
- }
- getPeer() {
- return this.transport.getPeerName();
- }
- getCallNumber() {
- return this.callId;
- }
- startRead() {
- /* If the stream has ended with an error, we should not emit any more
- * messages and we should communicate that the stream has ended */
- if (this.finalStatus !== null && this.finalStatus.code !== constants_1.Status.OK) {
- this.readsClosed = true;
- this.maybeOutputStatus();
- return;
- }
- this.canPush = true;
- if (this.unpushedReadMessages.length > 0) {
- const nextMessage = this.unpushedReadMessages.shift();
- this.push(nextMessage);
- return;
- }
- /* Only resume reading from the http2Stream if we don't have any pending
- * messages to emit */
- this.http2Stream.resume();
- }
- sendMessageWithContext(context, message) {
- this.trace('write() called with message of length ' + message.length);
- const cb = (error) => {
- /* nextTick here ensures that no stream action can be taken in the call
- * stack of the write callback, in order to hopefully work around
- * https://github.com/nodejs/node/issues/49147 */
- process.nextTick(() => {
- var _a;
- let code = constants_1.Status.UNAVAILABLE;
- if ((error === null || error === void 0 ? void 0 : error.code) ===
- 'ERR_STREAM_WRITE_AFTER_END') {
- code = constants_1.Status.INTERNAL;
- }
- if (error) {
- this.cancelWithStatus(code, `Write error: ${error.message}`);
- }
- (_a = context.callback) === null || _a === void 0 ? void 0 : _a.call(context);
- });
- };
- this.trace('sending data chunk of length ' + message.length);
- this.callEventTracker.addMessageSent();
- try {
- this.http2Stream.write(message, cb);
- }
- catch (error) {
- this.endCall({
- code: constants_1.Status.UNAVAILABLE,
- details: `Write failed with error ${error.message}`,
- metadata: new metadata_1.Metadata(),
- });
- }
- }
- halfClose() {
- this.trace('end() called');
- this.trace('calling end() on HTTP/2 stream');
- this.http2Stream.end();
- }
-}
-exports.Http2SubchannelCall = Http2SubchannelCall;
-//# sourceMappingURL=subchannel-call.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-call.js.map b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-call.js.map
deleted file mode 100644
index 335c8cce5f5ce980542d4330c71629c34229f3c0..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-call.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"subchannel-call.js","sourceRoot":"","sources":["../../src/subchannel-call.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts
deleted file mode 100644
index 9c13f53debab52d3af7896873b937d680489c2b2..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { SubchannelRef } from './channelz';
-import { ConnectivityState } from './connectivity-state';
-import { Subchannel } from './subchannel';
-export type ConnectivityStateListener = (subchannel: SubchannelInterface, previousState: ConnectivityState, newState: ConnectivityState, keepaliveTime: number, errorMessage?: string) => void;
-/**
- * This is an interface for load balancing policies to use to interact with
- * subchannels. This allows load balancing policies to wrap and unwrap
- * subchannels.
- *
- * Any load balancing policy that wraps subchannels must unwrap the subchannel
- * in the picker, so that other load balancing policies consistently have
- * access to their own wrapper objects.
- */
-export interface SubchannelInterface {
- getConnectivityState(): ConnectivityState;
- addConnectivityStateListener(listener: ConnectivityStateListener): void;
- removeConnectivityStateListener(listener: ConnectivityStateListener): void;
- startConnecting(): void;
- getAddress(): string;
- throttleKeepalive(newKeepaliveTime: number): void;
- ref(): void;
- unref(): void;
- getChannelzRef(): SubchannelRef;
- /**
- * If this is a wrapper, return the wrapped subchannel, otherwise return this
- */
- getRealSubchannel(): Subchannel;
- /**
- * Returns true if this and other both proxy the same underlying subchannel.
- * Can be used instead of directly accessing getRealSubchannel to allow mocks
- * to avoid implementing getRealSubchannel
- */
- realSubchannelEquals(other: SubchannelInterface): boolean;
-}
-export declare abstract class BaseSubchannelWrapper implements SubchannelInterface {
- protected child: SubchannelInterface;
- constructor(child: SubchannelInterface);
- getConnectivityState(): ConnectivityState;
- addConnectivityStateListener(listener: ConnectivityStateListener): void;
- removeConnectivityStateListener(listener: ConnectivityStateListener): void;
- startConnecting(): void;
- getAddress(): string;
- throttleKeepalive(newKeepaliveTime: number): void;
- ref(): void;
- unref(): void;
- getChannelzRef(): SubchannelRef;
- getRealSubchannel(): Subchannel;
- realSubchannelEquals(other: SubchannelInterface): boolean;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js
deleted file mode 100644
index 2446a01a14ecd0511ffa7252c5207f18f29cbaa2..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js
+++ /dev/null
@@ -1,59 +0,0 @@
-"use strict";
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.BaseSubchannelWrapper = void 0;
-class BaseSubchannelWrapper {
- constructor(child) {
- this.child = child;
- }
- getConnectivityState() {
- return this.child.getConnectivityState();
- }
- addConnectivityStateListener(listener) {
- this.child.addConnectivityStateListener(listener);
- }
- removeConnectivityStateListener(listener) {
- this.child.removeConnectivityStateListener(listener);
- }
- startConnecting() {
- this.child.startConnecting();
- }
- getAddress() {
- return this.child.getAddress();
- }
- throttleKeepalive(newKeepaliveTime) {
- this.child.throttleKeepalive(newKeepaliveTime);
- }
- ref() {
- this.child.ref();
- }
- unref() {
- this.child.unref();
- }
- getChannelzRef() {
- return this.child.getChannelzRef();
- }
- getRealSubchannel() {
- return this.child.getRealSubchannel();
- }
- realSubchannelEquals(other) {
- return this.getRealSubchannel() === other.getRealSubchannel();
- }
-}
-exports.BaseSubchannelWrapper = BaseSubchannelWrapper;
-//# sourceMappingURL=subchannel-interface.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js.map b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js.map
deleted file mode 100644
index f36ecd5be60410b62146d7ed01d62fe0efd3cc4b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"subchannel-interface.js","sourceRoot":"","sources":["../../src/subchannel-interface.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AA6CH,MAAsB,qBAAqB;IACzC,YAAsB,KAA0B;QAA1B,UAAK,GAAL,KAAK,CAAqB;IAAG,CAAC;IAEpD,oBAAoB;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC3C,CAAC;IACD,4BAA4B,CAAC,QAAmC;QAC9D,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IACD,+BAA+B,CAAC,QAAmC;QACjE,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IACD,eAAe;QACb,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IACD,iBAAiB,CAAC,gBAAwB;QACxC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IACD,GAAG;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACxC,CAAC;IACD,oBAAoB,CAAC,KAA0B;QAC7C,OAAO,IAAI,CAAC,iBAAiB,EAAE,KAAK,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAChE,CAAC;CACF;AApCD,sDAoCC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-pool.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-pool.d.ts
deleted file mode 100644
index 9c003009fc762ffb999790ccdd901c6c167ddc69..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-pool.d.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { ChannelOptions } from './channel-options';
-import { Subchannel } from './subchannel';
-import { SubchannelAddress } from './subchannel-address';
-import { ChannelCredentials } from './channel-credentials';
-import { GrpcUri } from './uri-parser';
-export declare class SubchannelPool {
- private pool;
- /**
- * A timer of a task performing a periodic subchannel cleanup.
- */
- private cleanupTimer;
- /**
- * A pool of subchannels use for making connections. Subchannels with the
- * exact same parameters will be reused.
- */
- constructor();
- /**
- * Unrefs all unused subchannels and cancels the cleanup task if all
- * subchannels have been unrefed.
- */
- unrefUnusedSubchannels(): void;
- /**
- * Ensures that the cleanup task is spawned.
- */
- ensureCleanupTask(): void;
- /**
- * Get a subchannel if one already exists with exactly matching parameters.
- * Otherwise, create and save a subchannel with those parameters.
- * @param channelTarget
- * @param subchannelTarget
- * @param channelArguments
- * @param channelCredentials
- */
- getOrCreateSubchannel(channelTargetUri: GrpcUri, subchannelTarget: SubchannelAddress, channelArguments: ChannelOptions, channelCredentials: ChannelCredentials): Subchannel;
-}
-/**
- * Get either the global subchannel pool, or a new subchannel pool.
- * @param global
- */
-export declare function getSubchannelPool(global: boolean): SubchannelPool;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js
deleted file mode 100644
index 906160715c0894b6106b61922b1dd71bda63b574..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js
+++ /dev/null
@@ -1,137 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.getSubchannelPool = exports.SubchannelPool = void 0;
-const channel_options_1 = require("./channel-options");
-const subchannel_1 = require("./subchannel");
-const subchannel_address_1 = require("./subchannel-address");
-const uri_parser_1 = require("./uri-parser");
-const transport_1 = require("./transport");
-// 10 seconds in milliseconds. This value is arbitrary.
-/**
- * The amount of time in between checks for dropping subchannels that have no
- * other references
- */
-const REF_CHECK_INTERVAL = 10000;
-class SubchannelPool {
- /**
- * A pool of subchannels use for making connections. Subchannels with the
- * exact same parameters will be reused.
- */
- constructor() {
- this.pool = Object.create(null);
- /**
- * A timer of a task performing a periodic subchannel cleanup.
- */
- this.cleanupTimer = null;
- }
- /**
- * Unrefs all unused subchannels and cancels the cleanup task if all
- * subchannels have been unrefed.
- */
- unrefUnusedSubchannels() {
- let allSubchannelsUnrefed = true;
- /* These objects are created with Object.create(null), so they do not
- * have a prototype, which means that for (... in ...) loops over them
- * do not need to be filtered */
- // eslint-disable-disable-next-line:forin
- for (const channelTarget in this.pool) {
- const subchannelObjArray = this.pool[channelTarget];
- const refedSubchannels = subchannelObjArray.filter(value => !value.subchannel.unrefIfOneRef());
- if (refedSubchannels.length > 0) {
- allSubchannelsUnrefed = false;
- }
- /* For each subchannel in the pool, try to unref it if it has
- * exactly one ref (which is the ref from the pool itself). If that
- * does happen, remove the subchannel from the pool */
- this.pool[channelTarget] = refedSubchannels;
- }
- /* Currently we do not delete keys with empty values. If that results
- * in significant memory usage we should change it. */
- // Cancel the cleanup task if all subchannels have been unrefed.
- if (allSubchannelsUnrefed && this.cleanupTimer !== null) {
- clearInterval(this.cleanupTimer);
- this.cleanupTimer = null;
- }
- }
- /**
- * Ensures that the cleanup task is spawned.
- */
- ensureCleanupTask() {
- var _a, _b;
- if (this.cleanupTimer === null) {
- this.cleanupTimer = setInterval(() => {
- this.unrefUnusedSubchannels();
- }, REF_CHECK_INTERVAL);
- // Unref because this timer should not keep the event loop running.
- // Call unref only if it exists to address electron/electron#21162
- (_b = (_a = this.cleanupTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- }
- /**
- * Get a subchannel if one already exists with exactly matching parameters.
- * Otherwise, create and save a subchannel with those parameters.
- * @param channelTarget
- * @param subchannelTarget
- * @param channelArguments
- * @param channelCredentials
- */
- getOrCreateSubchannel(channelTargetUri, subchannelTarget, channelArguments, channelCredentials) {
- this.ensureCleanupTask();
- const channelTarget = (0, uri_parser_1.uriToString)(channelTargetUri);
- if (channelTarget in this.pool) {
- const subchannelObjArray = this.pool[channelTarget];
- for (const subchannelObj of subchannelObjArray) {
- if ((0, subchannel_address_1.subchannelAddressEqual)(subchannelTarget, subchannelObj.subchannelAddress) &&
- (0, channel_options_1.channelOptionsEqual)(channelArguments, subchannelObj.channelArguments) &&
- channelCredentials._equals(subchannelObj.channelCredentials)) {
- return subchannelObj.subchannel;
- }
- }
- }
- // If we get here, no matching subchannel was found
- const subchannel = new subchannel_1.Subchannel(channelTargetUri, subchannelTarget, channelArguments, channelCredentials, new transport_1.Http2SubchannelConnector(channelTargetUri));
- if (!(channelTarget in this.pool)) {
- this.pool[channelTarget] = [];
- }
- this.pool[channelTarget].push({
- subchannelAddress: subchannelTarget,
- channelArguments,
- channelCredentials,
- subchannel,
- });
- subchannel.ref();
- return subchannel;
- }
-}
-exports.SubchannelPool = SubchannelPool;
-const globalSubchannelPool = new SubchannelPool();
-/**
- * Get either the global subchannel pool, or a new subchannel pool.
- * @param global
- */
-function getSubchannelPool(global) {
- if (global) {
- return globalSubchannelPool;
- }
- else {
- return new SubchannelPool();
- }
-}
-exports.getSubchannelPool = getSubchannelPool;
-//# sourceMappingURL=subchannel-pool.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js.map b/tests/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js.map
deleted file mode 100644
index c862e7c35ad1adf29468f2488f8777122808256d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"subchannel-pool.js","sourceRoot":"","sources":["../../src/subchannel-pool.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts
deleted file mode 100644
index f0425835e7fa5a31cb0c093c935bb2ad849dfe02..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts
+++ /dev/null
@@ -1,119 +0,0 @@
-import { ChannelCredentials } from './channel-credentials';
-import { Metadata } from './metadata';
-import { ChannelOptions } from './channel-options';
-import { ConnectivityState } from './connectivity-state';
-import { GrpcUri } from './uri-parser';
-import { SubchannelAddress } from './subchannel-address';
-import { SubchannelRef } from './channelz';
-import { ConnectivityStateListener, SubchannelInterface } from './subchannel-interface';
-import { SubchannelCallInterceptingListener } from './subchannel-call';
-import { SubchannelCall } from './subchannel-call';
-import { SubchannelConnector } from './transport';
-export declare class Subchannel {
- private channelTarget;
- private subchannelAddress;
- private options;
- private credentials;
- private connector;
- /**
- * The subchannel's current connectivity state. Invariant: `session` === `null`
- * if and only if `connectivityState` is IDLE or TRANSIENT_FAILURE.
- */
- private connectivityState;
- /**
- * The underlying http2 session used to make requests.
- */
- private transport;
- /**
- * Indicates that the subchannel should transition from TRANSIENT_FAILURE to
- * CONNECTING instead of IDLE when the backoff timeout ends.
- */
- private continueConnecting;
- /**
- * A list of listener functions that will be called whenever the connectivity
- * state changes. Will be modified by `addConnectivityStateListener` and
- * `removeConnectivityStateListener`
- */
- private stateListeners;
- private backoffTimeout;
- private keepaliveTime;
- /**
- * Tracks channels and subchannel pools with references to this subchannel
- */
- private refcount;
- /**
- * A string representation of the subchannel address, for logging/tracing
- */
- private subchannelAddressString;
- private readonly channelzEnabled;
- private channelzRef;
- private channelzTrace;
- private callTracker;
- private childrenTracker;
- private streamTracker;
- /**
- * A class representing a connection to a single backend.
- * @param channelTarget The target string for the channel as a whole
- * @param subchannelAddress The address for the backend that this subchannel
- * will connect to
- * @param options The channel options, plus any specific subchannel options
- * for this subchannel
- * @param credentials The channel credentials used to establish this
- * connection
- */
- constructor(channelTarget: GrpcUri, subchannelAddress: SubchannelAddress, options: ChannelOptions, credentials: ChannelCredentials, connector: SubchannelConnector);
- private getChannelzInfo;
- private trace;
- private refTrace;
- private handleBackoffTimer;
- /**
- * Start a backoff timer with the current nextBackoff timeout
- */
- private startBackoff;
- private stopBackoff;
- private startConnectingInternal;
- /**
- * Initiate a state transition from any element of oldStates to the new
- * state. If the current connectivityState is not in oldStates, do nothing.
- * @param oldStates The set of states to transition from
- * @param newState The state to transition to
- * @returns True if the state changed, false otherwise
- */
- private transitionToState;
- ref(): void;
- unref(): void;
- unrefIfOneRef(): boolean;
- createCall(metadata: Metadata, host: string, method: string, listener: SubchannelCallInterceptingListener): SubchannelCall;
- /**
- * If the subchannel is currently IDLE, start connecting and switch to the
- * CONNECTING state. If the subchannel is current in TRANSIENT_FAILURE,
- * the next time it would transition to IDLE, start connecting again instead.
- * Otherwise, do nothing.
- */
- startConnecting(): void;
- /**
- * Get the subchannel's current connectivity state.
- */
- getConnectivityState(): ConnectivityState;
- /**
- * Add a listener function to be called whenever the subchannel's
- * connectivity state changes.
- * @param listener
- */
- addConnectivityStateListener(listener: ConnectivityStateListener): void;
- /**
- * Remove a listener previously added with `addConnectivityStateListener`
- * @param listener A reference to a function previously passed to
- * `addConnectivityStateListener`
- */
- removeConnectivityStateListener(listener: ConnectivityStateListener): void;
- /**
- * Reset the backoff timeout, and immediately start connecting if in backoff.
- */
- resetBackoff(): void;
- getAddress(): string;
- getChannelzRef(): SubchannelRef;
- getRealSubchannel(): this;
- realSubchannelEquals(other: SubchannelInterface): boolean;
- throttleKeepalive(newKeepaliveTime: number): void;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel.js b/tests/node_modules/@grpc/grpc-js/build/src/subchannel.js
deleted file mode 100644
index a0ad4975bf19f336c1e9af42ee508edac0152f3d..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel.js
+++ /dev/null
@@ -1,348 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Subchannel = void 0;
-const connectivity_state_1 = require("./connectivity-state");
-const backoff_timeout_1 = require("./backoff-timeout");
-const logging = require("./logging");
-const constants_1 = require("./constants");
-const uri_parser_1 = require("./uri-parser");
-const subchannel_address_1 = require("./subchannel-address");
-const channelz_1 = require("./channelz");
-const TRACER_NAME = 'subchannel';
-/* setInterval and setTimeout only accept signed 32 bit integers. JS doesn't
- * have a constant for the max signed 32 bit integer, so this is a simple way
- * to calculate it */
-const KEEPALIVE_MAX_TIME_MS = ~(1 << 31);
-class Subchannel {
- /**
- * A class representing a connection to a single backend.
- * @param channelTarget The target string for the channel as a whole
- * @param subchannelAddress The address for the backend that this subchannel
- * will connect to
- * @param options The channel options, plus any specific subchannel options
- * for this subchannel
- * @param credentials The channel credentials used to establish this
- * connection
- */
- constructor(channelTarget, subchannelAddress, options, credentials, connector) {
- var _a;
- this.channelTarget = channelTarget;
- this.subchannelAddress = subchannelAddress;
- this.options = options;
- this.credentials = credentials;
- this.connector = connector;
- /**
- * The subchannel's current connectivity state. Invariant: `session` === `null`
- * if and only if `connectivityState` is IDLE or TRANSIENT_FAILURE.
- */
- this.connectivityState = connectivity_state_1.ConnectivityState.IDLE;
- /**
- * The underlying http2 session used to make requests.
- */
- this.transport = null;
- /**
- * Indicates that the subchannel should transition from TRANSIENT_FAILURE to
- * CONNECTING instead of IDLE when the backoff timeout ends.
- */
- this.continueConnecting = false;
- /**
- * A list of listener functions that will be called whenever the connectivity
- * state changes. Will be modified by `addConnectivityStateListener` and
- * `removeConnectivityStateListener`
- */
- this.stateListeners = new Set();
- /**
- * Tracks channels and subchannel pools with references to this subchannel
- */
- this.refcount = 0;
- // Channelz info
- this.channelzEnabled = true;
- this.callTracker = new channelz_1.ChannelzCallTracker();
- this.childrenTracker = new channelz_1.ChannelzChildrenTracker();
- // Channelz socket info
- this.streamTracker = new channelz_1.ChannelzCallTracker();
- const backoffOptions = {
- initialDelay: options['grpc.initial_reconnect_backoff_ms'],
- maxDelay: options['grpc.max_reconnect_backoff_ms'],
- };
- this.backoffTimeout = new backoff_timeout_1.BackoffTimeout(() => {
- this.handleBackoffTimer();
- }, backoffOptions);
- this.backoffTimeout.unref();
- this.subchannelAddressString = (0, subchannel_address_1.subchannelAddressToString)(subchannelAddress);
- this.keepaliveTime = (_a = options['grpc.keepalive_time_ms']) !== null && _a !== void 0 ? _a : -1;
- if (options['grpc.enable_channelz'] === 0) {
- this.channelzEnabled = false;
- }
- this.channelzTrace = new channelz_1.ChannelzTrace();
- this.channelzRef = (0, channelz_1.registerChannelzSubchannel)(this.subchannelAddressString, () => this.getChannelzInfo(), this.channelzEnabled);
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Subchannel created');
- }
- this.trace('Subchannel constructed with options ' +
- JSON.stringify(options, undefined, 2));
- }
- getChannelzInfo() {
- return {
- state: this.connectivityState,
- trace: this.channelzTrace,
- callTracker: this.callTracker,
- children: this.childrenTracker.getChildLists(),
- target: this.subchannelAddressString,
- };
- }
- trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, '(' +
- this.channelzRef.id +
- ') ' +
- this.subchannelAddressString +
- ' ' +
- text);
- }
- refTrace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, 'subchannel_refcount', '(' +
- this.channelzRef.id +
- ') ' +
- this.subchannelAddressString +
- ' ' +
- text);
- }
- handleBackoffTimer() {
- if (this.continueConnecting) {
- this.transitionToState([connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE], connectivity_state_1.ConnectivityState.CONNECTING);
- }
- else {
- this.transitionToState([connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE], connectivity_state_1.ConnectivityState.IDLE);
- }
- }
- /**
- * Start a backoff timer with the current nextBackoff timeout
- */
- startBackoff() {
- this.backoffTimeout.runOnce();
- }
- stopBackoff() {
- this.backoffTimeout.stop();
- this.backoffTimeout.reset();
- }
- startConnectingInternal() {
- let options = this.options;
- if (options['grpc.keepalive_time_ms']) {
- const adjustedKeepaliveTime = Math.min(this.keepaliveTime, KEEPALIVE_MAX_TIME_MS);
- options = Object.assign(Object.assign({}, options), { 'grpc.keepalive_time_ms': adjustedKeepaliveTime });
- }
- this.connector
- .connect(this.subchannelAddress, this.credentials, options)
- .then(transport => {
- if (this.transitionToState([connectivity_state_1.ConnectivityState.CONNECTING], connectivity_state_1.ConnectivityState.READY)) {
- this.transport = transport;
- if (this.channelzEnabled) {
- this.childrenTracker.refChild(transport.getChannelzRef());
- }
- transport.addDisconnectListener(tooManyPings => {
- this.transitionToState([connectivity_state_1.ConnectivityState.READY], connectivity_state_1.ConnectivityState.IDLE);
- if (tooManyPings && this.keepaliveTime > 0) {
- this.keepaliveTime *= 2;
- logging.log(constants_1.LogVerbosity.ERROR, `Connection to ${(0, uri_parser_1.uriToString)(this.channelTarget)} at ${this.subchannelAddressString} rejected by server because of excess pings. Increasing ping interval to ${this.keepaliveTime} ms`);
- }
- });
- }
- }, error => {
- this.transitionToState([connectivity_state_1.ConnectivityState.CONNECTING], connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, `${error}`);
- });
- }
- /**
- * Initiate a state transition from any element of oldStates to the new
- * state. If the current connectivityState is not in oldStates, do nothing.
- * @param oldStates The set of states to transition from
- * @param newState The state to transition to
- * @returns True if the state changed, false otherwise
- */
- transitionToState(oldStates, newState, errorMessage) {
- var _a, _b;
- if (oldStates.indexOf(this.connectivityState) === -1) {
- return false;
- }
- this.trace(connectivity_state_1.ConnectivityState[this.connectivityState] +
- ' -> ' +
- connectivity_state_1.ConnectivityState[newState]);
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Connectivity state change to ' + connectivity_state_1.ConnectivityState[newState]);
- }
- const previousState = this.connectivityState;
- this.connectivityState = newState;
- switch (newState) {
- case connectivity_state_1.ConnectivityState.READY:
- this.stopBackoff();
- break;
- case connectivity_state_1.ConnectivityState.CONNECTING:
- this.startBackoff();
- this.startConnectingInternal();
- this.continueConnecting = false;
- break;
- case connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE:
- if (this.channelzEnabled && this.transport) {
- this.childrenTracker.unrefChild(this.transport.getChannelzRef());
- }
- (_a = this.transport) === null || _a === void 0 ? void 0 : _a.shutdown();
- this.transport = null;
- /* If the backoff timer has already ended by the time we get to the
- * TRANSIENT_FAILURE state, we want to immediately transition out of
- * TRANSIENT_FAILURE as though the backoff timer is ending right now */
- if (!this.backoffTimeout.isRunning()) {
- process.nextTick(() => {
- this.handleBackoffTimer();
- });
- }
- break;
- case connectivity_state_1.ConnectivityState.IDLE:
- if (this.channelzEnabled && this.transport) {
- this.childrenTracker.unrefChild(this.transport.getChannelzRef());
- }
- (_b = this.transport) === null || _b === void 0 ? void 0 : _b.shutdown();
- this.transport = null;
- break;
- default:
- throw new Error(`Invalid state: unknown ConnectivityState ${newState}`);
- }
- for (const listener of this.stateListeners) {
- listener(this, previousState, newState, this.keepaliveTime, errorMessage);
- }
- return true;
- }
- ref() {
- this.refTrace('refcount ' + this.refcount + ' -> ' + (this.refcount + 1));
- this.refcount += 1;
- }
- unref() {
- this.refTrace('refcount ' + this.refcount + ' -> ' + (this.refcount - 1));
- this.refcount -= 1;
- if (this.refcount === 0) {
- if (this.channelzEnabled) {
- this.channelzTrace.addTrace('CT_INFO', 'Shutting down');
- }
- if (this.channelzEnabled) {
- (0, channelz_1.unregisterChannelzRef)(this.channelzRef);
- }
- process.nextTick(() => {
- this.transitionToState([connectivity_state_1.ConnectivityState.CONNECTING, connectivity_state_1.ConnectivityState.READY], connectivity_state_1.ConnectivityState.IDLE);
- });
- }
- }
- unrefIfOneRef() {
- if (this.refcount === 1) {
- this.unref();
- return true;
- }
- return false;
- }
- createCall(metadata, host, method, listener) {
- if (!this.transport) {
- throw new Error('Cannot create call, subchannel not READY');
- }
- let statsTracker;
- if (this.channelzEnabled) {
- this.callTracker.addCallStarted();
- this.streamTracker.addCallStarted();
- statsTracker = {
- onCallEnd: status => {
- if (status.code === constants_1.Status.OK) {
- this.callTracker.addCallSucceeded();
- }
- else {
- this.callTracker.addCallFailed();
- }
- },
- };
- }
- else {
- statsTracker = {};
- }
- return this.transport.createCall(metadata, host, method, listener, statsTracker);
- }
- /**
- * If the subchannel is currently IDLE, start connecting and switch to the
- * CONNECTING state. If the subchannel is current in TRANSIENT_FAILURE,
- * the next time it would transition to IDLE, start connecting again instead.
- * Otherwise, do nothing.
- */
- startConnecting() {
- process.nextTick(() => {
- /* First, try to transition from IDLE to connecting. If that doesn't happen
- * because the state is not currently IDLE, check if it is
- * TRANSIENT_FAILURE, and if so indicate that it should go back to
- * connecting after the backoff timer ends. Otherwise do nothing */
- if (!this.transitionToState([connectivity_state_1.ConnectivityState.IDLE], connectivity_state_1.ConnectivityState.CONNECTING)) {
- if (this.connectivityState === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
- this.continueConnecting = true;
- }
- }
- });
- }
- /**
- * Get the subchannel's current connectivity state.
- */
- getConnectivityState() {
- return this.connectivityState;
- }
- /**
- * Add a listener function to be called whenever the subchannel's
- * connectivity state changes.
- * @param listener
- */
- addConnectivityStateListener(listener) {
- this.stateListeners.add(listener);
- }
- /**
- * Remove a listener previously added with `addConnectivityStateListener`
- * @param listener A reference to a function previously passed to
- * `addConnectivityStateListener`
- */
- removeConnectivityStateListener(listener) {
- this.stateListeners.delete(listener);
- }
- /**
- * Reset the backoff timeout, and immediately start connecting if in backoff.
- */
- resetBackoff() {
- process.nextTick(() => {
- this.backoffTimeout.reset();
- this.transitionToState([connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE], connectivity_state_1.ConnectivityState.CONNECTING);
- });
- }
- getAddress() {
- return this.subchannelAddressString;
- }
- getChannelzRef() {
- return this.channelzRef;
- }
- getRealSubchannel() {
- return this;
- }
- realSubchannelEquals(other) {
- return other.getRealSubchannel() === this;
- }
- throttleKeepalive(newKeepaliveTime) {
- if (newKeepaliveTime > this.keepaliveTime) {
- this.keepaliveTime = newKeepaliveTime;
- }
- }
-}
-exports.Subchannel = Subchannel;
-//# sourceMappingURL=subchannel.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/subchannel.js.map b/tests/node_modules/@grpc/grpc-js/build/src/subchannel.js.map
deleted file mode 100644
index a875f01c31167327f0a2ddfb82b16e22978fe40f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/subchannel.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"subchannel.js","sourceRoot":"","sources":["../../src/subchannel.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/tls-helpers.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/tls-helpers.d.ts
deleted file mode 100644
index 54f2dba502f74b0eef0391f5e9a96010999f15e1..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/tls-helpers.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-///
-export declare const CIPHER_SUITES: string | undefined;
-export declare function getDefaultRootsData(): Buffer | null;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/tls-helpers.js b/tests/node_modules/@grpc/grpc-js/build/src/tls-helpers.js
deleted file mode 100644
index d1183441fdc3cd8653e2e3d74a4a0caf625aa233..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/tls-helpers.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.getDefaultRootsData = exports.CIPHER_SUITES = void 0;
-const fs = require("fs");
-exports.CIPHER_SUITES = process.env.GRPC_SSL_CIPHER_SUITES;
-const DEFAULT_ROOTS_FILE_PATH = process.env.GRPC_DEFAULT_SSL_ROOTS_FILE_PATH;
-let defaultRootsData = null;
-function getDefaultRootsData() {
- if (DEFAULT_ROOTS_FILE_PATH) {
- if (defaultRootsData === null) {
- defaultRootsData = fs.readFileSync(DEFAULT_ROOTS_FILE_PATH);
- }
- return defaultRootsData;
- }
- return null;
-}
-exports.getDefaultRootsData = getDefaultRootsData;
-//# sourceMappingURL=tls-helpers.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/tls-helpers.js.map b/tests/node_modules/@grpc/grpc-js/build/src/tls-helpers.js.map
deleted file mode 100644
index 7557efc130708180e5065929b8cb814a91f941a3..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/tls-helpers.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"tls-helpers.js","sourceRoot":"","sources":["../../src/tls-helpers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,yBAAyB;AAEZ,QAAA,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;AAErC,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;AAE7E,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAE3C,SAAgB,mBAAmB;IACjC,IAAI,uBAAuB,EAAE;QAC3B,IAAI,gBAAgB,KAAK,IAAI,EAAE;YAC7B,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;SAC7D;QACD,OAAO,gBAAgB,CAAC;KACzB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AARD,kDAQC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/transport.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/transport.d.ts
deleted file mode 100644
index 29b3217bda71e22be682d129d80acd5d4213361b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/transport.d.ts
+++ /dev/null
@@ -1,131 +0,0 @@
-///
-import * as http2 from 'http2';
-import { StatusObject } from './call-interface';
-import { ChannelCredentials } from './channel-credentials';
-import { ChannelOptions } from './channel-options';
-import { SocketRef } from './channelz';
-import { SubchannelAddress } from './subchannel-address';
-import { GrpcUri } from './uri-parser';
-import { Http2SubchannelCall, SubchannelCall, SubchannelCallInterceptingListener } from './subchannel-call';
-import { Metadata } from './metadata';
-export interface CallEventTracker {
- addMessageSent(): void;
- addMessageReceived(): void;
- onCallEnd(status: StatusObject): void;
- onStreamEnd(success: boolean): void;
-}
-export interface TransportDisconnectListener {
- (tooManyPings: boolean): void;
-}
-export interface Transport {
- getChannelzRef(): SocketRef;
- getPeerName(): string;
- createCall(metadata: Metadata, host: string, method: string, listener: SubchannelCallInterceptingListener, subchannelCallStatsTracker: Partial): SubchannelCall;
- addDisconnectListener(listener: TransportDisconnectListener): void;
- shutdown(): void;
-}
-declare class Http2Transport implements Transport {
- private session;
- /**
- * Name of the remote server, if it is not the same as the subchannel
- * address, i.e. if connecting through an HTTP CONNECT proxy.
- */
- private remoteName;
- /**
- * The amount of time in between sending pings
- */
- private keepaliveTimeMs;
- /**
- * The amount of time to wait for an acknowledgement after sending a ping
- */
- private keepaliveTimeoutMs;
- /**
- * Timer reference for timeout that indicates when to send the next ping
- */
- private keepaliveTimerId;
- /**
- * Indicates that the keepalive timer ran out while there were no active
- * calls, and a ping should be sent the next time a call starts.
- */
- private pendingSendKeepalivePing;
- /**
- * Timer reference tracking when the most recent ping will be considered lost
- */
- private keepaliveTimeoutId;
- /**
- * Indicates whether keepalive pings should be sent without any active calls
- */
- private keepaliveWithoutCalls;
- private userAgent;
- private activeCalls;
- private subchannelAddressString;
- private disconnectListeners;
- private disconnectHandled;
- private channelzRef;
- private readonly channelzEnabled;
- private streamTracker;
- private keepalivesSent;
- private messagesSent;
- private messagesReceived;
- private lastMessageSentTimestamp;
- private lastMessageReceivedTimestamp;
- constructor(session: http2.ClientHttp2Session, subchannelAddress: SubchannelAddress, options: ChannelOptions,
- /**
- * Name of the remote server, if it is not the same as the subchannel
- * address, i.e. if connecting through an HTTP CONNECT proxy.
- */
- remoteName: string | null);
- private getChannelzInfo;
- private trace;
- private keepaliveTrace;
- private flowControlTrace;
- private internalsTrace;
- /**
- * Indicate to the owner of this object that this transport should no longer
- * be used. That happens if the connection drops, or if the server sends a
- * GOAWAY.
- * @param tooManyPings If true, this was triggered by a GOAWAY with data
- * indicating that the session was closed becaues the client sent too many
- * pings.
- * @returns
- */
- private reportDisconnectToOwner;
- /**
- * Handle connection drops, but not GOAWAYs.
- */
- private handleDisconnect;
- addDisconnectListener(listener: TransportDisconnectListener): void;
- private clearKeepaliveTimer;
- private clearKeepaliveTimeout;
- private canSendPing;
- private maybeSendPing;
- /**
- * Starts the keepalive ping timer if appropriate. If the timer already ran
- * out while there were no active requests, instead send a ping immediately.
- * If the ping timer is already running or a ping is currently in flight,
- * instead do nothing and wait for them to resolve.
- */
- private maybeStartKeepalivePingTimer;
- private stopKeepalivePings;
- private removeActiveCall;
- private addActiveCall;
- createCall(metadata: Metadata, host: string, method: string, listener: SubchannelCallInterceptingListener, subchannelCallStatsTracker: Partial): Http2SubchannelCall;
- getChannelzRef(): SocketRef;
- getPeerName(): string;
- shutdown(): void;
-}
-export interface SubchannelConnector {
- connect(address: SubchannelAddress, credentials: ChannelCredentials, options: ChannelOptions): Promise;
- shutdown(): void;
-}
-export declare class Http2SubchannelConnector implements SubchannelConnector {
- private channelTarget;
- private session;
- private isShutdown;
- constructor(channelTarget: GrpcUri);
- private trace;
- private createSession;
- connect(address: SubchannelAddress, credentials: ChannelCredentials, options: ChannelOptions): Promise;
- shutdown(): void;
-}
-export {};
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/transport.js b/tests/node_modules/@grpc/grpc-js/build/src/transport.js
deleted file mode 100644
index 74d24f24a8c76837532b330409c9080cb5aa04d5..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/transport.js
+++ /dev/null
@@ -1,639 +0,0 @@
-"use strict";
-/*
- * Copyright 2023 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Http2SubchannelConnector = void 0;
-const http2 = require("http2");
-const tls_1 = require("tls");
-const channelz_1 = require("./channelz");
-const constants_1 = require("./constants");
-const http_proxy_1 = require("./http_proxy");
-const logging = require("./logging");
-const resolver_1 = require("./resolver");
-const subchannel_address_1 = require("./subchannel-address");
-const uri_parser_1 = require("./uri-parser");
-const net = require("net");
-const subchannel_call_1 = require("./subchannel-call");
-const call_number_1 = require("./call-number");
-const TRACER_NAME = 'transport';
-const FLOW_CONTROL_TRACER_NAME = 'transport_flowctrl';
-const clientVersion = require('../../package.json').version;
-const { HTTP2_HEADER_AUTHORITY, HTTP2_HEADER_CONTENT_TYPE, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_TE, HTTP2_HEADER_USER_AGENT, } = http2.constants;
-const KEEPALIVE_TIMEOUT_MS = 20000;
-const tooManyPingsData = Buffer.from('too_many_pings', 'ascii');
-class Http2Transport {
- constructor(session, subchannelAddress, options,
- /**
- * Name of the remote server, if it is not the same as the subchannel
- * address, i.e. if connecting through an HTTP CONNECT proxy.
- */
- remoteName) {
- this.session = session;
- this.remoteName = remoteName;
- /**
- * The amount of time in between sending pings
- */
- this.keepaliveTimeMs = -1;
- /**
- * The amount of time to wait for an acknowledgement after sending a ping
- */
- this.keepaliveTimeoutMs = KEEPALIVE_TIMEOUT_MS;
- /**
- * Timer reference for timeout that indicates when to send the next ping
- */
- this.keepaliveTimerId = null;
- /**
- * Indicates that the keepalive timer ran out while there were no active
- * calls, and a ping should be sent the next time a call starts.
- */
- this.pendingSendKeepalivePing = false;
- /**
- * Timer reference tracking when the most recent ping will be considered lost
- */
- this.keepaliveTimeoutId = null;
- /**
- * Indicates whether keepalive pings should be sent without any active calls
- */
- this.keepaliveWithoutCalls = false;
- this.activeCalls = new Set();
- this.disconnectListeners = [];
- this.disconnectHandled = false;
- this.channelzEnabled = true;
- this.streamTracker = new channelz_1.ChannelzCallTracker();
- this.keepalivesSent = 0;
- this.messagesSent = 0;
- this.messagesReceived = 0;
- this.lastMessageSentTimestamp = null;
- this.lastMessageReceivedTimestamp = null;
- /* Populate subchannelAddressString and channelzRef before doing anything
- * else, because they are used in the trace methods. */
- this.subchannelAddressString = (0, subchannel_address_1.subchannelAddressToString)(subchannelAddress);
- if (options['grpc.enable_channelz'] === 0) {
- this.channelzEnabled = false;
- }
- this.channelzRef = (0, channelz_1.registerChannelzSocket)(this.subchannelAddressString, () => this.getChannelzInfo(), this.channelzEnabled);
- // Build user-agent string.
- this.userAgent = [
- options['grpc.primary_user_agent'],
- `grpc-node-js/${clientVersion}`,
- options['grpc.secondary_user_agent'],
- ]
- .filter(e => e)
- .join(' '); // remove falsey values first
- if ('grpc.keepalive_time_ms' in options) {
- this.keepaliveTimeMs = options['grpc.keepalive_time_ms'];
- }
- if ('grpc.keepalive_timeout_ms' in options) {
- this.keepaliveTimeoutMs = options['grpc.keepalive_timeout_ms'];
- }
- if ('grpc.keepalive_permit_without_calls' in options) {
- this.keepaliveWithoutCalls =
- options['grpc.keepalive_permit_without_calls'] === 1;
- }
- else {
- this.keepaliveWithoutCalls = false;
- }
- session.once('close', () => {
- this.trace('session closed');
- this.stopKeepalivePings();
- this.handleDisconnect();
- });
- session.once('goaway', (errorCode, lastStreamID, opaqueData) => {
- let tooManyPings = false;
- /* See the last paragraph of
- * https://github.com/grpc/proposal/blob/master/A8-client-side-keepalive.md#basic-keepalive */
- if (errorCode === http2.constants.NGHTTP2_ENHANCE_YOUR_CALM &&
- opaqueData.equals(tooManyPingsData)) {
- tooManyPings = true;
- }
- this.trace('connection closed by GOAWAY with code ' + errorCode);
- this.reportDisconnectToOwner(tooManyPings);
- });
- session.once('error', error => {
- /* Do nothing here. Any error should also trigger a close event, which is
- * where we want to handle that. */
- this.trace('connection closed with error ' + error.message);
- });
- if (logging.isTracerEnabled(TRACER_NAME)) {
- session.on('remoteSettings', (settings) => {
- this.trace('new settings received' +
- (this.session !== session ? ' on the old connection' : '') +
- ': ' +
- JSON.stringify(settings));
- });
- session.on('localSettings', (settings) => {
- this.trace('local settings acknowledged by remote' +
- (this.session !== session ? ' on the old connection' : '') +
- ': ' +
- JSON.stringify(settings));
- });
- }
- /* Start the keepalive timer last, because this can trigger trace logs,
- * which should only happen after everything else is set up. */
- if (this.keepaliveWithoutCalls) {
- this.maybeStartKeepalivePingTimer();
- }
- }
- getChannelzInfo() {
- var _a, _b, _c;
- const sessionSocket = this.session.socket;
- const remoteAddress = sessionSocket.remoteAddress
- ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.remoteAddress, sessionSocket.remotePort)
- : null;
- const localAddress = sessionSocket.localAddress
- ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.localAddress, sessionSocket.localPort)
- : null;
- let tlsInfo;
- if (this.session.encrypted) {
- const tlsSocket = sessionSocket;
- const cipherInfo = tlsSocket.getCipher();
- const certificate = tlsSocket.getCertificate();
- const peerCertificate = tlsSocket.getPeerCertificate();
- tlsInfo = {
- cipherSuiteStandardName: (_a = cipherInfo.standardName) !== null && _a !== void 0 ? _a : null,
- cipherSuiteOtherName: cipherInfo.standardName ? null : cipherInfo.name,
- localCertificate: certificate && 'raw' in certificate ? certificate.raw : null,
- remoteCertificate: peerCertificate && 'raw' in peerCertificate
- ? peerCertificate.raw
- : null,
- };
- }
- else {
- tlsInfo = null;
- }
- const socketInfo = {
- remoteAddress: remoteAddress,
- localAddress: localAddress,
- security: tlsInfo,
- remoteName: this.remoteName,
- streamsStarted: this.streamTracker.callsStarted,
- streamsSucceeded: this.streamTracker.callsSucceeded,
- streamsFailed: this.streamTracker.callsFailed,
- messagesSent: this.messagesSent,
- messagesReceived: this.messagesReceived,
- keepAlivesSent: this.keepalivesSent,
- lastLocalStreamCreatedTimestamp: this.streamTracker.lastCallStartedTimestamp,
- lastRemoteStreamCreatedTimestamp: null,
- lastMessageSentTimestamp: this.lastMessageSentTimestamp,
- lastMessageReceivedTimestamp: this.lastMessageReceivedTimestamp,
- localFlowControlWindow: (_b = this.session.state.localWindowSize) !== null && _b !== void 0 ? _b : null,
- remoteFlowControlWindow: (_c = this.session.state.remoteWindowSize) !== null && _c !== void 0 ? _c : null,
- };
- return socketInfo;
- }
- trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, '(' +
- this.channelzRef.id +
- ') ' +
- this.subchannelAddressString +
- ' ' +
- text);
- }
- keepaliveTrace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, 'keepalive', '(' +
- this.channelzRef.id +
- ') ' +
- this.subchannelAddressString +
- ' ' +
- text);
- }
- flowControlTrace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, FLOW_CONTROL_TRACER_NAME, '(' +
- this.channelzRef.id +
- ') ' +
- this.subchannelAddressString +
- ' ' +
- text);
- }
- internalsTrace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, 'transport_internals', '(' +
- this.channelzRef.id +
- ') ' +
- this.subchannelAddressString +
- ' ' +
- text);
- }
- /**
- * Indicate to the owner of this object that this transport should no longer
- * be used. That happens if the connection drops, or if the server sends a
- * GOAWAY.
- * @param tooManyPings If true, this was triggered by a GOAWAY with data
- * indicating that the session was closed becaues the client sent too many
- * pings.
- * @returns
- */
- reportDisconnectToOwner(tooManyPings) {
- if (this.disconnectHandled) {
- return;
- }
- this.disconnectHandled = true;
- this.disconnectListeners.forEach(listener => listener(tooManyPings));
- }
- /**
- * Handle connection drops, but not GOAWAYs.
- */
- handleDisconnect() {
- this.reportDisconnectToOwner(false);
- /* Give calls an event loop cycle to finish naturally before reporting the
- * disconnnection to them. */
- setImmediate(() => {
- for (const call of this.activeCalls) {
- call.onDisconnect();
- }
- });
- }
- addDisconnectListener(listener) {
- this.disconnectListeners.push(listener);
- }
- clearKeepaliveTimer() {
- if (!this.keepaliveTimerId) {
- return;
- }
- clearTimeout(this.keepaliveTimerId);
- this.keepaliveTimerId = null;
- }
- clearKeepaliveTimeout() {
- if (!this.keepaliveTimeoutId) {
- return;
- }
- clearTimeout(this.keepaliveTimeoutId);
- this.keepaliveTimeoutId = null;
- }
- canSendPing() {
- return (this.keepaliveTimeMs > 0 &&
- (this.keepaliveWithoutCalls || this.activeCalls.size > 0));
- }
- maybeSendPing() {
- var _a, _b;
- this.clearKeepaliveTimer();
- if (!this.canSendPing()) {
- this.pendingSendKeepalivePing = true;
- return;
- }
- if (this.channelzEnabled) {
- this.keepalivesSent += 1;
- }
- this.keepaliveTrace('Sending ping with timeout ' + this.keepaliveTimeoutMs + 'ms');
- if (!this.keepaliveTimeoutId) {
- this.keepaliveTimeoutId = setTimeout(() => {
- this.keepaliveTrace('Ping timeout passed without response');
- this.handleDisconnect();
- }, this.keepaliveTimeoutMs);
- (_b = (_a = this.keepaliveTimeoutId).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- try {
- this.session.ping((err, duration, payload) => {
- if (err) {
- this.keepaliveTrace('Ping failed with error ' + err.message);
- this.handleDisconnect();
- }
- this.keepaliveTrace('Received ping response');
- this.clearKeepaliveTimeout();
- this.maybeStartKeepalivePingTimer();
- });
- }
- catch (e) {
- /* If we fail to send a ping, the connection is no longer functional, so
- * we should discard it. */
- this.handleDisconnect();
- }
- }
- /**
- * Starts the keepalive ping timer if appropriate. If the timer already ran
- * out while there were no active requests, instead send a ping immediately.
- * If the ping timer is already running or a ping is currently in flight,
- * instead do nothing and wait for them to resolve.
- */
- maybeStartKeepalivePingTimer() {
- var _a, _b;
- if (!this.canSendPing()) {
- return;
- }
- if (this.pendingSendKeepalivePing) {
- this.pendingSendKeepalivePing = false;
- this.maybeSendPing();
- }
- else if (!this.keepaliveTimerId && !this.keepaliveTimeoutId) {
- this.keepaliveTrace('Starting keepalive timer for ' + this.keepaliveTimeMs + 'ms');
- this.keepaliveTimerId = (_b = (_a = setTimeout(() => {
- this.maybeSendPing();
- }, this.keepaliveTimeMs)).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
- }
- /* Otherwise, there is already either a keepalive timer or a ping pending,
- * wait for those to resolve. */
- }
- stopKeepalivePings() {
- if (this.keepaliveTimerId) {
- clearTimeout(this.keepaliveTimerId);
- this.keepaliveTimerId = null;
- }
- this.clearKeepaliveTimeout();
- }
- removeActiveCall(call) {
- this.activeCalls.delete(call);
- if (this.activeCalls.size === 0) {
- this.session.unref();
- }
- }
- addActiveCall(call) {
- this.activeCalls.add(call);
- if (this.activeCalls.size === 1) {
- this.session.ref();
- if (!this.keepaliveWithoutCalls) {
- this.maybeStartKeepalivePingTimer();
- }
- }
- }
- createCall(metadata, host, method, listener, subchannelCallStatsTracker) {
- const headers = metadata.toHttp2Headers();
- headers[HTTP2_HEADER_AUTHORITY] = host;
- headers[HTTP2_HEADER_USER_AGENT] = this.userAgent;
- headers[HTTP2_HEADER_CONTENT_TYPE] = 'application/grpc';
- headers[HTTP2_HEADER_METHOD] = 'POST';
- headers[HTTP2_HEADER_PATH] = method;
- headers[HTTP2_HEADER_TE] = 'trailers';
- let http2Stream;
- /* In theory, if an error is thrown by session.request because session has
- * become unusable (e.g. because it has received a goaway), this subchannel
- * should soon see the corresponding close or goaway event anyway and leave
- * READY. But we have seen reports that this does not happen
- * (https://github.com/googleapis/nodejs-firestore/issues/1023#issuecomment-653204096)
- * so for defense in depth, we just discard the session when we see an
- * error here.
- */
- try {
- http2Stream = this.session.request(headers);
- }
- catch (e) {
- this.handleDisconnect();
- throw e;
- }
- this.flowControlTrace('local window size: ' +
- this.session.state.localWindowSize +
- ' remote window size: ' +
- this.session.state.remoteWindowSize);
- this.internalsTrace('session.closed=' +
- this.session.closed +
- ' session.destroyed=' +
- this.session.destroyed +
- ' session.socket.destroyed=' +
- this.session.socket.destroyed);
- let eventTracker;
- // eslint-disable-next-line prefer-const
- let call;
- if (this.channelzEnabled) {
- this.streamTracker.addCallStarted();
- eventTracker = {
- addMessageSent: () => {
- var _a;
- this.messagesSent += 1;
- this.lastMessageSentTimestamp = new Date();
- (_a = subchannelCallStatsTracker.addMessageSent) === null || _a === void 0 ? void 0 : _a.call(subchannelCallStatsTracker);
- },
- addMessageReceived: () => {
- var _a;
- this.messagesReceived += 1;
- this.lastMessageReceivedTimestamp = new Date();
- (_a = subchannelCallStatsTracker.addMessageReceived) === null || _a === void 0 ? void 0 : _a.call(subchannelCallStatsTracker);
- },
- onCallEnd: status => {
- var _a;
- (_a = subchannelCallStatsTracker.onCallEnd) === null || _a === void 0 ? void 0 : _a.call(subchannelCallStatsTracker, status);
- this.removeActiveCall(call);
- },
- onStreamEnd: success => {
- var _a;
- if (success) {
- this.streamTracker.addCallSucceeded();
- }
- else {
- this.streamTracker.addCallFailed();
- }
- (_a = subchannelCallStatsTracker.onStreamEnd) === null || _a === void 0 ? void 0 : _a.call(subchannelCallStatsTracker, success);
- },
- };
- }
- else {
- eventTracker = {
- addMessageSent: () => {
- var _a;
- (_a = subchannelCallStatsTracker.addMessageSent) === null || _a === void 0 ? void 0 : _a.call(subchannelCallStatsTracker);
- },
- addMessageReceived: () => {
- var _a;
- (_a = subchannelCallStatsTracker.addMessageReceived) === null || _a === void 0 ? void 0 : _a.call(subchannelCallStatsTracker);
- },
- onCallEnd: status => {
- var _a;
- (_a = subchannelCallStatsTracker.onCallEnd) === null || _a === void 0 ? void 0 : _a.call(subchannelCallStatsTracker, status);
- this.removeActiveCall(call);
- },
- onStreamEnd: success => {
- var _a;
- (_a = subchannelCallStatsTracker.onStreamEnd) === null || _a === void 0 ? void 0 : _a.call(subchannelCallStatsTracker, success);
- },
- };
- }
- call = new subchannel_call_1.Http2SubchannelCall(http2Stream, eventTracker, listener, this, (0, call_number_1.getNextCallNumber)());
- this.addActiveCall(call);
- return call;
- }
- getChannelzRef() {
- return this.channelzRef;
- }
- getPeerName() {
- return this.subchannelAddressString;
- }
- shutdown() {
- this.session.close();
- (0, channelz_1.unregisterChannelzRef)(this.channelzRef);
- }
-}
-class Http2SubchannelConnector {
- constructor(channelTarget) {
- this.channelTarget = channelTarget;
- this.session = null;
- this.isShutdown = false;
- }
- trace(text) {
- logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, (0, uri_parser_1.uriToString)(this.channelTarget) + ' ' + text);
- }
- createSession(address, credentials, options, proxyConnectionResult) {
- if (this.isShutdown) {
- return Promise.reject();
- }
- return new Promise((resolve, reject) => {
- var _a, _b, _c;
- let remoteName;
- if (proxyConnectionResult.realTarget) {
- remoteName = (0, uri_parser_1.uriToString)(proxyConnectionResult.realTarget);
- this.trace('creating HTTP/2 session through proxy to ' +
- (0, uri_parser_1.uriToString)(proxyConnectionResult.realTarget));
- }
- else {
- remoteName = null;
- this.trace('creating HTTP/2 session to ' + (0, subchannel_address_1.subchannelAddressToString)(address));
- }
- const targetAuthority = (0, resolver_1.getDefaultAuthority)((_a = proxyConnectionResult.realTarget) !== null && _a !== void 0 ? _a : this.channelTarget);
- let connectionOptions = credentials._getConnectionOptions() || {};
- connectionOptions.maxSendHeaderBlockLength = Number.MAX_SAFE_INTEGER;
- if ('grpc-node.max_session_memory' in options) {
- connectionOptions.maxSessionMemory =
- options['grpc-node.max_session_memory'];
- }
- else {
- /* By default, set a very large max session memory limit, to effectively
- * disable enforcement of the limit. Some testing indicates that Node's
- * behavior degrades badly when this limit is reached, so we solve that
- * by disabling the check entirely. */
- connectionOptions.maxSessionMemory = Number.MAX_SAFE_INTEGER;
- }
- let addressScheme = 'http://';
- if ('secureContext' in connectionOptions) {
- addressScheme = 'https://';
- // If provided, the value of grpc.ssl_target_name_override should be used
- // to override the target hostname when checking server identity.
- // This option is used for testing only.
- if (options['grpc.ssl_target_name_override']) {
- const sslTargetNameOverride = options['grpc.ssl_target_name_override'];
- connectionOptions.checkServerIdentity = (host, cert) => {
- return (0, tls_1.checkServerIdentity)(sslTargetNameOverride, cert);
- };
- connectionOptions.servername = sslTargetNameOverride;
- }
- else {
- const authorityHostname = (_c = (_b = (0, uri_parser_1.splitHostPort)(targetAuthority)) === null || _b === void 0 ? void 0 : _b.host) !== null && _c !== void 0 ? _c : 'localhost';
- // We want to always set servername to support SNI
- connectionOptions.servername = authorityHostname;
- }
- if (proxyConnectionResult.socket) {
- /* This is part of the workaround for
- * https://github.com/nodejs/node/issues/32922. Without that bug,
- * proxyConnectionResult.socket would always be a plaintext socket and
- * this would say
- * connectionOptions.socket = proxyConnectionResult.socket; */
- connectionOptions.createConnection = (authority, option) => {
- return proxyConnectionResult.socket;
- };
- }
- }
- else {
- /* In all but the most recent versions of Node, http2.connect does not use
- * the options when establishing plaintext connections, so we need to
- * establish that connection explicitly. */
- connectionOptions.createConnection = (authority, option) => {
- if (proxyConnectionResult.socket) {
- return proxyConnectionResult.socket;
- }
- else {
- /* net.NetConnectOpts is declared in a way that is more restrictive
- * than what net.connect will actually accept, so we use the type
- * assertion to work around that. */
- return net.connect(address);
- }
- };
- }
- connectionOptions = Object.assign(Object.assign(Object.assign({}, connectionOptions), address), { enableTrace: options['grpc-node.tls_enable_trace'] === 1 });
- /* http2.connect uses the options here:
- * https://github.com/nodejs/node/blob/70c32a6d190e2b5d7b9ff9d5b6a459d14e8b7d59/lib/internal/http2/core.js#L3028-L3036
- * The spread operator overides earlier values with later ones, so any port
- * or host values in the options will be used rather than any values extracted
- * from the first argument. In addition, the path overrides the host and port,
- * as documented for plaintext connections here:
- * https://nodejs.org/api/net.html#net_socket_connect_options_connectlistener
- * and for TLS connections here:
- * https://nodejs.org/api/tls.html#tls_tls_connect_options_callback. In
- * earlier versions of Node, http2.connect passes these options to
- * tls.connect but not net.connect, so in the insecure case we still need
- * to set the createConnection option above to create the connection
- * explicitly. We cannot do that in the TLS case because http2.connect
- * passes necessary additional options to tls.connect.
- * The first argument just needs to be parseable as a URL and the scheme
- * determines whether the connection will be established over TLS or not.
- */
- const session = http2.connect(addressScheme + targetAuthority, connectionOptions);
- this.session = session;
- let errorMessage = 'Failed to connect';
- session.unref();
- session.once('connect', () => {
- session.removeAllListeners();
- resolve(new Http2Transport(session, address, options, remoteName));
- this.session = null;
- });
- session.once('close', () => {
- this.session = null;
- // Leave time for error event to happen before rejecting
- setImmediate(() => {
- reject(`${errorMessage} (${new Date().toISOString()})`);
- });
- });
- session.once('error', error => {
- errorMessage = error.message;
- this.trace('connection failed with error ' + errorMessage);
- });
- });
- }
- connect(address, credentials, options) {
- var _a, _b;
- if (this.isShutdown) {
- return Promise.reject();
- }
- /* Pass connection options through to the proxy so that it's able to
- * upgrade it's connection to support tls if needed.
- * This is a workaround for https://github.com/nodejs/node/issues/32922
- * See https://github.com/grpc/grpc-node/pull/1369 for more info. */
- const connectionOptions = credentials._getConnectionOptions() || {};
- if ('secureContext' in connectionOptions) {
- connectionOptions.ALPNProtocols = ['h2'];
- // If provided, the value of grpc.ssl_target_name_override should be used
- // to override the target hostname when checking server identity.
- // This option is used for testing only.
- if (options['grpc.ssl_target_name_override']) {
- const sslTargetNameOverride = options['grpc.ssl_target_name_override'];
- connectionOptions.checkServerIdentity = (host, cert) => {
- return (0, tls_1.checkServerIdentity)(sslTargetNameOverride, cert);
- };
- connectionOptions.servername = sslTargetNameOverride;
- }
- else {
- if ('grpc.http_connect_target' in options) {
- /* This is more or less how servername will be set in createSession
- * if a connection is successfully established through the proxy.
- * If the proxy is not used, these connectionOptions are discarded
- * anyway */
- const targetPath = (0, resolver_1.getDefaultAuthority)((_a = (0, uri_parser_1.parseUri)(options['grpc.http_connect_target'])) !== null && _a !== void 0 ? _a : {
- path: 'localhost',
- });
- const hostPort = (0, uri_parser_1.splitHostPort)(targetPath);
- connectionOptions.servername = (_b = hostPort === null || hostPort === void 0 ? void 0 : hostPort.host) !== null && _b !== void 0 ? _b : targetPath;
- }
- }
- if (options['grpc-node.tls_enable_trace']) {
- connectionOptions.enableTrace = true;
- }
- }
- return (0, http_proxy_1.getProxiedConnection)(address, options, connectionOptions).then(result => this.createSession(address, credentials, options, result));
- }
- shutdown() {
- var _a;
- this.isShutdown = true;
- (_a = this.session) === null || _a === void 0 ? void 0 : _a.close();
- this.session = null;
- }
-}
-exports.Http2SubchannelConnector = Http2SubchannelConnector;
-//# sourceMappingURL=transport.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/transport.js.map b/tests/node_modules/@grpc/grpc-js/build/src/transport.js.map
deleted file mode 100644
index 29143a3ee6418159785a389ff34a45e2e01ef948..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/transport.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts b/tests/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts
deleted file mode 100644
index c4d71aa06365fd5d86f83d29b6cb02bf0753463f..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-export interface GrpcUri {
- scheme?: string;
- authority?: string;
- path: string;
-}
-export declare function parseUri(uriString: string): GrpcUri | null;
-export interface HostPort {
- host: string;
- port?: number;
-}
-export declare function splitHostPort(path: string): HostPort | null;
-export declare function uriToString(uri: GrpcUri): string;
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/uri-parser.js b/tests/node_modules/@grpc/grpc-js/build/src/uri-parser.js
deleted file mode 100644
index 0a85d6dbb338002074794ea2ace08c4c7e50df1b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/uri-parser.js
+++ /dev/null
@@ -1,111 +0,0 @@
-"use strict";
-/*
- * Copyright 2020 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.uriToString = exports.splitHostPort = exports.parseUri = void 0;
-/*
- * The groups correspond to URI parts as follows:
- * 1. scheme
- * 2. authority
- * 3. path
- */
-const URI_REGEX = /^(?:([A-Za-z0-9+.-]+):)?(?:\/\/([^/]*)\/)?(.+)$/;
-function parseUri(uriString) {
- const parsedUri = URI_REGEX.exec(uriString);
- if (parsedUri === null) {
- return null;
- }
- return {
- scheme: parsedUri[1],
- authority: parsedUri[2],
- path: parsedUri[3],
- };
-}
-exports.parseUri = parseUri;
-const NUMBER_REGEX = /^\d+$/;
-function splitHostPort(path) {
- if (path.startsWith('[')) {
- const hostEnd = path.indexOf(']');
- if (hostEnd === -1) {
- return null;
- }
- const host = path.substring(1, hostEnd);
- /* Only an IPv6 address should be in bracketed notation, and an IPv6
- * address should have at least one colon */
- if (host.indexOf(':') === -1) {
- return null;
- }
- if (path.length > hostEnd + 1) {
- if (path[hostEnd + 1] === ':') {
- const portString = path.substring(hostEnd + 2);
- if (NUMBER_REGEX.test(portString)) {
- return {
- host: host,
- port: +portString,
- };
- }
- else {
- return null;
- }
- }
- else {
- return null;
- }
- }
- else {
- return {
- host,
- };
- }
- }
- else {
- const splitPath = path.split(':');
- /* Exactly one colon means that this is host:port. Zero colons means that
- * there is no port. And multiple colons means that this is a bare IPv6
- * address with no port */
- if (splitPath.length === 2) {
- if (NUMBER_REGEX.test(splitPath[1])) {
- return {
- host: splitPath[0],
- port: +splitPath[1],
- };
- }
- else {
- return null;
- }
- }
- else {
- return {
- host: path,
- };
- }
- }
-}
-exports.splitHostPort = splitHostPort;
-function uriToString(uri) {
- let result = '';
- if (uri.scheme !== undefined) {
- result += uri.scheme + ':';
- }
- if (uri.authority !== undefined) {
- result += '//' + uri.authority + '/';
- }
- result += uri.path;
- return result;
-}
-exports.uriToString = uriToString;
-//# sourceMappingURL=uri-parser.js.map
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/build/src/uri-parser.js.map b/tests/node_modules/@grpc/grpc-js/build/src/uri-parser.js.map
deleted file mode 100644
index 82b872cc366e46d608705a5d36ebbfd15ddb838b..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/build/src/uri-parser.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"uri-parser.js","sourceRoot":"","sources":["../../src/uri-parser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAQH;;;;;GAKG;AACH,MAAM,SAAS,GAAG,iDAAiD,CAAC;AAEpE,SAAgB,QAAQ,CAAC,SAAiB;IACxC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,SAAS,KAAK,IAAI,EAAE;QACtB,OAAO,IAAI,CAAC;KACb;IACD,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACvB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;KACnB,CAAC;AACJ,CAAC;AAVD,4BAUC;AAOD,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,SAAgB,aAAa,CAAC,IAAY;IACxC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACxC;oDAC4C;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACjC,OAAO;wBACL,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,CAAC,UAAU;qBAClB,CAAC;iBACH;qBAAM;oBACL,OAAO,IAAI,CAAC;iBACb;aACF;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,OAAO;gBACL,IAAI;aACL,CAAC;SACH;KACF;SAAM;QACL,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC;;kCAE0B;QAC1B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnC,OAAO;oBACL,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClB,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;iBACpB,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,OAAO;gBACL,IAAI,EAAE,IAAI;aACX,CAAC;SACH;KACF;AACH,CAAC;AAnDD,sCAmDC;AAED,SAAgB,WAAW,CAAC,GAAY;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;QAC5B,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;KAC5B;IACD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE;QAC/B,MAAM,IAAI,IAAI,GAAG,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;KACtC;IACD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;IACnB,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,kCAUC"}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/package.json b/tests/node_modules/@grpc/grpc-js/package.json
deleted file mode 100644
index 29e4b5849575ea165bd8de71f3f4ae774424fa0c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "name": "@grpc/grpc-js",
- "version": "1.9.7",
- "description": "gRPC Library for Node - pure JS implementation",
- "homepage": "https://grpc.io/",
- "repository": "https://github.com/grpc/grpc-node/tree/master/packages/grpc-js",
- "main": "build/src/index.js",
- "engines": {
- "node": "^8.13.0 || >=10.10.0"
- },
- "keywords": [],
- "author": {
- "name": "Google Inc."
- },
- "types": "build/src/index.d.ts",
- "license": "Apache-2.0",
- "devDependencies": {
- "@types/gulp": "^4.0.6",
- "@types/gulp-mocha": "0.0.32",
- "@types/lodash": "^4.14.186",
- "@types/mocha": "^5.2.6",
- "@types/ncp": "^2.0.1",
- "@types/pify": "^3.0.2",
- "@types/semver": "^7.3.9",
- "@typescript-eslint/eslint-plugin": "^5.59.11",
- "@typescript-eslint/parser": "^5.59.11",
- "@typescript-eslint/typescript-estree": "^5.59.11",
- "clang-format": "^1.0.55",
- "eslint": "^8.42.0",
- "eslint-config-prettier": "^8.8.0",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-prettier": "^4.2.1",
- "execa": "^2.0.3",
- "gulp": "^4.0.2",
- "gulp-mocha": "^6.0.0",
- "lodash": "^4.17.4",
- "madge": "^5.0.1",
- "mocha-jenkins-reporter": "^0.4.1",
- "ncp": "^2.0.0",
- "pify": "^4.0.1",
- "prettier": "^2.8.8",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "ts-node": "^10.9.1",
- "typescript": "^5.1.3"
- },
- "contributors": [
- {
- "name": "Google Inc."
- }
- ],
- "scripts": {
- "build": "npm run compile",
- "clean": "rimraf ./build",
- "compile": "tsc -p .",
- "format": "clang-format -i -style=\"{Language: JavaScript, BasedOnStyle: Google, ColumnLimit: 80}\" src/*.ts test/*.ts",
- "lint": "eslint src/*.ts test/*.ts",
- "prepare": "npm run generate-types && npm run compile",
- "test": "gulp test",
- "check": "npm run lint",
- "fix": "eslint --fix src/*.ts test/*.ts",
- "pretest": "npm run generate-types && npm run generate-test-types && npm run compile",
- "posttest": "npm run check && madge -c ./build/src",
- "generate-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --includeComments --includeDirs proto/ --include-dirs test/fixtures/ -O src/generated/ --grpcLib ../index channelz.proto",
- "generate-test-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --includeComments --include-dirs test/fixtures/ -O test/generated/ --grpcLib ../../src/index test_service.proto"
- },
- "dependencies": {
- "@grpc/proto-loader": "^0.7.8",
- "@types/node": ">=12.12.47"
- },
- "files": [
- "src/**/*.ts",
- "build/src/**/*.{js,d.ts,js.map}",
- "proto/*.proto",
- "LICENSE",
- "deps/envoy-api/envoy/api/v2/**/*.proto",
- "deps/envoy-api/envoy/config/**/*.proto",
- "deps/envoy-api/envoy/service/**/*.proto",
- "deps/envoy-api/envoy/type/**/*.proto",
- "deps/udpa/udpa/**/*.proto",
- "deps/googleapis/google/api/*.proto",
- "deps/googleapis/google/rpc/*.proto",
- "deps/protoc-gen-validate/validate/**/*.proto"
- ]
-}
diff --git a/tests/node_modules/@grpc/grpc-js/proto/channelz.proto b/tests/node_modules/@grpc/grpc-js/proto/channelz.proto
deleted file mode 100644
index 446e9794ba9775fba7422f851bf8b47b9054d1d7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/proto/channelz.proto
+++ /dev/null
@@ -1,564 +0,0 @@
-// Copyright 2018 The gRPC Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file defines an interface for exporting monitoring information
-// out of gRPC servers. See the full design at
-// https://github.com/grpc/proposal/blob/master/A14-channelz.md
-//
-// The canonical version of this proto can be found at
-// https://github.com/grpc/grpc-proto/blob/master/grpc/channelz/v1/channelz.proto
-
-syntax = "proto3";
-
-package grpc.channelz.v1;
-
-import "google/protobuf/any.proto";
-import "google/protobuf/duration.proto";
-import "google/protobuf/timestamp.proto";
-import "google/protobuf/wrappers.proto";
-
-option go_package = "google.golang.org/grpc/channelz/grpc_channelz_v1";
-option java_multiple_files = true;
-option java_package = "io.grpc.channelz.v1";
-option java_outer_classname = "ChannelzProto";
-
-// Channel is a logical grouping of channels, subchannels, and sockets.
-message Channel {
- // The identifier for this channel. This should bet set.
- ChannelRef ref = 1;
- // Data specific to this channel.
- ChannelData data = 2;
- // At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
-
- // There are no ordering guarantees on the order of channel refs.
- // There may not be cycles in the ref graph.
- // A channel ref may be present in more than one channel or subchannel.
- repeated ChannelRef channel_ref = 3;
-
- // At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
- // There are no ordering guarantees on the order of subchannel refs.
- // There may not be cycles in the ref graph.
- // A sub channel ref may be present in more than one channel or subchannel.
- repeated SubchannelRef subchannel_ref = 4;
-
- // There are no ordering guarantees on the order of sockets.
- repeated SocketRef socket_ref = 5;
-}
-
-// Subchannel is a logical grouping of channels, subchannels, and sockets.
-// A subchannel is load balanced over by it's ancestor
-message Subchannel {
- // The identifier for this channel.
- SubchannelRef ref = 1;
- // Data specific to this channel.
- ChannelData data = 2;
- // At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
-
- // There are no ordering guarantees on the order of channel refs.
- // There may not be cycles in the ref graph.
- // A channel ref may be present in more than one channel or subchannel.
- repeated ChannelRef channel_ref = 3;
-
- // At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
- // There are no ordering guarantees on the order of subchannel refs.
- // There may not be cycles in the ref graph.
- // A sub channel ref may be present in more than one channel or subchannel.
- repeated SubchannelRef subchannel_ref = 4;
-
- // There are no ordering guarantees on the order of sockets.
- repeated SocketRef socket_ref = 5;
-}
-
-// These come from the specified states in this document:
-// https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md
-message ChannelConnectivityState {
- enum State {
- UNKNOWN = 0;
- IDLE = 1;
- CONNECTING = 2;
- READY = 3;
- TRANSIENT_FAILURE = 4;
- SHUTDOWN = 5;
- }
- State state = 1;
-}
-
-// Channel data is data related to a specific Channel or Subchannel.
-message ChannelData {
- // The connectivity state of the channel or subchannel. Implementations
- // should always set this.
- ChannelConnectivityState state = 1;
-
- // The target this channel originally tried to connect to. May be absent
- string target = 2;
-
- // A trace of recent events on the channel. May be absent.
- ChannelTrace trace = 3;
-
- // The number of calls started on the channel
- int64 calls_started = 4;
- // The number of calls that have completed with an OK status
- int64 calls_succeeded = 5;
- // The number of calls that have completed with a non-OK status
- int64 calls_failed = 6;
-
- // The last time a call was started on the channel.
- google.protobuf.Timestamp last_call_started_timestamp = 7;
-}
-
-// A trace event is an interesting thing that happened to a channel or
-// subchannel, such as creation, address resolution, subchannel creation, etc.
-message ChannelTraceEvent {
- // High level description of the event.
- string description = 1;
- // The supported severity levels of trace events.
- enum Severity {
- CT_UNKNOWN = 0;
- CT_INFO = 1;
- CT_WARNING = 2;
- CT_ERROR = 3;
- }
- // the severity of the trace event
- Severity severity = 2;
- // When this event occurred.
- google.protobuf.Timestamp timestamp = 3;
- // ref of referenced channel or subchannel.
- // Optional, only present if this event refers to a child object. For example,
- // this field would be filled if this trace event was for a subchannel being
- // created.
- oneof child_ref {
- ChannelRef channel_ref = 4;
- SubchannelRef subchannel_ref = 5;
- }
-}
-
-// ChannelTrace represents the recent events that have occurred on the channel.
-message ChannelTrace {
- // Number of events ever logged in this tracing object. This can differ from
- // events.size() because events can be overwritten or garbage collected by
- // implementations.
- int64 num_events_logged = 1;
- // Time that this channel was created.
- google.protobuf.Timestamp creation_timestamp = 2;
- // List of events that have occurred on this channel.
- repeated ChannelTraceEvent events = 3;
-}
-
-// ChannelRef is a reference to a Channel.
-message ChannelRef {
- // The globally unique id for this channel. Must be a positive number.
- int64 channel_id = 1;
- // An optional name associated with the channel.
- string name = 2;
- // Intentionally don't use field numbers from other refs.
- reserved 3, 4, 5, 6, 7, 8;
-}
-
-// SubchannelRef is a reference to a Subchannel.
-message SubchannelRef {
- // The globally unique id for this subchannel. Must be a positive number.
- int64 subchannel_id = 7;
- // An optional name associated with the subchannel.
- string name = 8;
- // Intentionally don't use field numbers from other refs.
- reserved 1, 2, 3, 4, 5, 6;
-}
-
-// SocketRef is a reference to a Socket.
-message SocketRef {
- // The globally unique id for this socket. Must be a positive number.
- int64 socket_id = 3;
- // An optional name associated with the socket.
- string name = 4;
- // Intentionally don't use field numbers from other refs.
- reserved 1, 2, 5, 6, 7, 8;
-}
-
-// ServerRef is a reference to a Server.
-message ServerRef {
- // A globally unique identifier for this server. Must be a positive number.
- int64 server_id = 5;
- // An optional name associated with the server.
- string name = 6;
- // Intentionally don't use field numbers from other refs.
- reserved 1, 2, 3, 4, 7, 8;
-}
-
-// Server represents a single server. There may be multiple servers in a single
-// program.
-message Server {
- // The identifier for a Server. This should be set.
- ServerRef ref = 1;
- // The associated data of the Server.
- ServerData data = 2;
-
- // The sockets that the server is listening on. There are no ordering
- // guarantees. This may be absent.
- repeated SocketRef listen_socket = 3;
-}
-
-// ServerData is data for a specific Server.
-message ServerData {
- // A trace of recent events on the server. May be absent.
- ChannelTrace trace = 1;
-
- // The number of incoming calls started on the server
- int64 calls_started = 2;
- // The number of incoming calls that have completed with an OK status
- int64 calls_succeeded = 3;
- // The number of incoming calls that have a completed with a non-OK status
- int64 calls_failed = 4;
-
- // The last time a call was started on the server.
- google.protobuf.Timestamp last_call_started_timestamp = 5;
-}
-
-// Information about an actual connection. Pronounced "sock-ay".
-message Socket {
- // The identifier for the Socket.
- SocketRef ref = 1;
-
- // Data specific to this Socket.
- SocketData data = 2;
- // The locally bound address.
- Address local = 3;
- // The remote bound address. May be absent.
- Address remote = 4;
- // Security details for this socket. May be absent if not available, or
- // there is no security on the socket.
- Security security = 5;
-
- // Optional, represents the name of the remote endpoint, if different than
- // the original target name.
- string remote_name = 6;
-}
-
-// SocketData is data associated for a specific Socket. The fields present
-// are specific to the implementation, so there may be minor differences in
-// the semantics. (e.g. flow control windows)
-message SocketData {
- // The number of streams that have been started.
- int64 streams_started = 1;
- // The number of streams that have ended successfully:
- // On client side, received frame with eos bit set;
- // On server side, sent frame with eos bit set.
- int64 streams_succeeded = 2;
- // The number of streams that have ended unsuccessfully:
- // On client side, ended without receiving frame with eos bit set;
- // On server side, ended without sending frame with eos bit set.
- int64 streams_failed = 3;
- // The number of grpc messages successfully sent on this socket.
- int64 messages_sent = 4;
- // The number of grpc messages received on this socket.
- int64 messages_received = 5;
-
- // The number of keep alives sent. This is typically implemented with HTTP/2
- // ping messages.
- int64 keep_alives_sent = 6;
-
- // The last time a stream was created by this endpoint. Usually unset for
- // servers.
- google.protobuf.Timestamp last_local_stream_created_timestamp = 7;
- // The last time a stream was created by the remote endpoint. Usually unset
- // for clients.
- google.protobuf.Timestamp last_remote_stream_created_timestamp = 8;
-
- // The last time a message was sent by this endpoint.
- google.protobuf.Timestamp last_message_sent_timestamp = 9;
- // The last time a message was received by this endpoint.
- google.protobuf.Timestamp last_message_received_timestamp = 10;
-
- // The amount of window, granted to the local endpoint by the remote endpoint.
- // This may be slightly out of date due to network latency. This does NOT
- // include stream level or TCP level flow control info.
- google.protobuf.Int64Value local_flow_control_window = 11;
-
- // The amount of window, granted to the remote endpoint by the local endpoint.
- // This may be slightly out of date due to network latency. This does NOT
- // include stream level or TCP level flow control info.
- google.protobuf.Int64Value remote_flow_control_window = 12;
-
- // Socket options set on this socket. May be absent if 'summary' is set
- // on GetSocketRequest.
- repeated SocketOption option = 13;
-}
-
-// Address represents the address used to create the socket.
-message Address {
- message TcpIpAddress {
- // Either the IPv4 or IPv6 address in bytes. Will be either 4 bytes or 16
- // bytes in length.
- bytes ip_address = 1;
- // 0-64k, or -1 if not appropriate.
- int32 port = 2;
- }
- // A Unix Domain Socket address.
- message UdsAddress {
- string filename = 1;
- }
- // An address type not included above.
- message OtherAddress {
- // The human readable version of the value. This value should be set.
- string name = 1;
- // The actual address message.
- google.protobuf.Any value = 2;
- }
-
- oneof address {
- TcpIpAddress tcpip_address = 1;
- UdsAddress uds_address = 2;
- OtherAddress other_address = 3;
- }
-}
-
-// Security represents details about how secure the socket is.
-message Security {
- message Tls {
- oneof cipher_suite {
- // The cipher suite name in the RFC 4346 format:
- // https://tools.ietf.org/html/rfc4346#appendix-C
- string standard_name = 1;
- // Some other way to describe the cipher suite if
- // the RFC 4346 name is not available.
- string other_name = 2;
- }
- // the certificate used by this endpoint.
- bytes local_certificate = 3;
- // the certificate used by the remote endpoint.
- bytes remote_certificate = 4;
- }
- message OtherSecurity {
- // The human readable version of the value.
- string name = 1;
- // The actual security details message.
- google.protobuf.Any value = 2;
- }
- oneof model {
- Tls tls = 1;
- OtherSecurity other = 2;
- }
-}
-
-// SocketOption represents socket options for a socket. Specifically, these
-// are the options returned by getsockopt().
-message SocketOption {
- // The full name of the socket option. Typically this will be the upper case
- // name, such as "SO_REUSEPORT".
- string name = 1;
- // The human readable value of this socket option. At least one of value or
- // additional will be set.
- string value = 2;
- // Additional data associated with the socket option. At least one of value
- // or additional will be set.
- google.protobuf.Any additional = 3;
-}
-
-// For use with SocketOption's additional field. This is primarily used for
-// SO_RCVTIMEO and SO_SNDTIMEO
-message SocketOptionTimeout {
- google.protobuf.Duration duration = 1;
-}
-
-// For use with SocketOption's additional field. This is primarily used for
-// SO_LINGER.
-message SocketOptionLinger {
- // active maps to `struct linger.l_onoff`
- bool active = 1;
- // duration maps to `struct linger.l_linger`
- google.protobuf.Duration duration = 2;
-}
-
-// For use with SocketOption's additional field. Tcp info for
-// SOL_TCP and TCP_INFO.
-message SocketOptionTcpInfo {
- uint32 tcpi_state = 1;
-
- uint32 tcpi_ca_state = 2;
- uint32 tcpi_retransmits = 3;
- uint32 tcpi_probes = 4;
- uint32 tcpi_backoff = 5;
- uint32 tcpi_options = 6;
- uint32 tcpi_snd_wscale = 7;
- uint32 tcpi_rcv_wscale = 8;
-
- uint32 tcpi_rto = 9;
- uint32 tcpi_ato = 10;
- uint32 tcpi_snd_mss = 11;
- uint32 tcpi_rcv_mss = 12;
-
- uint32 tcpi_unacked = 13;
- uint32 tcpi_sacked = 14;
- uint32 tcpi_lost = 15;
- uint32 tcpi_retrans = 16;
- uint32 tcpi_fackets = 17;
-
- uint32 tcpi_last_data_sent = 18;
- uint32 tcpi_last_ack_sent = 19;
- uint32 tcpi_last_data_recv = 20;
- uint32 tcpi_last_ack_recv = 21;
-
- uint32 tcpi_pmtu = 22;
- uint32 tcpi_rcv_ssthresh = 23;
- uint32 tcpi_rtt = 24;
- uint32 tcpi_rttvar = 25;
- uint32 tcpi_snd_ssthresh = 26;
- uint32 tcpi_snd_cwnd = 27;
- uint32 tcpi_advmss = 28;
- uint32 tcpi_reordering = 29;
-}
-
-// Channelz is a service exposed by gRPC servers that provides detailed debug
-// information.
-service Channelz {
- // Gets all root channels (i.e. channels the application has directly
- // created). This does not include subchannels nor non-top level channels.
- rpc GetTopChannels(GetTopChannelsRequest) returns (GetTopChannelsResponse);
- // Gets all servers that exist in the process.
- rpc GetServers(GetServersRequest) returns (GetServersResponse);
- // Returns a single Server, or else a NOT_FOUND code.
- rpc GetServer(GetServerRequest) returns (GetServerResponse);
- // Gets all server sockets that exist in the process.
- rpc GetServerSockets(GetServerSocketsRequest) returns (GetServerSocketsResponse);
- // Returns a single Channel, or else a NOT_FOUND code.
- rpc GetChannel(GetChannelRequest) returns (GetChannelResponse);
- // Returns a single Subchannel, or else a NOT_FOUND code.
- rpc GetSubchannel(GetSubchannelRequest) returns (GetSubchannelResponse);
- // Returns a single Socket or else a NOT_FOUND code.
- rpc GetSocket(GetSocketRequest) returns (GetSocketResponse);
-}
-
-message GetTopChannelsRequest {
- // start_channel_id indicates that only channels at or above this id should be
- // included in the results.
- // To request the first page, this should be set to 0. To request
- // subsequent pages, the client generates this value by adding 1 to
- // the highest seen result ID.
- int64 start_channel_id = 1;
-
- // If non-zero, the server will return a page of results containing
- // at most this many items. If zero, the server will choose a
- // reasonable page size. Must never be negative.
- int64 max_results = 2;
-}
-
-message GetTopChannelsResponse {
- // list of channels that the connection detail service knows about. Sorted in
- // ascending channel_id order.
- // Must contain at least 1 result, otherwise 'end' must be true.
- repeated Channel channel = 1;
- // If set, indicates that the list of channels is the final list. Requesting
- // more channels can only return more if they are created after this RPC
- // completes.
- bool end = 2;
-}
-
-message GetServersRequest {
- // start_server_id indicates that only servers at or above this id should be
- // included in the results.
- // To request the first page, this must be set to 0. To request
- // subsequent pages, the client generates this value by adding 1 to
- // the highest seen result ID.
- int64 start_server_id = 1;
-
- // If non-zero, the server will return a page of results containing
- // at most this many items. If zero, the server will choose a
- // reasonable page size. Must never be negative.
- int64 max_results = 2;
-}
-
-message GetServersResponse {
- // list of servers that the connection detail service knows about. Sorted in
- // ascending server_id order.
- // Must contain at least 1 result, otherwise 'end' must be true.
- repeated Server server = 1;
- // If set, indicates that the list of servers is the final list. Requesting
- // more servers will only return more if they are created after this RPC
- // completes.
- bool end = 2;
-}
-
-message GetServerRequest {
- // server_id is the identifier of the specific server to get.
- int64 server_id = 1;
-}
-
-message GetServerResponse {
- // The Server that corresponds to the requested server_id. This field
- // should be set.
- Server server = 1;
-}
-
-message GetServerSocketsRequest {
- int64 server_id = 1;
- // start_socket_id indicates that only sockets at or above this id should be
- // included in the results.
- // To request the first page, this must be set to 0. To request
- // subsequent pages, the client generates this value by adding 1 to
- // the highest seen result ID.
- int64 start_socket_id = 2;
-
- // If non-zero, the server will return a page of results containing
- // at most this many items. If zero, the server will choose a
- // reasonable page size. Must never be negative.
- int64 max_results = 3;
-}
-
-message GetServerSocketsResponse {
- // list of socket refs that the connection detail service knows about. Sorted in
- // ascending socket_id order.
- // Must contain at least 1 result, otherwise 'end' must be true.
- repeated SocketRef socket_ref = 1;
- // If set, indicates that the list of sockets is the final list. Requesting
- // more sockets will only return more if they are created after this RPC
- // completes.
- bool end = 2;
-}
-
-message GetChannelRequest {
- // channel_id is the identifier of the specific channel to get.
- int64 channel_id = 1;
-}
-
-message GetChannelResponse {
- // The Channel that corresponds to the requested channel_id. This field
- // should be set.
- Channel channel = 1;
-}
-
-message GetSubchannelRequest {
- // subchannel_id is the identifier of the specific subchannel to get.
- int64 subchannel_id = 1;
-}
-
-message GetSubchannelResponse {
- // The Subchannel that corresponds to the requested subchannel_id. This
- // field should be set.
- Subchannel subchannel = 1;
-}
-
-message GetSocketRequest {
- // socket_id is the identifier of the specific socket to get.
- int64 socket_id = 1;
-
- // If true, the response will contain only high level information
- // that is inexpensive to obtain. Fields thay may be omitted are
- // documented.
- bool summary = 2;
-}
-
-message GetSocketResponse {
- // The Socket that corresponds to the requested socket_id. This field
- // should be set.
- Socket socket = 1;
-}
\ No newline at end of file
diff --git a/tests/node_modules/@grpc/grpc-js/src/admin.ts b/tests/node_modules/@grpc/grpc-js/src/admin.ts
deleted file mode 100644
index 4d26b89bdb3d27b0ac7bd9b5171bc1bfc34fb07c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/src/admin.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2021 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-import { ServiceDefinition } from './make-client';
-import { Server, UntypedServiceImplementation } from './server';
-
-interface GetServiceDefinition {
- (): ServiceDefinition;
-}
-
-interface GetHandlers {
- (): UntypedServiceImplementation;
-}
-
-const registeredAdminServices: {
- getServiceDefinition: GetServiceDefinition;
- getHandlers: GetHandlers;
-}[] = [];
-
-export function registerAdminService(
- getServiceDefinition: GetServiceDefinition,
- getHandlers: GetHandlers
-) {
- registeredAdminServices.push({ getServiceDefinition, getHandlers });
-}
-
-export function addAdminServicesToServer(server: Server): void {
- for (const { getServiceDefinition, getHandlers } of registeredAdminServices) {
- server.addService(getServiceDefinition(), getHandlers());
- }
-}
diff --git a/tests/node_modules/@grpc/grpc-js/src/backoff-timeout.ts b/tests/node_modules/@grpc/grpc-js/src/backoff-timeout.ts
deleted file mode 100644
index 78318d1e8a5891dd56fdb1bfb86adbc49f3ccecb..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/src/backoff-timeout.ts
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-const INITIAL_BACKOFF_MS = 1000;
-const BACKOFF_MULTIPLIER = 1.6;
-const MAX_BACKOFF_MS = 120000;
-const BACKOFF_JITTER = 0.2;
-
-/**
- * Get a number uniformly at random in the range [min, max)
- * @param min
- * @param max
- */
-function uniformRandom(min: number, max: number) {
- return Math.random() * (max - min) + min;
-}
-
-export interface BackoffOptions {
- initialDelay?: number;
- multiplier?: number;
- jitter?: number;
- maxDelay?: number;
-}
-
-export class BackoffTimeout {
- /**
- * The delay time at the start, and after each reset.
- */
- private readonly initialDelay: number = INITIAL_BACKOFF_MS;
- /**
- * The exponential backoff multiplier.
- */
- private readonly multiplier: number = BACKOFF_MULTIPLIER;
- /**
- * The maximum delay time
- */
- private readonly maxDelay: number = MAX_BACKOFF_MS;
- /**
- * The maximum fraction by which the delay time can randomly vary after
- * applying the multiplier.
- */
- private readonly jitter: number = BACKOFF_JITTER;
- /**
- * The delay time for the next time the timer runs.
- */
- private nextDelay: number;
- /**
- * The handle of the underlying timer. If running is false, this value refers
- * to an object representing a timer that has ended, but it can still be
- * interacted with without error.
- */
- private timerId: NodeJS.Timeout;
- /**
- * Indicates whether the timer is currently running.
- */
- private running = false;
- /**
- * Indicates whether the timer should keep the Node process running if no
- * other async operation is doing so.
- */
- private hasRef = true;
- /**
- * The time that the currently running timer was started. Only valid if
- * running is true.
- */
- private startTime: Date = new Date();
- /**
- * The approximate time that the currently running timer will end. Only valid
- * if running is true.
- */
- private endTime: Date = new Date();
-
- constructor(private callback: () => void, options?: BackoffOptions) {
- if (options) {
- if (options.initialDelay) {
- this.initialDelay = options.initialDelay;
- }
- if (options.multiplier) {
- this.multiplier = options.multiplier;
- }
- if (options.jitter) {
- this.jitter = options.jitter;
- }
- if (options.maxDelay) {
- this.maxDelay = options.maxDelay;
- }
- }
- this.nextDelay = this.initialDelay;
- this.timerId = setTimeout(() => {}, 0);
- clearTimeout(this.timerId);
- }
-
- private runTimer(delay: number) {
- this.endTime = this.startTime;
- this.endTime.setMilliseconds(this.endTime.getMilliseconds() + this.nextDelay);
- clearTimeout(this.timerId);
- this.timerId = setTimeout(() => {
- this.callback();
- this.running = false;
- }, delay);
- if (!this.hasRef) {
- this.timerId.unref?.();
- }
- }
-
- /**
- * Call the callback after the current amount of delay time
- */
- runOnce() {
- this.running = true;
- this.startTime = new Date();
- this.runTimer(this.nextDelay);
- const nextBackoff = Math.min(
- this.nextDelay * this.multiplier,
- this.maxDelay
- );
- const jitterMagnitude = nextBackoff * this.jitter;
- this.nextDelay =
- nextBackoff + uniformRandom(-jitterMagnitude, jitterMagnitude);
- }
-
- /**
- * Stop the timer. The callback will not be called until `runOnce` is called
- * again.
- */
- stop() {
- clearTimeout(this.timerId);
- this.running = false;
- }
-
- /**
- * Reset the delay time to its initial value. If the timer is still running,
- * retroactively apply that reset to the current timer.
- */
- reset() {
- this.nextDelay = this.initialDelay;
- if (this.running) {
- const now = new Date();
- const newEndTime = this.startTime;
- newEndTime.setMilliseconds(newEndTime.getMilliseconds() + this.nextDelay);
- clearTimeout(this.timerId);
- if (now < newEndTime) {
- this.runTimer(newEndTime.getTime() - now.getTime());
- } else {
- this.running = false;
- }
- }
- }
-
- /**
- * Check whether the timer is currently running.
- */
- isRunning() {
- return this.running;
- }
-
- /**
- * Set that while the timer is running, it should keep the Node process
- * running.
- */
- ref() {
- this.hasRef = true;
- this.timerId.ref?.();
- }
-
- /**
- * Set that while the timer is running, it should not keep the Node process
- * running.
- */
- unref() {
- this.hasRef = false;
- this.timerId.unref?.();
- }
-
- /**
- * Get the approximate timestamp of when the timer will fire. Only valid if
- * this.isRunning() is true.
- */
- getEndTime() {
- return this.endTime;
- }
-}
diff --git a/tests/node_modules/@grpc/grpc-js/src/call-credentials.ts b/tests/node_modules/@grpc/grpc-js/src/call-credentials.ts
deleted file mode 100644
index b0013eeae69701415f4f07b95992b2e56a7a997c..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/src/call-credentials.ts
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-import { Metadata } from './metadata';
-
-export interface CallMetadataOptions {
- service_url: string;
-}
-
-export type CallMetadataGenerator = (
- options: CallMetadataOptions,
- cb: (err: Error | null, metadata?: Metadata) => void
-) => void;
-
-// google-auth-library pre-v2.0.0 does not have getRequestHeaders
-// but has getRequestMetadata, which is deprecated in v2.0.0
-export interface OldOAuth2Client {
- getRequestMetadata: (
- url: string,
- callback: (
- err: Error | null,
- headers?: {
- [index: string]: string;
- }
- ) => void
- ) => void;
-}
-
-export interface CurrentOAuth2Client {
- getRequestHeaders: (url?: string) => Promise<{ [index: string]: string }>;
-}
-
-export type OAuth2Client = OldOAuth2Client | CurrentOAuth2Client;
-
-function isCurrentOauth2Client(
- client: OAuth2Client
-): client is CurrentOAuth2Client {
- return (
- 'getRequestHeaders' in client &&
- typeof client.getRequestHeaders === 'function'
- );
-}
-
-/**
- * A class that represents a generic method of adding authentication-related
- * metadata on a per-request basis.
- */
-export abstract class CallCredentials {
- /**
- * Asynchronously generates a new Metadata object.
- * @param options Options used in generating the Metadata object.
- */
- abstract generateMetadata(options: CallMetadataOptions): Promise;
- /**
- * Creates a new CallCredentials object from properties of both this and
- * another CallCredentials object. This object's metadata generator will be
- * called first.
- * @param callCredentials The other CallCredentials object.
- */
- abstract compose(callCredentials: CallCredentials): CallCredentials;
-
- /**
- * Check whether two call credentials objects are equal. Separate
- * SingleCallCredentials with identical metadata generator functions are
- * equal.
- * @param other The other CallCredentials object to compare with.
- */
- abstract _equals(other: CallCredentials): boolean;
-
- /**
- * Creates a new CallCredentials object from a given function that generates
- * Metadata objects.
- * @param metadataGenerator A function that accepts a set of options, and
- * generates a Metadata object based on these options, which is passed back
- * to the caller via a supplied (err, metadata) callback.
- */
- static createFromMetadataGenerator(
- metadataGenerator: CallMetadataGenerator
- ): CallCredentials {
- return new SingleCallCredentials(metadataGenerator);
- }
-
- /**
- * Create a gRPC credential from a Google credential object.
- * @param googleCredentials The authentication client to use.
- * @return The resulting CallCredentials object.
- */
- static createFromGoogleCredential(
- googleCredentials: OAuth2Client
- ): CallCredentials {
- return CallCredentials.createFromMetadataGenerator((options, callback) => {
- let getHeaders: Promise<{ [index: string]: string }>;
- if (isCurrentOauth2Client(googleCredentials)) {
- getHeaders = googleCredentials.getRequestHeaders(options.service_url);
- } else {
- getHeaders = new Promise((resolve, reject) => {
- googleCredentials.getRequestMetadata(
- options.service_url,
- (err, headers) => {
- if (err) {
- reject(err);
- return;
- }
- if (!headers) {
- reject(new Error('Headers not set by metadata plugin'));
- return;
- }
- resolve(headers);
- }
- );
- });
- }
- getHeaders.then(
- headers => {
- const metadata = new Metadata();
- for (const key of Object.keys(headers)) {
- metadata.add(key, headers[key]);
- }
- callback(null, metadata);
- },
- err => {
- callback(err);
- }
- );
- });
- }
-
- static createEmpty(): CallCredentials {
- return new EmptyCallCredentials();
- }
-}
-
-class ComposedCallCredentials extends CallCredentials {
- constructor(private creds: CallCredentials[]) {
- super();
- }
-
- async generateMetadata(options: CallMetadataOptions): Promise {
- const base: Metadata = new Metadata();
- const generated: Metadata[] = await Promise.all(
- this.creds.map(cred => cred.generateMetadata(options))
- );
- for (const gen of generated) {
- base.merge(gen);
- }
- return base;
- }
-
- compose(other: CallCredentials): CallCredentials {
- return new ComposedCallCredentials(this.creds.concat([other]));
- }
-
- _equals(other: CallCredentials): boolean {
- if (this === other) {
- return true;
- }
- if (other instanceof ComposedCallCredentials) {
- return this.creds.every((value, index) =>
- value._equals(other.creds[index])
- );
- } else {
- return false;
- }
- }
-}
-
-class SingleCallCredentials extends CallCredentials {
- constructor(private metadataGenerator: CallMetadataGenerator) {
- super();
- }
-
- generateMetadata(options: CallMetadataOptions): Promise {
- return new Promise((resolve, reject) => {
- this.metadataGenerator(options, (err, metadata) => {
- if (metadata !== undefined) {
- resolve(metadata);
- } else {
- reject(err);
- }
- });
- });
- }
-
- compose(other: CallCredentials): CallCredentials {
- return new ComposedCallCredentials([this, other]);
- }
-
- _equals(other: CallCredentials): boolean {
- if (this === other) {
- return true;
- }
- if (other instanceof SingleCallCredentials) {
- return this.metadataGenerator === other.metadataGenerator;
- } else {
- return false;
- }
- }
-}
-
-class EmptyCallCredentials extends CallCredentials {
- generateMetadata(options: CallMetadataOptions): Promise {
- return Promise.resolve(new Metadata());
- }
-
- compose(other: CallCredentials): CallCredentials {
- return other;
- }
-
- _equals(other: CallCredentials): boolean {
- return other instanceof EmptyCallCredentials;
- }
-}
diff --git a/tests/node_modules/@grpc/grpc-js/src/call-interface.ts b/tests/node_modules/@grpc/grpc-js/src/call-interface.ts
deleted file mode 100644
index 15035aeac1a4a0bae4e1341b8df631861179a9a0..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/src/call-interface.ts
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-import { CallCredentials } from './call-credentials';
-import { Status } from './constants';
-import { Deadline } from './deadline';
-import { Metadata } from './metadata';
-import { ServerSurfaceCall } from './server-call';
-
-export interface CallStreamOptions {
- deadline: Deadline;
- flags: number;
- host: string;
- parentCall: ServerSurfaceCall | null;
-}
-
-export type PartialCallStreamOptions = Partial;
-
-export interface StatusObject {
- code: Status;
- details: string;
- metadata: Metadata;
-}
-
-export type PartialStatusObject = Pick & {
- metadata: Metadata | null;
-};
-
-export const enum WriteFlags {
- BufferHint = 1,
- NoCompress = 2,
- WriteThrough = 4,
-}
-
-export interface WriteObject {
- message: Buffer;
- flags?: number;
-}
-
-export interface MetadataListener {
- (metadata: Metadata, next: (metadata: Metadata) => void): void;
-}
-
-export interface MessageListener {
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- (message: any, next: (message: any) => void): void;
-}
-
-export interface StatusListener {
- (status: StatusObject, next: (status: StatusObject) => void): void;
-}
-
-export interface FullListener {
- onReceiveMetadata: MetadataListener;
- onReceiveMessage: MessageListener;
- onReceiveStatus: StatusListener;
-}
-
-export type Listener = Partial;
-
-/**
- * An object with methods for handling the responses to a call.
- */
-export interface InterceptingListener {
- onReceiveMetadata(metadata: Metadata): void;
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- onReceiveMessage(message: any): void;
- onReceiveStatus(status: StatusObject): void;
-}
-
-export function isInterceptingListener(
- listener: Listener | InterceptingListener
-): listener is InterceptingListener {
- return (
- listener.onReceiveMetadata !== undefined &&
- listener.onReceiveMetadata.length === 1
- );
-}
-
-export class InterceptingListenerImpl implements InterceptingListener {
- private processingMetadata = false;
- private hasPendingMessage = false;
- private pendingMessage: any;
- private processingMessage = false;
- private pendingStatus: StatusObject | null = null;
- constructor(
- private listener: FullListener,
- private nextListener: InterceptingListener
- ) {}
-
- private processPendingMessage() {
- if (this.hasPendingMessage) {
- this.nextListener.onReceiveMessage(this.pendingMessage);
- this.pendingMessage = null;
- this.hasPendingMessage = false;
- }
- }
-
- private processPendingStatus() {
- if (this.pendingStatus) {
- this.nextListener.onReceiveStatus(this.pendingStatus);
- }
- }
-
- onReceiveMetadata(metadata: Metadata): void {
- this.processingMetadata = true;
- this.listener.onReceiveMetadata(metadata, metadata => {
- this.processingMetadata = false;
- this.nextListener.onReceiveMetadata(metadata);
- this.processPendingMessage();
- this.processPendingStatus();
- });
- }
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- onReceiveMessage(message: any): void {
- /* If this listener processes messages asynchronously, the last message may
- * be reordered with respect to the status */
- this.processingMessage = true;
- this.listener.onReceiveMessage(message, msg => {
- this.processingMessage = false;
- if (this.processingMetadata) {
- this.pendingMessage = msg;
- this.hasPendingMessage = true;
- } else {
- this.nextListener.onReceiveMessage(msg);
- this.processPendingStatus();
- }
- });
- }
- onReceiveStatus(status: StatusObject): void {
- this.listener.onReceiveStatus(status, processedStatus => {
- if (this.processingMetadata || this.processingMessage) {
- this.pendingStatus = processedStatus;
- } else {
- this.nextListener.onReceiveStatus(processedStatus);
- }
- });
- }
-}
-
-export interface WriteCallback {
- (error?: Error | null): void;
-}
-
-export interface MessageContext {
- callback?: WriteCallback;
- flags?: number;
-}
-
-export interface Call {
- cancelWithStatus(status: Status, details: string): void;
- getPeer(): string;
- start(metadata: Metadata, listener: InterceptingListener): void;
- sendMessageWithContext(context: MessageContext, message: Buffer): void;
- startRead(): void;
- halfClose(): void;
- getCallNumber(): number;
- setCredentials(credentials: CallCredentials): void;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/src/call-number.ts b/tests/node_modules/@grpc/grpc-js/src/call-number.ts
deleted file mode 100644
index 8c37d3f910b90fbaea12ec7f7bba6c61925651f7..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/src/call-number.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2022 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-let nextCallNumber = 0;
-
-export function getNextCallNumber() {
- return nextCallNumber++;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/src/call.ts b/tests/node_modules/@grpc/grpc-js/src/call.ts
deleted file mode 100644
index a147c98bc442bedf20031d907a479e63b4fafa9e..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/src/call.ts
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-import { EventEmitter } from 'events';
-import { Duplex, Readable, Writable } from 'stream';
-
-import { StatusObject, MessageContext } from './call-interface';
-import { Status } from './constants';
-import { EmitterAugmentation1 } from './events';
-import { Metadata } from './metadata';
-import { ObjectReadable, ObjectWritable, WriteCallback } from './object-stream';
-import { InterceptingCallInterface } from './client-interceptors';
-
-/**
- * A type extending the built-in Error object with additional fields.
- */
-export type ServiceError = StatusObject & Error;
-
-/**
- * A base type for all user-facing values returned by client-side method calls.
- */
-export type SurfaceCall = {
- call?: InterceptingCallInterface;
- cancel(): void;
- getPeer(): string;
-} & EmitterAugmentation1<'metadata', Metadata> &
- EmitterAugmentation1<'status', StatusObject> &
- EventEmitter;
-
-/**
- * A type representing the return value of a unary method call.
- */
-export type ClientUnaryCall = SurfaceCall;
-
-/**
- * A type representing the return value of a server stream method call.
- */
-export type ClientReadableStream = {
- deserialize: (chunk: Buffer) => ResponseType;
-} & SurfaceCall &
- ObjectReadable;
-
-/**
- * A type representing the return value of a client stream method call.
- */
-export type ClientWritableStream = {
- serialize: (value: RequestType) => Buffer;
-} & SurfaceCall &
- ObjectWritable;
-
-/**
- * A type representing the return value of a bidirectional stream method call.
- */
-export type ClientDuplexStream =
- ClientWritableStream & ClientReadableStream;
-
-/**
- * Construct a ServiceError from a StatusObject. This function exists primarily
- * as an attempt to make the error stack trace clearly communicate that the
- * error is not necessarily a problem in gRPC itself.
- * @param status
- */
-export function callErrorFromStatus(
- status: StatusObject,
- callerStack: string
-): ServiceError {
- const message = `${status.code} ${Status[status.code]}: ${status.details}`;
- const error = new Error(message);
- const stack = `${error.stack}\nfor call at\n${callerStack}`;
- return Object.assign(new Error(message), status, { stack });
-}
-
-export class ClientUnaryCallImpl
- extends EventEmitter
- implements ClientUnaryCall
-{
- public call?: InterceptingCallInterface;
- constructor() {
- super();
- }
-
- cancel(): void {
- this.call?.cancelWithStatus(Status.CANCELLED, 'Cancelled on client');
- }
-
- getPeer(): string {
- return this.call?.getPeer() ?? 'unknown';
- }
-}
-
-export class ClientReadableStreamImpl
- extends Readable
- implements ClientReadableStream
-{
- public call?: InterceptingCallInterface;
- constructor(readonly deserialize: (chunk: Buffer) => ResponseType) {
- super({ objectMode: true });
- }
-
- cancel(): void {
- this.call?.cancelWithStatus(Status.CANCELLED, 'Cancelled on client');
- }
-
- getPeer(): string {
- return this.call?.getPeer() ?? 'unknown';
- }
-
- _read(_size: number): void {
- this.call?.startRead();
- }
-}
-
-export class ClientWritableStreamImpl
- extends Writable
- implements ClientWritableStream
-{
- public call?: InterceptingCallInterface;
- constructor(readonly serialize: (value: RequestType) => Buffer) {
- super({ objectMode: true });
- }
-
- cancel(): void {
- this.call?.cancelWithStatus(Status.CANCELLED, 'Cancelled on client');
- }
-
- getPeer(): string {
- return this.call?.getPeer() ?? 'unknown';
- }
-
- _write(chunk: RequestType, encoding: string, cb: WriteCallback) {
- const context: MessageContext = {
- callback: cb,
- };
- const flags = Number(encoding);
- if (!Number.isNaN(flags)) {
- context.flags = flags;
- }
- this.call?.sendMessageWithContext(context, chunk);
- }
-
- _final(cb: Function) {
- this.call?.halfClose();
- cb();
- }
-}
-
-export class ClientDuplexStreamImpl
- extends Duplex
- implements ClientDuplexStream
-{
- public call?: InterceptingCallInterface;
- constructor(
- readonly serialize: (value: RequestType) => Buffer,
- readonly deserialize: (chunk: Buffer) => ResponseType
- ) {
- super({ objectMode: true });
- }
-
- cancel(): void {
- this.call?.cancelWithStatus(Status.CANCELLED, 'Cancelled on client');
- }
-
- getPeer(): string {
- return this.call?.getPeer() ?? 'unknown';
- }
-
- _read(_size: number): void {
- this.call?.startRead();
- }
-
- _write(chunk: RequestType, encoding: string, cb: WriteCallback) {
- const context: MessageContext = {
- callback: cb,
- };
- const flags = Number(encoding);
- if (!Number.isNaN(flags)) {
- context.flags = flags;
- }
- this.call?.sendMessageWithContext(context, chunk);
- }
-
- _final(cb: Function) {
- this.call?.halfClose();
- cb();
- }
-}
diff --git a/tests/node_modules/@grpc/grpc-js/src/channel-credentials.ts b/tests/node_modules/@grpc/grpc-js/src/channel-credentials.ts
deleted file mode 100644
index 72b19d65ee786076ebbd27d8af1bc1c93a5441d8..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/src/channel-credentials.ts
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-import {
- ConnectionOptions,
- createSecureContext,
- PeerCertificate,
- SecureContext,
-} from 'tls';
-
-import { CallCredentials } from './call-credentials';
-import { CIPHER_SUITES, getDefaultRootsData } from './tls-helpers';
-
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-function verifyIsBufferOrNull(obj: any, friendlyName: string): void {
- if (obj && !(obj instanceof Buffer)) {
- throw new TypeError(`${friendlyName}, if provided, must be a Buffer.`);
- }
-}
-
-/**
- * A callback that will receive the expected hostname and presented peer
- * certificate as parameters. The callback should return an error to
- * indicate that the presented certificate is considered invalid and
- * otherwise returned undefined.
- */
-export type CheckServerIdentityCallback = (
- hostname: string,
- cert: PeerCertificate
-) => Error | undefined;
-
-/**
- * Additional peer verification options that can be set when creating
- * SSL credentials.
- */
-export interface VerifyOptions {
- /**
- * If set, this callback will be invoked after the usual hostname verification
- * has been performed on the peer certificate.
- */
- checkServerIdentity?: CheckServerIdentityCallback;
-}
-
-/**
- * A class that contains credentials for communicating over a channel, as well
- * as a set of per-call credentials, which are applied to every method call made
- * over a channel initialized with an instance of this class.
- */
-export abstract class ChannelCredentials {
- protected callCredentials: CallCredentials;
-
- protected constructor(callCredentials?: CallCredentials) {
- this.callCredentials = callCredentials || CallCredentials.createEmpty();
- }
- /**
- * Returns a copy of this object with the included set of per-call credentials
- * expanded to include callCredentials.
- * @param callCredentials A CallCredentials object to associate with this
- * instance.
- */
- abstract compose(callCredentials: CallCredentials): ChannelCredentials;
-
- /**
- * Gets the set of per-call credentials associated with this instance.
- */
- _getCallCredentials(): CallCredentials {
- return this.callCredentials;
- }
-
- /**
- * Gets a SecureContext object generated from input parameters if this
- * instance was created with createSsl, or null if this instance was created
- * with createInsecure.
- */
- abstract _getConnectionOptions(): ConnectionOptions | null;
-
- /**
- * Indicates whether this credentials object creates a secure channel.
- */
- abstract _isSecure(): boolean;
-
- /**
- * Check whether two channel credentials objects are equal. Two secure
- * credentials are equal if they were constructed with the same parameters.
- * @param other The other ChannelCredentials Object
- */
- abstract _equals(other: ChannelCredentials): boolean;
-
- /**
- * Return a new ChannelCredentials instance with a given set of credentials.
- * The resulting instance can be used to construct a Channel that communicates
- * over TLS.
- * @param rootCerts The root certificate data.
- * @param privateKey The client certificate private key, if available.
- * @param certChain The client certificate key chain, if available.
- * @param verifyOptions Additional options to modify certificate verification
- */
- static createSsl(
- rootCerts?: Buffer | null,
- privateKey?: Buffer | null,
- certChain?: Buffer | null,
- verifyOptions?: VerifyOptions
- ): ChannelCredentials {
- verifyIsBufferOrNull(rootCerts, 'Root certificate');
- verifyIsBufferOrNull(privateKey, 'Private key');
- verifyIsBufferOrNull(certChain, 'Certificate chain');
- if (privateKey && !certChain) {
- throw new Error(
- 'Private key must be given with accompanying certificate chain'
- );
- }
- if (!privateKey && certChain) {
- throw new Error(
- 'Certificate chain must be given with accompanying private key'
- );
- }
- const secureContext = createSecureContext({
- ca: rootCerts ?? getDefaultRootsData() ?? undefined,
- key: privateKey ?? undefined,
- cert: certChain ?? undefined,
- ciphers: CIPHER_SUITES,
- });
- return new SecureChannelCredentialsImpl(secureContext, verifyOptions ?? {});
- }
-
- /**
- * Return a new ChannelCredentials instance with credentials created using
- * the provided secureContext. The resulting instances can be used to
- * construct a Channel that communicates over TLS. gRPC will not override
- * anything in the provided secureContext, so the environment variables
- * GRPC_SSL_CIPHER_SUITES and GRPC_DEFAULT_SSL_ROOTS_FILE_PATH will
- * not be applied.
- * @param secureContext The return value of tls.createSecureContext()
- * @param verifyOptions Additional options to modify certificate verification
- */
- static createFromSecureContext(
- secureContext: SecureContext,
- verifyOptions?: VerifyOptions
- ): ChannelCredentials {
- return new SecureChannelCredentialsImpl(secureContext, verifyOptions ?? {});
- }
-
- /**
- * Return a new ChannelCredentials instance with no credentials.
- */
- static createInsecure(): ChannelCredentials {
- return new InsecureChannelCredentialsImpl();
- }
-}
-
-class InsecureChannelCredentialsImpl extends ChannelCredentials {
- constructor(callCredentials?: CallCredentials) {
- super(callCredentials);
- }
-
- compose(callCredentials: CallCredentials): never {
- throw new Error('Cannot compose insecure credentials');
- }
-
- _getConnectionOptions(): ConnectionOptions | null {
- return null;
- }
- _isSecure(): boolean {
- return false;
- }
- _equals(other: ChannelCredentials): boolean {
- return other instanceof InsecureChannelCredentialsImpl;
- }
-}
-
-class SecureChannelCredentialsImpl extends ChannelCredentials {
- connectionOptions: ConnectionOptions;
-
- constructor(
- private secureContext: SecureContext,
- private verifyOptions: VerifyOptions
- ) {
- super();
- this.connectionOptions = {
- secureContext,
- };
- // Node asserts that this option is a function, so we cannot pass undefined
- if (verifyOptions?.checkServerIdentity) {
- this.connectionOptions.checkServerIdentity =
- verifyOptions.checkServerIdentity;
- }
- }
-
- compose(callCredentials: CallCredentials): ChannelCredentials {
- const combinedCallCredentials =
- this.callCredentials.compose(callCredentials);
- return new ComposedChannelCredentialsImpl(this, combinedCallCredentials);
- }
-
- _getConnectionOptions(): ConnectionOptions | null {
- // Copy to prevent callers from mutating this.connectionOptions
- return { ...this.connectionOptions };
- }
- _isSecure(): boolean {
- return true;
- }
- _equals(other: ChannelCredentials): boolean {
- if (this === other) {
- return true;
- }
- if (other instanceof SecureChannelCredentialsImpl) {
- return (
- this.secureContext === other.secureContext &&
- this.verifyOptions.checkServerIdentity ===
- other.verifyOptions.checkServerIdentity
- );
- } else {
- return false;
- }
- }
-}
-
-class ComposedChannelCredentialsImpl extends ChannelCredentials {
- constructor(
- private channelCredentials: SecureChannelCredentialsImpl,
- callCreds: CallCredentials
- ) {
- super(callCreds);
- }
- compose(callCredentials: CallCredentials) {
- const combinedCallCredentials =
- this.callCredentials.compose(callCredentials);
- return new ComposedChannelCredentialsImpl(
- this.channelCredentials,
- combinedCallCredentials
- );
- }
-
- _getConnectionOptions(): ConnectionOptions | null {
- return this.channelCredentials._getConnectionOptions();
- }
- _isSecure(): boolean {
- return true;
- }
- _equals(other: ChannelCredentials): boolean {
- if (this === other) {
- return true;
- }
- if (other instanceof ComposedChannelCredentialsImpl) {
- return (
- this.channelCredentials._equals(other.channelCredentials) &&
- this.callCredentials._equals(other.callCredentials)
- );
- } else {
- return false;
- }
- }
-}
diff --git a/tests/node_modules/@grpc/grpc-js/src/channel-options.ts b/tests/node_modules/@grpc/grpc-js/src/channel-options.ts
deleted file mode 100644
index f2bb8bcf71225db8be35123496e2ebb57fe12745..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/src/channel-options.ts
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-import { CompressionAlgorithms } from './compression-algorithms';
-
-/**
- * An interface that contains options used when initializing a Channel instance.
- */
-export interface ChannelOptions {
- 'grpc.ssl_target_name_override'?: string;
- 'grpc.primary_user_agent'?: string;
- 'grpc.secondary_user_agent'?: string;
- 'grpc.default_authority'?: string;
- 'grpc.keepalive_time_ms'?: number;
- 'grpc.keepalive_timeout_ms'?: number;
- 'grpc.keepalive_permit_without_calls'?: number;
- 'grpc.service_config'?: string;
- 'grpc.max_concurrent_streams'?: number;
- 'grpc.initial_reconnect_backoff_ms'?: number;
- 'grpc.max_reconnect_backoff_ms'?: number;
- 'grpc.use_local_subchannel_pool'?: number;
- 'grpc.max_send_message_length'?: number;
- 'grpc.max_receive_message_length'?: number;
- 'grpc.enable_http_proxy'?: number;
- /* http_connect_target and http_connect_creds are used for passing data
- * around internally, and should not be documented as public-facing options
- */
- 'grpc.http_connect_target'?: string;
- 'grpc.http_connect_creds'?: string;
- 'grpc.default_compression_algorithm'?: CompressionAlgorithms;
- 'grpc.enable_channelz'?: number;
- 'grpc.dns_min_time_between_resolutions_ms'?: number;
- 'grpc.enable_retries'?: number;
- 'grpc.per_rpc_retry_buffer_size'?: number;
- /* This option is pattered like a core option, but the core does not have
- * this option. It is closely related to the option
- * grpc.per_rpc_retry_buffer_size, which is in the core. The core will likely
- * implement this functionality using the ResourceQuota mechanism, so there
- * will probably not be any collision or other inconsistency. */
- 'grpc.retry_buffer_size'?: number;
- 'grpc.max_connection_age_ms'?: number;
- 'grpc.max_connection_age_grace_ms'?: number;
- 'grpc-node.max_session_memory'?: number;
- 'grpc.service_config_disable_resolution'?: number;
- 'grpc.client_idle_timeout_ms'?: number;
- /**
- * Set the enableTrace option in TLS clients and servers
- */
- 'grpc-node.tls_enable_trace'?: number;
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- [key: string]: any;
-}
-
-/**
- * This is for checking provided options at runtime. This is an object for
- * easier membership checking.
- */
-export const recognizedOptions = {
- 'grpc.ssl_target_name_override': true,
- 'grpc.primary_user_agent': true,
- 'grpc.secondary_user_agent': true,
- 'grpc.default_authority': true,
- 'grpc.keepalive_time_ms': true,
- 'grpc.keepalive_timeout_ms': true,
- 'grpc.keepalive_permit_without_calls': true,
- 'grpc.service_config': true,
- 'grpc.max_concurrent_streams': true,
- 'grpc.initial_reconnect_backoff_ms': true,
- 'grpc.max_reconnect_backoff_ms': true,
- 'grpc.use_local_subchannel_pool': true,
- 'grpc.max_send_message_length': true,
- 'grpc.max_receive_message_length': true,
- 'grpc.enable_http_proxy': true,
- 'grpc.enable_channelz': true,
- 'grpc.dns_min_time_between_resolutions_ms': true,
- 'grpc.enable_retries': true,
- 'grpc.per_rpc_retry_buffer_size': true,
- 'grpc.retry_buffer_size': true,
- 'grpc.max_connection_age_ms': true,
- 'grpc.max_connection_age_grace_ms': true,
- 'grpc-node.max_session_memory': true,
- 'grpc.service_config_disable_resolution': true,
- 'grpc.client_idle_timeout_ms': true,
- 'grpc-node.tls_enable_trace': true,
-};
-
-export function channelOptionsEqual(
- options1: ChannelOptions,
- options2: ChannelOptions
-) {
- const keys1 = Object.keys(options1).sort();
- const keys2 = Object.keys(options2).sort();
- if (keys1.length !== keys2.length) {
- return false;
- }
- for (let i = 0; i < keys1.length; i += 1) {
- if (keys1[i] !== keys2[i]) {
- return false;
- }
- if (options1[keys1[i]] !== options2[keys2[i]]) {
- return false;
- }
- }
- return true;
-}
diff --git a/tests/node_modules/@grpc/grpc-js/src/channel.ts b/tests/node_modules/@grpc/grpc-js/src/channel.ts
deleted file mode 100644
index 7ce5a15f783f90b1d37f51fac7306c85ee8896a0..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/src/channel.ts
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-import { ChannelCredentials } from './channel-credentials';
-import { ChannelOptions } from './channel-options';
-import { ServerSurfaceCall } from './server-call';
-
-import { ConnectivityState } from './connectivity-state';
-import { ChannelRef } from './channelz';
-import { Call } from './call-interface';
-import { InternalChannel } from './internal-channel';
-import { Deadline } from './deadline';
-
-/**
- * An interface that represents a communication channel to a server specified
- * by a given address.
- */
-export interface Channel {
- /**
- * Close the channel. This has the same functionality as the existing
- * grpc.Client.prototype.close
- */
- close(): void;
- /**
- * Return the target that this channel connects to
- */
- getTarget(): string;
- /**
- * Get the channel's current connectivity state. This method is here mainly
- * because it is in the existing internal Channel class, and there isn't
- * another good place to put it.
- * @param tryToConnect If true, the channel will start connecting if it is
- * idle. Otherwise, idle channels will only start connecting when a
- * call starts.
- */
- getConnectivityState(tryToConnect: boolean): ConnectivityState;
- /**
- * Watch for connectivity state changes. This is also here mainly because
- * it is in the existing external Channel class.
- * @param currentState The state to watch for transitions from. This should
- * always be populated by calling getConnectivityState immediately
- * before.
- * @param deadline A deadline for waiting for a state change
- * @param callback Called with no error when a state change, or with an
- * error if the deadline passes without a state change.
- */
- watchConnectivityState(
- currentState: ConnectivityState,
- deadline: Date | number,
- callback: (error?: Error) => void
- ): void;
- /**
- * Get the channelz reference object for this channel. A request to the
- * channelz service for the id in this object will provide information
- * about this channel.
- */
- getChannelzRef(): ChannelRef;
- /**
- * Create a call object. Call is an opaque type that is used by the Client
- * class. This function is called by the gRPC library when starting a
- * request. Implementers should return an instance of Call that is returned
- * from calling createCall on an instance of the provided Channel class.
- * @param method The full method string to request.
- * @param deadline The call deadline
- * @param host A host string override for making the request
- * @param parentCall A server call to propagate some information from
- * @param propagateFlags A bitwise combination of elements of grpc.propagate
- * that indicates what information to propagate from parentCall.
- */
- createCall(
- method: string,
- deadline: Deadline,
- host: string | null | undefined,
- parentCall: ServerSurfaceCall | null,
- propagateFlags: number | null | undefined
- ): Call;
-}
-
-export class ChannelImplementation implements Channel {
- private internalChannel: InternalChannel;
-
- constructor(
- target: string,
- credentials: ChannelCredentials,
- options: ChannelOptions
- ) {
- if (typeof target !== 'string') {
- throw new TypeError('Channel target must be a string');
- }
- if (!(credentials instanceof ChannelCredentials)) {
- throw new TypeError(
- 'Channel credentials must be a ChannelCredentials object'
- );
- }
- if (options) {
- if (typeof options !== 'object') {
- throw new TypeError('Channel options must be an object');
- }
- }
-
- this.internalChannel = new InternalChannel(target, credentials, options);
- }
-
- close() {
- this.internalChannel.close();
- }
-
- getTarget() {
- return this.internalChannel.getTarget();
- }
-
- getConnectivityState(tryToConnect: boolean) {
- return this.internalChannel.getConnectivityState(tryToConnect);
- }
-
- watchConnectivityState(
- currentState: ConnectivityState,
- deadline: Date | number,
- callback: (error?: Error) => void
- ): void {
- this.internalChannel.watchConnectivityState(
- currentState,
- deadline,
- callback
- );
- }
-
- /**
- * Get the channelz reference object for this channel. The returned value is
- * garbage if channelz is disabled for this channel.
- * @returns
- */
- getChannelzRef() {
- return this.internalChannel.getChannelzRef();
- }
-
- createCall(
- method: string,
- deadline: Deadline,
- host: string | null | undefined,
- parentCall: ServerSurfaceCall | null,
- propagateFlags: number | null | undefined
- ): Call {
- if (typeof method !== 'string') {
- throw new TypeError('Channel#createCall: method must be a string');
- }
- if (!(typeof deadline === 'number' || deadline instanceof Date)) {
- throw new TypeError(
- 'Channel#createCall: deadline must be a number or Date'
- );
- }
- return this.internalChannel.createCall(
- method,
- deadline,
- host,
- parentCall,
- propagateFlags
- );
- }
-}
diff --git a/tests/node_modules/@grpc/grpc-js/src/channelz.ts b/tests/node_modules/@grpc/grpc-js/src/channelz.ts
deleted file mode 100644
index 1e2627a97cd2523fe634dd909aabbf3ebae0fd16..0000000000000000000000000000000000000000
--- a/tests/node_modules/@grpc/grpc-js/src/channelz.ts
+++ /dev/null
@@ -1,886 +0,0 @@
-/*
- * Copyright 2021 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-import { isIPv4, isIPv6 } from 'net';
-import { ConnectivityState } from './connectivity-state';
-import { Status } from './constants';
-import { Timestamp } from './generated/google/protobuf/Timestamp';
-import { Channel as ChannelMessage } from './generated/grpc/channelz/v1/Channel';
-import { ChannelConnectivityState__Output } from './generated/grpc/channelz/v1/ChannelConnectivityState';
-import { ChannelRef as ChannelRefMessage } from './generated/grpc/channelz/v1/ChannelRef';
-import { ChannelTrace } from './generated/grpc/channelz/v1/ChannelTrace';
-import { GetChannelRequest__Output } from './generated/grpc/channelz/v1/GetChannelRequest';
-import { GetChannelResponse } from './generated/grpc/channelz/v1/GetChannelResponse';
-import { sendUnaryData, ServerUnaryCall } from './server-call';
-import { ServerRef as ServerRefMessage } from './generated/grpc/channelz/v1/ServerRef';
-import { SocketRef as SocketRefMessage } from './generated/grpc/channelz/v1/SocketRef';
-import {
- isTcpSubchannelAddress,
- SubchannelAddress,
-} from './subchannel-address';
-import { SubchannelRef as SubchannelRefMessage } from './generated/grpc/channelz/v1/SubchannelRef';
-import { GetServerRequest__Output } from './generated/grpc/channelz/v1/GetServerRequest';
-import { GetServerResponse } from './generated/grpc/channelz/v1/GetServerResponse';
-import { Server as ServerMessage } from './generated/grpc/channelz/v1/Server';
-import { GetServersRequest__Output } from './generated/grpc/channelz/v1/GetServersRequest';
-import { GetServersResponse } from './generated/grpc/channelz/v1/GetServersResponse';
-import { GetTopChannelsRequest__Output } from './generated/grpc/channelz/v1/GetTopChannelsRequest';
-import { GetTopChannelsResponse } from './generated/grpc/channelz/v1/GetTopChannelsResponse';
-import { GetSubchannelRequest__Output } from './generated/grpc/channelz/v1/GetSubchannelRequest';
-import { GetSubchannelResponse } from './generated/grpc/channelz/v1/GetSubchannelResponse';
-import { Subchannel as SubchannelMessage } from './generated/grpc/channelz/v1/Subchannel';
-import { GetSocketRequest__Output } from './generated/grpc/channelz/v1/GetSocketRequest';
-import { GetSocketResponse } from './generated/grpc/channelz/v1/GetSocketResponse';
-import { Socket as SocketMessage } from './generated/grpc/channelz/v1/Socket';
-import { Address } from './generated/grpc/channelz/v1/Address';
-import { Security } from './generated/grpc/channelz/v1/Security';
-import { GetServerSocketsRequest__Output } from './generated/grpc/channelz/v1/GetServerSocketsRequest';
-import { GetServerSocketsResponse } from './generated/grpc/channelz/v1/GetServerSocketsResponse';
-import {
- ChannelzDefinition,
- ChannelzHandlers,
-} from './generated/grpc/channelz/v1/Channelz';
-import { ProtoGrpcType as ChannelzProtoGrpcType } from './generated/channelz';
-import type { loadSync } from '@grpc/proto-loader';
-import { registerAdminService } from './admin';
-import { loadPackageDefinition } from './make-client';
-
-export type TraceSeverity =
- | 'CT_UNKNOWN'
- | 'CT_INFO'
- | 'CT_WARNING'
- | 'CT_ERROR';
-
-export interface ChannelRef {
- kind: 'channel';
- id: number;
- name: string;
-}
-
-export interface SubchannelRef {
- kind: 'subchannel';
- id: number;
- name: string;
-}
-
-export interface ServerRef {
- kind: 'server';
- id: number;
-}
-
-export interface SocketRef {
- kind: 'socket';
- id: number;
- name: string;
-}
-
-function channelRefToMessage(ref: ChannelRef): ChannelRefMessage {
- return {
- channel_id: ref.id,
- name: ref.name,
- };
-}
-
-function subchannelRefToMessage(ref: SubchannelRef): SubchannelRefMessage {
- return {
- subchannel_id: ref.id,
- name: ref.name,
- };
-}
-
-function serverRefToMessage(ref: ServerRef): ServerRefMessage {
- return {
- server_id: ref.id,
- };
-}
-
-function socketRefToMessage(ref: SocketRef): SocketRefMessage {
- return {
- socket_id: ref.id,
- name: ref.name,
- };
-}
-
-interface TraceEvent {
- description: string;
- severity: TraceSeverity;
- timestamp: Date;
- childChannel?: ChannelRef;
- childSubchannel?: SubchannelRef;
-}
-
-/**
- * The loose upper bound on the number of events that should be retained in a
- * trace. This may be exceeded by up to a factor of 2. Arbitrarily chosen as a
- * number that should be large enough to contain the recent relevant
- * information, but small enough to not use excessive memory.
- */
-const TARGET_RETAINED_TRACES = 32;
-
-export class ChannelzTrace {
- events: TraceEvent[] = [];
- creationTimestamp: Date;
- eventsLogged = 0;
-
- constructor() {
- this.creationTimestamp = new Date();
- }
-
- addTrace(
- severity: TraceSeverity,
- description: string,
- child?: ChannelRef | SubchannelRef
- ) {
- const timestamp = new Date();
- this.events.push({
- description: description,
- severity: severity,
- timestamp: timestamp,
- childChannel: child?.kind === 'channel' ? child : undefined,
- childSubchannel: child?.kind === 'subchannel' ? child : undefined,
- });
- // Whenever the trace array gets too large, discard the first half
- if (this.events.length >= TARGET_RETAINED_TRACES * 2) {
- this.events = this.events.slice(TARGET_RETAINED_TRACES);
- }
- this.eventsLogged += 1;
- }
-
- getTraceMessage(): ChannelTrace {
- return {
- creation_timestamp: dateToProtoTimestamp(this.creationTimestamp),
- num_events_logged: this.eventsLogged,
- events: this.events.map(event => {
- return {
- description: event.description,
- severity: event.severity,
- timestamp: dateToProtoTimestamp(event.timestamp),
- channel_ref: event.childChannel
- ? channelRefToMessage(event.childChannel)
- : null,
- subchannel_ref: event.childSubchannel
- ? subchannelRefToMessage(event.childSubchannel)
- : null,
- };
- }),
- };
- }
-}
-
-export class ChannelzChildrenTracker {
- private channelChildren: Map =
- new Map();
- private subchannelChildren: Map<
- number,
- { ref: SubchannelRef; count: number }
- > = new Map();
- private socketChildren: Map =
- new Map();
-
- refChild(child: ChannelRef | SubchannelRef | SocketRef) {
- switch (child.kind) {
- case 'channel': {
- const trackedChild = this.channelChildren.get(child.id) ?? {
- ref: child,
- count: 0,
- };
- trackedChild.count += 1;
- this.channelChildren.set(child.id, trackedChild);
- break;
- }
- case 'subchannel': {
- const trackedChild = this.subchannelChildren.get(child.id) ?? {
- ref: child,
- count: 0,
- };
- trackedChild.count += 1;
- this.subchannelChildren.set(child.id, trackedChild);
- break;
- }
- case 'socket': {
- const trackedChild = this.socketChildren.get(child.id) ?? {
- ref: child,
- count: 0,
- };
- trackedChild.count += 1;
- this.socketChildren.set(child.id, trackedChild);
- break;
- }
- }
- }
-
- unrefChild(child: ChannelRef | SubchannelRef | SocketRef) {
- switch (child.kind) {
- case 'channel': {
- const trackedChild = this.channelChildren.get(child.id);
- if (trackedChild !== undefined) {
- trackedChild.count -= 1;
- if (trackedChild.count === 0) {
- this.channelChildren.delete(child.id);
- } else {
- this.channelChildren.set(child.id, trackedChild);
- }
- }
- break;
- }
- case 'subchannel': {
- const trackedChild = this.subchannelChildren.get(child.id);
- if (trackedChild !== undefined) {
- trackedChild.count -= 1;
- if (trackedChild.count === 0) {
- this.subchannelChildren.delete(child.id);
- } else {
- this.subchannelChildren.set(child.id, trackedChild);
- }
- }
- break;
- }
- case 'socket': {
- const trackedChild = this.socketChildren.get(child.id);
- if (trackedChild !== undefined) {
- trackedChild.count -= 1;
- if (trackedChild.count === 0) {
- this.socketChildren.delete(child.id);
- } else {
- this.socketChildren.set(child.id, trackedChild);
- }
- }
- break;
- }
- }
- }
-
- getChildLists(): ChannelzChildren {
- const channels: ChannelRef[] = [];
- for (const { ref } of this.channelChildren.values()) {
- channels.push(ref);
- }
- const subchannels: SubchannelRef[] = [];
- for (const { ref } of this.subchannelChildren.values()) {
- subchannels.push(ref);
- }
- const sockets: SocketRef[] = [];
- for (const { ref } of this.socketChildren.values()) {
- sockets.push(ref);
- }
- return { channels, subchannels, sockets };
- }
-}
-
-export class ChannelzCallTracker {
- callsStarted = 0;
- callsSucceeded = 0;
- callsFailed = 0;
- lastCallStartedTimestamp: Date | null = null;
-
- addCallStarted() {
- this.callsStarted += 1;
- this.lastCallStartedTimestamp = new Date();
- }
- addCallSucceeded() {
- this.callsSucceeded += 1;
- }
- addCallFailed() {
- this.callsFailed += 1;
- }
-}
-
-export interface ChannelzChildren {
- channels: ChannelRef[];
- subchannels: SubchannelRef[];
- sockets: SocketRef[];
-}
-
-export interface ChannelInfo {
- target: string;
- state: ConnectivityState;
- trace: ChannelzTrace;
- callTracker: ChannelzCallTracker;
- children: ChannelzChildren;
-}
-
-export type SubchannelInfo = ChannelInfo;
-
-export interface ServerInfo {
- trace: ChannelzTrace;
- callTracker: ChannelzCallTracker;
- listenerChildren: ChannelzChildren;
- sessionChildren: ChannelzChildren;
-}
-
-export interface TlsInfo {
- cipherSuiteStandardName: string | null;
- cipherSuiteOtherName: string | null;
- localCertificate: Buffer | null;
- remoteCertificate: Buffer | null;
-}
-
-export interface SocketInfo {
- localAddress: SubchannelAddress | null;
- remoteAddress: SubchannelAddress | null;
- security: TlsInfo | null;
- remoteName: string | null;
- streamsStarted: number;
- streamsSucceeded: number;
- streamsFailed: number;
- messagesSent: number;
- messagesReceived: number;
- keepAlivesSent: number;
- lastLocalStreamCreatedTimestamp: Date | null;
- lastRemoteStreamCreatedTimestamp: Date | null;
- lastMessageSentTimestamp: Date | null;
- lastMessageReceivedTimestamp: Date | null;
- localFlowControlWindow: number | null;
- remoteFlowControlWindow: number | null;
-}
-
-interface ChannelEntry {
- ref: ChannelRef;
- getInfo(): ChannelInfo;
-}
-
-interface SubchannelEntry {
- ref: SubchannelRef;
- getInfo(): SubchannelInfo;
-}
-
-interface ServerEntry {
- ref: ServerRef;
- getInfo(): ServerInfo;
-}
-
-interface SocketEntry {
- ref: SocketRef;
- getInfo(): SocketInfo;
-}
-
-let nextId = 1;
-
-function getNextId(): number {
- return nextId++;
-}
-
-const channels: (ChannelEntry | undefined)[] = [];
-const subchannels: (SubchannelEntry | undefined)[] = [];
-const servers: (ServerEntry | undefined)[] = [];
-const sockets: (SocketEntry | undefined)[] = [];
-
-export function registerChannelzChannel(
- name: string,
- getInfo: () => ChannelInfo,
- channelzEnabled: boolean
-): ChannelRef {
- const id = getNextId();
- const ref: ChannelRef = { id, name, kind: 'channel' };
- if (channelzEnabled) {
- channels[id] = { ref, getInfo };
- }
- return ref;
-}
-
-export function registerChannelzSubchannel(
- name: string,
- getInfo: () => SubchannelInfo,
- channelzEnabled: boolean
-): SubchannelRef {
- const id = getNextId();
- const ref: SubchannelRef = { id, name, kind: 'subchannel' };
- if (channelzEnabled) {
- subchannels[id] = { ref, getInfo };
- }
- return ref;
-}
-
-export function registerChannelzServer(
- getInfo: () => ServerInfo,
- channelzEnabled: boolean
-): ServerRef {
- const id = getNextId();
- const ref: ServerRef = { id, kind: 'server' };
- if (channelzEnabled) {
- servers[id] = { ref, getInfo };
- }
- return ref;
-}
-
-export function registerChannelzSocket(
- name: string,
- getInfo: () => SocketInfo,
- channelzEnabled: boolean
-): SocketRef {
- const id = getNextId();
- const ref: SocketRef = { id, name, kind: 'socket' };
- if (channelzEnabled) {
- sockets[id] = { ref, getInfo };
- }
- return ref;
-}
-
-export function unregisterChannelzRef(
- ref: ChannelRef | SubchannelRef | ServerRef | SocketRef
-) {
- switch (ref.kind) {
- case 'channel':
- delete channels[ref.id];
- return;
- case 'subchannel':
- delete subchannels[ref.id];
- return;
- case 'server':
- delete servers[ref.id];
- return;
- case 'socket':
- delete sockets[ref.id];
- return;
- }
-}
-
-/**
- * Parse a single section of an IPv6 address as two bytes
- * @param addressSection A hexadecimal string of length up to 4
- * @returns The pair of bytes representing this address section
- */
-function parseIPv6Section(addressSection: string): [number, number] {
- const numberValue = Number.parseInt(addressSection, 16);
- return [(numberValue / 256) | 0, numberValue % 256];
-}
-
-/**
- * Parse a chunk of an IPv6 address string to some number of bytes
- * @param addressChunk Some number of segments of up to 4 hexadecimal
- * characters each, joined by colons.
- * @returns The list of bytes representing this address chunk
- */
-function parseIPv6Chunk(addressChunk: string): number[] {
- if (addressChunk === '') {
- return [];
- }
- const bytePairs = addressChunk
- .split(':')
- .map(section => parseIPv6Section(section));
- const result: number[] = [];
- return result.concat(...bytePairs);
-}
-
-/**
- * Converts an IPv4 or IPv6 address from string representation to binary
- * representation
- * @param ipAddress an IP address in standard IPv4 or IPv6 text format
- * @returns
- */
-function ipAddressStringToBuffer(ipAddress: string): Buffer | null {
- if (isIPv4(ipAddress)) {
- return Buffer.from(
- Uint8Array.from(
- ipAddress.split('.').map(segment => Number.parseInt(segment))
- )
- );
- } else if (isIPv6(ipAddress)) {
- let leftSection: string;
- let rightSection: string;
- const doubleColonIndex = ipAddress.indexOf('::');
- if (doubleColonIndex === -1) {
- leftSection = ipAddress;
- rightSection = '';
- } else {
- leftSection = ipAddress.substring(0, doubleColonIndex);
- rightSection = ipAddress.substring(doubleColonIndex + 2);
- }
- const leftBuffer = Buffer.from(parseIPv6Chunk(leftSection));
- const rightBuffer = Buffer.from(parseIPv6Chunk(rightSection));
- const middleBuffer = Buffer.alloc(
- 16 - leftBuffer.length - rightBuffer.length,
- 0
- );
- return Buffer.concat([leftBuffer, middleBuffer, rightBuffer]);
- } else {
- return null;
- }
-}
-
-function connectivityStateToMessage(
- state: ConnectivityState
-): ChannelConnectivityState__Output {
- switch (state) {
- case ConnectivityState.CONNECTING:
- return {
- state: 'CONNECTING',
- };
- case ConnectivityState.IDLE:
- return {
- state: 'IDLE',
- };
- case ConnectivityState.READY:
- return {
- state: 'READY',
- };
- case ConnectivityState.SHUTDOWN:
- return {
- state: 'SHUTDOWN',
- };
- case ConnectivityState.TRANSIENT_FAILURE:
- return {
- state: 'TRANSIENT_FAILURE',
- };
- default:
- return {
- state: 'UNKNOWN',
- };
- }
-}
-
-function dateToProtoTimestamp(date?: Date | null): Timestamp | null {
- if (!date) {
- return null;
- }
- const millisSinceEpoch = date.getTime();
- return {
- seconds: (millisSinceEpoch / 1000) | 0,
- nanos: (millisSinceEpoch % 1000) * 1_000_000,
- };
-}
-
-function getChannelMessage(channelEntry: ChannelEntry): ChannelMessage {
- const resolvedInfo = channelEntry.getInfo();
- return {
- ref: channelRefToMessage(channelEntry.ref),
- data: {
- target: resolvedInfo.target,
- state: connectivityStateToMessage(resolvedInfo.state),
- calls_started: resolvedInfo.callTracker.callsStarted,
- calls_succeeded: resolvedInfo.callTracker.callsSucceeded,
- calls_failed: resolvedInfo.callTracker.callsFailed,
- last_call_started_timestamp: dateToProtoTimestamp(
- resolvedInfo.callTracker.lastCallStartedTimestamp
- ),
- trace: resolvedInfo.trace.getTraceMessage(),
- },
- channel_ref: resolvedInfo.children.channels.map(ref =>
- channelRefToMessage(ref)
- ),
- subchannel_ref: resolvedInfo.children.subchannels.map(ref =>
- subchannelRefToMessage(ref)
- ),
- };
-}
-
-function GetChannel(
- call: ServerUnaryCall,
- callback: sendUnaryData
-): void {
- const channelId = Number.parseInt(call.request.channel_id);
- const channelEntry = channels[channelId];
- if (channelEntry === undefined) {
- callback({
- code: Status.NOT_FOUND,
- details: 'No channel data found for id ' + channelId,
- });
- return;
- }
- callback(null, { channel: getChannelMessage(channelEntry) });
-}
-
-function GetTopChannels(
- call: ServerUnaryCall,
- callback: sendUnaryData