From 434aa8343fdcbb4d5002f934979913c099489bee Mon Sep 17 00:00:00 2001 From: altaf-creator Date: Sun, 16 Nov 2025 19:08:29 +0800 Subject: sdk, del --- frontend-old/node_modules/@grpc/grpc-js/LICENSE | 201 --- frontend-old/node_modules/@grpc/grpc-js/README.md | 79 -- .../@grpc/grpc-js/build/src/admin.d.ts | 11 - .../node_modules/@grpc/grpc-js/build/src/admin.js | 31 - .../@grpc/grpc-js/build/src/admin.js.map | 1 - .../@grpc/grpc-js/build/src/backoff-timeout.d.ts | 90 -- .../@grpc/grpc-js/build/src/backoff-timeout.js | 174 --- .../@grpc/grpc-js/build/src/backoff-timeout.js.map | 1 - .../@grpc/grpc-js/build/src/call-credentials.d.ts | 56 - .../@grpc/grpc-js/build/src/call-credentials.js | 153 --- .../grpc-js/build/src/call-credentials.js.map | 1 - .../@grpc/grpc-js/build/src/call-interface.d.ts | 86 -- .../@grpc/grpc-js/build/src/call-interface.js | 84 -- .../@grpc/grpc-js/build/src/call-interface.js.map | 1 - .../@grpc/grpc-js/build/src/call-number.d.ts | 1 - .../@grpc/grpc-js/build/src/call-number.js | 25 - .../@grpc/grpc-js/build/src/call-number.js.map | 1 - .../node_modules/@grpc/grpc-js/build/src/call.d.ts | 83 -- .../node_modules/@grpc/grpc-js/build/src/call.js | 136 -- .../@grpc/grpc-js/build/src/call.js.map | 1 - .../grpc-js/build/src/channel-credentials.d.ts | 83 -- .../@grpc/grpc-js/build/src/channel-credentials.js | 177 --- .../grpc-js/build/src/channel-credentials.js.map | 1 - .../@grpc/grpc-js/build/src/channel-options.d.ts | 72 -- .../@grpc/grpc-js/build/src/channel-options.js | 69 -- .../@grpc/grpc-js/build/src/channel-options.js.map | 1 - .../@grpc/grpc-js/build/src/channel.d.ts | 76 -- .../@grpc/grpc-js/build/src/channel.js | 68 - .../@grpc/grpc-js/build/src/channel.js.map | 1 - .../@grpc/grpc-js/build/src/channelz.d.ts | 109 -- .../@grpc/grpc-js/build/src/channelz.js | 637 ---------- .../@grpc/grpc-js/build/src/channelz.js.map | 1 - .../grpc-js/build/src/client-interceptors.d.ts | 120 -- .../@grpc/grpc-js/build/src/client-interceptors.js | 428 ------- .../grpc-js/build/src/client-interceptors.js.map | 1 - .../@grpc/grpc-js/build/src/client.d.ts | 75 -- .../node_modules/@grpc/grpc-js/build/src/client.js | 431 ------- .../@grpc/grpc-js/build/src/client.js.map | 1 - .../grpc-js/build/src/compression-algorithms.d.ts | 5 - .../grpc-js/build/src/compression-algorithms.js | 26 - .../build/src/compression-algorithms.js.map | 1 - .../grpc-js/build/src/compression-filter.d.ts | 28 - .../@grpc/grpc-js/build/src/compression-filter.js | 288 ----- .../grpc-js/build/src/compression-filter.js.map | 1 - .../grpc-js/build/src/connectivity-state.d.ts | 7 - .../@grpc/grpc-js/build/src/connectivity-state.js | 28 - .../grpc-js/build/src/connectivity-state.js.map | 1 - .../@grpc/grpc-js/build/src/constants.d.ts | 38 - .../@grpc/grpc-js/build/src/constants.js | 64 - .../@grpc/grpc-js/build/src/constants.js.map | 1 - .../grpc-js/build/src/control-plane-status.d.ts | 5 - .../grpc-js/build/src/control-plane-status.js | 43 - .../grpc-js/build/src/control-plane-status.js.map | 1 - .../@grpc/grpc-js/build/src/deadline.d.ts | 14 - .../@grpc/grpc-js/build/src/deadline.js | 98 -- .../@grpc/grpc-js/build/src/deadline.js.map | 1 - .../@grpc/grpc-js/build/src/duration.d.ts | 7 - .../@grpc/grpc-js/build/src/duration.js | 35 - .../@grpc/grpc-js/build/src/duration.js.map | 1 - .../@grpc/grpc-js/build/src/error.d.ts | 2 - .../node_modules/@grpc/grpc-js/build/src/error.js | 41 - .../@grpc/grpc-js/build/src/error.js.map | 1 - .../@grpc/grpc-js/build/src/events.d.ts | 9 - .../node_modules/@grpc/grpc-js/build/src/events.js | 19 - .../@grpc/grpc-js/build/src/events.js.map | 1 - .../@grpc/grpc-js/build/src/experimental.d.ts | 16 - .../@grpc/grpc-js/build/src/experimental.js | 39 - .../@grpc/grpc-js/build/src/experimental.js.map | 1 - .../@grpc/grpc-js/build/src/filter-stack.d.ts | 22 - .../@grpc/grpc-js/build/src/filter-stack.js | 82 -- .../@grpc/grpc-js/build/src/filter-stack.js.map | 1 - .../@grpc/grpc-js/build/src/filter.d.ts | 26 - .../node_modules/@grpc/grpc-js/build/src/filter.js | 38 - .../@grpc/grpc-js/build/src/filter.js.map | 1 - .../grpc-js/build/src/generated/channelz.d.ts | 72 -- .../@grpc/grpc-js/build/src/generated/channelz.js | 3 - .../grpc-js/build/src/generated/channelz.js.map | 1 - .../build/src/generated/google/protobuf/Any.d.ts | 10 - .../build/src/generated/google/protobuf/Any.js | 4 - .../build/src/generated/google/protobuf/Any.js.map | 1 - .../src/generated/google/protobuf/BoolValue.d.ts | 6 - .../src/generated/google/protobuf/BoolValue.js | 4 - .../src/generated/google/protobuf/BoolValue.js.map | 1 - .../src/generated/google/protobuf/BytesValue.d.ts | 7 - .../src/generated/google/protobuf/BytesValue.js | 4 - .../generated/google/protobuf/BytesValue.js.map | 1 - .../src/generated/google/protobuf/DoubleValue.d.ts | 6 - .../src/generated/google/protobuf/DoubleValue.js | 4 - .../generated/google/protobuf/DoubleValue.js.map | 1 - .../src/generated/google/protobuf/Duration.d.ts | 9 - .../src/generated/google/protobuf/Duration.js | 4 - .../src/generated/google/protobuf/Duration.js.map | 1 - .../src/generated/google/protobuf/FloatValue.d.ts | 6 - .../src/generated/google/protobuf/FloatValue.js | 4 - .../generated/google/protobuf/FloatValue.js.map | 1 - .../src/generated/google/protobuf/Int32Value.d.ts | 6 - .../src/generated/google/protobuf/Int32Value.js | 4 - .../generated/google/protobuf/Int32Value.js.map | 1 - .../src/generated/google/protobuf/Int64Value.d.ts | 7 - .../src/generated/google/protobuf/Int64Value.js | 4 - .../generated/google/protobuf/Int64Value.js.map | 1 - .../src/generated/google/protobuf/StringValue.d.ts | 6 - .../src/generated/google/protobuf/StringValue.js | 4 - .../generated/google/protobuf/StringValue.js.map | 1 - .../src/generated/google/protobuf/Timestamp.d.ts | 9 - .../src/generated/google/protobuf/Timestamp.js | 4 - .../src/generated/google/protobuf/Timestamp.js.map | 1 - .../src/generated/google/protobuf/UInt32Value.d.ts | 6 - .../src/generated/google/protobuf/UInt32Value.js | 4 - .../generated/google/protobuf/UInt32Value.js.map | 1 - .../src/generated/google/protobuf/UInt64Value.d.ts | 7 - .../src/generated/google/protobuf/UInt64Value.js | 4 - .../generated/google/protobuf/UInt64Value.js.map | 1 - .../src/generated/grpc/channelz/v1/Address.d.ts | 80 -- .../src/generated/grpc/channelz/v1/Address.js | 4 - .../src/generated/grpc/channelz/v1/Address.js.map | 1 - .../src/generated/grpc/channelz/v1/Channel.d.ts | 64 - .../src/generated/grpc/channelz/v1/Channel.js | 4 - .../src/generated/grpc/channelz/v1/Channel.js.map | 1 - .../grpc/channelz/v1/ChannelConnectivityState.d.ts | 24 - .../grpc/channelz/v1/ChannelConnectivityState.js | 14 - .../channelz/v1/ChannelConnectivityState.js.map | 1 - .../generated/grpc/channelz/v1/ChannelData.d.ts | 72 -- .../src/generated/grpc/channelz/v1/ChannelData.js | 4 - .../generated/grpc/channelz/v1/ChannelData.js.map | 1 - .../src/generated/grpc/channelz/v1/ChannelRef.d.ts | 27 - .../src/generated/grpc/channelz/v1/ChannelRef.js | 4 - .../generated/grpc/channelz/v1/ChannelRef.js.map | 1 - .../generated/grpc/channelz/v1/ChannelTrace.d.ts | 41 - .../src/generated/grpc/channelz/v1/ChannelTrace.js | 4 - .../generated/grpc/channelz/v1/ChannelTrace.js.map | 1 - .../grpc/channelz/v1/ChannelTraceEvent.d.ts | 74 -- .../grpc/channelz/v1/ChannelTraceEvent.js | 15 - .../grpc/channelz/v1/ChannelTraceEvent.js.map | 1 - .../src/generated/grpc/channelz/v1/Channelz.d.ts | 159 --- .../src/generated/grpc/channelz/v1/Channelz.js | 4 - .../src/generated/grpc/channelz/v1/Channelz.js.map | 1 - .../grpc/channelz/v1/GetChannelRequest.d.ts | 13 - .../grpc/channelz/v1/GetChannelRequest.js | 4 - .../grpc/channelz/v1/GetChannelRequest.js.map | 1 - .../grpc/channelz/v1/GetChannelResponse.d.ts | 15 - .../grpc/channelz/v1/GetChannelResponse.js | 4 - .../grpc/channelz/v1/GetChannelResponse.js.map | 1 - .../grpc/channelz/v1/GetServerRequest.d.ts | 13 - .../generated/grpc/channelz/v1/GetServerRequest.js | 4 - .../grpc/channelz/v1/GetServerRequest.js.map | 1 - .../grpc/channelz/v1/GetServerResponse.d.ts | 15 - .../grpc/channelz/v1/GetServerResponse.js | 4 - .../grpc/channelz/v1/GetServerResponse.js.map | 1 - .../grpc/channelz/v1/GetServerSocketsRequest.d.ts | 35 - .../grpc/channelz/v1/GetServerSocketsRequest.js | 4 - .../channelz/v1/GetServerSocketsRequest.js.map | 1 - .../grpc/channelz/v1/GetServerSocketsResponse.d.ts | 29 - .../grpc/channelz/v1/GetServerSocketsResponse.js | 4 - .../channelz/v1/GetServerSocketsResponse.js.map | 1 - .../grpc/channelz/v1/GetServersRequest.d.ts | 33 - .../grpc/channelz/v1/GetServersRequest.js | 4 - .../grpc/channelz/v1/GetServersRequest.js.map | 1 - .../grpc/channelz/v1/GetServersResponse.d.ts | 29 - .../grpc/channelz/v1/GetServersResponse.js | 4 - .../grpc/channelz/v1/GetServersResponse.js.map | 1 - .../grpc/channelz/v1/GetSocketRequest.d.ts | 25 - .../generated/grpc/channelz/v1/GetSocketRequest.js | 4 - .../grpc/channelz/v1/GetSocketRequest.js.map | 1 - .../grpc/channelz/v1/GetSocketResponse.d.ts | 15 - .../grpc/channelz/v1/GetSocketResponse.js | 4 - .../grpc/channelz/v1/GetSocketResponse.js.map | 1 - .../grpc/channelz/v1/GetSubchannelRequest.d.ts | 13 - .../grpc/channelz/v1/GetSubchannelRequest.js | 4 - .../grpc/channelz/v1/GetSubchannelRequest.js.map | 1 - .../grpc/channelz/v1/GetSubchannelResponse.d.ts | 15 - .../grpc/channelz/v1/GetSubchannelResponse.js | 4 - .../grpc/channelz/v1/GetSubchannelResponse.js.map | 1 - .../grpc/channelz/v1/GetTopChannelsRequest.d.ts | 33 - .../grpc/channelz/v1/GetTopChannelsRequest.js | 4 - .../grpc/channelz/v1/GetTopChannelsRequest.js.map | 1 - .../grpc/channelz/v1/GetTopChannelsResponse.d.ts | 29 - .../grpc/channelz/v1/GetTopChannelsResponse.js | 4 - .../grpc/channelz/v1/GetTopChannelsResponse.js.map | 1 - .../src/generated/grpc/channelz/v1/Security.d.ts | 80 -- .../src/generated/grpc/channelz/v1/Security.js | 4 - .../src/generated/grpc/channelz/v1/Security.js.map | 1 - .../src/generated/grpc/channelz/v1/Server.d.ts | 41 - .../build/src/generated/grpc/channelz/v1/Server.js | 4 - .../src/generated/grpc/channelz/v1/Server.js.map | 1 - .../src/generated/grpc/channelz/v1/ServerData.d.ts | 53 - .../src/generated/grpc/channelz/v1/ServerData.js | 4 - .../generated/grpc/channelz/v1/ServerData.js.map | 1 - .../src/generated/grpc/channelz/v1/ServerRef.d.ts | 27 - .../src/generated/grpc/channelz/v1/ServerRef.js | 4 - .../generated/grpc/channelz/v1/ServerRef.js.map | 1 - .../src/generated/grpc/channelz/v1/Socket.d.ts | 66 - .../build/src/generated/grpc/channelz/v1/Socket.js | 4 - .../src/generated/grpc/channelz/v1/Socket.js.map | 1 - .../src/generated/grpc/channelz/v1/SocketData.d.ts | 146 --- .../src/generated/grpc/channelz/v1/SocketData.js | 4 - .../generated/grpc/channelz/v1/SocketData.js.map | 1 - .../generated/grpc/channelz/v1/SocketOption.d.ts | 43 - .../src/generated/grpc/channelz/v1/SocketOption.js | 4 - .../generated/grpc/channelz/v1/SocketOption.js.map | 1 - .../grpc/channelz/v1/SocketOptionLinger.d.ts | 29 - .../grpc/channelz/v1/SocketOptionLinger.js | 4 - .../grpc/channelz/v1/SocketOptionLinger.js.map | 1 - .../grpc/channelz/v1/SocketOptionTcpInfo.d.ts | 70 -- .../grpc/channelz/v1/SocketOptionTcpInfo.js | 4 - .../grpc/channelz/v1/SocketOptionTcpInfo.js.map | 1 - .../grpc/channelz/v1/SocketOptionTimeout.d.ts | 15 - .../grpc/channelz/v1/SocketOptionTimeout.js | 4 - .../grpc/channelz/v1/SocketOptionTimeout.js.map | 1 - .../src/generated/grpc/channelz/v1/SocketRef.d.ts | 27 - .../src/generated/grpc/channelz/v1/SocketRef.js | 4 - .../generated/grpc/channelz/v1/SocketRef.js.map | 1 - .../src/generated/grpc/channelz/v1/Subchannel.d.ts | 66 - .../src/generated/grpc/channelz/v1/Subchannel.js | 4 - .../generated/grpc/channelz/v1/Subchannel.js.map | 1 - .../generated/grpc/channelz/v1/SubchannelRef.d.ts | 27 - .../generated/grpc/channelz/v1/SubchannelRef.js | 4 - .../grpc/channelz/v1/SubchannelRef.js.map | 1 - .../@grpc/grpc-js/build/src/http_proxy.d.ts | 17 - .../@grpc/grpc-js/build/src/http_proxy.js | 260 ---- .../@grpc/grpc-js/build/src/http_proxy.js.map | 1 - .../@grpc/grpc-js/build/src/index.d.ts | 77 -- .../node_modules/@grpc/grpc-js/build/src/index.js | 140 --- .../@grpc/grpc-js/build/src/index.js.map | 1 - .../@grpc/grpc-js/build/src/internal-channel.d.ts | 118 -- .../@grpc/grpc-js/build/src/internal-channel.js | 533 -------- .../grpc-js/build/src/internal-channel.js.map | 1 - .../build/src/load-balancer-child-handler.d.ts | 24 - .../build/src/load-balancer-child-handler.js | 151 --- .../build/src/load-balancer-child-handler.js.map | 1 - .../build/src/load-balancer-outlier-detection.d.ts | 61 - .../build/src/load-balancer-outlier-detection.js | 608 --------- .../src/load-balancer-outlier-detection.js.map | 1 - .../build/src/load-balancer-pick-first.d.ts | 97 -- .../grpc-js/build/src/load-balancer-pick-first.js | 393 ------ .../build/src/load-balancer-pick-first.js.map | 1 - .../build/src/load-balancer-round-robin.d.ts | 21 - .../grpc-js/build/src/load-balancer-round-robin.js | 174 --- .../build/src/load-balancer-round-robin.js.map | 1 - .../@grpc/grpc-js/build/src/load-balancer.d.ts | 97 -- .../@grpc/grpc-js/build/src/load-balancer.js | 103 -- .../@grpc/grpc-js/build/src/load-balancer.js.map | 1 - .../grpc-js/build/src/load-balancing-call.d.ts | 45 - .../@grpc/grpc-js/build/src/load-balancing-call.js | 269 ---- .../grpc-js/build/src/load-balancing-call.js.map | 1 - .../@grpc/grpc-js/build/src/logging.d.ts | 8 - .../@grpc/grpc-js/build/src/logging.js | 114 -- .../@grpc/grpc-js/build/src/logging.js.map | 1 - .../@grpc/grpc-js/build/src/make-client.d.ts | 72 -- .../@grpc/grpc-js/build/src/make-client.js | 144 --- .../@grpc/grpc-js/build/src/make-client.js.map | 1 - .../@grpc/grpc-js/build/src/metadata.d.ts | 87 -- .../@grpc/grpc-js/build/src/metadata.js | 249 ---- .../@grpc/grpc-js/build/src/metadata.js.map | 1 - .../@grpc/grpc-js/build/src/object-stream.d.ts | 28 - .../@grpc/grpc-js/build/src/object-stream.js | 19 - .../@grpc/grpc-js/build/src/object-stream.js.map | 1 - .../@grpc/grpc-js/build/src/picker.d.ts | 91 -- .../node_modules/@grpc/grpc-js/build/src/picker.js | 78 -- .../@grpc/grpc-js/build/src/picker.js.map | 1 - .../@grpc/grpc-js/build/src/resolver-dns.d.ts | 13 - .../@grpc/grpc-js/build/src/resolver-dns.js | 328 ----- .../@grpc/grpc-js/build/src/resolver-dns.js.map | 1 - .../@grpc/grpc-js/build/src/resolver-ip.d.ts | 1 - .../@grpc/grpc-js/build/src/resolver-ip.js | 105 -- .../@grpc/grpc-js/build/src/resolver-ip.js.map | 1 - .../@grpc/grpc-js/build/src/resolver-uds.d.ts | 1 - .../@grpc/grpc-js/build/src/resolver-uds.js | 51 - .../@grpc/grpc-js/build/src/resolver-uds.js.map | 1 - .../@grpc/grpc-js/build/src/resolver.d.ts | 105 -- .../@grpc/grpc-js/build/src/resolver.js | 88 -- .../@grpc/grpc-js/build/src/resolver.js.map | 1 - .../@grpc/grpc-js/build/src/resolving-call.d.ts | 45 - .../@grpc/grpc-js/build/src/resolving-call.js | 273 ---- .../@grpc/grpc-js/build/src/resolving-call.js.map | 1 - .../grpc-js/build/src/resolving-load-balancer.d.ts | 67 - .../grpc-js/build/src/resolving-load-balancer.js | 304 ----- .../build/src/resolving-load-balancer.js.map | 1 - .../@grpc/grpc-js/build/src/retrying-call.d.ts | 95 -- .../@grpc/grpc-js/build/src/retrying-call.js | 639 ---------- .../@grpc/grpc-js/build/src/retrying-call.js.map | 1 - .../@grpc/grpc-js/build/src/server-call.d.ts | 162 --- .../@grpc/grpc-js/build/src/server-call.js | 695 ----------- .../@grpc/grpc-js/build/src/server-call.js.map | 1 - .../grpc-js/build/src/server-credentials.d.ts | 13 - .../@grpc/grpc-js/build/src/server-credentials.js | 81 -- .../grpc-js/build/src/server-credentials.js.map | 1 - .../@grpc/grpc-js/build/src/server.d.ts | 56 - .../node_modules/@grpc/grpc-js/build/src/server.js | 892 -------------- .../@grpc/grpc-js/build/src/server.js.map | 1 - .../@grpc/grpc-js/build/src/service-config.d.ts | 56 - .../@grpc/grpc-js/build/src/service-config.js | 417 ------- .../@grpc/grpc-js/build/src/service-config.js.map | 1 - .../@grpc/grpc-js/build/src/status-builder.d.ts | 28 - .../@grpc/grpc-js/build/src/status-builder.js | 68 - .../@grpc/grpc-js/build/src/status-builder.js.map | 1 - .../@grpc/grpc-js/build/src/stream-decoder.d.ts | 13 - .../@grpc/grpc-js/build/src/stream-decoder.js | 100 -- .../@grpc/grpc-js/build/src/stream-decoder.js.map | 1 - .../grpc-js/build/src/subchannel-address.d.ts | 18 - .../@grpc/grpc-js/build/src/subchannel-address.js | 66 - .../grpc-js/build/src/subchannel-address.js.map | 1 - .../@grpc/grpc-js/build/src/subchannel-call.d.ts | 63 - .../@grpc/grpc-js/build/src/subchannel-call.js | 470 ------- .../@grpc/grpc-js/build/src/subchannel-call.js.map | 1 - .../grpc-js/build/src/subchannel-interface.d.ts | 49 - .../grpc-js/build/src/subchannel-interface.js | 59 - .../grpc-js/build/src/subchannel-interface.js.map | 1 - .../@grpc/grpc-js/build/src/subchannel-pool.d.ts | 40 - .../@grpc/grpc-js/build/src/subchannel-pool.js | 137 --- .../@grpc/grpc-js/build/src/subchannel-pool.js.map | 1 - .../@grpc/grpc-js/build/src/subchannel.d.ts | 119 -- .../@grpc/grpc-js/build/src/subchannel.js | 353 ------ .../@grpc/grpc-js/build/src/subchannel.js.map | 1 - .../@grpc/grpc-js/build/src/tls-helpers.d.ts | 3 - .../@grpc/grpc-js/build/src/tls-helpers.js | 34 - .../@grpc/grpc-js/build/src/tls-helpers.js.map | 1 - .../@grpc/grpc-js/build/src/transport.d.ts | 134 -- .../@grpc/grpc-js/build/src/transport.js | 644 ---------- .../@grpc/grpc-js/build/src/transport.js.map | 1 - .../@grpc/grpc-js/build/src/uri-parser.d.ts | 12 - .../@grpc/grpc-js/build/src/uri-parser.js | 111 -- .../@grpc/grpc-js/build/src/uri-parser.js.map | 1 - .../node_modules/@grpc/grpc-js/package.json | 85 -- .../@grpc/grpc-js/proto/channelz.proto | 564 --------- .../node_modules/@grpc/grpc-js/src/admin.ts | 45 - .../@grpc/grpc-js/src/backoff-timeout.ts | 196 --- .../@grpc/grpc-js/src/call-credentials.ts | 226 ---- .../@grpc/grpc-js/src/call-interface.ts | 173 --- .../node_modules/@grpc/grpc-js/src/call-number.ts | 22 - .../node_modules/@grpc/grpc-js/src/call.ts | 200 --- .../@grpc/grpc-js/src/channel-credentials.ts | 267 ---- .../@grpc/grpc-js/src/channel-options.ts | 119 -- .../node_modules/@grpc/grpc-js/src/channel.ts | 174 --- .../node_modules/@grpc/grpc-js/src/channelz.ts | 886 ------------- .../@grpc/grpc-js/src/client-interceptors.ts | 577 --------- .../node_modules/@grpc/grpc-js/src/client.ts | 715 ----------- .../@grpc/grpc-js/src/compression-algorithms.ts | 22 - .../@grpc/grpc-js/src/compression-filter.ts | 350 ------ .../@grpc/grpc-js/src/connectivity-state.ts | 24 - .../node_modules/@grpc/grpc-js/src/constants.ts | 66 - .../@grpc/grpc-js/src/control-plane-status.ts | 43 - .../node_modules/@grpc/grpc-js/src/deadline.ts | 95 -- .../node_modules/@grpc/grpc-js/src/duration.ts | 36 - .../node_modules/@grpc/grpc-js/src/error.ts | 37 - .../node_modules/@grpc/grpc-js/src/events.ts | 26 - .../node_modules/@grpc/grpc-js/src/experimental.ts | 48 - .../node_modules/@grpc/grpc-js/src/filter-stack.ts | 100 -- .../node_modules/@grpc/grpc-js/src/filter.ts | 63 - .../@grpc/grpc-js/src/generated/channelz.ts | 73 -- .../grpc-js/src/generated/google/protobuf/Any.ts | 13 - .../src/generated/google/protobuf/BoolValue.ts | 10 - .../src/generated/google/protobuf/BytesValue.ts | 10 - .../src/generated/google/protobuf/DoubleValue.ts | 10 - .../src/generated/google/protobuf/Duration.ts | 13 - .../src/generated/google/protobuf/FloatValue.ts | 10 - .../src/generated/google/protobuf/Int32Value.ts | 10 - .../src/generated/google/protobuf/Int64Value.ts | 11 - .../src/generated/google/protobuf/StringValue.ts | 10 - .../src/generated/google/protobuf/Timestamp.ts | 13 - .../src/generated/google/protobuf/UInt32Value.ts | 10 - .../src/generated/google/protobuf/UInt64Value.ts | 11 - .../src/generated/grpc/channelz/v1/Address.ts | 89 -- .../src/generated/grpc/channelz/v1/Channel.ts | 68 - .../grpc/channelz/v1/ChannelConnectivityState.ts | 45 - .../src/generated/grpc/channelz/v1/ChannelData.ts | 76 -- .../src/generated/grpc/channelz/v1/ChannelRef.ts | 31 - .../src/generated/grpc/channelz/v1/ChannelTrace.ts | 45 - .../grpc/channelz/v1/ChannelTraceEvent.ts | 91 -- .../src/generated/grpc/channelz/v1/Channelz.ts | 178 --- .../grpc/channelz/v1/GetChannelRequest.ts | 17 - .../grpc/channelz/v1/GetChannelResponse.ts | 19 - .../generated/grpc/channelz/v1/GetServerRequest.ts | 17 - .../grpc/channelz/v1/GetServerResponse.ts | 19 - .../grpc/channelz/v1/GetServerSocketsRequest.ts | 39 - .../grpc/channelz/v1/GetServerSocketsResponse.ts | 33 - .../grpc/channelz/v1/GetServersRequest.ts | 37 - .../grpc/channelz/v1/GetServersResponse.ts | 33 - .../generated/grpc/channelz/v1/GetSocketRequest.ts | 29 - .../grpc/channelz/v1/GetSocketResponse.ts | 19 - .../grpc/channelz/v1/GetSubchannelRequest.ts | 17 - .../grpc/channelz/v1/GetSubchannelResponse.ts | 19 - .../grpc/channelz/v1/GetTopChannelsRequest.ts | 37 - .../grpc/channelz/v1/GetTopChannelsResponse.ts | 33 - .../src/generated/grpc/channelz/v1/Security.ts | 87 -- .../src/generated/grpc/channelz/v1/Server.ts | 45 - .../src/generated/grpc/channelz/v1/ServerData.ts | 57 - .../src/generated/grpc/channelz/v1/ServerRef.ts | 31 - .../src/generated/grpc/channelz/v1/Socket.ts | 70 -- .../src/generated/grpc/channelz/v1/SocketData.ts | 150 --- .../src/generated/grpc/channelz/v1/SocketOption.ts | 47 - .../grpc/channelz/v1/SocketOptionLinger.ts | 33 - .../grpc/channelz/v1/SocketOptionTcpInfo.ts | 74 -- .../grpc/channelz/v1/SocketOptionTimeout.ts | 19 - .../src/generated/grpc/channelz/v1/SocketRef.ts | 31 - .../src/generated/grpc/channelz/v1/Subchannel.ts | 70 -- .../generated/grpc/channelz/v1/SubchannelRef.ts | 31 - .../node_modules/@grpc/grpc-js/src/http_proxy.ts | 311 ----- .../node_modules/@grpc/grpc-js/src/index.ts | 284 ----- .../@grpc/grpc-js/src/internal-channel.ts | 830 ------------- .../grpc-js/src/load-balancer-child-handler.ts | 169 --- .../grpc-js/src/load-balancer-outlier-detection.ts | 882 ------------- .../@grpc/grpc-js/src/load-balancer-pick-first.ts | 487 -------- .../@grpc/grpc-js/src/load-balancer-round-robin.ts | 249 ---- .../@grpc/grpc-js/src/load-balancer.ts | 230 ---- .../@grpc/grpc-js/src/load-balancing-call.ts | 351 ------ .../node_modules/@grpc/grpc-js/src/logging.ts | 123 -- .../node_modules/@grpc/grpc-js/src/make-client.ts | 238 ---- .../node_modules/@grpc/grpc-js/src/metadata.ts | 298 ----- .../@grpc/grpc-js/src/object-stream.ts | 66 - .../node_modules/@grpc/grpc-js/src/picker.ts | 146 --- .../node_modules/@grpc/grpc-js/src/resolver-dns.ts | 412 ------- .../node_modules/@grpc/grpc-js/src/resolver-ip.ts | 120 -- .../node_modules/@grpc/grpc-js/src/resolver-uds.ts | 63 - .../node_modules/@grpc/grpc-js/src/resolver.ts | 180 --- .../@grpc/grpc-js/src/resolving-call.ts | 331 ----- .../@grpc/grpc-js/src/resolving-load-balancer.ts | 403 ------ .../@grpc/grpc-js/src/retrying-call.ts | 821 ------------ .../node_modules/@grpc/grpc-js/src/server-call.ts | 1022 --------------- .../@grpc/grpc-js/src/server-credentials.ts | 108 -- .../node_modules/@grpc/grpc-js/src/server.ts | 1300 -------------------- .../@grpc/grpc-js/src/service-config.ts | 542 -------- .../@grpc/grpc-js/src/status-builder.ts | 80 -- .../@grpc/grpc-js/src/stream-decoder.ts | 110 -- .../@grpc/grpc-js/src/subchannel-address.ts | 88 -- .../@grpc/grpc-js/src/subchannel-call.ts | 547 -------- .../@grpc/grpc-js/src/subchannel-interface.ts | 97 -- .../@grpc/grpc-js/src/subchannel-pool.ts | 176 --- .../node_modules/@grpc/grpc-js/src/subchannel.ts | 482 -------- .../node_modules/@grpc/grpc-js/src/tls-helpers.ts | 35 - .../node_modules/@grpc/grpc-js/src/transport.ts | 829 ------------- .../node_modules/@grpc/grpc-js/src/uri-parser.ts | 114 -- .../node_modules/@grpc/proto-loader/LICENSE | 201 --- .../node_modules/@grpc/proto-loader/README.md | 140 --- .../build/bin/proto-loader-gen-types.js | 913 -------------- .../build/bin/proto-loader-gen-types.js.map | 1 - .../@grpc/proto-loader/build/src/index.d.ts | 160 --- .../@grpc/proto-loader/build/src/index.js | 244 ---- .../@grpc/proto-loader/build/src/index.js.map | 1 - .../@grpc/proto-loader/build/src/util.d.ts | 27 - .../@grpc/proto-loader/build/src/util.js | 89 -- .../@grpc/proto-loader/build/src/util.js.map | 1 - .../node_modules/@grpc/proto-loader/package.json | 69 -- 443 files changed, 39109 deletions(-) delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/LICENSE delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/README.md delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/admin.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/admin.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/admin.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call-credentials.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call-credentials.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call-interface.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call-interface.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call-interface.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call-number.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call-number.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call-number.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/call.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channel-credentials.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channel-credentials.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channel-options.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channel-options.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channel.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channel.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channel.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channelz.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channelz.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/channelz.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/client-interceptors.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/client-interceptors.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/client.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/client.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/client.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/connectivity-state.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/connectivity-state.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/constants.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/constants.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/constants.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/control-plane-status.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/control-plane-status.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/control-plane-status.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/deadline.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/deadline.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/deadline.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/duration.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/duration.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/duration.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/error.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/error.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/error.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/events.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/events.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/events.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/experimental.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/experimental.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/experimental.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/filter-stack.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/filter-stack.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/filter.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/filter.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/filter.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/channelz.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/channelz.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/channelz.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/http_proxy.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/http_proxy.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/http_proxy.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/index.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/index.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/index.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancing-call.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/logging.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/logging.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/logging.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/make-client.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/make-client.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/make-client.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/metadata.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/metadata.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/metadata.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/object-stream.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/object-stream.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/picker.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/picker.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/picker.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolver.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-call.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-call.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-call.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/retrying-call.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/retrying-call.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/retrying-call.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/server-call.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/server-call.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/server-call.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/server-credentials.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/server-credentials.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/server.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/server.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/server.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/service-config.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/service-config.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/service-config.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/status-builder.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/status-builder.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-address.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-address.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-call.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-call.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-call.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-pool.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/tls-helpers.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/tls-helpers.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/tls-helpers.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/transport.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/transport.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/transport.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/uri-parser.js delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/build/src/uri-parser.js.map delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/package.json delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/proto/channelz.proto delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/admin.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/backoff-timeout.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/call-credentials.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/call-interface.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/call-number.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/call.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/channel-credentials.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/channel-options.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/channel.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/channelz.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/client-interceptors.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/client.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/compression-algorithms.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/compression-filter.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/connectivity-state.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/constants.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/control-plane-status.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/deadline.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/duration.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/error.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/events.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/experimental.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/filter-stack.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/filter.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/channelz.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Any.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BoolValue.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BytesValue.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/DoubleValue.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Duration.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/FloatValue.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int32Value.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int64Value.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/StringValue.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Timestamp.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt32Value.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt64Value.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Address.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channel.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelConnectivityState.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelData.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelRef.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTrace.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTraceEvent.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channelz.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelRequest.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelResponse.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerRequest.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerResponse.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsRequest.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsResponse.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersRequest.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersResponse.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketRequest.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketResponse.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelRequest.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelResponse.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsRequest.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsResponse.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Security.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Server.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerData.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerRef.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Socket.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketData.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOption.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionLinger.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTimeout.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketRef.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Subchannel.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SubchannelRef.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/http_proxy.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/index.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/internal-channel.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-child-handler.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-outlier-detection.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-pick-first.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-round-robin.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/load-balancer.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/load-balancing-call.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/logging.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/make-client.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/metadata.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/object-stream.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/picker.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/resolver-dns.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/resolver-ip.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/resolver-uds.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/resolver.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/resolving-call.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/resolving-load-balancer.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/retrying-call.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/server-call.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/server-credentials.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/server.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/service-config.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/status-builder.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/stream-decoder.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/subchannel-address.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/subchannel-call.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/subchannel-interface.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/subchannel-pool.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/subchannel.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/tls-helpers.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/transport.ts delete mode 100644 frontend-old/node_modules/@grpc/grpc-js/src/uri-parser.ts delete mode 100644 frontend-old/node_modules/@grpc/proto-loader/LICENSE delete mode 100644 frontend-old/node_modules/@grpc/proto-loader/README.md delete mode 100755 frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js delete mode 100644 frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js.map delete mode 100644 frontend-old/node_modules/@grpc/proto-loader/build/src/index.d.ts delete mode 100644 frontend-old/node_modules/@grpc/proto-loader/build/src/index.js delete mode 100644 frontend-old/node_modules/@grpc/proto-loader/build/src/index.js.map delete mode 100644 frontend-old/node_modules/@grpc/proto-loader/build/src/util.d.ts delete mode 100644 frontend-old/node_modules/@grpc/proto-loader/build/src/util.js delete mode 100644 frontend-old/node_modules/@grpc/proto-loader/build/src/util.js.map delete mode 100644 frontend-old/node_modules/@grpc/proto-loader/package.json (limited to 'frontend-old/node_modules/@grpc') diff --git a/frontend-old/node_modules/@grpc/grpc-js/LICENSE b/frontend-old/node_modules/@grpc/grpc-js/LICENSE deleted file mode 100644 index 8dada3e..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/README.md b/frontend-old/node_modules/@grpc/grpc-js/README.md deleted file mode 100644 index eb04ece..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/admin.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/admin.d.ts deleted file mode 100644 index 92b9bba..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/admin.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/admin.js deleted file mode 100644 index 9fd8e64..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/admin.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/admin.js.map deleted file mode 100644 index e6e801a..0000000 --- a/frontend-old/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,CAAC;QAC5E,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAJD,4DAIC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts deleted file mode 100644 index c98e3a0..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js deleted file mode 100644 index 02762d5..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js.map deleted file mode 100644 index e3462d7..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts deleted file mode 100644 index 1564eac..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/call-credentials.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/call-credentials.js deleted file mode 100644 index 67b9266..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/call-credentials.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/call-credentials.js.map deleted file mode 100644 index 8a4e9d6..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/call-interface.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/call-interface.d.ts deleted file mode 100644 index bbb098c..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/call-interface.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/call-interface.js deleted file mode 100644 index cdef46f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/call-interface.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/call-interface.js.map deleted file mode 100644 index 9cb4c7e..0000000 --- a/frontend-old/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,CAAC;YAC3B,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;QACjC,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxD,CAAC;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,CAAC;gBAC5B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;gBAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,CAAC;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,CAAC;gBACtD,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA3DD,4DA2DC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/call-number.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/call-number.d.ts deleted file mode 100644 index a679ff6..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/call-number.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function getNextCallNumber(): number; diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/call-number.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/call-number.js deleted file mode 100644 index a694f0f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/call-number.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/call-number.js.map deleted file mode 100644 index 9a77ba9..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/call.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/call.d.ts deleted file mode 100644 index d223aa3..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/call.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/call.js deleted file mode 100644 index 029f679..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/call.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/call.js.map deleted file mode 100644 index ed4d096..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts deleted file mode 100644 index 75b0312..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-credentials.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-credentials.js deleted file mode 100644 index 9e00e0b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-credentials.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-credentials.js.map deleted file mode 100644 index f512cba..0000000 --- a/frontend-old/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":"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"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts deleted file mode 100644 index 8fdb06d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-options.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-options.js deleted file mode 100644 index 9e3bb75..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-options.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/channel-options.js.map deleted file mode 100644 index aa3bb6b..0000000 --- a/frontend-old/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,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,kDAkBC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/channel.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/channel.d.ts deleted file mode 100644 index 62b43e7..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/channel.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/channel.js deleted file mode 100644 index 49e8639..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/channel.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/channel.js.map deleted file mode 100644 index 8758e84..0000000 --- a/frontend-old/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,CAAC;YAC/B,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,CAAC,WAAW,YAAY,wCAAkB,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,SAAS,CACjB,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;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,CAAC;YAC/B,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,YAAY,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,SAAS,CACjB,uDAAuD,CACxD,CAAC;QACJ,CAAC;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/frontend-old/node_modules/@grpc/grpc-js/build/src/channelz.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/channelz.d.ts deleted file mode 100644 index 388ef2d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/channelz.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/channelz.js deleted file mode 100644 index 9a8fc30..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/channelz.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/channelz.js.map deleted file mode 100644 index 742d99b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts deleted file mode 100644 index 1ecfb34..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/client-interceptors.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/client-interceptors.js deleted file mode 100644 index 76352e9..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/client-interceptors.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/client-interceptors.js.map deleted file mode 100644 index e1dfd73..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/client.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/client.d.ts deleted file mode 100644 index a57bfb5..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/client.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/client.js deleted file mode 100644 index f29ced0..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/client.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/client.js.map deleted file mode 100644 index 3578015..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts deleted file mode 100644 index 555b222..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js deleted file mode 100644 index 15a4f00..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js.map deleted file mode 100644 index 760772f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.d.ts deleted file mode 100644 index 1b6b48f..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.d.ts +++ /dev/null @@ -1,28 +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; - private maxReceiveMessageLength; - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.js deleted file mode 100644 index 41c3c37..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.js +++ /dev/null @@ -1,288 +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 { - constructor(maxRecvMessageLength) { - super(); - this.maxRecvMessageLength = maxRecvMessageLength; - } - 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) => { - let totalLength = 0; - const messageParts = []; - const decompresser = zlib.createInflate(); - decompresser.on('data', (chunk) => { - messageParts.push(chunk); - totalLength += chunk.byteLength; - if (this.maxRecvMessageLength !== -1 && totalLength > this.maxRecvMessageLength) { - decompresser.destroy(); - reject({ - code: constants_1.Status.RESOURCE_EXHAUSTED, - details: `Received message that decompresses to a size larger than ${this.maxRecvMessageLength}` - }); - } - }); - decompresser.on('end', () => { - resolve(Buffer.concat(messageParts)); - }); - decompresser.write(message); - decompresser.end(); - }); - } -} -class GzipHandler extends CompressionHandler { - constructor(maxRecvMessageLength) { - super(); - this.maxRecvMessageLength = maxRecvMessageLength; - } - 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) => { - let totalLength = 0; - const messageParts = []; - const decompresser = zlib.createGunzip(); - decompresser.on('data', (chunk) => { - messageParts.push(chunk); - totalLength += chunk.byteLength; - if (this.maxRecvMessageLength !== -1 && totalLength > this.maxRecvMessageLength) { - decompresser.destroy(); - reject({ - code: constants_1.Status.RESOURCE_EXHAUSTED, - details: `Received message that decompresses to a size larger than ${this.maxRecvMessageLength}` - }); - } - }); - decompresser.on('end', () => { - resolve(Buffer.concat(messageParts)); - }); - decompresser.write(message); - decompresser.end(); - }); - } -} -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, maxReceiveMessageSize) { - switch (compressionName) { - case 'identity': - return new IdentityHandler(); - case 'deflate': - return new DeflateHandler(maxReceiveMessageSize); - case 'gzip': - return new GzipHandler(maxReceiveMessageSize); - default: - return new UnknownHandler(compressionName); - } -} -class CompressionFilter extends filter_1.BaseFilter { - constructor(channelOptions, sharedFilterConfig) { - var _a, _b; - super(); - this.sharedFilterConfig = sharedFilterConfig; - this.sendCompression = new IdentityHandler(); - this.receiveCompression = new IdentityHandler(); - this.currentCompressionAlgorithm = 'identity'; - const compressionAlgorithmKey = channelOptions['grpc.default_compression_algorithm']; - this.maxReceiveMessageLength = (_a = channelOptions['grpc.max_receive_message_length']) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH; - if (compressionAlgorithmKey !== undefined) { - if (isCompressionAlgorithmKey(compressionAlgorithmKey)) { - const clientSelectedEncoding = compression_algorithms_1.CompressionAlgorithms[compressionAlgorithmKey]; - const serverSupportedEncodings = (_b = sharedFilterConfig.serverSupportedEncodingHeader) === null || _b === void 0 ? void 0 : _b.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, -1); - } - } - 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, this.maxReceiveMessageLength); - } - } - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/compression-filter.js.map deleted file mode 100644 index 9a9b1af..0000000 --- a/frontend-old/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":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,6BAA6B;AAK7B,qEAAiE;AACjE,2CAAuF;AACvF,qCAA6D;AAC7D,qCAAqC;AAGrC,MAAM,yBAAyB,GAAG,CAChC,GAAW,EACmB,EAAE;IAChC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,8CAAqB,CAAC,GAAG,CAAC,KAAK,QAAQ,CAC1E,CAAC;AACJ,CAAC,CAAC;AAQF,MAAe,kBAAkB;IAG/B;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,QAAiB;QACnD,IAAI,aAAa,GAAG,OAAO,CAAC;QAC5B,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAED,MAAM,eAAgB,SAAQ,kBAAkB;IAC9C,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,QAAiB;QACnD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD;0BACkB;QAClB,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,qEAAqE,CACtE,CACF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,cAAe,SAAQ,kBAAkB;IAC7C,YAAoB,oBAA4B;QAC9C,KAAK,EAAE,CAAC;QADU,yBAAoB,GAApB,oBAAoB,CAAQ;IAEhD,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACpC,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzB,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC;gBAChC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,IAAI,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAChF,YAAY,CAAC,OAAO,EAAE,CAAC;oBACvB,MAAM,CAAC;wBACL,IAAI,EAAE,kBAAM,CAAC,kBAAkB;wBAC/B,OAAO,EAAE,4DAA4D,IAAI,CAAC,oBAAoB,EAAE;qBACjG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,YAAY,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,WAAY,SAAQ,kBAAkB;IAC1C,YAAoB,oBAA4B;QAC9C,KAAK,EAAE,CAAC;QADU,yBAAoB,GAApB,oBAAoB,CAAQ;IAEhD,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACjC,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzB,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC;gBAChC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,IAAI,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAChF,YAAY,CAAC,OAAO,EAAE,CAAC;oBACvB,MAAM,CAAC;wBACL,IAAI,EAAE,kBAAM,CAAC,kBAAkB;wBAC/B,OAAO,EAAE,4DAA4D,IAAI,CAAC,oBAAoB,EAAE;qBACjG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,YAAY,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,cAAe,SAAQ,kBAAkB;IAC7C,YAA6B,eAAuB;QAClD,KAAK,EAAE,CAAC;QADmB,oBAAe,GAAf,eAAe,CAAQ;IAEpD,CAAC;IACD,eAAe,CAAC,OAAe;QAC7B,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,mEAAmE,IAAI,CAAC,eAAe,EAAE,CAC1F,CACF,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,6BAA6B;QAC7B,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,eAAe,EAAE,CAAC,CACvE,CAAC;IACJ,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,eAAuB,EAAE,qBAA6B;IACnF,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,UAAU;YACb,OAAO,IAAI,eAAe,EAAE,CAAC;QAC/B,KAAK,SAAS;YACZ,OAAO,IAAI,cAAc,CAAC,qBAAqB,CAAC,CAAC;QACnD,KAAK,MAAM;YACT,OAAO,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAChD;YACE,OAAO,IAAI,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAa,iBAAkB,SAAQ,mBAAU;IAM/C,YACE,cAA8B,EACtB,kBAAiD;;QAEzD,KAAK,EAAE,CAAC;QAFA,uBAAkB,GAAlB,kBAAkB,CAA+B;QAPnD,oBAAe,GAAuB,IAAI,eAAe,EAAE,CAAC;QAC5D,uBAAkB,GAAuB,IAAI,eAAe,EAAE,CAAC;QAC/D,gCAA2B,GAAyB,UAAU,CAAC;QASrE,MAAM,uBAAuB,GAC3B,cAAc,CAAC,oCAAoC,CAAC,CAAC;QACvD,IAAI,CAAC,uBAAuB,GAAG,MAAA,cAAc,CAAC,iCAAiC,CAAC,mCAAI,8CAAkC,CAAA;QACtH,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,yBAAyB,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBACvD,MAAM,sBAAsB,GAAG,8CAAqB,CAClD,uBAAuB,CACA,CAAC;gBAC1B,MAAM,wBAAwB,GAC5B,MAAA,kBAAkB,CAAC,6BAA6B,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/D;;;;;;mBAMG;gBACH,IACE,CAAC,wBAAwB;oBACzB,wBAAwB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EACzD,CAAC;oBACD,IAAI,CAAC,2BAA2B,GAAG,sBAAsB,CAAC;oBAC1D,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAC1C,IAAI,CAAC,2BAA2B,EAChC,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,wBAAY,CAAC,KAAK,EAClB,yEAAyE,uBAAuB,EAAE,CACnG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAA2B;QAC5C,MAAM,OAAO,GAAa,MAAM,QAAQ,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAE3C,6FAA6F;QAC7F,IAAI,IAAI,CAAC,2BAA2B,KAAK,UAAU,EAAE,CAAC;YACpD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,eAAe,CAAC,QAAkB;QAChC,MAAM,eAAe,GAAoB,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACvE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAkB,eAAe,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAEjC;kGAC0F;QAC1F,MAAM,8BAA8B,GAAG,QAAQ,CAAC,GAAG,CACjD,sBAAsB,CACvB,CAAC,CAAC,CAAuB,CAAC;QAC3B,IAAI,8BAA8B,EAAE,CAAC;YACnC,IAAI,CAAC,kBAAkB,CAAC,6BAA6B;gBACnD,8BAA8B,CAAC;YACjC,MAAM,wBAAwB,GAC5B,8BAA8B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE5C,IACE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,EACpE,CAAC;gBACD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;gBAC7C,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC;YAChD,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA6B;;QAC7C;;6EAEqE;QACrE,MAAM,eAAe,GAAgB,MAAM,OAAO,CAAC;QACnD,IAAI,QAAiB,CAAC;QACtB,IAAI,IAAI,CAAC,eAAe,YAAY,eAAe,EAAE,CAAC;YACpD,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,CAAC,CAAC,MAAA,eAAe,CAAC,KAAK,mCAAI,CAAC,CAAC,gCAAwB,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAC9C,eAAe,CAAC,OAAO,EACvB,QAAQ,CACT;YACD,KAAK,EAAE,eAAe,CAAC,KAAK;SAC7B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAwB;QAC3C;;;2BAGmB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,OAAO,CAAC,CAAC;IAC5D,CAAC;CACF;AA3HD,8CA2HC;AAED,MAAa,wBAAwB;IAInC,YAAY,OAAgB,EAAmB,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;QAD9D,uBAAkB,GAAkC,EAAE,CAAC;IACU,CAAC;IAC1E,YAAY;QACV,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtE,CAAC;CACF;AARD,4DAQC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts deleted file mode 100644 index 048ea39..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/connectivity-state.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/connectivity-state.js deleted file mode 100644 index c8540b0..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/connectivity-state.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/connectivity-state.js.map deleted file mode 100644 index 1afc24d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/constants.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/constants.d.ts deleted file mode 100644 index 43ec358..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/constants.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/constants.js deleted file mode 100644 index 6e6b8ed..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/constants.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/constants.js.map deleted file mode 100644 index a3c5c87..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/control-plane-status.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/control-plane-status.d.ts deleted file mode 100644 index a137cab..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/control-plane-status.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/control-plane-status.js deleted file mode 100644 index dc41cb2..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/control-plane-status.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/control-plane-status.js.map deleted file mode 100644 index 297ca91..0000000 --- a/frontend-old/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,CAAC;QACrD,OAAO;YACL,IAAI,EAAE,kBAAM,CAAC,QAAQ;YACrB,OAAO,EAAE,sCAAsC,IAAI,IAAI,kBAAM,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE;SACjF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAZD,wEAYC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/deadline.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/deadline.d.ts deleted file mode 100644 index 08af4ba..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/deadline.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/deadline.js deleted file mode 100644 index f51c43c..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/deadline.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/deadline.js.map deleted file mode 100644 index c9a47b3..0000000 --- a/frontend-old/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,CAAC;QACpC,MAAM,aAAa,GACjB,QAAQ,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,IAAI,aAAa,GAAG,QAAQ,EAAE,CAAC;YAC7B,QAAQ,GAAG,aAAa,CAAC;QAC3B,CAAC;IACH,CAAC;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,CAAC;QAC7B,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;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,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;QAClC,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QAC1C,CAAC;IACH,CAAC;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,CAAC;QAChB,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,IAAI,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAXD,gDAWC;AAED,SAAgB,gBAAgB,CAAC,QAAkB;IACjD,IAAI,QAAQ,YAAY,IAAI,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,GAAG,QAAQ,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,YAAY,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAXD,4CAWC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/duration.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/duration.d.ts deleted file mode 100644 index 923159b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/duration.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/duration.js deleted file mode 100644 index 3ac1d21..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/duration.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/duration.js.map deleted file mode 100644 index 3be3631..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/error.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/error.d.ts deleted file mode 100644 index fd4cc77..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/error.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/error.js deleted file mode 100644 index c842333..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/error.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/error.js.map deleted file mode 100644 index 192891c..0000000 --- a/frontend-old/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,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;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,CAAC;QACD,OAAQ,KAAgC,CAAC,IAAI,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAXD,oCAWC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/events.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/events.d.ts deleted file mode 100644 index d1a764e..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/events.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/events.js deleted file mode 100644 index 082ed9b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/events.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/events.js.map deleted file mode 100644 index ba39b5d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/experimental.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/experimental.d.ts deleted file mode 100644 index 5808971..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/experimental.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/experimental.js deleted file mode 100644 index 21e26e0..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/experimental.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/experimental.js.map deleted file mode 100644 index 757d3db..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts deleted file mode 100644 index c3f55cc..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/filter-stack.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/filter-stack.js deleted file mode 100644 index 6cf2e1a..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/filter-stack.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/filter-stack.js.map deleted file mode 100644 index ffbeadf..0000000 --- a/frontend-old/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":"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"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/filter.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/filter.d.ts deleted file mode 100644 index f7e382a..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/filter.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/filter.js deleted file mode 100644 index d888a82..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/filter.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/filter.js.map deleted file mode 100644 index 1ddf110..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/channelz.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/channelz.d.ts deleted file mode 100644 index d311c65..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/channelz.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/channelz.js deleted file mode 100644 index 0c2cf67..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/channelz.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/channelz.js.map deleted file mode 100644 index af4016b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.d.ts deleted file mode 100644 index e8c0607..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js deleted file mode 100644 index f9651f8..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js.map deleted file mode 100644 index 2e75474..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.d.ts deleted file mode 100644 index b7235a7..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js deleted file mode 100644 index f893f74..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js.map deleted file mode 100644 index 3573853..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.d.ts deleted file mode 100644 index 2c77f9d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js deleted file mode 100644 index 4cac93e..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js.map deleted file mode 100644 index a589ea5..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.d.ts deleted file mode 100644 index e4e2204..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js deleted file mode 100644 index 133e011..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js.map deleted file mode 100644 index 7f28720..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.d.ts deleted file mode 100644 index 7e04ea6..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js deleted file mode 100644 index b071b70..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js.map deleted file mode 100644 index 3fc8fe8..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.d.ts deleted file mode 100644 index 33bd60b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js deleted file mode 100644 index 17290a2..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js.map deleted file mode 100644 index bf27b78..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.d.ts deleted file mode 100644 index 895fb9d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js deleted file mode 100644 index dc46343..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js.map deleted file mode 100644 index 157e73a..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.d.ts deleted file mode 100644 index 00bd119..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js deleted file mode 100644 index a77bc96..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js.map deleted file mode 100644 index b8894b1..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.d.ts deleted file mode 100644 index 74230c9..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js deleted file mode 100644 index 0836e97..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js.map deleted file mode 100644 index bc05ddc..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.d.ts deleted file mode 100644 index 900ff5a..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js deleted file mode 100644 index dcca213..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js.map deleted file mode 100644 index e90342e..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.d.ts deleted file mode 100644 index d7e185f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js deleted file mode 100644 index 889cd2e..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js.map deleted file mode 100644 index 2a0420f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.d.ts deleted file mode 100644 index fe94d29..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js deleted file mode 100644 index 2a06a69..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js.map deleted file mode 100644 index 4ea43ca..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.d.ts deleted file mode 100644 index 0676367..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js deleted file mode 100644 index 6f15b91..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js.map deleted file mode 100644 index 554d6da..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.d.ts deleted file mode 100644 index 3bd11ca..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js deleted file mode 100644 index d9bc55a..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js.map deleted file mode 100644 index 5dd6b69..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.d.ts deleted file mode 100644 index 2ea3833..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js deleted file mode 100644 index 2a783d9..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js.map deleted file mode 100644 index d4b2567..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.d.ts deleted file mode 100644 index 3d9716a..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js deleted file mode 100644 index dffbd45..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js.map deleted file mode 100644 index bb2b4c4..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.d.ts deleted file mode 100644 index 29deef9..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js deleted file mode 100644 index d239819..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js.map deleted file mode 100644 index 1030ded..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.d.ts deleted file mode 100644 index 5b6170a..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js deleted file mode 100644 index 112069c..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js.map deleted file mode 100644 index 2f665dc..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.d.ts deleted file mode 100644 index 6ff7e30..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js deleted file mode 100644 index ae9981b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js.map deleted file mode 100644 index 2ed003c..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.d.ts deleted file mode 100644 index 3e9eb98..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js deleted file mode 100644 index 9fdf9fc..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js.map deleted file mode 100644 index 86fafec..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.d.ts deleted file mode 100644 index 4956cfa..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js deleted file mode 100644 index 10948d4..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js.map deleted file mode 100644 index 0ae3f26..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.d.ts deleted file mode 100644 index 2fbab92..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js deleted file mode 100644 index 02a4426..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js.map deleted file mode 100644 index a3cfefb..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.d.ts deleted file mode 100644 index 1df8503..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js deleted file mode 100644 index 77717b4..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js.map deleted file mode 100644 index 86fbba6..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.d.ts deleted file mode 100644 index 2da13dd..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js deleted file mode 100644 index 130eb1b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js.map deleted file mode 100644 index f4b16ff..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.d.ts deleted file mode 100644 index d810b92..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js deleted file mode 100644 index 1a15183..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js.map deleted file mode 100644 index 458dd98..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.d.ts deleted file mode 100644 index 4c329ae..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js deleted file mode 100644 index 29e424f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js.map deleted file mode 100644 index dc99923..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.d.ts deleted file mode 100644 index 64ace6e..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js deleted file mode 100644 index 7371813..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js.map deleted file mode 100644 index db7c710..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.d.ts deleted file mode 100644 index d3840cd..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js deleted file mode 100644 index 5124298..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js.map deleted file mode 100644 index 74e4bba..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.d.ts deleted file mode 100644 index f80615c..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js deleted file mode 100644 index 40ad25b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js.map deleted file mode 100644 index 3b4c180..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.d.ts deleted file mode 100644 index a9795d3..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js deleted file mode 100644 index ace0ef2..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js.map deleted file mode 100644 index 90fada3..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.d.ts deleted file mode 100644 index 114a91f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js deleted file mode 100644 index 90f45ea..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js.map deleted file mode 100644 index b8f8f62..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.d.ts deleted file mode 100644 index 455639f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js deleted file mode 100644 index 52d4111..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js.map deleted file mode 100644 index b39861f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.d.ts deleted file mode 100644 index 43049af..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js deleted file mode 100644 index 8b3e023..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js.map deleted file mode 100644 index c4ffc68..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.d.ts deleted file mode 100644 index 03f282f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js deleted file mode 100644 index 44f1c91..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js.map deleted file mode 100644 index b691e5e..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.d.ts deleted file mode 100644 index a78e8f8..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js deleted file mode 100644 index 022b367..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js.map deleted file mode 100644 index 3243c97..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.d.ts deleted file mode 100644 index 8d984af..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js deleted file mode 100644 index b230e4d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js.map deleted file mode 100644 index 522934d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.d.ts deleted file mode 100644 index 7a2de0f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js deleted file mode 100644 index 53d92a6..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js.map deleted file mode 100644 index b78c5b4..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.d.ts deleted file mode 100644 index 778b87d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js deleted file mode 100644 index 9a623c7..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js.map deleted file mode 100644 index 75f5aad..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.d.ts deleted file mode 100644 index 91d4ad8..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js deleted file mode 100644 index c1e5004..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js.map deleted file mode 100644 index d49d9df..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.d.ts deleted file mode 100644 index 5553cb2..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js deleted file mode 100644 index 40638de..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js.map deleted file mode 100644 index c17becd..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.d.ts deleted file mode 100644 index 53c23a2..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js deleted file mode 100644 index c459962..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js.map deleted file mode 100644 index 6b8bf59..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.d.ts deleted file mode 100644 index d0fd4b0..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js deleted file mode 100644 index 01028c8..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js.map deleted file mode 100644 index a5283ab..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.d.ts deleted file mode 100644 index d2457e1..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js deleted file mode 100644 index b663a2e..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js.map deleted file mode 100644 index cb68a32..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.d.ts deleted file mode 100644 index b102a34..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js deleted file mode 100644 index bcef7f5..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js.map deleted file mode 100644 index 73c8085..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.d.ts deleted file mode 100644 index 2f34d65..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js deleted file mode 100644 index a73587f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js.map deleted file mode 100644 index d970f9c..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.d.ts deleted file mode 100644 index 1222cb5..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js deleted file mode 100644 index 6a5e543..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js.map deleted file mode 100644 index 6441346..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.d.ts deleted file mode 100644 index 290fc85..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js deleted file mode 100644 index 68520f9..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js.map deleted file mode 100644 index 1e4b009..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/http_proxy.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/http_proxy.d.ts deleted file mode 100644 index 345e42c..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/http_proxy.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/http_proxy.js deleted file mode 100644 index 67fc1e2..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/http_proxy.js +++ /dev/null @@ -1,260 +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 resolver_dns_1 = require("./resolver-dns"); -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) { - var _a; - 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 splitHostPost = (0, uri_parser_1.splitHostPort)(parsedTarget.path); - if (splitHostPost === null) { - return Promise.resolve({}); - } - const hostPort = `${splitHostPost.host}:${(_a = splitHostPost.port) !== null && _a !== void 0 ? _a : resolver_dns_1.DEFAULT_PORT}`; - const options = { - method: 'CONNECT', - path: hostPort, - }; - const headers = { - Host: hostPort, - }; - // 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/frontend-old/node_modules/@grpc/grpc-js/build/src/http_proxy.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/http_proxy.js.map deleted file mode 100644 index 82df262..0000000 --- a/frontend-old/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":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,uCAAgC;AAChC,2CAA2C;AAC3C,yCAAiD;AAEjD,6BAA6B;AAC7B,2BAA2B;AAC3B,qCAAqC;AACrC,6DAI8B;AAE9B,6CAA6E;AAC7E,6BAA0B;AAC1B,iDAA8C;AAE9C,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,CAAC,KAAK,CAAC,wBAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAOD,SAAS,YAAY;IACnB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB;;;OAGG;IACH,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,YAAY,CAAC;QACtB,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACpC,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,GAAG,aAAa,CAAC;QACvB,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACrC,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,YAAY,CAAC;QACtB,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,QAAa,CAAC;IAClB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,SAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAA,aAAG,EAAC,wBAAY,CAAC,KAAK,EAAE,0BAA0B,MAAM,WAAW,CAAC,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,IAAA,aAAG,EACD,wBAAY,CAAC,KAAK,EAClB,IAAI,QAAQ,CAAC,QAAQ,qCAAqC,CAC3D,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,IAAA,aAAG,EAAC,wBAAY,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;YACtD,QAAQ,GAAG,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnC,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACzB;;8CAE0C;IAC1C,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAc;QACxB,OAAO,EAAE,GAAG,QAAQ,IAAI,IAAI,EAAE;KAC/B,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC1B,CAAC;IACD,KAAK,CACH,eAAe,GAAG,MAAM,CAAC,OAAO,GAAG,+BAA+B,GAAG,MAAM,CAC5E,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB;IACzB,4EAA4E;IAC5E,IAAI,UAAU,GAAuB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC/D,IAAI,MAAM,GAAG,eAAe,CAAC;IAC7B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC,MAAM,GAAG,UAAU,CAAC;IACtB,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,mDAAmD,GAAG,MAAM,CAAC,CAAC;QACpE,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAOD,SAAgB,YAAY,CAC1B,MAAe,EACf,OAAuB;;IAEvB,MAAM,aAAa,GAAmB;QACpC,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,CAAC,MAAA,OAAO,CAAC,wBAAwB,CAAC,mCAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAA,0BAAa,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,EAAE,CAAC;QACxC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,KAAK,CACH,+CAA+C,GAAG,IAAA,wBAAW,EAAC,MAAM,CAAC,CACtE,CAAC;YACF,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAmB;QACnC,0BAA0B,EAAE,IAAA,wBAAW,EAAC,MAAM,CAAC;KAChD,CAAC;IACF,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,YAAY,CAAC,yBAAyB,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;IAC5D,CAAC;IACD,OAAO;QACL,MAAM,EAAE;YACN,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS,CAAC,OAAO;SACxB;QACD,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC;AA5CD,oCA4CC;AAOD,SAAgB,oBAAoB,CAClC,OAA0B,EAC1B,cAA8B,EAC9B,iBAAwC;;IAExC,IAAI,CAAC,CAAC,0BAA0B,IAAI,cAAc,CAAC,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,CAAwB,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,0BAA0B,CAAW,CAAC;IACxE,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,CAAwB,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,aAAa,GAAG,IAAA,0BAAa,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAwB,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,aAAa,CAAC,IAAI,IACpC,MAAA,aAAa,CAAC,IAAI,mCAAI,2BACxB,EAAE,CAAC;IACH,MAAM,OAAO,GAAwB;QACnC,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,QAAQ;KACf,CAAC;IACF,MAAM,OAAO,GAA6B;QACxC,IAAI,EAAE,QAAQ;KACf,CAAC;IACF,+CAA+C;IAC/C,IAAI,IAAA,2CAAsB,EAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IACpC,CAAC;IACD,IAAI,yBAAyB,IAAI,cAAc,EAAE,CAAC;QAChD,OAAO,CAAC,qBAAqB,CAAC;YAC5B,QAAQ;gBACR,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAW,CAAC,CAAC,QAAQ,CACvE,QAAQ,CACT,CAAC;IACN,CAAC;IACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,MAAM,kBAAkB,GAAG,IAAA,8CAAyB,EAAC,OAAO,CAAC,CAAC;IAC9D,KAAK,CAAC,cAAc,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,OAAO,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;;YAC5C,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC3B,KAAK,CACH,4BAA4B;oBAC1B,OAAO,CAAC,IAAI;oBACZ,iBAAiB;oBACjB,kBAAkB,CACrB,CAAC;gBACF,IAAI,eAAe,IAAI,iBAAiB,EAAE,CAAC;oBACzC;;;wFAGoE;oBACpE,MAAM,UAAU,GAAG,IAAA,8BAAmB,EAAC,YAAY,CAAC,CAAC;oBACrD,MAAM,QAAQ,GAAG,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC;oBAC3C,MAAM,UAAU,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,UAAU,CAAC;oBAEhD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,iBAEnB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,IACX,iBAAiB,GAEtB,GAAG,EAAE;wBACH,KAAK,CACH,+CAA+C;4BAC7C,OAAO,CAAC,IAAI;4BACZ,iBAAiB;4BACjB,kBAAkB,CACrB,CAAC;wBACF,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;oBACrD,CAAC,CACF,CAAC;oBACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;wBAC/B,KAAK,CACH,0CAA0C;4BACxC,OAAO,CAAC,IAAI;4BACZ,iBAAiB;4BACjB,kBAAkB;4BAClB,cAAc;4BACd,KAAK,CAAC,OAAO,CAChB,CAAC;wBACF,MAAM,EAAE,CAAC;oBACX,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,KAAK,CACH,qDAAqD;wBACnD,OAAO,CAAC,IAAI;wBACZ,iBAAiB;wBACjB,kBAAkB,CACrB,CAAC;oBACF,OAAO,CAAC;wBACN,MAAM;wBACN,UAAU,EAAE,YAAY;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAA,aAAG,EACD,wBAAY,CAAC,KAAK,EAClB,uBAAuB;oBACrB,OAAO,CAAC,IAAI;oBACZ,iBAAiB;oBACjB,kBAAkB;oBAClB,eAAe;oBACf,GAAG,CAAC,UAAU,CACjB,CAAC;gBACF,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YAC1B,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAA,aAAG,EACD,wBAAY,CAAC,KAAK,EAClB,6BAA6B;gBAC3B,kBAAkB;gBAClB,cAAc;gBACd,GAAG,CAAC,OAAO,CACd,CAAC;YACF,MAAM,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAnID,oDAmIC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/index.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/index.d.ts deleted file mode 100644 index 5842a1b..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/index.d.ts +++ /dev/null @@ -1,77 +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/frontend-old/node_modules/@grpc/grpc-js/build/src/index.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/index.js deleted file mode 100644 index 7a7821d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/index.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/index.js.map deleted file mode 100644 index 439aec5..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts deleted file mode 100644 index 7dee784..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts +++ /dev/null @@ -1,118 +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 lastActivityTimestamp; - 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 startIdleTimeout; - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.js deleted file mode 100644 index 535aba2..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.js +++ /dev/null @@ -1,533 +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 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 = []; - if (queueCopy.length > 0) { - 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 = []; - if (localQueue.length > 0) { - this.callRefTimerUnref(); - } - for (const call of localQueue) { - call.getConfig(); - } - }); - }, 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 = []; - if (localQueue.length > 0) { - this.callRefTimerUnref(); - } - for (const call of localQueue) { - call.reportResolverError(status); - } - }); - this.filterStackFactory = new filter_stack_1.FilterStackFactory([ - 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))); - this.lastActivityTimestamp = new Date(); - } - 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); - if (this.idleTimer) { - clearTimeout(this.idleTimer); - this.idleTimer = null; - } - } - startIdleTimeout(timeoutMs) { - var _a, _b; - this.idleTimer = setTimeout(() => { - if (this.callCount > 0) { - /* If there is currently a call, the channel will not go idle for a - * period of at least idleTimeoutMs, so check again after that time. - */ - this.startIdleTimeout(this.idleTimeoutMs); - return; - } - const now = new Date(); - const timeSinceLastActivity = now.valueOf() - this.lastActivityTimestamp.valueOf(); - if (timeSinceLastActivity >= this.idleTimeoutMs) { - this.trace('Idle timer triggered after ' + - this.idleTimeoutMs + - 'ms of inactivity'); - this.enterIdle(); - } - else { - /* Whenever the timer fires with the latest activity being too recent, - * set the timer again for the time when the time since the last - * activity is equal to the timeout. This should result in the timer - * firing no more than once every idleTimeoutMs/2 on average. */ - this.startIdleTimeout(this.idleTimeoutMs - timeSinceLastActivity); - } - }, timeoutMs); - (_b = (_a = this.idleTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a); - } - maybeStartIdleTimer() { - if (this.connectivityState !== connectivity_state_1.ConnectivityState.SHUTDOWN && !this.idleTimer) { - this.startIdleTimeout(this.idleTimeoutMs); - } - } - onCallStart() { - if (this.channelzEnabled) { - this.callTracker.addCallStarted(); - } - this.callCount += 1; - } - onCallEnd(status) { - if (this.channelzEnabled) { - if (status.code === constants_1.Status.OK) { - this.callTracker.addCallSucceeded(); - } - else { - this.callTracker.addCallFailed(); - } - } - this.callCount -= 1; - this.lastActivityTimestamp = new Date(); - 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.idleTimer) { - clearTimeout(this.idleTimer); - } - 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.lastActivityTimestamp = new Date(); - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/internal-channel.js.map deleted file mode 100644 index 6e00714..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts deleted file mode 100644 index c142b54..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js deleted file mode 100644 index 181450b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js.map deleted file mode 100644 index 35d319b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts deleted file mode 100644 index f5f8676..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js deleted file mode 100644 index 82ff6e2..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js.map deleted file mode 100644 index d9b5eef..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts deleted file mode 100644 index 22443d6..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts +++ /dev/null @@ -1,97 +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; - private latestAddressList; - /** - * 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; - private connectToAddressList; - updateAddressList(addressList: SubchannelAddress[], lbConfig: LoadBalancingConfig): void; - exitIdle(): void; - resetBackoff(): void; - destroy(): void; - getTypeName(): string; -} -export declare function setup(): void; diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js deleted file mode 100644 index 0bf16c6..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js +++ /dev/null @@ -1,393 +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.latestAddressList = 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 (!(this.currentPick && child.subchannel.realSubchannelEquals(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; - } - connectToAddressList(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(); - } - 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); - } - this.latestAddressList = addressList; - this.connectToAddressList(addressList); - } - exitIdle() { - if (this.currentState === connectivity_state_1.ConnectivityState.IDLE && this.latestAddressList) { - this.connectToAddressList(this.latestAddressList); - } - } - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js.map deleted file mode 100644 index 90125e0..0000000 --- a/frontend-old/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":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,mDAMyB;AACzB,6DAAyD;AACzD,qCAOkB;AAElB,qCAAqC;AACrC,2CAA2C;AAM3C,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,CAAC,KAAK,CAAC,wBAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,SAAS,GAAG,YAAY,CAAC;AAE/B;;;GAGG;AACH,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEzC,MAAa,4BAA4B;IACvC,YAA6B,kBAA2B;QAA3B,uBAAkB,GAAlB,kBAAkB,CAAS;IAAG,CAAC;IAE5D,mBAAmB;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,YAAY;QACV,OAAO;YACL,CAAC,SAAS,CAAC,EAAE;gBACX,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;aAC5C;SACF,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,cAAc,CAAC,GAAQ;QAC5B,IACE,oBAAoB,IAAI,GAAG;YAC3B,CAAC,CAAC,OAAO,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,EAC9C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,4BAA4B,CAAC,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC;IAC3E,CAAC;CACF;AA/BD,oEA+BC;AAED;;;GAGG;AACH,MAAM,eAAe;IACnB,YAAoB,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAAG,CAAC;IAEvD,IAAI,CAAC,QAAkB;QACrB,OAAO;YACL,cAAc,EAAE,uBAAc,CAAC,QAAQ;YACvC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;CACF;AAOD;;;;GAIG;AACH,SAAgB,QAAQ,CAAI,IAAS;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AATD,4BASC;AAED,MAAa,qBAAqB;IA+DhC;;;;;;OAMG;IACH,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;QArEvE;;;WAGG;QACK,aAAQ,GAAsB,EAAE,CAAC;QACzC;;WAEG;QACK,iBAAY,GAAsB,sCAAiB,CAAC,IAAI,CAAC;QACjE;;;WAGG;QACK,2BAAsB,GAAG,CAAC,CAAC;QACnC;;;;WAIG;QACK,gBAAW,GAA+B,IAAI,CAAC;QACvD;;;WAGG;QACK,4BAAuB,GAA8B,CAC3D,UAAU,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,EAAE;YACF,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAClF,CAAC,CAAC;QAMM,wBAAmB,GAAG,KAAK,CAAC;QAEpC;;;;;WAKG;QACK,+BAA0B,GAAG,KAAK,CAAC;QAE3C;;;WAGG;QACK,uCAAkC,GAAG,KAAK,CAAC;QAEnD;;;WAGG;QACK,cAAS,GAAkB,IAAI,CAAC;QAEhC,sBAAiB,GAA+B,IAAI,CAAC;QAU3D,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAEO,yBAAyB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACzE,CAAC;IAEO,0BAA0B;QAChC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CACd,sCAAiB,CAAC,KAAK,EACvB,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CACtC,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,sCAAiB,CAAC,IAAI,EAAE,IAAI,oBAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,IAAI,CAAC,WAAW,CACd,sCAAiB,CAAC,iBAAiB,EACnC,IAAI,0BAAiB,CAAC,EAAC,OAAO,EAAE,0CAA0C,IAAI,CAAC,SAAS,EAAE,EAAC,CAAC,CAC7F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CAAC,sCAAiB,CAAC,UAAU,EAAE,IAAI,oBAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,CAAC;IAClD,CAAC;IAEO,oCAAoC;QAC1C,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC;YAC7C;;;;;uBAKW;YACX,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,UAAU,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B;;gDAEoC;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC1E,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAC3C,WAAW,CAAC,cAAc,EAAE,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,uBAAuB,CAC7B,UAA+B,EAC/B,aAAgC,EAChC,QAA2B,EAC3B,YAAqB;;QAErB,IAAI,MAAA,IAAI,CAAC,WAAW,0CAAE,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,IAAI,QAAQ,KAAK,sCAAiB,CAAC,KAAK,EAAE,CAAC;gBACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAClC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YACD,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,IAAI,QAAQ,KAAK,sCAAiB,CAAC,KAAK,EAAE,CAAC;oBACzC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,QAAQ,KAAK,sCAAiB,CAAC,iBAAiB,EAAE,CAAC;oBACrD,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC;oBACzC,IAAI,YAAY,EAAE,CAAC;wBACjB,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;oBAChC,CAAC;oBACD,IAAI,CAAC,oCAAoC,EAAE,CAAC;oBAC5C,IAAI,KAAK,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC;wBAC1C,IAAI,CAAC,6BAA6B,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBACnC,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAEO,6BAA6B,CAAC,UAAkB;QACtD,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACxB,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBAChE,IACE,eAAe,KAAK,sCAAiB,CAAC,IAAI;oBAC1C,eAAe,KAAK,sCAAiB,CAAC,UAAU,EAChD,CAAC;oBACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBAC5B,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,oCAAoC,EAAE,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,eAAuB;;QAC7C,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,IAAI,CAAC,sBAAsB,GAAG,eAAe,CAAC;QAC9C,IACE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,oBAAoB,EAAE;YAChE,sCAAiB,CAAC,IAAI,EACtB,CAAC;YACD,KAAK,CACH,8CAA8C;gBAC5C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CACzD,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;;gBACpB,MAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,0CAAE,UAAU,CAAC,eAAe,EAAE,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,sBAAsB,GAAG,MAAA,MAAA,UAAU,CAAC,GAAG,EAAE;YAC5C,IAAI,CAAC,6BAA6B,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC,EAAE,4BAA4B,CAAC,EAAC,KAAK,kDAAI,CAAC;IAC7C,CAAC;IAEO,cAAc,CAAC,UAA+B;QACpD,IAAI,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,KAAK,CAAC,+BAA+B,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAC3C,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAClC,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAC9C,IAAI,CAAC,uBAAuB,CAC7B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,UAAU,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAEO,WAAW,CAAC,QAA2B,EAAE,MAAc;QAC7D,KAAK,CACH,sCAAiB,CAAC,IAAI,CAAC,YAAY,CAAC;YAClC,MAAM;YACN,sCAAiB,CAAC,QAAQ,CAAC,CAC9B,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAEO,mBAAmB;QACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;gBACnF;;;gFAGgE;gBAChE,KAAK,CAAC,UAAU,CAAC,+BAA+B,CAC9C,IAAI,CAAC,uBAAuB,CAC7B,CAAC;YACJ,CAAC;YACD;;;kEAGsD;YACtD,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAC3C,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,CAClC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,kCAAkC,GAAG,KAAK,CAAC;IAClD,CAAC;IAEO,oBAAoB,CAAC,WAAgC;QAC3D,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClD,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YACnE,2BAA2B,EAAE,KAAK;SACnC,CAAC,CAAC,CAAC;QACJ;;yBAEiB;QACjB,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,eAAe,EAAE,CAAC;YAC7C,UAAU,CAAC,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;QAChC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,UAAU,CAAC,4BAA4B,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,oBAAoB,EAAE,KAAK,sCAAiB,CAAC,KAAK,EAAE,CAAC;gBAClE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;QACH,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IACE,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE;gBACvC,sCAAiB,CAAC,iBAAiB,EACnC,CAAC;gBACD,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED,iBAAiB,CACf,WAAgC,EAChC,QAA6B;QAE7B,IAAI,CAAC,CAAC,QAAQ,YAAY,4BAA4B,CAAC,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QACD;;yDAEiD;QACjD,IAAI,QAAQ,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACrC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACrC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,KAAK,sCAAiB,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3E,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,YAAY;QACV;0BACkB;IACpB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA9VD,sDA8VC;AAED,SAAgB,KAAK;IACnB,IAAA,wCAAwB,EACtB,SAAS,EACT,qBAAqB,EACrB,4BAA4B,CAC7B,CAAC;IACF,IAAA,+CAA+B,EAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAPD,sBAOC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.d.ts deleted file mode 100644 index 0fa9421..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js deleted file mode 100644 index 1f78b37..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js.map deleted file mode 100644 index def50c5..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts deleted file mode 100644 index 52f86a2..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer.js deleted file mode 100644 index ac4956e..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancer.js.map deleted file mode 100644 index 3b241bc..0000000 --- a/frontend-old/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":"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"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancing-call.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancing-call.d.ts deleted file mode 100644 index fe61f5b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js deleted file mode 100644 index 964891a..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js.map deleted file mode 100644 index ebf7fd5..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/logging.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/logging.d.ts deleted file mode 100644 index 7ac65fa..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/logging.d.ts +++ /dev/null @@ -1,8 +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/frontend-old/node_modules/@grpc/grpc-js/build/src/logging.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/logging.js deleted file mode 100644 index 3686d4d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/logging.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/logging.js.map deleted file mode 100644 index cf90e6f..0000000 --- a/frontend-old/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":"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"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/make-client.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/make-client.d.ts deleted file mode 100644 index 39b59c1..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/make-client.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/make-client.js deleted file mode 100644 index 6f90569..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/make-client.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/make-client.js.map deleted file mode 100644 index adfab3e..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/metadata.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/metadata.d.ts deleted file mode 100644 index 1943b75..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/metadata.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/metadata.js deleted file mode 100644 index c0ea411..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/metadata.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/metadata.js.map deleted file mode 100644 index e3d809c..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts deleted file mode 100644 index b424cc7..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/object-stream.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/object-stream.js deleted file mode 100644 index b947656..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/object-stream.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/object-stream.js.map deleted file mode 100644 index fe8b624..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/picker.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/picker.d.ts deleted file mode 100644 index 3da17d6..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/picker.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/picker.js deleted file mode 100644 index 2ae80a2..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/picker.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/picker.js.map deleted file mode 100644 index 2d630d3..0000000 --- a/frontend-old/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,CAAC;YACzB,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;QAC7B,CAAC;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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.d.ts deleted file mode 100644 index 138f7f1..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * The default TCP port to connect to if not explicitly specified in the target. - */ -export declare const DEFAULT_PORT = 443; -/** - * 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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.js deleted file mode 100644 index cfff3e5..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.js +++ /dev/null @@ -1,328 +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.DEFAULT_PORT = 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. - */ -exports.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; - this.returnedIpResult = false; - 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 : exports.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 : exports.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) { - if (!this.returnedIpResult) { - trace('Returning IP address for target ' + (0, uri_parser_1.uriToString)(this.target)); - setImmediate(() => { - this.listener.onSuccessfulResolution(this.ipResult, null, null, null, {}); - }); - this.returnedIpResult = true; - } - 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; - this.returnedIpResult = false; - } - /** - * 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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-dns.js.map deleted file mode 100644 index dda65e8..0000000 --- a/frontend-old/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":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yCAKoB;AACpB,2BAA2B;AAC3B,6BAA6B;AAC7B,qDAAgF;AAChF,2CAAqC;AAErC,yCAAsC;AACtC,qCAAqC;AACrC,2CAA2C;AAE3C,6CAAmE;AACnE,6BAAqC;AAErC,uDAAmE;AAEnE,MAAM,WAAW,GAAG,cAAc,CAAC;AAEnC,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,CAAC,KAAK,CAAC,wBAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACU,QAAA,YAAY,GAAG,GAAG,CAAC;AAEhC,MAAM,uCAAuC,GAAG,KAAM,CAAC;AAEvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAEpD;;;GAGG;AACH,SAAS,WAAW,CAAI,GAAG,MAAa;IACtC,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,EACJ,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAClC,EACD,CAAC,EAAE,EACH,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,WAAW;IAuBf,YACU,MAAe,EACf,QAA0B,EAClC,cAA8B;;QAFtB,WAAM,GAAN,MAAM,CAAS;QACf,aAAQ,GAAR,QAAQ,CAAkB;QAf5B,yBAAoB,GAAwC,IAAI,CAAC;QACjE,sBAAiB,GAA+B,IAAI,CAAC;QACrD,uBAAkB,GAAkC,IAAI,CAAC;QACzD,wBAAmB,GAAyB,IAAI,CAAC;QACjD,6BAAwB,GAAwB,IAAI,CAAC;QAIrD,sBAAiB,GAAG,KAAK,CAAC;QAE1B,iCAA4B,GAAG,KAAK,CAAC;QACrC,2BAAsB,GAAG,IAAI,CAAC;QAC9B,qBAAgB,GAAG,KAAK,CAAC;QAM/B,KAAK,CAAC,kCAAkC,GAAG,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAA,0BAAa,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,IAAA,YAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAA,YAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,QAAQ,GAAG;oBACd;wBACE,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,IAAI,EAAE,MAAA,QAAQ,CAAC,IAAI,mCAAI,oBAAY;qBACpC;iBACF,CAAC;gBACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,IAAI,GAAG,MAAA,QAAQ,CAAC,IAAI,mCAAI,oBAAY,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;QAEtC,IAAI,cAAc,CAAC,wCAAwC,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG;YAC5B,IAAI,EAAE,kBAAM,CAAC,WAAW;YACxB,OAAO,EAAE,qCAAqC,IAAA,wBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxE,QAAQ,EAAE,IAAI,mBAAQ,EAAE;SACzB,CAAC;QAEF,MAAM,cAAc,GAAmB;YACrC,YAAY,EAAE,cAAc,CAAC,mCAAmC,CAAC;YACjE,QAAQ,EAAE,cAAc,CAAC,+BAA+B,CAAC;SAC1D,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,gCAAc,CAAC,GAAG,EAAE;YACrC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,CAAC;QACH,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,IAAI,CAAC,2BAA2B;YAC9B,MAAA,cAAc,CAAC,0CAA0C,CAAC,mCAC1D,uCAAuC,CAAC;QAC1C,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,KAAK,CAAC,kCAAkC,GAAG,IAAA,wBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrE,YAAY,CAAC,GAAG,EAAE;oBAChB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAClC,IAAI,CAAC,QAAS,EACd,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,EAAE,CACH,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,KAAK,CAAC,8BAA8B,GAAG,IAAA,wBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACjE,YAAY,CAAC,GAAG,EAAE;gBAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACpB,IAAI,EAAE,kBAAM,CAAC,WAAW;oBACxB,OAAO,EAAE,+BAA+B,IAAA,wBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAClE,QAAQ,EAAE,IAAI,mBAAQ,EAAE;iBACzB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD;;;;;qDAKyC;YACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,MAAM,QAAQ,GAAW,IAAI,CAAC,WAAW,CAAC;YAC1C;;;uEAG2D;YAC3D,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,WAAW,CAAC,EAAE;gBACZ,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;oBACvC,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,MAAM,YAAY,GAAwB,WAAW,CAAC,MAAM,CAC1D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAC1B,CAAC;gBACF,MAAM,YAAY,GAAwB,WAAW,CAAC,MAAM,CAC1D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAC1B,CAAC;gBACF,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,GAAG,CACnE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAK,EAAE,CAAC,CACpD,CAAC;gBACF,MAAM,kBAAkB,GACtB,GAAG;oBACH,IAAI,CAAC,kBAAkB;yBACpB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;yBACxC,IAAI,CAAC,GAAG,CAAC;oBACZ,GAAG,CAAC;gBACN,KAAK,CACH,gCAAgC;oBAC9B,IAAA,wBAAW,EAAC,IAAI,CAAC,MAAM,CAAC;oBACxB,IAAI;oBACJ,kBAAkB,CACrB,CAAC;gBACF,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;oBACnD,OAAO;gBACT,CAAC;gBACD;;;kFAGkE;gBAClE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAClC,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,wBAAwB,EAC7B,IAAI,EACJ,EAAE,CACH,CAAC;YACJ,CAAC,EACD,GAAG,CAAC,EAAE;gBACJ,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;oBACvC,OAAO;gBACT,CAAC;gBACD,KAAK,CACH,8BAA8B;oBAC5B,IAAA,wBAAW,EAAC,IAAI,CAAC,MAAM,CAAC;oBACxB,IAAI;oBACH,GAAa,CAAC,OAAO,CACzB,CAAC;gBACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACrD,CAAC,CACF,CAAC;YACF;8CACkC;YAClC,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBACnE;;kCAEkB;gBAClB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,SAAS,CAAC,EAAE;oBACV,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBACpC,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAC9B,IAAI,CAAC;wBACH,IAAI,CAAC,mBAAmB,GAAG,IAAA,8CAA6B,EACtD,SAAS,EACT,IAAI,CAAC,UAAU,CAChB,CAAC;oBACJ,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,wBAAwB,GAAG;4BAC9B,IAAI,EAAE,kBAAM,CAAC,WAAW;4BACxB,OAAO,EAAE,4CACN,GAAa,CAAC,OACjB,EAAE;4BACF,QAAQ,EAAE,IAAI,mBAAQ,EAAE;yBACzB,CAAC;oBACJ,CAAC;oBACD,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;wBACrC;;;8EAGsD;wBACtD,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAClC,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,wBAAwB,EAC7B,IAAI,EACJ,EAAE,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC,EACD,GAAG,CAAC,EAAE;oBACJ;;;;;;sEAMkD;gBACpD,CAAC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,wBAAwB;;QAC9B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,MAAA,MAAA,UAAU,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,2BAA2B,CAAC,EAAC,KAAK,kDAAI,CAAC;QAC/C,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;IAC3C,CAAC;IAEO,uBAAuB;QAC7B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;IAC5C,CAAC;IAEO,0BAA0B;QAChC,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,gBAAgB;QACd;;;4DAGoD;QACpD,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,4BAA4B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBAClE,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;oBACtC,KAAK,CAAC,wEAAwE,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,mDAAmD,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBACvG,CAAC;gBACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAe;QACxC,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;CACF;AAED;;;GAGG;AACH,SAAgB,KAAK;IACnB,IAAA,2BAAgB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrC,IAAA,gCAAqB,EAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAHD,sBAGC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.d.ts deleted file mode 100644 index 2bec678..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function setup(): void; diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.js deleted file mode 100644 index c9c8a5d..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.js +++ /dev/null @@ -1,105 +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; - this.hasReturnedResult = false; - 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() { - if (!this.hasReturnedResult) { - this.hasReturnedResult = true; - process.nextTick(() => { - if (this.error) { - this.listener.onError(this.error); - } - else { - this.listener.onSuccessfulResolution(this.addresses, null, null, null, {}); - } - }); - } - } - destroy() { - this.hasReturnedResult = false; - } - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-ip.js.map deleted file mode 100644 index 6a8cfa0..0000000 --- a/frontend-old/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":"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"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.d.ts deleted file mode 100644 index 2bec678..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function setup(): void; diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.js deleted file mode 100644 index 5937fce..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.js +++ /dev/null @@ -1,51 +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 = []; - this.hasReturnedResult = false; - let path; - if (target.authority === '') { - path = '/' + target.path; - } - else { - path = target.path; - } - this.addresses = [{ path }]; - } - updateResolution() { - if (!this.hasReturnedResult) { - this.hasReturnedResult = true; - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver-uds.js.map deleted file mode 100644 index ce7f3bd..0000000 --- a/frontend-old/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;IAGf,YACE,MAAe,EACP,QAA0B,EAClC,cAA8B;QADtB,aAAQ,GAAR,QAAQ,CAAkB;QAJ5B,cAAS,GAAwB,EAAE,CAAC;QACpC,sBAAiB,GAAG,KAAK,CAAC;QAMhC,IAAI,IAAY,CAAC;QACjB,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;YAC5B,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,OAAO,CAAC,QAAQ,CACd,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EACpC,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,EAAE,CACH,CAAC;QACJ,CAAC;IACH,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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver.d.ts deleted file mode 100644 index 35d2c74..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver.js deleted file mode 100644 index 530cb83..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolver.js.map deleted file mode 100644 index 93bb3bb..0000000 --- a/frontend-old/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,CAAC;QACxE,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAA,wBAAW,EAAC,MAAM,CAAC,EAAE,CACjE,CAAC;IACJ,CAAC;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,CAAC;QACxE,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAA,wBAAW,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;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,CAAC;QAC3E,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,IAAA,wBAAW,EAAC,MAAM,CAAC;aAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAbD,kDAaC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-call.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-call.d.ts deleted file mode 100644 index 6d98b81..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-call.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-call.js deleted file mode 100644 index 061d4e6..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-call.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-call.js.map deleted file mode 100644 index 4fd2a73..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.d.ts deleted file mode 100644 index 1f697fb..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js deleted file mode 100644 index 6867faf..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js.map deleted file mode 100644 index 863c3f9..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/retrying-call.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/retrying-call.d.ts deleted file mode 100644 index cc80bd0..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/retrying-call.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/retrying-call.js deleted file mode 100644 index 6db6ce9..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/retrying-call.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/retrying-call.js.map deleted file mode 100644 index 0ff9673..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/server-call.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/server-call.d.ts deleted file mode 100644 index b923fd5..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/server-call.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/server-call.js deleted file mode 100644 index 05ca531..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/server-call.js +++ /dev/null @@ -1,695 +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 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'; -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) { - const messageContents = message.subarray(5); - if (encoding === 'identity') { - return messageContents; - } - else if (encoding === 'deflate' || encoding === 'gzip') { - let decompresser; - if (encoding === 'deflate') { - decompresser = zlib.createInflate(); - } - else { - decompresser = zlib.createGunzip(); - } - return new Promise((resolve, reject) => { - let totalLength = 0; - const messageParts = []; - decompresser.on('data', (chunk) => { - messageParts.push(chunk); - totalLength += chunk.byteLength; - if (this.maxReceiveMessageSize !== -1 && totalLength > this.maxReceiveMessageSize) { - decompresser.destroy(); - reject({ - code: constants_1.Status.RESOURCE_EXHAUSTED, - details: `Received message that decompresses to a size larger than ${this.maxReceiveMessageSize}` - }); - } - }); - decompresser.on('end', () => { - resolve(Buffer.concat(messageParts)); - }); - decompresser.write(messageContents); - decompresser.end(); - }); - } - else { - 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(this.maxReceiveMessageSize); - 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) => { - let messages; - try { - messages = decoder.write(data); - } - catch (e) { - this.sendError({ - code: constants_1.Status.RESOURCE_EXHAUSTED, - details: e.message - }); - return; - } - pendingMessageProcessing = true; - this.stream.pause(); - for (const message of messages) { - this.emit('receiveMessage'); - const compressed = message.readUInt8(0) === 1; - const compressedMessageEncoding = compressed ? encoding : 'identity'; - let decompressedMessage; - try { - decompressedMessage = await this.getDecompressedMessage(message, compressedMessageEncoding); - } - catch (e) { - this.sendError(e); - return; - } - // 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/frontend-old/node_modules/@grpc/grpc-js/build/src/server-call.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/server-call.js.map deleted file mode 100644 index 59a1804..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts deleted file mode 100644 index ab98e65..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/server-credentials.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/server-credentials.js deleted file mode 100644 index f1d3f96..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/server-credentials.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/server-credentials.js.map deleted file mode 100644 index 41d4226..0000000 --- a/frontend-old/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,CAAC;YACtD,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,sBAAsB,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAClE,CAAC;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,CAAC;YAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9C,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC;YACxE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;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/frontend-old/node_modules/@grpc/grpc-js/build/src/server.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/server.d.ts deleted file mode 100644 index b360fd9..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/server.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/server.js deleted file mode 100644 index a6c80ff..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/server.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/server.js.map deleted file mode 100644 index 85ddc5b..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/service-config.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/service-config.d.ts deleted file mode 100644 index 4006426..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/service-config.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/service-config.js deleted file mode 100644 index 165585c..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/service-config.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/service-config.js.map deleted file mode 100644 index 803e488..0000000 --- a/frontend-old/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":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH;;;;;sBAKsB;AAEtB;aACa;AACb,uDAAuD;AAEvD,yBAAyB;AACzB,2CAAqC;AAErC,mDAGyB;AAkDzB;;;GAGG;AACH,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAE5C;;;GAGG;AACH,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,SAAS,YAAY,CAAC,GAAQ;IAC5B,kEAAkE;IAClE,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;QAC3C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,0EAA0E,OAAO,GAAG,CAAC,OAAO,EAAE,CAC/F,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACzC,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,yEAAyE,OAAO,GAAG,CAAC,OAAO,EAAE,CAC9F,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAQ;IACnC,IACE,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC;QACvB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;QAClC,GAAG,CAAC,WAAW,GAAG,CAAC,EACnB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IACD,IACE,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC;QAC1B,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ;QACtC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EACxC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,oHAAoH,CACrH,CAAC;IACJ,CAAC;IACD,IACE,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC;QACtB,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;QAClC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EACpC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAC;IACJ,CAAC;IACD,IACE,CAAC,CAAC,mBAAmB,IAAI,GAAG,CAAC;QAC7B,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ;QACzC,GAAG,CAAC,iBAAiB,IAAI,CAAC,EAC1B,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;IACJ,CAAC;IACD,IACE,CAAC,CAAC,sBAAsB,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,EAC3E,CAAC;QACD,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO;QACL,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;QACxC,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAQ;IACrC,IACE,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC;QACvB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;QAClC,GAAG,CAAC,WAAW,GAAG,CAAC,EACnB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;IACJ,CAAC;IACD,IACE,cAAc,IAAI,GAAG;QACrB,CAAC,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;YACnC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EACzC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,oHAAoH,CACrH,CAAC;IACJ,CAAC;IACD,IAAI,qBAAqB,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC3E,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAkB;QAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;KAC7B,CAAC;IACF,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IACzC,CAAC;IACD,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAC5B,MAAM,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAQ;;IACpC,MAAM,MAAM,GAAiB;QAC3B,IAAI,EAAE,EAAE;KACT,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,cAAc,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IACzC,CAAC;IACD,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpC,IACE,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,EAC1C,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YACD,IACE,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;gBACzB,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,EACxC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/B,CAAC;aAAM,IACL,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAC/B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAChC,CAAC;YACD,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO;iBAC7B,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;iBACpC,KAAK,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,OAAO,GAAG;gBACf,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC5B,KAAK,EAAE,CAAC,MAAA,YAAY,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC;aAClC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;IAC/C,CAAC;IACD,IAAI,kBAAkB,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACjD,CAAC;IACD,IAAI,aAAa,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,eAAe,IAAI,GAAG,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,IAAI,GAAG,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,uBAAuB,CAAC,GAAQ;IAC9C,IACE,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC;QACrB,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACjC,GAAG,CAAC,SAAS,IAAI,CAAC;QAClB,GAAG,CAAC,SAAS,GAAG,IAAI,EACpB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,IACE,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC;QACtB,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;QAClC,GAAG,CAAC,UAAU,IAAI,CAAC,EACnB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,CAAE,GAAG,CAAC,SAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,UAAU,EAAE,CAAE,GAAG,CAAC,UAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;KACnD,CAAC;AACJ,CAAC;AAxBD,0DAwBC;AAED,SAAgB,qBAAqB,CAAC,GAAQ;IAC5C,MAAM,MAAM,GAAkB;QAC5B,mBAAmB,EAAE,EAAE;QACvB,YAAY,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,qBAAqB,IAAI,GAAG,EAAE,CAAC;QACjC,IAAI,OAAO,GAAG,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,IAAI,qBAAqB,IAAI,GAAG,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAC7C,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAA,2CAA2B,EAAC,MAAM,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,IAAI,cAAc,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,KAAK,MAAM,YAAY,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBAC5C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,IAAI,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxE,CAAC;IACD,kCAAkC;IAClC,MAAM,eAAe,GAAuB,EAAE,CAAC;IAC/C,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;YACrC,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;gBACvC,IACE,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;oBACjC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAC/B,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,0CAA0C,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CACxE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAjDD,sDAiDC;AAED,SAAS,oBAAoB,CAAC,GAAQ;IACpC,IAAI,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,MAAM,GAA8B;QACxC,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC;KACxD,CAAC;IACF,IAAI,gBAAgB,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;gBACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,IAAI,gBAAgB,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;gBACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;QACxB,IACE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;YAClC,CAAC,IAAI,GAAG,CAAC,UAAU;YACnB,GAAG,CAAC,UAAU,IAAI,GAAG,EACrB,CAAC;YACD,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,iDAAiD;IACjD,MAAM,aAAa,GAAG;QACpB,gBAAgB;QAChB,YAAY;QACZ,gBAAgB;QAChB,eAAe;KAChB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,mDAAmD,KAAK,EAAE,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,6BAA6B,CACpC,GAAQ,EACR,UAAkB;IAElB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACrD;yEACiE;QACjE,IACE,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YAC9C,UAAU,GAAG,eAAe,CAAC,UAAU,EACvC,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;YAClD,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;gBACtD,IAAI,QAAQ,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC/B,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;YAClD,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;gBACtD,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;oBACxC,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;QACH,CAAC;QACD,OAAO,eAAe,CAAC,aAAa,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,6BAA6B,CAC3C,SAAqB,EACrB,UAAkB;IAElB,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D;qFACyE;YACzE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,UAAU,GAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACjD,OAAO,6BAA6B,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAdD,sEAcC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts deleted file mode 100644 index 5628226..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/status-builder.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/status-builder.js deleted file mode 100644 index 7426e54..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/status-builder.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/status-builder.js.map deleted file mode 100644 index 33277b2..0000000 --- a/frontend-old/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,CAAC;YACvB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvDD,sCAuDC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.d.ts deleted file mode 100644 index 28fef54..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// -export declare class StreamDecoder { - private maxReadMessageLength; - private readState; - private readCompressFlag; - private readPartialSize; - private readSizeRemaining; - private readMessageSize; - private readPartialMessage; - private readMessageRemaining; - constructor(maxReadMessageLength: number); - write(data: Buffer): Buffer[]; -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.js deleted file mode 100644 index b3857c0..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.js +++ /dev/null @@ -1,100 +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(maxReadMessageLength) { - this.maxReadMessageLength = maxReadMessageLength; - 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); - if (this.maxReadMessageLength !== -1 && this.readMessageSize > this.maxReadMessageLength) { - throw new Error(`Received message larger than max (${this.readMessageSize} vs ${this.maxReadMessageLength})`); - } - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/stream-decoder.js.map deleted file mode 100644 index fc6498a..0000000 --- a/frontend-old/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":"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"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts deleted file mode 100644 index 8e94e10..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-address.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-address.js deleted file mode 100644 index 4cf660d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-address.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-address.js.map deleted file mode 100644 index 5ca14aa..0000000 --- a/frontend-old/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,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,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;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;IAC9E,CAAC;AACH,CAAC;AAnBD,wDAmBC;AAED,SAAgB,yBAAyB,CAAC,OAA0B;IAClE,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;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,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,YAAY;SAC3B,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO;YACL,IAAI,EAAE,aAAa;SACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAdD,8DAcC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-call.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-call.d.ts deleted file mode 100644 index 1a6bb17..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-call.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-call.js deleted file mode 100644 index d19e0c4..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-call.js +++ /dev/null @@ -1,470 +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) { - var _a; - this.http2Stream = http2Stream; - this.callEventTracker = callEventTracker; - this.listener = listener; - this.transport = transport; - this.callId = callId; - 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; - const maxReceiveMessageLength = (_a = transport.getOptions()['grpc.max_receive_message_length']) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH; - this.decoder = new stream_decoder_1.StreamDecoder(maxReceiveMessageLength); - 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); - let messages; - try { - messages = this.decoder.write(data); - } - catch (e) { - this.cancelWithStatus(constants_1.Status.RESOURCE_EXHAUSTED, e.message); - return; - } - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-call.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-call.js.map deleted file mode 100644 index d0983c7..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts deleted file mode 100644 index 9c13f53..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js deleted file mode 100644 index 2446a01..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js.map deleted file mode 100644 index f36ecd5..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-pool.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-pool.d.ts deleted file mode 100644 index 9c00300..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js deleted file mode 100644 index 9061607..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js.map deleted file mode 100644 index dfb1ebf..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts deleted file mode 100644 index f042583..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel.js deleted file mode 100644 index b638ce6..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel.js +++ /dev/null @@ -1,353 +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`); - } - }); - } - else { - /* If we can't transition from CONNECTING to READY here, we will - * not be using this transport, so release its resources. */ - transport.shutdown(); - } - }, 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/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/subchannel.js.map deleted file mode 100644 index 0c91945..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/tls-helpers.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/tls-helpers.d.ts deleted file mode 100644 index 54f2dba..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/tls-helpers.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/tls-helpers.js deleted file mode 100644 index d118344..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/tls-helpers.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/tls-helpers.js.map deleted file mode 100644 index 0e08214..0000000 --- a/frontend-old/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,CAAC;QAC5B,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC9B,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AARD,kDAQC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/build/src/transport.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/transport.d.ts deleted file mode 100644 index 1869dbb..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/transport.d.ts +++ /dev/null @@ -1,134 +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; - getOptions(): ChannelOptions; - 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; - private 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. - */ - 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; - getOptions(): ChannelOptions; - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/transport.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/transport.js deleted file mode 100644 index 01af3ab..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/build/src/transport.js +++ /dev/null @@ -1,644 +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.options = options; - 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 && - opaqueData.equals(tooManyPingsData)) { - tooManyPings = true; - } - this.trace('connection closed by GOAWAY with code ' + errorCode + ' and data ' + (opaqueData === null || opaqueData === void 0 ? void 0 : opaqueData.toString())); - 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; - } - getOptions() { - return this.options; - } - 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/frontend-old/node_modules/@grpc/grpc-js/build/src/transport.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/transport.js.map deleted file mode 100644 index 7c9bb90..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts b/frontend-old/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts deleted file mode 100644 index c4d71aa..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/uri-parser.js b/frontend-old/node_modules/@grpc/grpc-js/build/src/uri-parser.js deleted file mode 100644 index 0a85d6d..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/build/src/uri-parser.js.map b/frontend-old/node_modules/@grpc/grpc-js/build/src/uri-parser.js.map deleted file mode 100644 index 884dbf1..0000000 --- a/frontend-old/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":"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"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/grpc-js/package.json b/frontend-old/node_modules/@grpc/grpc-js/package.json deleted file mode 100644 index 0473c21..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "name": "@grpc/grpc-js", - "version": "1.9.15", - "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/frontend-old/node_modules/@grpc/grpc-js/proto/channelz.proto b/frontend-old/node_modules/@grpc/grpc-js/proto/channelz.proto deleted file mode 100644 index 446e979..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/src/admin.ts b/frontend-old/node_modules/@grpc/grpc-js/src/admin.ts deleted file mode 100644 index 4d26b89..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/src/backoff-timeout.ts b/frontend-old/node_modules/@grpc/grpc-js/src/backoff-timeout.ts deleted file mode 100644 index 78318d1..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/src/call-credentials.ts b/frontend-old/node_modules/@grpc/grpc-js/src/call-credentials.ts deleted file mode 100644 index b0013ee..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/src/call-interface.ts b/frontend-old/node_modules/@grpc/grpc-js/src/call-interface.ts deleted file mode 100644 index 15035ae..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/src/call-number.ts b/frontend-old/node_modules/@grpc/grpc-js/src/call-number.ts deleted file mode 100644 index 8c37d3f..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/src/call.ts b/frontend-old/node_modules/@grpc/grpc-js/src/call.ts deleted file mode 100644 index a147c98..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/src/channel-credentials.ts b/frontend-old/node_modules/@grpc/grpc-js/src/channel-credentials.ts deleted file mode 100644 index 72b19d6..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/src/channel-options.ts b/frontend-old/node_modules/@grpc/grpc-js/src/channel-options.ts deleted file mode 100644 index f2bb8bc..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/src/channel.ts b/frontend-old/node_modules/@grpc/grpc-js/src/channel.ts deleted file mode 100644 index 7ce5a15..0000000 --- a/frontend-old/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/frontend-old/node_modules/@grpc/grpc-js/src/channelz.ts b/frontend-old/node_modules/@grpc/grpc-js/src/channelz.ts deleted file mode 100644 index 1e2627a..0000000 --- a/frontend-old/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 -): void { - const maxResults = Number.parseInt(call.request.max_results); - const resultList: ChannelMessage[] = []; - 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: ServerEntry): ServerMessage { - 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: ServerUnaryCall, - callback: sendUnaryData -): void { - const serverId = Number.parseInt(call.request.server_id); - const serverEntry = servers[serverId]; - if (serverEntry === undefined) { - callback({ - code: Status.NOT_FOUND, - details: 'No server data found for id ' + serverId, - }); - return; - } - callback(null, { server: getServerMessage(serverEntry) }); -} - -function GetServers( - call: ServerUnaryCall, - callback: sendUnaryData -): void { - const maxResults = Number.parseInt(call.request.max_results); - const resultList: ServerMessage[] = []; - 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: ServerUnaryCall, - callback: sendUnaryData -): void { - const subchannelId = Number.parseInt(call.request.subchannel_id); - const subchannelEntry = subchannels[subchannelId]; - if (subchannelEntry === undefined) { - callback({ - code: Status.NOT_FOUND, - details: 'No subchannel data found for id ' + subchannelId, - }); - return; - } - const resolvedInfo = subchannelEntry.getInfo(); - const subchannelMessage: 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: SubchannelAddress -): Address { - if (isTcpSubchannelAddress(subchannelAddress)) { - return { - address: 'tcpip_address', - tcpip_address: { - ip_address: - ipAddressStringToBuffer(subchannelAddress.host) ?? undefined, - port: subchannelAddress.port, - }, - }; - } else { - return { - address: 'uds_address', - uds_address: { - filename: subchannelAddress.path, - }, - }; - } -} - -function GetSocket( - call: ServerUnaryCall, - callback: sendUnaryData -): void { - const socketId = Number.parseInt(call.request.socket_id); - const socketEntry = sockets[socketId]; - if (socketEntry === undefined) { - callback({ - code: Status.NOT_FOUND, - details: 'No socket data found for id ' + socketId, - }); - return; - } - const resolvedInfo = socketEntry.getInfo(); - const securityMessage: Security | null = resolvedInfo.security - ? { - model: 'tls', - tls: { - cipher_suite: resolvedInfo.security.cipherSuiteStandardName - ? 'standard_name' - : 'other_name', - standard_name: - resolvedInfo.security.cipherSuiteStandardName ?? undefined, - other_name: resolvedInfo.security.cipherSuiteOtherName ?? undefined, - local_certificate: - resolvedInfo.security.localCertificate ?? undefined, - remote_certificate: - resolvedInfo.security.remoteCertificate ?? undefined, - }, - } - : null; - const socketMessage: SocketMessage = { - ref: socketRefToMessage(socketEntry.ref), - local: resolvedInfo.localAddress - ? subchannelAddressToAddressMessage(resolvedInfo.localAddress) - : null, - remote: resolvedInfo.remoteAddress - ? subchannelAddressToAddressMessage(resolvedInfo.remoteAddress) - : null, - remote_name: resolvedInfo.remoteName ?? 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: ServerUnaryCall< - GetServerSocketsRequest__Output, - GetServerSocketsResponse - >, - callback: sendUnaryData -): void { - const serverId = Number.parseInt(call.request.server_id); - const serverEntry = servers[serverId]; - if (serverEntry === undefined) { - callback({ - code: 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: SocketRefMessage[] = []; - 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, - }); -} - -export function getChannelzHandlers(): ChannelzHandlers { - return { - GetChannel, - GetTopChannels, - GetServer, - GetServers, - GetSubchannel, - GetSocket, - GetServerSockets, - }; -} - -let loadedChannelzDefinition: ChannelzDefinition | null = null; - -export function getChannelzServiceDefinition(): ChannelzDefinition { - 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 as typeof loadSync; - const loadedProto = loaderLoadSync('channelz.proto', { - keepCase: true, - longs: String, - enums: String, - defaults: true, - oneofs: true, - includeDirs: [`${__dirname}/../../proto`], - }); - const channelzGrpcObject = loadPackageDefinition( - loadedProto - ) as unknown as ChannelzProtoGrpcType; - loadedChannelzDefinition = - channelzGrpcObject.grpc.channelz.v1.Channelz.service; - return loadedChannelzDefinition; -} - -export function setup() { - registerAdminService(getChannelzServiceDefinition, getChannelzHandlers); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/client-interceptors.ts b/frontend-old/node_modules/@grpc/grpc-js/src/client-interceptors.ts deleted file mode 100644 index 4f53d17..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/client-interceptors.ts +++ /dev/null @@ -1,577 +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'; -import { - StatusObject, - Listener, - MetadataListener, - MessageListener, - StatusListener, - FullListener, - InterceptingListener, - InterceptingListenerImpl, - isInterceptingListener, - MessageContext, - Call, -} from './call-interface'; -import { Status } from './constants'; -import { Channel } from './channel'; -import { CallOptions } from './client'; -import { ClientMethodDefinition } from './make-client'; -import { getErrorMessage } from './error'; - -/** - * Error class associated with passing both interceptors and interceptor - * providers to a client constructor or as call options. - */ -export class InterceptorConfigurationError extends Error { - constructor(message: string) { - super(message); - this.name = 'InterceptorConfigurationError'; - Error.captureStackTrace(this, InterceptorConfigurationError); - } -} - -export interface MetadataRequester { - ( - metadata: Metadata, - listener: InterceptingListener, - next: ( - metadata: Metadata, - listener: InterceptingListener | Listener - ) => void - ): void; -} - -export interface MessageRequester { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (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 class ListenerBuilder { - private metadata: MetadataListener | undefined = undefined; - private message: MessageListener | undefined = undefined; - private status: StatusListener | undefined = undefined; - - withOnReceiveMetadata(onReceiveMetadata: MetadataListener): this { - this.metadata = onReceiveMetadata; - return this; - } - - withOnReceiveMessage(onReceiveMessage: MessageListener): this { - this.message = onReceiveMessage; - return this; - } - - withOnReceiveStatus(onReceiveStatus: StatusListener): this { - this.status = onReceiveStatus; - return this; - } - - build(): Listener { - return { - onReceiveMetadata: this.metadata, - onReceiveMessage: this.message, - onReceiveStatus: this.status, - }; - } -} - -export class RequesterBuilder { - private start: MetadataRequester | undefined = undefined; - private message: MessageRequester | undefined = undefined; - private halfClose: CloseRequester | undefined = undefined; - private cancel: CancelRequester | undefined = undefined; - - withStart(start: MetadataRequester): this { - this.start = start; - return this; - } - - withSendMessage(sendMessage: MessageRequester): this { - this.message = sendMessage; - return this; - } - - withHalfClose(halfClose: CloseRequester): this { - this.halfClose = halfClose; - return this; - } - - withCancel(cancel: CancelRequester): this { - this.cancel = cancel; - return this; - } - - build(): Requester { - return { - start: this.start, - sendMessage: this.message, - halfClose: this.halfClose, - cancel: this.cancel, - }; - } -} - -/** - * A Listener with a default pass-through implementation of each method. Used - * for filling out Listeners with some methods omitted. - */ -const defaultListener: FullListener = { - 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: FullRequester = { - start: (metadata, listener, next) => { - next(metadata, listener); - }, - sendMessage: (message, next) => { - next(message); - }, - halfClose: next => { - next(); - }, - cancel: next => { - next(); - }, -}; - -export interface InterceptorOptions extends CallOptions { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - method_definition: ClientMethodDefinition; -} - -export interface InterceptingCallInterface { - cancelWithStatus(status: Status, details: string): void; - getPeer(): string; - start(metadata: Metadata, listener?: Partial): void; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - sendMessageWithContext(context: MessageContext, message: any): void; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - sendMessage(message: any): void; - startRead(): void; - halfClose(): void; -} - -export class InterceptingCall implements InterceptingCallInterface { - /** - * The requester that this InterceptingCall uses to modify outgoing operations - */ - private requester: FullRequester; - /** - * 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 = false; - /** - * Message context for a pending message that is waiting for - */ - private pendingMessageContext: MessageContext | null = null; - private pendingMessage: any; - /** - * 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 = false; - /** - * Indicates that a status was received but could not be propagated because - * a message was still being processed. - */ - private pendingHalfClose = false; - constructor( - private nextCall: InterceptingCallInterface, - requester?: Requester - ) { - if (requester) { - this.requester = { - start: requester.start ?? defaultRequester.start, - sendMessage: requester.sendMessage ?? defaultRequester.sendMessage, - halfClose: requester.halfClose ?? defaultRequester.halfClose, - cancel: requester.cancel ?? defaultRequester.cancel, - }; - } else { - this.requester = defaultRequester; - } - } - - cancelWithStatus(status: Status, details: string) { - this.requester.cancel(() => { - this.nextCall.cancelWithStatus(status, details); - }); - } - - getPeer() { - return this.nextCall.getPeer(); - } - - private processPendingMessage() { - if (this.pendingMessageContext) { - this.nextCall.sendMessageWithContext( - this.pendingMessageContext, - this.pendingMessage - ); - this.pendingMessageContext = null; - this.pendingMessage = null; - } - } - - private processPendingHalfClose() { - if (this.pendingHalfClose) { - this.nextCall.halfClose(); - } - } - - start( - metadata: Metadata, - interceptingListener?: Partial - ): void { - const fullInterceptingListener: InterceptingListener = { - onReceiveMetadata: - interceptingListener?.onReceiveMetadata?.bind(interceptingListener) ?? - (metadata => {}), - onReceiveMessage: - interceptingListener?.onReceiveMessage?.bind(interceptingListener) ?? - (message => {}), - onReceiveStatus: - interceptingListener?.onReceiveStatus?.bind(interceptingListener) ?? - (status => {}), - }; - this.processingMetadata = true; - this.requester.start(metadata, fullInterceptingListener, (md, listener) => { - this.processingMetadata = false; - let finalInterceptingListener: InterceptingListener; - if (isInterceptingListener(listener)) { - finalInterceptingListener = listener; - } else { - const fullListener: FullListener = { - onReceiveMetadata: - listener.onReceiveMetadata ?? defaultListener.onReceiveMetadata, - onReceiveMessage: - listener.onReceiveMessage ?? defaultListener.onReceiveMessage, - onReceiveStatus: - listener.onReceiveStatus ?? defaultListener.onReceiveStatus, - }; - finalInterceptingListener = new InterceptingListenerImpl( - fullListener, - fullInterceptingListener - ); - } - this.nextCall.start(md, finalInterceptingListener); - this.processPendingMessage(); - this.processPendingHalfClose(); - }); - } - // eslint-disable-next-line @typescript-eslint/no-explicit-any - sendMessageWithContext(context: MessageContext, message: any): void { - 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: any): void { - this.sendMessageWithContext({}, message); - } - startRead(): void { - this.nextCall.startRead(); - } - halfClose(): void { - this.requester.halfClose(() => { - if (this.processingMetadata || this.processingMessage) { - this.pendingHalfClose = true; - } else { - this.nextCall.halfClose(); - } - }); - } -} - -function getCall(channel: Channel, path: string, options: CallOptions): Call { - const deadline = options.deadline ?? Infinity; - const host = options.host; - const parent = options.parent ?? 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 implements InterceptingCallInterface { - constructor( - protected call: Call, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - protected methodDefinition: ClientMethodDefinition - ) {} - cancelWithStatus(status: Status, details: string): void { - this.call.cancelWithStatus(status, details); - } - getPeer(): string { - return this.call.getPeer(); - } - // eslint-disable-next-line @typescript-eslint/no-explicit-any - sendMessageWithContext(context: MessageContext, message: any): void { - let serialized: Buffer; - try { - serialized = this.methodDefinition.requestSerialize(message); - } catch (e) { - this.call.cancelWithStatus( - Status.INTERNAL, - `Request message serialization failure: ${getErrorMessage(e)}` - ); - return; - } - this.call.sendMessageWithContext(context, serialized); - } - // eslint-disable-next-line @typescript-eslint/no-explicit-any - sendMessage(message: any) { - this.sendMessageWithContext({}, message); - } - start( - metadata: Metadata, - interceptingListener?: Partial - ): void { - let readError: StatusObject | null = null; - this.call.start(metadata, { - onReceiveMetadata: metadata => { - interceptingListener?.onReceiveMetadata?.(metadata); - }, - onReceiveMessage: message => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - let deserialized: any; - try { - deserialized = this.methodDefinition.responseDeserialize(message); - } catch (e) { - readError = { - code: Status.INTERNAL, - details: `Response message parsing error: ${getErrorMessage(e)}`, - metadata: new Metadata(), - }; - this.call.cancelWithStatus(readError.code, readError.details); - return; - } - interceptingListener?.onReceiveMessage?.(deserialized); - }, - onReceiveStatus: status => { - if (readError) { - interceptingListener?.onReceiveStatus?.(readError); - } else { - interceptingListener?.onReceiveStatus?.(status); - } - }, - }); - } - startRead() { - this.call.startRead(); - } - halfClose(): void { - this.call.halfClose(); - } -} - -/** - * BaseInterceptingCall with special-cased behavior for methods with unary - * responses. - */ -class BaseUnaryInterceptingCall - extends BaseInterceptingCall - implements InterceptingCallInterface -{ - // eslint-disable-next-line @typescript-eslint/no-explicit-any - constructor(call: Call, methodDefinition: ClientMethodDefinition) { - super(call, methodDefinition); - } - start(metadata: Metadata, listener?: Partial): void { - let receivedMessage = false; - const wrapperListener: InterceptingListener = { - onReceiveMetadata: - listener?.onReceiveMetadata?.bind(listener) ?? (metadata => {}), - // eslint-disable-next-line @typescript-eslint/no-explicit-any - onReceiveMessage: (message: any) => { - receivedMessage = true; - listener?.onReceiveMessage?.(message); - }, - onReceiveStatus: (status: StatusObject) => { - if (!receivedMessage) { - listener?.onReceiveMessage?.(null); - } - listener?.onReceiveStatus?.(status); - }, - }; - super.start(metadata, wrapperListener); - this.call.startRead(); - } -} - -/** - * BaseInterceptingCall with special-cased behavior for methods with streaming - * responses. - */ -class BaseStreamingInterceptingCall - extends BaseInterceptingCall - implements InterceptingCallInterface {} - -function getBottomInterceptingCall( - channel: Channel, - options: InterceptorOptions, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - methodDefinition: ClientMethodDefinition -) { - const call = getCall(channel, methodDefinition.path, options); - if (methodDefinition.responseStream) { - return new BaseStreamingInterceptingCall(call, methodDefinition); - } else { - return new BaseUnaryInterceptingCall(call, methodDefinition); - } -} - -export interface NextCall { - (options: InterceptorOptions): InterceptingCallInterface; -} - -export interface Interceptor { - (options: InterceptorOptions, nextCall: NextCall): InterceptingCall; -} - -export interface InterceptorProvider { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (methodDefinition: ClientMethodDefinition): Interceptor; -} - -export interface InterceptorArguments { - clientInterceptors: Interceptor[]; - clientInterceptorProviders: InterceptorProvider[]; - callInterceptors: Interceptor[]; - callInterceptorProviders: InterceptorProvider[]; -} - -export function getInterceptingCall( - interceptorArgs: InterceptorArguments, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - methodDefinition: ClientMethodDefinition, - options: CallOptions, - channel: Channel -): InterceptingCallInterface { - 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: Interceptor[] = []; - // Interceptors passed to the call override interceptors passed to the client constructor - if ( - interceptorArgs.callInterceptors.length > 0 || - interceptorArgs.callInterceptorProviders.length > 0 - ) { - interceptors = ([] as Interceptor[]) - .concat( - interceptorArgs.callInterceptors, - interceptorArgs.callInterceptorProviders.map(provider => - provider(methodDefinition) - ) - ) - .filter(interceptor => interceptor); - // Filter out falsy values when providers return nothing - } else { - interceptors = ([] as Interceptor[]) - .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: NextCall = interceptors.reduceRight( - (nextCall: NextCall, nextInterceptor: Interceptor) => { - return currentOptions => nextInterceptor(currentOptions, nextCall); - }, - (finalOptions: InterceptorOptions) => - getBottomInterceptingCall(channel, finalOptions, methodDefinition) - ); - return getCall(interceptorOptions); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/client.ts b/frontend-old/node_modules/@grpc/grpc-js/src/client.ts deleted file mode 100644 index e122f6c..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/client.ts +++ /dev/null @@ -1,715 +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 { - ClientDuplexStream, - ClientDuplexStreamImpl, - ClientReadableStream, - ClientReadableStreamImpl, - ClientUnaryCall, - ClientUnaryCallImpl, - ClientWritableStream, - ClientWritableStreamImpl, - ServiceError, - callErrorFromStatus, - SurfaceCall, -} from './call'; -import { CallCredentials } from './call-credentials'; -import { StatusObject } from './call-interface'; -import { Channel, ChannelImplementation } from './channel'; -import { ConnectivityState } from './connectivity-state'; -import { ChannelCredentials } from './channel-credentials'; -import { ChannelOptions } from './channel-options'; -import { Status } from './constants'; -import { Metadata } from './metadata'; -import { ClientMethodDefinition } from './make-client'; -import { - getInterceptingCall, - Interceptor, - InterceptorProvider, - InterceptorArguments, - InterceptingCallInterface, -} from './client-interceptors'; -import { - ServerUnaryCall, - ServerReadableStream, - ServerWritableStream, - ServerDuplexStream, -} from './server-call'; -import { Deadline } from './deadline'; - -const CHANNEL_SYMBOL = Symbol(); -const INTERCEPTOR_SYMBOL = Symbol(); -const INTERCEPTOR_PROVIDER_SYMBOL = Symbol(); -const CALL_INVOCATION_TRANSFORMER_SYMBOL = Symbol(); - -function isFunction( - arg: Metadata | CallOptions | UnaryCallback | undefined -): arg is UnaryCallback { - return typeof arg === 'function'; -} - -export interface UnaryCallback { - (err: ServiceError | null, value?: ResponseType): void; -} - -/* eslint-disable @typescript-eslint/no-explicit-any */ -export interface CallOptions { - deadline?: Deadline; - host?: string; - parent?: - | ServerUnaryCall - | ServerReadableStream - | ServerWritableStream - | ServerDuplexStream; - propagate_flags?: number; - credentials?: CallCredentials; - interceptors?: Interceptor[]; - interceptor_providers?: InterceptorProvider[]; -} -/* eslint-enable @typescript-eslint/no-explicit-any */ - -export interface CallProperties { - argument?: RequestType; - metadata: Metadata; - call: SurfaceCall; - channel: Channel; - methodDefinition: ClientMethodDefinition; - callOptions: CallOptions; - callback?: UnaryCallback; -} - -export interface CallInvocationTransformer { - (callProperties: CallProperties): CallProperties; // eslint-disable-line @typescript-eslint/no-explicit-any -} - -export type ClientOptions = Partial & { - channelOverride?: Channel; - channelFactoryOverride?: ( - address: string, - credentials: ChannelCredentials, - options: ClientOptions - ) => Channel; - interceptors?: Interceptor[]; - interceptor_providers?: InterceptorProvider[]; - callInvocationTransformer?: CallInvocationTransformer; -}; - -function getErrorStackString(error: Error): string { - return error.stack!.split('\n').slice(1).join('\n'); -} - -/** - * A generic gRPC client. Primarily useful as a base class for all generated - * clients. - */ -export class Client { - private readonly [CHANNEL_SYMBOL]: Channel; - private readonly [INTERCEPTOR_SYMBOL]: Interceptor[]; - private readonly [INTERCEPTOR_PROVIDER_SYMBOL]: InterceptorProvider[]; - private readonly [CALL_INVOCATION_TRANSFORMER_SYMBOL]?: CallInvocationTransformer; - constructor( - address: string, - credentials: ChannelCredentials, - options: ClientOptions = {} - ) { - options = Object.assign({}, options); - this[INTERCEPTOR_SYMBOL] = options.interceptors ?? []; - delete options.interceptors; - this[INTERCEPTOR_PROVIDER_SYMBOL] = options.interceptor_providers ?? []; - 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 ChannelImplementation( - address, - credentials, - options - ); - } - } - - close(): void { - this[CHANNEL_SYMBOL].close(); - } - - getChannel(): Channel { - return this[CHANNEL_SYMBOL]; - } - - waitForReady(deadline: Deadline, callback: (error?: Error) => void): void { - const checkState = (err?: Error) => { - 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 === ConnectivityState.READY) { - callback(); - } else { - try { - this[CHANNEL_SYMBOL].watchConnectivityState( - newState, - deadline, - checkState - ); - } catch (e) { - callback(new Error('The channel has been closed')); - } - } - }; - setImmediate(checkState); - } - - private checkOptionalUnaryResponseArguments( - arg1: Metadata | CallOptions | UnaryCallback, - arg2?: CallOptions | UnaryCallback, - arg3?: UnaryCallback - ): { - metadata: Metadata; - options: CallOptions; - callback: UnaryCallback; - } { - if (isFunction(arg1)) { - return { metadata: new Metadata(), options: {}, callback: arg1 }; - } else if (isFunction(arg2)) { - if (arg1 instanceof Metadata) { - return { metadata: arg1, options: {}, callback: arg2 }; - } else { - return { metadata: new Metadata(), options: arg1, callback: arg2 }; - } - } else { - if ( - !( - arg1 instanceof Metadata && - arg2 instanceof Object && - isFunction(arg3) - ) - ) { - throw new Error('Incorrect arguments passed'); - } - return { metadata: arg1, options: arg2, callback: arg3 }; - } - } - - 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; - makeUnaryRequest( - method: string, - serialize: (value: RequestType) => Buffer, - deserialize: (value: Buffer) => ResponseType, - argument: RequestType, - metadata: Metadata | CallOptions | UnaryCallback, - options?: CallOptions | UnaryCallback, - callback?: UnaryCallback - ): ClientUnaryCall { - const checkedArguments = - this.checkOptionalUnaryResponseArguments( - metadata, - options, - callback - ); - const methodDefinition: ClientMethodDefinition = - { - path: method, - requestStream: false, - responseStream: false, - requestSerialize: serialize, - responseDeserialize: deserialize, - }; - let callProperties: CallProperties = { - argument: argument, - metadata: checkedArguments.metadata, - call: new 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 - ) as CallProperties; - } - const emitter: ClientUnaryCall = callProperties.call; - const interceptorArgs: InterceptorArguments = { - clientInterceptors: this[INTERCEPTOR_SYMBOL], - clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL], - callInterceptors: callProperties.callOptions.interceptors ?? [], - callInterceptorProviders: - callProperties.callOptions.interceptor_providers ?? [], - }; - const call: InterceptingCallInterface = 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: ResponseType | null = null; - let receivedStatus = false; - let callerStackError: Error | null = new Error(); - call.start(callProperties.metadata, { - onReceiveMetadata: metadata => { - emitter.emit('metadata', metadata); - }, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - onReceiveMessage(message: any) { - if (responseMessage !== null) { - call.cancelWithStatus(Status.INTERNAL, 'Too many responses received'); - } - responseMessage = message; - }, - onReceiveStatus(status: StatusObject) { - if (receivedStatus) { - return; - } - receivedStatus = true; - if (status.code === Status.OK) { - if (responseMessage === null) { - const callerStack = getErrorStackString(callerStackError!); - callProperties.callback!( - callErrorFromStatus( - { - code: Status.INTERNAL, - details: 'No message received', - metadata: status.metadata, - }, - callerStack - ) - ); - } else { - callProperties.callback!(null, responseMessage); - } - } else { - const callerStack = getErrorStackString(callerStackError!); - callProperties.callback!(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: 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; - makeClientStreamRequest( - method: string, - serialize: (value: RequestType) => Buffer, - deserialize: (value: Buffer) => ResponseType, - metadata: Metadata | CallOptions | UnaryCallback, - options?: CallOptions | UnaryCallback, - callback?: UnaryCallback - ): ClientWritableStream { - const checkedArguments = - this.checkOptionalUnaryResponseArguments( - metadata, - options, - callback - ); - const methodDefinition: ClientMethodDefinition = - { - path: method, - requestStream: true, - responseStream: false, - requestSerialize: serialize, - responseDeserialize: deserialize, - }; - let callProperties: CallProperties = { - metadata: checkedArguments.metadata, - call: new 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 - ) as CallProperties; - } - const emitter: ClientWritableStream = - callProperties.call as ClientWritableStream; - const interceptorArgs: InterceptorArguments = { - clientInterceptors: this[INTERCEPTOR_SYMBOL], - clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL], - callInterceptors: callProperties.callOptions.interceptors ?? [], - callInterceptorProviders: - callProperties.callOptions.interceptor_providers ?? [], - }; - const call: InterceptingCallInterface = 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: ResponseType | null = null; - let receivedStatus = false; - let callerStackError: Error | null = new Error(); - call.start(callProperties.metadata, { - onReceiveMetadata: metadata => { - emitter.emit('metadata', metadata); - }, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - onReceiveMessage(message: any) { - if (responseMessage !== null) { - call.cancelWithStatus(Status.INTERNAL, 'Too many responses received'); - } - responseMessage = message; - }, - onReceiveStatus(status: StatusObject) { - if (receivedStatus) { - return; - } - receivedStatus = true; - if (status.code === Status.OK) { - if (responseMessage === null) { - const callerStack = getErrorStackString(callerStackError!); - callProperties.callback!( - callErrorFromStatus( - { - code: Status.INTERNAL, - details: 'No message received', - metadata: status.metadata, - }, - callerStack - ) - ); - } else { - callProperties.callback!(null, responseMessage); - } - } else { - const callerStack = getErrorStackString(callerStackError!); - callProperties.callback!(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; - } - - private checkMetadataAndOptions( - arg1?: Metadata | CallOptions, - arg2?: CallOptions - ): { metadata: Metadata; options: CallOptions } { - let metadata: Metadata; - let options: CallOptions; - if (arg1 instanceof Metadata) { - metadata = arg1; - if (arg2) { - options = arg2; - } else { - options = {}; - } - } else { - if (arg1) { - options = arg1; - } else { - options = {}; - } - metadata = new Metadata(); - } - return { metadata, options }; - } - - 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; - makeServerStreamRequest( - method: string, - serialize: (value: RequestType) => Buffer, - deserialize: (value: Buffer) => ResponseType, - argument: RequestType, - metadata?: Metadata | CallOptions, - options?: CallOptions - ): ClientReadableStream { - const checkedArguments = this.checkMetadataAndOptions(metadata, options); - const methodDefinition: ClientMethodDefinition = - { - path: method, - requestStream: false, - responseStream: true, - requestSerialize: serialize, - responseDeserialize: deserialize, - }; - let callProperties: CallProperties = { - argument: argument, - metadata: checkedArguments.metadata, - call: new ClientReadableStreamImpl(deserialize), - channel: this[CHANNEL_SYMBOL], - methodDefinition: methodDefinition, - callOptions: checkedArguments.options, - }; - if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) { - callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL]!( - callProperties - ) as CallProperties; - } - const stream: ClientReadableStream = - callProperties.call as ClientReadableStream; - const interceptorArgs: InterceptorArguments = { - clientInterceptors: this[INTERCEPTOR_SYMBOL], - clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL], - callInterceptors: callProperties.callOptions.interceptors ?? [], - callInterceptorProviders: - callProperties.callOptions.interceptor_providers ?? [], - }; - const call: InterceptingCallInterface = 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: Error | null = new Error(); - call.start(callProperties.metadata, { - onReceiveMetadata(metadata: Metadata) { - stream.emit('metadata', metadata); - }, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - onReceiveMessage(message: any) { - stream.push(message); - }, - onReceiveStatus(status: StatusObject) { - if (receivedStatus) { - return; - } - receivedStatus = true; - stream.push(null); - if (status.code !== Status.OK) { - const callerStack = getErrorStackString(callerStackError!); - stream.emit('error', 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: 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; - makeBidiStreamRequest( - method: string, - serialize: (value: RequestType) => Buffer, - deserialize: (value: Buffer) => ResponseType, - metadata?: Metadata | CallOptions, - options?: CallOptions - ): ClientDuplexStream { - const checkedArguments = this.checkMetadataAndOptions(metadata, options); - const methodDefinition: ClientMethodDefinition = - { - path: method, - requestStream: true, - responseStream: true, - requestSerialize: serialize, - responseDeserialize: deserialize, - }; - let callProperties: CallProperties = { - metadata: checkedArguments.metadata, - call: new 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 - ) as CallProperties; - } - const stream: ClientDuplexStream = - callProperties.call as ClientDuplexStream; - const interceptorArgs: InterceptorArguments = { - clientInterceptors: this[INTERCEPTOR_SYMBOL], - clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL], - callInterceptors: callProperties.callOptions.interceptors ?? [], - callInterceptorProviders: - callProperties.callOptions.interceptor_providers ?? [], - }; - const call: InterceptingCallInterface = 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: Error | null = new Error(); - call.start(callProperties.metadata, { - onReceiveMetadata(metadata: Metadata) { - stream.emit('metadata', metadata); - }, - onReceiveMessage(message: Buffer) { - stream.push(message); - }, - onReceiveStatus(status: StatusObject) { - if (receivedStatus) { - return; - } - receivedStatus = true; - stream.push(null); - if (status.code !== Status.OK) { - const callerStack = getErrorStackString(callerStackError!); - stream.emit('error', 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; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/compression-algorithms.ts b/frontend-old/node_modules/@grpc/grpc-js/src/compression-algorithms.ts deleted file mode 100644 index 67fdcf1..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/compression-algorithms.ts +++ /dev/null @@ -1,22 +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. - * - */ - -export enum CompressionAlgorithms { - identity = 0, - deflate = 1, - gzip = 2, -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/compression-filter.ts b/frontend-old/node_modules/@grpc/grpc-js/src/compression-filter.ts deleted file mode 100644 index f1600b3..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/compression-filter.ts +++ /dev/null @@ -1,350 +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 * as zlib from 'zlib'; - -import { WriteObject, WriteFlags } from './call-interface'; -import { Channel } from './channel'; -import { ChannelOptions } from './channel-options'; -import { CompressionAlgorithms } from './compression-algorithms'; -import { DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH, LogVerbosity, Status } from './constants'; -import { BaseFilter, Filter, FilterFactory } from './filter'; -import * as logging from './logging'; -import { Metadata, MetadataValue } from './metadata'; - -const isCompressionAlgorithmKey = ( - key: number -): key is CompressionAlgorithms => { - return ( - typeof key === 'number' && typeof CompressionAlgorithms[key] === 'string' - ); -}; - -type CompressionAlgorithm = keyof typeof CompressionAlgorithms; - -type SharedCompressionFilterConfig = { - serverSupportedEncodingHeader?: string; -}; - -abstract class CompressionHandler { - protected abstract compressMessage(message: Buffer): Promise; - protected abstract decompressMessage(data: Buffer): Promise; - /** - * @param message Raw uncompressed message bytes - * @param compress Indicates whether the message should be compressed - * @return Framed message, compressed if applicable - */ - async writeMessage(message: Buffer, compress: boolean): Promise { - 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: Buffer): Promise { - 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: Buffer) { - return message; - } - - async writeMessage(message: Buffer, compress: boolean): Promise { - 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: Buffer): Promise { - return Promise.reject( - new Error( - 'Received compressed message but "grpc-encoding" header was identity' - ) - ); - } -} - -class DeflateHandler extends CompressionHandler { - constructor(private maxRecvMessageLength: number) { - super(); - } - - compressMessage(message: Buffer) { - return new Promise((resolve, reject) => { - zlib.deflate(message, (err, output) => { - if (err) { - reject(err); - } else { - resolve(output); - } - }); - }); - } - - decompressMessage(message: Buffer) { - return new Promise((resolve, reject) => { - let totalLength = 0; - const messageParts: Buffer[] = []; - const decompresser = zlib.createInflate(); - decompresser.on('data', (chunk: Buffer) => { - messageParts.push(chunk); - totalLength += chunk.byteLength; - if (this.maxRecvMessageLength !== -1 && totalLength > this.maxRecvMessageLength) { - decompresser.destroy(); - reject({ - code: Status.RESOURCE_EXHAUSTED, - details: `Received message that decompresses to a size larger than ${this.maxRecvMessageLength}` - }); - } - }); - decompresser.on('end', () => { - resolve(Buffer.concat(messageParts)); - }); - decompresser.write(message); - decompresser.end(); - }); - } -} - -class GzipHandler extends CompressionHandler { - constructor(private maxRecvMessageLength: number) { - super(); - } - - compressMessage(message: Buffer) { - return new Promise((resolve, reject) => { - zlib.gzip(message, (err, output) => { - if (err) { - reject(err); - } else { - resolve(output); - } - }); - }); - } - - decompressMessage(message: Buffer) { - return new Promise((resolve, reject) => { - let totalLength = 0; - const messageParts: Buffer[] = []; - const decompresser = zlib.createGunzip(); - decompresser.on('data', (chunk: Buffer) => { - messageParts.push(chunk); - totalLength += chunk.byteLength; - if (this.maxRecvMessageLength !== -1 && totalLength > this.maxRecvMessageLength) { - decompresser.destroy(); - reject({ - code: Status.RESOURCE_EXHAUSTED, - details: `Received message that decompresses to a size larger than ${this.maxRecvMessageLength}` - }); - } - }); - decompresser.on('end', () => { - resolve(Buffer.concat(messageParts)); - }); - decompresser.write(message); - decompresser.end(); - }); - } -} - -class UnknownHandler extends CompressionHandler { - constructor(private readonly compressionName: string) { - super(); - } - compressMessage(message: Buffer): Promise { - return Promise.reject( - new Error( - `Received message compressed with unsupported compression method ${this.compressionName}` - ) - ); - } - - decompressMessage(message: Buffer): Promise { - // This should be unreachable - return Promise.reject( - new Error(`Compression method not supported: ${this.compressionName}`) - ); - } -} - -function getCompressionHandler(compressionName: string, maxReceiveMessageSize: number): CompressionHandler { - switch (compressionName) { - case 'identity': - return new IdentityHandler(); - case 'deflate': - return new DeflateHandler(maxReceiveMessageSize); - case 'gzip': - return new GzipHandler(maxReceiveMessageSize); - default: - return new UnknownHandler(compressionName); - } -} - -export class CompressionFilter extends BaseFilter implements Filter { - private sendCompression: CompressionHandler = new IdentityHandler(); - private receiveCompression: CompressionHandler = new IdentityHandler(); - private currentCompressionAlgorithm: CompressionAlgorithm = 'identity'; - private maxReceiveMessageLength: number; - - constructor( - channelOptions: ChannelOptions, - private sharedFilterConfig: SharedCompressionFilterConfig - ) { - super(); - - const compressionAlgorithmKey = - channelOptions['grpc.default_compression_algorithm']; - this.maxReceiveMessageLength = channelOptions['grpc.max_receive_message_length'] ?? DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH - if (compressionAlgorithmKey !== undefined) { - if (isCompressionAlgorithmKey(compressionAlgorithmKey)) { - const clientSelectedEncoding = CompressionAlgorithms[ - compressionAlgorithmKey - ] as CompressionAlgorithm; - const serverSupportedEncodings = - sharedFilterConfig.serverSupportedEncodingHeader?.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, - -1 - ); - } - } else { - logging.log( - LogVerbosity.ERROR, - `Invalid value provided for grpc.default_compression_algorithm option: ${compressionAlgorithmKey}` - ); - } - } - } - - async sendMetadata(metadata: Promise): Promise { - const headers: Metadata = 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: Metadata): Metadata { - const receiveEncoding: MetadataValue[] = metadata.get('grpc-encoding'); - if (receiveEncoding.length > 0) { - const encoding: MetadataValue = receiveEncoding[0]; - if (typeof encoding === 'string') { - this.receiveCompression = getCompressionHandler(encoding, this.maxReceiveMessageLength); - } - } - 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] as string | undefined; - 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: Promise): Promise { - /* 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: WriteObject = await message; - let compress: boolean; - if (this.sendCompression instanceof IdentityHandler) { - compress = false; - } else { - compress = ((resolvedMessage.flags ?? 0) & WriteFlags.NoCompress) === 0; - } - - return { - message: await this.sendCompression.writeMessage( - resolvedMessage.message, - compress - ), - flags: resolvedMessage.flags, - }; - } - - async receiveMessage(message: Promise) { - /* 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); - } -} - -export class CompressionFilterFactory - implements FilterFactory -{ - private sharedFilterConfig: SharedCompressionFilterConfig = {}; - constructor(channel: Channel, private readonly options: ChannelOptions) {} - createFilter(): CompressionFilter { - return new CompressionFilter(this.options, this.sharedFilterConfig); - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/connectivity-state.ts b/frontend-old/node_modules/@grpc/grpc-js/src/connectivity-state.ts deleted file mode 100644 index 560ab9c..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/connectivity-state.ts +++ /dev/null @@ -1,24 +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. - * - */ - -export enum ConnectivityState { - IDLE, - CONNECTING, - READY, - TRANSIENT_FAILURE, - SHUTDOWN, -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/constants.ts b/frontend-old/node_modules/@grpc/grpc-js/src/constants.ts deleted file mode 100644 index 865b24c..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/constants.ts +++ /dev/null @@ -1,66 +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. - * - */ - -export enum Status { - OK = 0, - CANCELLED, - UNKNOWN, - INVALID_ARGUMENT, - DEADLINE_EXCEEDED, - NOT_FOUND, - ALREADY_EXISTS, - PERMISSION_DENIED, - RESOURCE_EXHAUSTED, - FAILED_PRECONDITION, - ABORTED, - OUT_OF_RANGE, - UNIMPLEMENTED, - INTERNAL, - UNAVAILABLE, - DATA_LOSS, - UNAUTHENTICATED, -} - -export enum LogVerbosity { - DEBUG = 0, - INFO, - ERROR, - NONE, -} - -/** - * 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 enum Propagate { - DEADLINE = 1, - CENSUS_STATS_CONTEXT = 2, - CENSUS_TRACING_CONTEXT = 4, - CANCELLATION = 8, - // https://github.com/grpc/grpc/blob/master/include/grpc/impl/codegen/propagation_bits.h#L43 - DEFAULTS = 0xffff | - Propagate.DEADLINE | - Propagate.CENSUS_STATS_CONTEXT | - Propagate.CENSUS_TRACING_CONTEXT | - Propagate.CANCELLATION, -} - -// -1 means unlimited -export const DEFAULT_MAX_SEND_MESSAGE_LENGTH = -1; - -// 4 MB default -export const DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH = 4 * 1024 * 1024; diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/control-plane-status.ts b/frontend-old/node_modules/@grpc/grpc-js/src/control-plane-status.ts deleted file mode 100644 index 1d10cb3..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/control-plane-status.ts +++ /dev/null @@ -1,43 +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 { Status } from './constants'; - -const INAPPROPRIATE_CONTROL_PLANE_CODES: Status[] = [ - Status.OK, - Status.INVALID_ARGUMENT, - Status.NOT_FOUND, - Status.ALREADY_EXISTS, - Status.FAILED_PRECONDITION, - Status.ABORTED, - Status.OUT_OF_RANGE, - Status.DATA_LOSS, -]; - -export function restrictControlPlaneStatusCode( - code: Status, - details: string -): { code: Status; details: string } { - if (INAPPROPRIATE_CONTROL_PLANE_CODES.includes(code)) { - return { - code: Status.INTERNAL, - details: `Invalid status from control plane: ${code} ${Status[code]} ${details}`, - }; - } else { - return { code, details }; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/deadline.ts b/frontend-old/node_modules/@grpc/grpc-js/src/deadline.ts deleted file mode 100644 index 8f8fe67..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/deadline.ts +++ /dev/null @@ -1,95 +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. - * - */ - -export type Deadline = Date | number; - -export function minDeadline(...deadlineList: Deadline[]): Deadline { - let minValue = Infinity; - for (const deadline of deadlineList) { - const deadlineMsecs = - deadline instanceof Date ? deadline.getTime() : deadline; - if (deadlineMsecs < minValue) { - minValue = deadlineMsecs; - } - } - return minValue; -} - -const units: Array<[string, number]> = [ - ['m', 1], - ['S', 1000], - ['M', 60 * 1000], - ['H', 60 * 60 * 1000], -]; - -export function getDeadlineTimeoutString(deadline: 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'); -} - -/** - * 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 - */ -export function getRelativeTimeout(deadline: 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; - } -} - -export function deadlineToString(deadline: Deadline): string { - if (deadline instanceof Date) { - return deadline.toISOString(); - } else { - const dateDeadline = new Date(deadline); - if (Number.isNaN(dateDeadline.getTime())) { - return '' + deadline; - } else { - return dateDeadline.toISOString(); - } - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/duration.ts b/frontend-old/node_modules/@grpc/grpc-js/src/duration.ts deleted file mode 100644 index ff77dba..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/duration.ts +++ /dev/null @@ -1,36 +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. - * - */ - -export interface Duration { - seconds: number; - nanos: number; -} - -export function msToDuration(millis: number): Duration { - return { - seconds: (millis / 1000) | 0, - nanos: ((millis % 1000) * 1_000_000) | 0, - }; -} - -export function durationToMs(duration: Duration): number { - return (duration.seconds * 1000 + duration.nanos / 1_000_000) | 0; -} - -export function isDuration(value: any): value is Duration { - return typeof value.seconds === 'number' && typeof value.nanos === 'number'; -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/error.ts b/frontend-old/node_modules/@grpc/grpc-js/src/error.ts deleted file mode 100644 index 105a3ee..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/error.ts +++ /dev/null @@ -1,37 +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. - * - */ - -export function getErrorMessage(error: unknown): string { - if (error instanceof Error) { - return error.message; - } else { - return String(error); - } -} - -export function getErrorCode(error: unknown): number | null { - if ( - typeof error === 'object' && - error !== null && - 'code' in error && - typeof (error as Record).code === 'number' - ) { - return (error as Record).code; - } else { - return null; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/events.ts b/frontend-old/node_modules/@grpc/grpc-js/src/events.ts deleted file mode 100644 index 7718746..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/events.ts +++ /dev/null @@ -1,26 +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. - * - */ - -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/frontend-old/node_modules/@grpc/grpc-js/src/experimental.ts b/frontend-old/node_modules/@grpc/grpc-js/src/experimental.ts deleted file mode 100644 index 9e4bbf4..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/experimental.ts +++ /dev/null @@ -1,48 +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/frontend-old/node_modules/@grpc/grpc-js/src/filter-stack.ts b/frontend-old/node_modules/@grpc/grpc-js/src/filter-stack.ts deleted file mode 100644 index 910f5aa..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/filter-stack.ts +++ /dev/null @@ -1,100 +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 { StatusObject, WriteObject } from './call-interface'; -import { Filter, FilterFactory } from './filter'; -import { Metadata } from './metadata'; - -export class FilterStack implements Filter { - constructor(private readonly filters: Filter[]) {} - - sendMetadata(metadata: Promise): Promise { - let result: Promise = metadata; - - for (let i = 0; i < this.filters.length; i++) { - result = this.filters[i].sendMetadata(result); - } - - return result; - } - - receiveMetadata(metadata: Metadata) { - let result: Metadata = metadata; - - for (let i = this.filters.length - 1; i >= 0; i--) { - result = this.filters[i].receiveMetadata(result); - } - - return result; - } - - sendMessage(message: Promise): Promise { - let result: Promise = message; - - for (let i = 0; i < this.filters.length; i++) { - result = this.filters[i].sendMessage(result); - } - - return result; - } - - receiveMessage(message: Promise): Promise { - let result: Promise = message; - - for (let i = this.filters.length - 1; i >= 0; i--) { - result = this.filters[i].receiveMessage(result); - } - - return result; - } - - receiveTrailers(status: StatusObject): StatusObject { - let result: StatusObject = status; - - for (let i = this.filters.length - 1; i >= 0; i--) { - result = this.filters[i].receiveTrailers(result); - } - - return result; - } - - push(filters: Filter[]) { - this.filters.unshift(...filters); - } - - getFilters(): Filter[] { - return this.filters; - } -} - -export class FilterStackFactory implements FilterFactory { - constructor(private readonly factories: Array>) {} - - push(filterFactories: FilterFactory[]) { - this.factories.unshift(...filterFactories); - } - - clone(): FilterStackFactory { - return new FilterStackFactory([...this.factories]); - } - - createFilter(): FilterStack { - return new FilterStack( - this.factories.map(factory => factory.createFilter()) - ); - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/filter.ts b/frontend-old/node_modules/@grpc/grpc-js/src/filter.ts deleted file mode 100644 index 5313f91..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/filter.ts +++ /dev/null @@ -1,63 +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 { 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 abstract class BaseFilter implements Filter { - async sendMetadata(metadata: Promise): Promise { - return metadata; - } - - receiveMetadata(metadata: Metadata): Metadata { - return metadata; - } - - async sendMessage(message: Promise): Promise { - return message; - } - - async receiveMessage(message: Promise): Promise { - return message; - } - - receiveTrailers(status: StatusObject): StatusObject { - return status; - } -} - -export interface FilterFactory { - createFilter(): T; -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/channelz.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/channelz.ts deleted file mode 100644 index 367cf27..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/channelz.ts +++ /dev/null @@ -1,73 +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 - } - } - } -} - diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Any.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Any.ts deleted file mode 100644 index fcaa672..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Any.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Original file: null - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BoolValue.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BoolValue.ts deleted file mode 100644 index 86507ea..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BoolValue.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Original file: null - - -export interface BoolValue { - 'value'?: (boolean); -} - -export interface BoolValue__Output { - 'value': (boolean); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BytesValue.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BytesValue.ts deleted file mode 100644 index 9cec76f..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BytesValue.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Original file: null - - -export interface BytesValue { - 'value'?: (Buffer | Uint8Array | string); -} - -export interface BytesValue__Output { - 'value': (Buffer); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/DoubleValue.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/DoubleValue.ts deleted file mode 100644 index d70b303..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/DoubleValue.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Original file: null - - -export interface DoubleValue { - 'value'?: (number | string); -} - -export interface DoubleValue__Output { - 'value': (number); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Duration.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Duration.ts deleted file mode 100644 index 8595377..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Duration.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Original file: null - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/FloatValue.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/FloatValue.ts deleted file mode 100644 index 54a655f..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/FloatValue.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Original file: null - - -export interface FloatValue { - 'value'?: (number | string); -} - -export interface FloatValue__Output { - 'value': (number); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int32Value.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int32Value.ts deleted file mode 100644 index ec4eeb7..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int32Value.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Original file: null - - -export interface Int32Value { - 'value'?: (number); -} - -export interface Int32Value__Output { - 'value': (number); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int64Value.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int64Value.ts deleted file mode 100644 index f737519..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int64Value.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Original file: null - -import type { Long } from '@grpc/proto-loader'; - -export interface Int64Value { - 'value'?: (number | string | Long); -} - -export interface Int64Value__Output { - 'value': (string); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/StringValue.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/StringValue.ts deleted file mode 100644 index 673090e..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/StringValue.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Original file: null - - -export interface StringValue { - 'value'?: (string); -} - -export interface StringValue__Output { - 'value': (string); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Timestamp.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Timestamp.ts deleted file mode 100644 index ceaa32b..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Timestamp.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Original file: null - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt32Value.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt32Value.ts deleted file mode 100644 index 973ab34..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt32Value.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Original file: null - - -export interface UInt32Value { - 'value'?: (number); -} - -export interface UInt32Value__Output { - 'value': (number); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt64Value.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt64Value.ts deleted file mode 100644 index 7a85c39..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt64Value.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Original file: null - -import type { Long } from '@grpc/proto-loader'; - -export interface UInt64Value { - 'value'?: (number | string | Long); -} - -export interface UInt64Value__Output { - 'value': (string); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Address.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Address.ts deleted file mode 100644 index 259cfea..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Address.ts +++ /dev/null @@ -1,89 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channel.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channel.ts deleted file mode 100644 index 93b4a26..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channel.ts +++ /dev/null @@ -1,68 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelConnectivityState.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelConnectivityState.ts deleted file mode 100644 index 78fb069..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelConnectivityState.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Original file: proto/channelz.proto - - -// Original file: proto/channelz.proto - -export const _grpc_channelz_v1_ChannelConnectivityState_State = { - UNKNOWN: 'UNKNOWN', - IDLE: 'IDLE', - CONNECTING: 'CONNECTING', - READY: 'READY', - TRANSIENT_FAILURE: 'TRANSIENT_FAILURE', - SHUTDOWN: 'SHUTDOWN', -} as const; - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelData.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelData.ts deleted file mode 100644 index 6d6824a..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelData.ts +++ /dev/null @@ -1,76 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelRef.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelRef.ts deleted file mode 100644 index 231d008..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelRef.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTrace.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTrace.ts deleted file mode 100644 index 7dbc8d9..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTrace.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTraceEvent.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTraceEvent.ts deleted file mode 100644 index 403e4f1..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTraceEvent.ts +++ /dev/null @@ -1,91 +0,0 @@ -// Original file: proto/channelz.proto - -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'; - -// Original file: proto/channelz.proto - -/** - * The supported severity levels of trace events. - */ -export const _grpc_channelz_v1_ChannelTraceEvent_Severity = { - CT_UNKNOWN: 'CT_UNKNOWN', - CT_INFO: 'CT_INFO', - CT_WARNING: 'CT_WARNING', - CT_ERROR: 'CT_ERROR', -} as const; - -/** - * 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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channelz.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channelz.ts deleted file mode 100644 index 4c8c18a..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channelz.ts +++ /dev/null @@ -1,178 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelRequest.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelRequest.ts deleted file mode 100644 index 437e2d6..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelRequest.ts +++ /dev/null @@ -1,17 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelResponse.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelResponse.ts deleted file mode 100644 index 2e967a4..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelResponse.ts +++ /dev/null @@ -1,19 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerRequest.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerRequest.ts deleted file mode 100644 index f5d4a29..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerRequest.ts +++ /dev/null @@ -1,17 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerResponse.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerResponse.ts deleted file mode 100644 index fe00782..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerResponse.ts +++ /dev/null @@ -1,19 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsRequest.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsRequest.ts deleted file mode 100644 index c33056e..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsRequest.ts +++ /dev/null @@ -1,39 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsResponse.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsResponse.ts deleted file mode 100644 index 112f277..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsResponse.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersRequest.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersRequest.ts deleted file mode 100644 index 2defea6..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersResponse.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersResponse.ts deleted file mode 100644 index b07893b..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersResponse.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketRequest.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketRequest.ts deleted file mode 100644 index b3dc160..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketRequest.ts +++ /dev/null @@ -1,29 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketResponse.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketResponse.ts deleted file mode 100644 index b6304b7..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketResponse.ts +++ /dev/null @@ -1,19 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelRequest.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelRequest.ts deleted file mode 100644 index f481a81..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelRequest.ts +++ /dev/null @@ -1,17 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelResponse.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelResponse.ts deleted file mode 100644 index 57d2bf2..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelResponse.ts +++ /dev/null @@ -1,19 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsRequest.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsRequest.ts deleted file mode 100644 index a122d7a..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsResponse.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsResponse.ts deleted file mode 100644 index d96e636..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsResponse.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Security.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Security.ts deleted file mode 100644 index e555d69..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Security.ts +++ /dev/null @@ -1,87 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Server.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Server.ts deleted file mode 100644 index 9583433..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Server.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerData.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerData.ts deleted file mode 100644 index ce48e36..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerData.ts +++ /dev/null @@ -1,57 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerRef.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerRef.ts deleted file mode 100644 index 389183b..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerRef.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Socket.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Socket.ts deleted file mode 100644 index 5829afe..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Socket.ts +++ /dev/null @@ -1,70 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketData.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketData.ts deleted file mode 100644 index c62d4d1..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketData.ts +++ /dev/null @@ -1,150 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOption.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOption.ts deleted file mode 100644 index 115b36a..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOption.ts +++ /dev/null @@ -1,47 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionLinger.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionLinger.ts deleted file mode 100644 index d83fa32..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionLinger.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.ts deleted file mode 100644 index 2f8affe..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.ts +++ /dev/null @@ -1,74 +0,0 @@ -// Original file: proto/channelz.proto - - -/** - * 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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTimeout.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTimeout.ts deleted file mode 100644 index 185839b..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTimeout.ts +++ /dev/null @@ -1,19 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketRef.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketRef.ts deleted file mode 100644 index 52fdb2b..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketRef.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Subchannel.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Subchannel.ts deleted file mode 100644 index 7122fac..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Subchannel.ts +++ /dev/null @@ -1,70 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SubchannelRef.ts b/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SubchannelRef.ts deleted file mode 100644 index b6911c7..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SubchannelRef.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Original file: proto/channelz.proto - -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/frontend-old/node_modules/@grpc/grpc-js/src/http_proxy.ts b/frontend-old/node_modules/@grpc/grpc-js/src/http_proxy.ts deleted file mode 100644 index 3e905c4..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/http_proxy.ts +++ /dev/null @@ -1,311 +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 { log } from './logging'; -import { LogVerbosity } from './constants'; -import { getDefaultAuthority } from './resolver'; -import { Socket } from 'net'; -import * as http from 'http'; -import * as tls from 'tls'; -import * as logging from './logging'; -import { - SubchannelAddress, - isTcpSubchannelAddress, - subchannelAddressToString, -} from './subchannel-address'; -import { ChannelOptions } from './channel-options'; -import { GrpcUri, parseUri, splitHostPort, uriToString } from './uri-parser'; -import { URL } from 'url'; -import { DEFAULT_PORT } from './resolver-dns'; - -const TRACER_NAME = 'proxy'; - -function trace(text: string): void { - logging.trace(LogVerbosity.DEBUG, TRACER_NAME, text); -} - -interface ProxyInfo { - address?: string; - creds?: string; -} - -function getProxyInfo(): ProxyInfo { - 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: URL; - try { - proxyUrl = new URL(proxyEnv); - } catch (e) { - log(LogVerbosity.ERROR, `cannot parse value of "${envVar}" env var`); - return {}; - } - if (proxyUrl.protocol !== 'http:') { - log( - LogVerbosity.ERROR, - `"${proxyUrl.protocol}" scheme not supported in proxy URI` - ); - return {}; - } - let userCred: string | null = null; - if (proxyUrl.username) { - if (proxyUrl.password) { - log(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: ProxyInfo = { - address: `${hostname}:${port}`, - }; - if (userCred) { - result.creds = userCred; - } - trace( - 'Proxy server ' + result.address + ' set by environment variable ' + envVar - ); - return result; -} - -function getNoProxyHostList(): string[] { - /* Prefer using 'no_grpc_proxy'. Fallback on 'no_proxy' if it is not set. */ - let noProxyStr: string | undefined = 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 []; - } -} - -export interface ProxyMapResult { - target: GrpcUri; - extraOptions: ChannelOptions; -} - -export function mapProxyName( - target: GrpcUri, - options: ChannelOptions -): ProxyMapResult { - const noProxyResult: ProxyMapResult = { - target: target, - extraOptions: {}, - }; - if ((options['grpc.enable_http_proxy'] ?? 1) === 0) { - return noProxyResult; - } - if (target.scheme === 'unix') { - return noProxyResult; - } - const proxyInfo = getProxyInfo(); - if (!proxyInfo.address) { - return noProxyResult; - } - const hostPort = 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: ' + uriToString(target) - ); - return noProxyResult; - } - } - const extraOptions: ChannelOptions = { - 'grpc.http_connect_target': uriToString(target), - }; - if (proxyInfo.creds) { - extraOptions['grpc.http_connect_creds'] = proxyInfo.creds; - } - return { - target: { - scheme: 'dns', - path: proxyInfo.address, - }, - extraOptions: extraOptions, - }; -} - -export interface ProxyConnectionResult { - socket?: Socket; - realTarget?: GrpcUri; -} - -export function getProxiedConnection( - address: SubchannelAddress, - channelOptions: ChannelOptions, - connectionOptions: tls.ConnectionOptions -): Promise { - if (!('grpc.http_connect_target' in channelOptions)) { - return Promise.resolve({}); - } - const realTarget = channelOptions['grpc.http_connect_target'] as string; - const parsedTarget = parseUri(realTarget); - if (parsedTarget === null) { - return Promise.resolve({}); - } - const splitHostPost = splitHostPort(parsedTarget.path); - if (splitHostPost === null) { - return Promise.resolve({}); - } - const hostPort = `${splitHostPost.host}:${ - splitHostPost.port ?? DEFAULT_PORT - }`; - const options: http.RequestOptions = { - method: 'CONNECT', - path: hostPort, - }; - const headers: http.OutgoingHttpHeaders = { - Host: hostPort, - }; - // Connect to the subchannel address as a proxy - if (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'] as string).toString( - 'base64' - ); - } - options.headers = headers; - const proxyAddressString = 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) => { - 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 = getDefaultAuthority(parsedTarget); - const hostPort = splitHostPort(targetPath); - const remoteHost = hostPort?.host ?? targetPath; - - const cts = tls.connect( - { - 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: 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 { - log( - LogVerbosity.ERROR, - 'Failed to connect to ' + - options.path + - ' through proxy ' + - proxyAddressString + - ' with status ' + - res.statusCode - ); - reject(); - } - }); - request.once('error', err => { - request.removeAllListeners(); - log( - LogVerbosity.ERROR, - 'Failed to connect to proxy ' + - proxyAddressString + - ' with error ' + - err.message - ); - reject(); - }); - request.end(); - }); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/index.ts b/frontend-old/node_modules/@grpc/grpc-js/src/index.ts deleted file mode 100644 index 28fc776..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/index.ts +++ /dev/null @@ -1,284 +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 { - 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 * as logging from './logging'; -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 ****/ - -// Using assign only copies enumerable properties, which is what we want -export 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 => { - 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: CallCredentials, - ...additional: CallCredentials[] - ): CallCredentials => { - return additional.reduce((acc, other) => acc.compose(other), first); - }, - - // from channel-credentials.ts - createInsecure: ChannelCredentials.createInsecure, - createSsl: ChannelCredentials.createSsl, - createFromSecureContext: ChannelCredentials.createFromSecureContext, - - // from call-credentials.ts - createFromMetadataGenerator: CallCredentials.createFromMetadataGenerator, - createFromGoogleCredential: CallCredentials.createFromGoogleCredential, - createEmpty: CallCredentials.createEmpty, -}; - -/**** Metadata ****/ - -export { Metadata, MetadataOptions, MetadataValue }; - -/**** Constants ****/ - -export { - LogVerbosity as logVerbosity, - Status as status, - ConnectivityState as connectivityState, - Propagate as propagate, - CompressionAlgorithms as compressionAlgorithms, - // TODO: Other constants as well -}; - -/**** 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 const closeClient = (client: Client) => client.close(); - -export const waitForClientReady = ( - client: Client, - deadline: Date | number, - callback: (error?: Error) => void -) => client.waitForReady(deadline, callback); - -/* Interfaces */ - -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, -}; - -/* eslint-disable @typescript-eslint/no-explicit-any */ -export type Call = - | ClientUnaryCall - | ClientReadableStream - | ClientWritableStream - | ClientDuplexStream; -/* eslint-enable @typescript-eslint/no-explicit-any */ - -/**** Unimplemented function stubs ****/ - -/* eslint-disable @typescript-eslint/no-explicit-any */ - -export const loadObject = (value: any, options: any): never => { - throw new Error( - 'Not available in this library. Use @grpc/proto-loader and loadPackageDefinition instead' - ); -}; - -export const load = (filename: any, format: any, options: any): never => { - throw new Error( - 'Not available in this library. Use @grpc/proto-loader and loadPackageDefinition instead' - ); -}; - -export const setLogger = (logger: Partial): void => { - logging.setLogger(logger); -}; - -export const setLogVerbosity = (verbosity: LogVerbosity): void => { - logging.setLoggerVerbosity(verbosity); -}; - -export { Server }; -export { ServerCredentials }; -export { KeyCertPair }; - -export const getClientChannel = (client: Client) => { - return Client.prototype.getChannel.call(client); -}; - -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 * as resolver_dns from './resolver-dns'; -import * as resolver_uds from './resolver-uds'; -import * as resolver_ip from './resolver-ip'; -import * as load_balancer_pick_first from './load-balancer-pick-first'; -import * as load_balancer_round_robin from './load-balancer-round-robin'; -import * as load_balancer_outlier_detection from './load-balancer-outlier-detection'; -import * as channelz from './channelz'; -import { Deadline } from './deadline'; - -(() => { - 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(); -})(); diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/internal-channel.ts b/frontend-old/node_modules/@grpc/grpc-js/src/internal-channel.ts deleted file mode 100644 index 5c8c91c..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/internal-channel.ts +++ /dev/null @@ -1,830 +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 { ResolvingLoadBalancer } from './resolving-load-balancer'; -import { SubchannelPool, getSubchannelPool } from './subchannel-pool'; -import { ChannelControlHelper } from './load-balancer'; -import { UnavailablePicker, Picker, QueuePicker } from './picker'; -import { Metadata } from './metadata'; -import { Status, LogVerbosity, Propagate } from './constants'; -import { FilterStackFactory } from './filter-stack'; -import { CompressionFilterFactory } from './compression-filter'; -import { - CallConfig, - ConfigSelector, - getDefaultAuthority, - mapUriDefaultScheme, -} from './resolver'; -import { trace } from './logging'; -import { SubchannelAddress } from './subchannel-address'; -import { mapProxyName } from './http_proxy'; -import { GrpcUri, parseUri, uriToString } from './uri-parser'; -import { ServerSurfaceCall } from './server-call'; - -import { ConnectivityState } from './connectivity-state'; -import { - ChannelInfo, - ChannelRef, - ChannelzCallTracker, - ChannelzChildrenTracker, - ChannelzTrace, - registerChannelzChannel, - SubchannelRef, - unregisterChannelzRef, -} from './channelz'; -import { LoadBalancingCall } from './load-balancing-call'; -import { CallCredentials } from './call-credentials'; -import { Call, CallStreamOptions, StatusObject } from './call-interface'; -import { Deadline, deadlineToString } from './deadline'; -import { ResolvingCall } from './resolving-call'; -import { getNextCallNumber } from './call-number'; -import { restrictControlPlaneStatusCode } from './control-plane-status'; -import { - MessageBufferTracker, - RetryingCall, - RetryThrottler, -} from './retrying-call'; -import { - BaseSubchannelWrapper, - ConnectivityStateListener, - SubchannelInterface, -} from './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; - -interface ConnectivityStateWatcher { - currentState: ConnectivityState; - timer: NodeJS.Timeout | null; - callback: (error?: Error) => void; -} - -interface NoneConfigResult { - type: 'NONE'; -} - -interface SuccessConfigResult { - type: 'SUCCESS'; - config: CallConfig; -} - -interface ErrorConfigResult { - type: 'ERROR'; - error: StatusObject; -} - -type GetConfigResult = - | NoneConfigResult - | SuccessConfigResult - | ErrorConfigResult; - -const RETRY_THROTTLER_MAP: 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 BaseSubchannelWrapper - implements SubchannelInterface -{ - private refCount = 0; - private subchannelStateListener: ConnectivityStateListener; - constructor( - childSubchannel: SubchannelInterface, - private channel: InternalChannel - ) { - super(childSubchannel); - this.subchannelStateListener = ( - subchannel, - previousState, - newState, - keepaliveTime - ) => { - channel.throttleKeepalive(keepaliveTime); - }; - childSubchannel.addConnectivityStateListener(this.subchannelStateListener); - } - - ref(): void { - this.child.ref(); - this.refCount += 1; - } - - unref(): void { - this.child.unref(); - this.refCount -= 1; - if (this.refCount <= 0) { - this.child.removeConnectivityStateListener(this.subchannelStateListener); - this.channel.removeWrappedSubchannel(this); - } - } -} - -export class InternalChannel { - private readonly resolvingLoadBalancer: ResolvingLoadBalancer; - private readonly subchannelPool: SubchannelPool; - private connectivityState: ConnectivityState = ConnectivityState.IDLE; - private currentPicker: Picker = new 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. - */ - private configSelectionQueue: ResolvingCall[] = []; - private pickQueue: LoadBalancingCall[] = []; - private connectivityStateWatchers: ConnectivityStateWatcher[] = []; - private readonly defaultAuthority: string; - private readonly filterStackFactory: FilterStackFactory; - private readonly target: GrpcUri; - /** - * 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: NodeJS.Timeout; - private configSelector: ConfigSelector | null = 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. - */ - private currentResolutionError: StatusObject | null = null; - private readonly retryBufferTracker: MessageBufferTracker; - private keepaliveTime: number; - private readonly wrappedSubchannels: Set = - new Set(); - - private callCount = 0; - private idleTimer: NodeJS.Timeout | null = null; - private readonly idleTimeoutMs: number; - private lastActivityTimestamp: Date; - - // Channelz info - private readonly channelzEnabled: boolean = true; - private readonly originalTarget: string; - private readonly channelzRef: ChannelRef; - private readonly channelzTrace: ChannelzTrace; - private readonly callTracker = new ChannelzCallTracker(); - private readonly childrenTracker = new ChannelzChildrenTracker(); - - constructor( - target: string, - private readonly credentials: ChannelCredentials, - private readonly 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.originalTarget = target; - const originalTargetUri = 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 = mapUriDefaultScheme(originalTargetUri); - if (defaultSchemeMapResult === null) { - throw new Error( - `Could not find a default scheme for target name "${target}"` - ); - } - - this.callRefTimer = setInterval(() => {}, MAX_TIMEOUT_TIME); - this.callRefTimer.unref?.(); - - if (this.options['grpc.enable_channelz'] === 0) { - this.channelzEnabled = false; - } - - this.channelzTrace = new ChannelzTrace(); - this.channelzRef = 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'] as string; - } else { - this.defaultAuthority = getDefaultAuthority(defaultSchemeMapResult); - } - const proxyMapResult = 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 = getSubchannelPool( - (options['grpc.use_local_subchannel_pool'] ?? 0) === 0 - ); - this.retryBufferTracker = new MessageBufferTracker( - options['grpc.retry_buffer_size'] ?? DEFAULT_RETRY_BUFFER_SIZE_BYTES, - options['grpc.per_rpc_retry_buffer_size'] ?? - DEFAULT_PER_RPC_RETRY_BUFFER_SIZE_BYTES - ); - this.keepaliveTime = options['grpc.keepalive_time_ms'] ?? -1; - this.idleTimeoutMs = Math.max( - options['grpc.client_idle_timeout_ms'] ?? DEFAULT_IDLE_TIMEOUT_MS, - MIN_IDLE_TIMEOUT_MS - ); - const channelControlHelper: ChannelControlHelper = { - createSubchannel: ( - subchannelAddress: SubchannelAddress, - subchannelArgs: ChannelOptions - ) => { - 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: ConnectivityState, picker: Picker) => { - this.currentPicker = picker; - const queueCopy = this.pickQueue.slice(); - this.pickQueue = []; - if (queueCopy.length > 0) { - 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: ChannelRef | SubchannelRef) => { - if (this.channelzEnabled) { - this.childrenTracker.refChild(child); - } - }, - removeChannelzChild: (child: ChannelRef | SubchannelRef) => { - if (this.channelzEnabled) { - this.childrenTracker.unrefChild(child); - } - }, - }; - this.resolvingLoadBalancer = new ResolvingLoadBalancer( - this.target, - channelControlHelper, - options, - (serviceConfig, configSelector) => { - if (serviceConfig.retryThrottling) { - RETRY_THROTTLER_MAP.set( - this.getTarget(), - new 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 = []; - if (localQueue.length > 0) { - this.callRefTimerUnref(); - } - for (const call of localQueue) { - call.getConfig(); - } - }); - }, - 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 = { - ...restrictControlPlaneStatusCode(status.code, status.details), - metadata: status.metadata, - }; - } - const localQueue = this.configSelectionQueue; - this.configSelectionQueue = []; - if (localQueue.length > 0) { - this.callRefTimerUnref(); - } - for (const call of localQueue) { - call.reportResolverError(status); - } - } - ); - this.filterStackFactory = new FilterStackFactory([ - new CompressionFilterFactory(this, this.options), - ]); - this.trace( - 'Channel constructed with options ' + - JSON.stringify(options, undefined, 2) - ); - const error = new Error(); - trace( - LogVerbosity.DEBUG, - 'channel_stacktrace', - '(' + - this.channelzRef.id + - ') ' + - 'Channel constructed \n' + - error.stack?.substring(error.stack.indexOf('\n') + 1) - ); - this.lastActivityTimestamp = new Date(); - } - - private getChannelzInfo(): ChannelInfo { - return { - target: this.originalTarget, - state: this.connectivityState, - trace: this.channelzTrace, - callTracker: this.callTracker, - children: this.childrenTracker.getChildLists(), - }; - } - - private trace(text: string, verbosityOverride?: LogVerbosity) { - trace( - verbosityOverride ?? LogVerbosity.DEBUG, - 'channel', - '(' + this.channelzRef.id + ') ' + uriToString(this.target) + ' ' + text - ); - } - - private callRefTimerRef() { - // If the hasRef function does not exist, always run the code - if (!this.callRefTimer.hasRef?.()) { - this.trace( - 'callRefTimer.ref | configSelectionQueue.length=' + - this.configSelectionQueue.length + - ' pickQueue.length=' + - this.pickQueue.length - ); - this.callRefTimer.ref?.(); - } - } - - private callRefTimerUnref() { - // 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 - ); - this.callRefTimer.unref?.(); - } - } - - private removeConnectivityStateWatcher( - watcherObject: ConnectivityStateWatcher - ) { - const watcherIndex = this.connectivityStateWatchers.findIndex( - value => value === watcherObject - ); - if (watcherIndex >= 0) { - this.connectivityStateWatchers.splice(watcherIndex, 1); - } - } - - private updateState(newState: ConnectivityState): void { - trace( - LogVerbosity.DEBUG, - 'connectivity_state', - '(' + - this.channelzRef.id + - ') ' + - uriToString(this.target) + - ' ' + - ConnectivityState[this.connectivityState] + - ' -> ' + - ConnectivityState[newState] - ); - if (this.channelzEnabled) { - this.channelzTrace.addTrace( - 'CT_INFO', - 'Connectivity state change to ' + 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 !== ConnectivityState.TRANSIENT_FAILURE) { - this.currentResolutionError = null; - } - } - - throttleKeepalive(newKeepaliveTime: number) { - if (newKeepaliveTime > this.keepaliveTime) { - this.keepaliveTime = newKeepaliveTime; - for (const wrappedSubchannel of this.wrappedSubchannels) { - wrappedSubchannel.throttleKeepalive(newKeepaliveTime); - } - } - } - - removeWrappedSubchannel(wrappedSubchannel: ChannelSubchannelWrapper) { - this.wrappedSubchannels.delete(wrappedSubchannel); - } - - doPick(metadata: Metadata, extraPickInfo: { [key: string]: string }) { - return this.currentPicker.pick({ - metadata: metadata, - extraPickInfo: extraPickInfo, - }); - } - - queueCallForPick(call: LoadBalancingCall) { - this.pickQueue.push(call); - this.callRefTimerRef(); - } - - getConfig(method: string, metadata: Metadata): GetConfigResult { - 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: ResolvingCall) { - this.configSelectionQueue.push(call); - this.callRefTimerRef(); - } - - private enterIdle() { - this.resolvingLoadBalancer.destroy(); - this.updateState(ConnectivityState.IDLE); - this.currentPicker = new QueuePicker(this.resolvingLoadBalancer); - if (this.idleTimer) { - clearTimeout(this.idleTimer); - this.idleTimer = null; - } - } - - private startIdleTimeout(timeoutMs: number) { - this.idleTimer = setTimeout(() => { - if (this.callCount > 0) { - /* If there is currently a call, the channel will not go idle for a - * period of at least idleTimeoutMs, so check again after that time. - */ - this.startIdleTimeout(this.idleTimeoutMs); - return; - } - const now = new Date(); - const timeSinceLastActivity = now.valueOf() - this.lastActivityTimestamp.valueOf(); - if (timeSinceLastActivity >= this.idleTimeoutMs) { - this.trace( - 'Idle timer triggered after ' + - this.idleTimeoutMs + - 'ms of inactivity' - ); - this.enterIdle(); - } else { - /* Whenever the timer fires with the latest activity being too recent, - * set the timer again for the time when the time since the last - * activity is equal to the timeout. This should result in the timer - * firing no more than once every idleTimeoutMs/2 on average. */ - this.startIdleTimeout(this.idleTimeoutMs - timeSinceLastActivity); - } - }, timeoutMs); - this.idleTimer.unref?.(); - } - - private maybeStartIdleTimer() { - if (this.connectivityState !== ConnectivityState.SHUTDOWN && !this.idleTimer) { - this.startIdleTimeout(this.idleTimeoutMs); - } - } - - private onCallStart() { - if (this.channelzEnabled) { - this.callTracker.addCallStarted(); - } - this.callCount += 1; - } - - private onCallEnd(status: StatusObject) { - if (this.channelzEnabled) { - if (status.code === Status.OK) { - this.callTracker.addCallSucceeded(); - } else { - this.callTracker.addCallFailed(); - } - } - this.callCount -= 1; - this.lastActivityTimestamp = new Date(); - this.maybeStartIdleTimer(); - } - - createLoadBalancingCall( - callConfig: CallConfig, - method: string, - host: string, - credentials: CallCredentials, - deadline: Deadline - ): LoadBalancingCall { - const callNumber = getNextCallNumber(); - this.trace( - 'createLoadBalancingCall [' + callNumber + '] method="' + method + '"' - ); - return new LoadBalancingCall( - this, - callConfig, - method, - host, - credentials, - deadline, - callNumber - ); - } - - createRetryingCall( - callConfig: CallConfig, - method: string, - host: string, - credentials: CallCredentials, - deadline: Deadline - ): RetryingCall { - const callNumber = getNextCallNumber(); - this.trace( - 'createRetryingCall [' + callNumber + '] method="' + method + '"' - ); - return new RetryingCall( - this, - callConfig, - method, - host, - credentials, - deadline, - callNumber, - this.retryBufferTracker, - RETRY_THROTTLER_MAP.get(this.getTarget()) - ); - } - - createInnerCall( - callConfig: CallConfig, - method: string, - host: string, - credentials: CallCredentials, - deadline: Deadline - ): Call { - // 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: string, - deadline: Deadline, - host: string | null | undefined, - parentCall: ServerSurfaceCall | null, - propagateFlags: number | null | undefined - ): ResolvingCall { - const callNumber = getNextCallNumber(); - this.trace( - 'createResolvingCall [' + - callNumber + - '] method="' + - method + - '", deadline=' + - deadlineToString(deadline) - ); - const finalOptions: CallStreamOptions = { - deadline: deadline, - flags: propagateFlags ?? Propagate.DEFAULTS, - host: host ?? this.defaultAuthority, - parentCall: parentCall, - }; - - const call = new 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(ConnectivityState.SHUTDOWN); - clearInterval(this.callRefTimer); - if (this.idleTimer) { - clearTimeout(this.idleTimer); - } - if (this.channelzEnabled) { - unregisterChannelzRef(this.channelzRef); - } - - this.subchannelPool.unrefUnusedSubchannels(); - } - - getTarget() { - return uriToString(this.target); - } - - getConnectivityState(tryToConnect: boolean) { - const connectivityState = this.connectivityState; - if (tryToConnect) { - this.resolvingLoadBalancer.exitIdle(); - this.lastActivityTimestamp = new Date(); - this.maybeStartIdleTimer(); - } - return connectivityState; - } - - watchConnectivityState( - currentState: ConnectivityState, - deadline: Date | number, - callback: (error?: Error) => void - ): void { - if (this.connectivityState === ConnectivityState.SHUTDOWN) { - throw new Error('Channel has been shut down'); - } - let timer = null; - if (deadline !== Infinity) { - const deadlineDate: Date = - 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: 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' - ); - } - if (this.connectivityState === ConnectivityState.SHUTDOWN) { - throw new Error('Channel has been shut down'); - } - return this.createResolvingCall( - method, - deadline, - host, - parentCall, - propagateFlags - ); - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-child-handler.ts b/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-child-handler.ts deleted file mode 100644 index a4dc90c..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-child-handler.ts +++ /dev/null @@ -1,169 +0,0 @@ -/* - * 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. - * - */ - -import { - LoadBalancer, - ChannelControlHelper, - LoadBalancingConfig, - createLoadBalancer, -} from './load-balancer'; -import { SubchannelAddress } from './subchannel-address'; -import { ChannelOptions } from './channel-options'; -import { ConnectivityState } from './connectivity-state'; -import { Picker } from './picker'; -import { ChannelRef, SubchannelRef } from './channelz'; -import { SubchannelInterface } from './subchannel-interface'; - -const TYPE_NAME = 'child_load_balancer_helper'; - -export class ChildLoadBalancerHandler implements LoadBalancer { - private currentChild: LoadBalancer | null = null; - private pendingChild: LoadBalancer | null = null; - private latestConfig: LoadBalancingConfig | null = null; - - private ChildPolicyHelper = class { - private child: LoadBalancer | null = null; - constructor(private parent: ChildLoadBalancerHandler) {} - createSubchannel( - subchannelAddress: SubchannelAddress, - subchannelArgs: ChannelOptions - ): SubchannelInterface { - return this.parent.channelControlHelper.createSubchannel( - subchannelAddress, - subchannelArgs - ); - } - updateState(connectivityState: ConnectivityState, picker: Picker): void { - if (this.calledByPendingChild()) { - if (connectivityState === ConnectivityState.CONNECTING) { - return; - } - this.parent.currentChild?.destroy(); - this.parent.currentChild = this.parent.pendingChild; - this.parent.pendingChild = null; - } else if (!this.calledByCurrentChild()) { - return; - } - this.parent.channelControlHelper.updateState(connectivityState, picker); - } - requestReresolution(): void { - const latestChild = this.parent.pendingChild ?? this.parent.currentChild; - if (this.child === latestChild) { - this.parent.channelControlHelper.requestReresolution(); - } - } - setChild(newChild: LoadBalancer) { - this.child = newChild; - } - addChannelzChild(child: ChannelRef | SubchannelRef) { - this.parent.channelControlHelper.addChannelzChild(child); - } - removeChannelzChild(child: ChannelRef | SubchannelRef) { - this.parent.channelControlHelper.removeChannelzChild(child); - } - - private calledByPendingChild(): boolean { - return this.child === this.parent.pendingChild; - } - private calledByCurrentChild(): boolean { - return this.child === this.parent.currentChild; - } - }; - - constructor(private readonly channelControlHelper: ChannelControlHelper) {} - - protected configUpdateRequiresNewPolicyInstance( - oldConfig: LoadBalancingConfig, - newConfig: LoadBalancingConfig - ): boolean { - return oldConfig.getLoadBalancerName() !== newConfig.getLoadBalancerName(); - } - - /** - * Prerequisites: lbConfig !== null and lbConfig.name is registered - * @param addressList - * @param lbConfig - * @param attributes - */ - updateAddressList( - addressList: SubchannelAddress[], - lbConfig: LoadBalancingConfig, - attributes: { [key: string]: unknown } - ): void { - let childToUpdate: LoadBalancer; - if ( - this.currentChild === null || - this.latestConfig === null || - this.configUpdateRequiresNewPolicyInstance(this.latestConfig, lbConfig) - ) { - const newHelper = new this.ChildPolicyHelper(this); - const newChild = 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(): void { - if (this.currentChild) { - this.currentChild.exitIdle(); - if (this.pendingChild) { - this.pendingChild.exitIdle(); - } - } - } - resetBackoff(): void { - if (this.currentChild) { - this.currentChild.resetBackoff(); - if (this.pendingChild) { - this.pendingChild.resetBackoff(); - } - } - } - destroy(): void { - /* 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(): string { - return TYPE_NAME; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-outlier-detection.ts b/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-outlier-detection.ts deleted file mode 100644 index 3e4b46f..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-outlier-detection.ts +++ /dev/null @@ -1,882 +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 { ChannelOptions } from './channel-options'; -import { ConnectivityState } from './connectivity-state'; -import { LogVerbosity, Status } from './constants'; -import { durationToMs, isDuration, msToDuration } from './duration'; -import { - ChannelControlHelper, - createChildChannelControlHelper, - registerLoadBalancerType, -} from './experimental'; -import { - getFirstUsableConfig, - LoadBalancer, - LoadBalancingConfig, - validateLoadBalancingConfig, -} from './load-balancer'; -import { ChildLoadBalancerHandler } from './load-balancer-child-handler'; -import { PickArgs, Picker, PickResult, PickResultType } from './picker'; -import { - SubchannelAddress, - subchannelAddressToString, -} from './subchannel-address'; -import { - BaseSubchannelWrapper, - ConnectivityStateListener, - SubchannelInterface, -} from './subchannel-interface'; -import * as logging from './logging'; - -const TRACER_NAME = 'outlier_detection'; - -function trace(text: string): void { - logging.trace(LogVerbosity.DEBUG, TRACER_NAME, text); -} - -const TYPE_NAME = 'outlier_detection'; - -const OUTLIER_DETECTION_ENABLED = - (process.env.GRPC_EXPERIMENTAL_ENABLE_OUTLIER_DETECTION ?? 'true') === 'true'; - -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; -} - -const defaultSuccessRateEjectionConfig: SuccessRateEjectionConfig = { - stdev_factor: 1900, - enforcement_percentage: 100, - minimum_hosts: 5, - request_volume: 100, -}; - -const defaultFailurePercentageEjectionConfig: FailurePercentageEjectionConfig = - { - threshold: 85, - enforcement_percentage: 100, - minimum_hosts: 5, - request_volume: 50, - }; - -type TypeofValues = - | 'object' - | 'boolean' - | 'function' - | 'number' - | 'string' - | 'undefined'; - -function validateFieldType( - obj: any, - fieldName: string, - expectedType: TypeofValues, - objectName?: string -) { - 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: any, - fieldName: string, - objectName?: string -) { - const fullFieldName = objectName ? `${objectName}.${fieldName}` : fieldName; - if (fieldName in obj) { - if (!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 <= 315_576_000_000 && - obj[fieldName].nanos >= 0 && - obj[fieldName].nanos <= 999_999_999 - ) - ) { - throw new Error( - `outlier detection config ${fullFieldName} parse error: values out of range for non-negative Duaration` - ); - } - } -} - -function validatePercentage(obj: any, fieldName: string, objectName?: string) { - 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)` - ); - } -} - -export class OutlierDetectionLoadBalancingConfig - implements LoadBalancingConfig -{ - private readonly intervalMs: number; - private readonly baseEjectionTimeMs: number; - private readonly maxEjectionTimeMs: number; - private readonly maxEjectionPercent: number; - private readonly successRateEjection: SuccessRateEjectionConfig | null; - private readonly failurePercentageEjection: FailurePercentageEjectionConfig | null; - - constructor( - intervalMs: number | null, - baseEjectionTimeMs: number | null, - maxEjectionTimeMs: number | null, - maxEjectionPercent: number | null, - successRateEjection: Partial | null, - failurePercentageEjection: Partial | null, - private readonly childPolicy: LoadBalancingConfig[] - ) { - 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 ?? 10_000; - this.baseEjectionTimeMs = baseEjectionTimeMs ?? 30_000; - this.maxEjectionTimeMs = maxEjectionTimeMs ?? 300_000; - this.maxEjectionPercent = maxEjectionPercent ?? 10; - this.successRateEjection = successRateEjection - ? { ...defaultSuccessRateEjectionConfig, ...successRateEjection } - : null; - this.failurePercentageEjection = failurePercentageEjection - ? { - ...defaultFailurePercentageEjectionConfig, - ...failurePercentageEjection, - } - : null; - } - getLoadBalancerName(): string { - return TYPE_NAME; - } - toJsonObject(): object { - return { - interval: msToDuration(this.intervalMs), - base_ejection_time: msToDuration(this.baseEjectionTimeMs), - max_ejection_time: 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(): number { - return this.intervalMs; - } - getBaseEjectionTimeMs(): number { - return this.baseEjectionTimeMs; - } - getMaxEjectionTimeMs(): number { - return this.maxEjectionTimeMs; - } - getMaxEjectionPercent(): number { - return this.maxEjectionPercent; - } - getSuccessRateEjectionConfig(): SuccessRateEjectionConfig | null { - return this.successRateEjection; - } - getFailurePercentageEjectionConfig(): FailurePercentageEjectionConfig | null { - return this.failurePercentageEjection; - } - getChildPolicy(): LoadBalancingConfig[] { - return this.childPolicy; - } - - copyWithChildPolicy( - childPolicy: LoadBalancingConfig[] - ): OutlierDetectionLoadBalancingConfig { - return new OutlierDetectionLoadBalancingConfig( - this.intervalMs, - this.baseEjectionTimeMs, - this.maxEjectionTimeMs, - this.maxEjectionPercent, - this.successRateEjection, - this.failurePercentageEjection, - childPolicy - ); - } - - static createFromJson(obj: any): OutlierDetectionLoadBalancingConfig { - 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 ? durationToMs(obj.interval) : null, - obj.base_ejection_time ? durationToMs(obj.base_ejection_time) : null, - obj.max_ejection_time ? durationToMs(obj.max_ejection_time) : null, - obj.max_ejection_percent ?? null, - obj.success_rate_ejection, - obj.failure_percentage_ejection, - obj.child_policy.map(validateLoadBalancingConfig) - ); - } -} - -class OutlierDetectionSubchannelWrapper - extends BaseSubchannelWrapper - implements SubchannelInterface -{ - private childSubchannelState: ConnectivityState; - private stateListeners: ConnectivityStateListener[] = []; - private ejected = false; - private refCount = 0; - constructor( - childSubchannel: SubchannelInterface, - private mapEntry?: MapEntry - ) { - super(childSubchannel); - 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(): ConnectivityState { - if (this.ejected) { - return 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: ConnectivityStateListener) { - this.stateListeners.push(listener); - } - - /** - * Remove a listener previously added with `addConnectivityStateListener` - * @param listener A reference to a function previously passed to - * `addConnectivityStateListener` - */ - removeConnectivityStateListener(listener: ConnectivityStateListener) { - 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, - ConnectivityState.TRANSIENT_FAILURE, - -1 - ); - } - } - - uneject() { - this.ejected = false; - for (const listener of this.stateListeners) { - listener( - this, - ConnectivityState.TRANSIENT_FAILURE, - this.childSubchannelState, - -1 - ); - } - } - - getMapEntry(): MapEntry | undefined { - return this.mapEntry; - } - - getWrappedSubchannel(): SubchannelInterface { - return this.child; - } -} - -interface CallCountBucket { - success: number; - failure: number; -} - -function createEmptyBucket(): CallCountBucket { - return { - success: 0, - failure: 0, - }; -} - -class CallCounter { - private activeBucket: CallCountBucket = createEmptyBucket(); - private inactiveBucket: CallCountBucket = 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; - } -} - -interface MapEntry { - counter: CallCounter; - currentEjectionTimestamp: Date | null; - ejectionTimeMultiplier: number; - subchannelWrappers: OutlierDetectionSubchannelWrapper[]; -} - -class OutlierDetectionPicker implements Picker { - constructor(private wrappedPicker: Picker, private countCalls: boolean) {} - pick(pickArgs: PickArgs): PickResult { - const wrappedPick = this.wrappedPicker.pick(pickArgs); - if (wrappedPick.pickResultType === PickResultType.COMPLETE) { - const subchannelWrapper = - wrappedPick.subchannel as OutlierDetectionSubchannelWrapper; - const mapEntry = subchannelWrapper.getMapEntry(); - if (mapEntry) { - let onCallEnded = wrappedPick.onCallEnded; - if (this.countCalls) { - onCallEnded = statusCode => { - if (statusCode === Status.OK) { - mapEntry.counter.addSuccess(); - } else { - mapEntry.counter.addFailure(); - } - wrappedPick.onCallEnded?.(statusCode); - }; - } - return { - ...wrappedPick, - subchannel: subchannelWrapper.getWrappedSubchannel(), - onCallEnded: onCallEnded, - }; - } else { - return { - ...wrappedPick, - subchannel: subchannelWrapper.getWrappedSubchannel(), - }; - } - } else { - return wrappedPick; - } - } -} - -export class OutlierDetectionLoadBalancer implements LoadBalancer { - private childBalancer: ChildLoadBalancerHandler; - private addressMap: Map = new Map(); - private latestConfig: OutlierDetectionLoadBalancingConfig | null = null; - private ejectionTimer: NodeJS.Timeout; - private timerStartTime: Date | null = null; - - constructor(channelControlHelper: ChannelControlHelper) { - this.childBalancer = new ChildLoadBalancerHandler( - createChildChannelControlHelper(channelControlHelper, { - createSubchannel: ( - subchannelAddress: SubchannelAddress, - subchannelArgs: ChannelOptions - ) => { - const originalSubchannel = channelControlHelper.createSubchannel( - subchannelAddress, - subchannelArgs - ); - const mapEntry = this.addressMap.get( - subchannelAddressToString(subchannelAddress) - ); - const subchannelWrapper = new OutlierDetectionSubchannelWrapper( - originalSubchannel, - mapEntry - ); - if (mapEntry?.currentEjectionTimestamp !== null) { - // If the address is ejected, propagate that to the new subchannel wrapper - subchannelWrapper.eject(); - } - mapEntry?.subchannelWrappers.push(subchannelWrapper); - return subchannelWrapper; - }, - updateState: (connectivityState: ConnectivityState, picker: Picker) => { - if (connectivityState === ConnectivityState.READY) { - channelControlHelper.updateState( - connectivityState, - new OutlierDetectionPicker(picker, this.isCountingEnabled()) - ); - } else { - channelControlHelper.updateState(connectivityState, picker); - } - }, - }) - ); - this.ejectionTimer = setInterval(() => {}, 0); - clearInterval(this.ejectionTimer); - } - - private isCountingEnabled(): boolean { - return ( - this.latestConfig !== null && - (this.latestConfig.getSuccessRateEjectionConfig() !== null || - this.latestConfig.getFailurePercentageEjectionConfig() !== null) - ); - } - - private getCurrentEjectionPercent() { - let ejectionCount = 0; - for (const mapEntry of this.addressMap.values()) { - if (mapEntry.currentEjectionTimestamp !== null) { - ejectionCount += 1; - } - } - return (ejectionCount * 100) / this.addressMap.size; - } - - private runSuccessRateCheck(ejectionTimestamp: Date) { - 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: number[] = []; - 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); - } - } - } - } - - private runFailurePercentageCheck(ejectionTimestamp: Date) { - 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); - } - } - } - } - - private eject(mapEntry: MapEntry, ejectionTimestamp: Date) { - mapEntry.currentEjectionTimestamp = new Date(); - mapEntry.ejectionTimeMultiplier += 1; - for (const subchannelWrapper of mapEntry.subchannelWrappers) { - subchannelWrapper.eject(); - } - } - - private uneject(mapEntry: MapEntry) { - mapEntry.currentEjectionTimestamp = null; - for (const subchannelWrapper of mapEntry.subchannelWrappers) { - subchannelWrapper.uneject(); - } - } - - private switchAllBuckets() { - for (const mapEntry of this.addressMap.values()) { - mapEntry.counter.switchBuckets(); - } - } - - private startTimer(delayMs: number) { - this.ejectionTimer = setTimeout(() => this.runChecks(), delayMs); - this.ejectionTimer.unref?.(); - } - - private 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: SubchannelAddress[], - lbConfig: LoadBalancingConfig, - attributes: { [key: string]: unknown } - ): void { - if (!(lbConfig instanceof OutlierDetectionLoadBalancingConfig)) { - return; - } - const subchannelAddresses = new Set(); - for (const address of addressList) { - subchannelAddresses.add(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: LoadBalancingConfig = 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(): void { - this.childBalancer.exitIdle(); - } - resetBackoff(): void { - this.childBalancer.resetBackoff(); - } - destroy(): void { - clearTimeout(this.ejectionTimer); - this.childBalancer.destroy(); - } - getTypeName(): string { - return TYPE_NAME; - } -} - -export function setup() { - if (OUTLIER_DETECTION_ENABLED) { - registerLoadBalancerType( - TYPE_NAME, - OutlierDetectionLoadBalancer, - OutlierDetectionLoadBalancingConfig - ); - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-pick-first.ts b/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-pick-first.ts deleted file mode 100644 index 75c9d4c..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-pick-first.ts +++ /dev/null @@ -1,487 +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 { - LoadBalancer, - ChannelControlHelper, - LoadBalancingConfig, - registerDefaultLoadBalancerType, - registerLoadBalancerType, -} from './load-balancer'; -import { ConnectivityState } from './connectivity-state'; -import { - QueuePicker, - Picker, - PickArgs, - CompletePickResult, - PickResultType, - UnavailablePicker, -} from './picker'; -import { SubchannelAddress } from './subchannel-address'; -import * as logging from './logging'; -import { LogVerbosity } from './constants'; -import { - SubchannelInterface, - ConnectivityStateListener, -} from './subchannel-interface'; - -const TRACER_NAME = 'pick_first'; - -function trace(text: string): void { - logging.trace(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; - -export class PickFirstLoadBalancingConfig implements LoadBalancingConfig { - constructor(private readonly shuffleAddressList: boolean) {} - - getLoadBalancerName(): string { - return TYPE_NAME; - } - - toJsonObject(): object { - return { - [TYPE_NAME]: { - shuffleAddressList: this.shuffleAddressList, - }, - }; - } - - getShuffleAddressList() { - return this.shuffleAddressList; - } - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - static createFromJson(obj: any) { - 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); - } -} - -/** - * Picker for a `PickFirstLoadBalancer` in the READY state. Always returns the - * picked subchannel. - */ -class PickFirstPicker implements Picker { - constructor(private subchannel: SubchannelInterface) {} - - pick(pickArgs: PickArgs): CompletePickResult { - return { - pickResultType: PickResultType.COMPLETE, - subchannel: this.subchannel, - status: null, - onCallStarted: null, - onCallEnded: null, - }; - } -} - -interface SubchannelChild { - subchannel: SubchannelInterface; - hasReportedTransientFailure: boolean; -} - -/** - * 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 function shuffled(list: T[]): T[] { - 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; -} - -export class PickFirstLoadBalancer implements LoadBalancer { - /** - * The list of subchannels this load balancer is currently attempting to - * connect to. - */ - private children: SubchannelChild[] = []; - /** - * The current connectivity state of the load balancer. - */ - private currentState: ConnectivityState = ConnectivityState.IDLE; - /** - * The index within the `subchannels` array of the subchannel with the most - * recently started connection attempt. - */ - private 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. - */ - private currentPick: SubchannelInterface | null = null; - /** - * Listener callback attached to each subchannel in the `subchannels` list - * while establishing a connection. - */ - private subchannelStateListener: ConnectivityStateListener = ( - subchannel, - previousState, - newState, - keepaliveTime, - errorMessage - ) => { - this.onSubchannelStateUpdate(subchannel, previousState, newState, errorMessage); - }; - /** - * Timer reference for the timer tracking when to start - */ - private connectionDelayTimeout: NodeJS.Timeout; - - private 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. - */ - private stickyTransientFailureMode = false; - - /** - * Indicates whether we called channelControlHelper.requestReresolution since - * the last call to updateAddressList - */ - private requestedResolutionSinceLastUpdate = false; - - /** - * The most recent error reported by any subchannel as it transitioned to - * TRANSIENT_FAILURE. - */ - private lastError: string | null = null; - - private latestAddressList: SubchannelAddress[] | null = null; - - /** - * 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(private readonly channelControlHelper: ChannelControlHelper) { - this.connectionDelayTimeout = setTimeout(() => {}, 0); - clearTimeout(this.connectionDelayTimeout); - } - - private allChildrenHaveReportedTF(): boolean { - return this.children.every(child => child.hasReportedTransientFailure); - } - - private calculateAndReportNewState() { - if (this.currentPick) { - this.updateState( - ConnectivityState.READY, - new PickFirstPicker(this.currentPick) - ); - } else if (this.children.length === 0) { - this.updateState(ConnectivityState.IDLE, new QueuePicker(this)); - } else { - if (this.stickyTransientFailureMode) { - this.updateState( - ConnectivityState.TRANSIENT_FAILURE, - new UnavailablePicker({details: `No connection established. Last error: ${this.lastError}`}) - ); - } else { - this.updateState(ConnectivityState.CONNECTING, new QueuePicker(this)); - } - } - } - - private requestReresolution() { - this.requestedResolutionSinceLastUpdate = true; - this.channelControlHelper.requestReresolution(); - } - - private 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(); - } - - private 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() - ); - } - } - - private onSubchannelStateUpdate( - subchannel: SubchannelInterface, - previousState: ConnectivityState, - newState: ConnectivityState, - errorMessage?: string - ) { - if (this.currentPick?.realSubchannelEquals(subchannel)) { - if (newState !== ConnectivityState.READY) { - this.removeCurrentPick(); - this.calculateAndReportNewState(); - this.requestReresolution(); - } - return; - } - for (const [index, child] of this.children.entries()) { - if (subchannel.realSubchannelEquals(child.subchannel)) { - if (newState === ConnectivityState.READY) { - this.pickSubchannel(child.subchannel); - } - if (newState === 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; - } - } - } - - private startNextSubchannelConnecting(startIndex: number) { - 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 === ConnectivityState.IDLE || - subchannelState === 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. - */ - private startConnecting(subchannelIndex: number) { - clearTimeout(this.connectionDelayTimeout); - this.currentSubchannelIndex = subchannelIndex; - if ( - this.children[subchannelIndex].subchannel.getConnectivityState() === - ConnectivityState.IDLE - ) { - trace( - 'Start connecting to subchannel with address ' + - this.children[subchannelIndex].subchannel.getAddress() - ); - process.nextTick(() => { - this.children[subchannelIndex]?.subchannel.startConnecting(); - }); - } - this.connectionDelayTimeout = setTimeout(() => { - this.startNextSubchannelConnecting(subchannelIndex + 1); - }, CONNECTION_DELAY_INTERVAL_MS).unref?.(); - } - - private pickSubchannel(subchannel: SubchannelInterface) { - 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(); - } - - private updateState(newState: ConnectivityState, picker: Picker) { - trace( - ConnectivityState[this.currentState] + - ' -> ' + - ConnectivityState[newState] - ); - this.currentState = newState; - this.channelControlHelper.updateState(newState, picker); - } - - private resetSubchannelList() { - for (const child of this.children) { - if (!(this.currentPick && child.subchannel.realSubchannelEquals(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; - } - - private connectToAddressList(addressList: SubchannelAddress[]) { - 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() === ConnectivityState.READY) { - this.pickSubchannel(subchannel); - return; - } - } - for (const child of this.children) { - if ( - child.subchannel.getConnectivityState() === - ConnectivityState.TRANSIENT_FAILURE - ) { - child.hasReportedTransientFailure = true; - } - } - this.startNextSubchannelConnecting(0); - this.calculateAndReportNewState(); - } - - updateAddressList( - addressList: SubchannelAddress[], - lbConfig: LoadBalancingConfig - ): void { - 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); - } - this.latestAddressList = addressList; - this.connectToAddressList(addressList); - } - - exitIdle() { - if (this.currentState === ConnectivityState.IDLE && this.latestAddressList) { - this.connectToAddressList(this.latestAddressList); - } - } - - resetBackoff() { - /* The pick first load balancer does not have a connection backoff, so this - * does nothing */ - } - - destroy() { - this.resetSubchannelList(); - this.removeCurrentPick(); - } - - getTypeName(): string { - return TYPE_NAME; - } -} - -export function setup(): void { - registerLoadBalancerType( - TYPE_NAME, - PickFirstLoadBalancer, - PickFirstLoadBalancingConfig - ); - registerDefaultLoadBalancerType(TYPE_NAME); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-round-robin.ts b/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-round-robin.ts deleted file mode 100644 index 062aa9f..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer-round-robin.ts +++ /dev/null @@ -1,249 +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 { - LoadBalancer, - ChannelControlHelper, - LoadBalancingConfig, - registerLoadBalancerType, -} from './load-balancer'; -import { ConnectivityState } from './connectivity-state'; -import { - QueuePicker, - Picker, - PickArgs, - CompletePickResult, - PickResultType, - UnavailablePicker, -} from './picker'; -import { - SubchannelAddress, - subchannelAddressToString, -} from './subchannel-address'; -import * as logging from './logging'; -import { LogVerbosity } from './constants'; -import { - ConnectivityStateListener, - SubchannelInterface, -} from './subchannel-interface'; - -const TRACER_NAME = 'round_robin'; - -function trace(text: string): void { - logging.trace(LogVerbosity.DEBUG, TRACER_NAME, text); -} - -const TYPE_NAME = 'round_robin'; - -class RoundRobinLoadBalancingConfig implements LoadBalancingConfig { - getLoadBalancerName(): string { - return TYPE_NAME; - } - - constructor() {} - - toJsonObject(): object { - return { - [TYPE_NAME]: {}, - }; - } - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - static createFromJson(obj: any) { - return new RoundRobinLoadBalancingConfig(); - } -} - -class RoundRobinPicker implements Picker { - constructor( - private readonly subchannelList: SubchannelInterface[], - private nextIndex = 0 - ) {} - - pick(pickArgs: PickArgs): CompletePickResult { - const pickedSubchannel = this.subchannelList[this.nextIndex]; - this.nextIndex = (this.nextIndex + 1) % this.subchannelList.length; - return { - pickResultType: 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(): SubchannelInterface { - return this.subchannelList[this.nextIndex]; - } -} - -export class RoundRobinLoadBalancer implements LoadBalancer { - private subchannels: SubchannelInterface[] = []; - - private currentState: ConnectivityState = ConnectivityState.IDLE; - - private subchannelStateListener: ConnectivityStateListener; - - private currentReadyPicker: RoundRobinPicker | null = null; - - private lastError: string | null = null; - - constructor(private readonly channelControlHelper: ChannelControlHelper) { - this.subchannelStateListener = ( - subchannel: SubchannelInterface, - previousState: ConnectivityState, - newState: ConnectivityState, - keepaliveTime: number, - errorMessage?: string - ) => { - this.calculateAndUpdateState(); - if ( - newState === ConnectivityState.TRANSIENT_FAILURE || - newState === ConnectivityState.IDLE - ) { - if (errorMessage) { - this.lastError = errorMessage; - } - this.channelControlHelper.requestReresolution(); - subchannel.startConnecting(); - } - }; - } - - private countSubchannelsWithState(state: ConnectivityState) { - return this.subchannels.filter( - subchannel => subchannel.getConnectivityState() === state - ).length; - } - - private calculateAndUpdateState() { - if (this.countSubchannelsWithState(ConnectivityState.READY) > 0) { - const readySubchannels = this.subchannels.filter( - subchannel => - subchannel.getConnectivityState() === ConnectivityState.READY - ); - let index = 0; - if (this.currentReadyPicker !== null) { - index = readySubchannels.indexOf( - this.currentReadyPicker.peekNextSubchannel() - ); - if (index < 0) { - index = 0; - } - } - this.updateState( - ConnectivityState.READY, - new RoundRobinPicker(readySubchannels, index) - ); - } else if ( - this.countSubchannelsWithState(ConnectivityState.CONNECTING) > 0 - ) { - this.updateState(ConnectivityState.CONNECTING, new QueuePicker(this)); - } else if ( - this.countSubchannelsWithState(ConnectivityState.TRANSIENT_FAILURE) > 0 - ) { - this.updateState( - ConnectivityState.TRANSIENT_FAILURE, - new UnavailablePicker({details: `No connection established. Last error: ${this.lastError}`}) - ); - } else { - this.updateState(ConnectivityState.IDLE, new QueuePicker(this)); - } - } - - private updateState(newState: ConnectivityState, picker: Picker) { - trace( - ConnectivityState[this.currentState] + - ' -> ' + - ConnectivityState[newState] - ); - if (newState === ConnectivityState.READY) { - this.currentReadyPicker = picker as RoundRobinPicker; - } else { - this.currentReadyPicker = null; - } - this.currentState = newState; - this.channelControlHelper.updateState(newState, picker); - } - - private resetSubchannelList() { - for (const subchannel of this.subchannels) { - subchannel.removeConnectivityStateListener(this.subchannelStateListener); - subchannel.unref(); - this.channelControlHelper.removeChannelzChild( - subchannel.getChannelzRef() - ); - } - this.subchannels = []; - } - - updateAddressList( - addressList: SubchannelAddress[], - lbConfig: LoadBalancingConfig - ): void { - this.resetSubchannelList(); - trace( - 'Connect to address list ' + - addressList.map(address => 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 === ConnectivityState.IDLE || - subchannelState === ConnectivityState.TRANSIENT_FAILURE - ) { - subchannel.startConnecting(); - } - } - this.calculateAndUpdateState(); - } - - exitIdle(): void { - for (const subchannel of this.subchannels) { - subchannel.startConnecting(); - } - } - resetBackoff(): void { - /* The pick first load balancer does not have a connection backoff, so this - * does nothing */ - } - destroy(): void { - this.resetSubchannelList(); - } - getTypeName(): string { - return TYPE_NAME; - } -} - -export function setup() { - registerLoadBalancerType( - TYPE_NAME, - RoundRobinLoadBalancer, - RoundRobinLoadBalancingConfig - ); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer.ts b/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer.ts deleted file mode 100644 index f186387..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancer.ts +++ /dev/null @@ -1,230 +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 { 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 function createChildChannelControlHelper( - parent: ChannelControlHelper, - overrides: Partial -): ChannelControlHelper { - return { - createSubchannel: - overrides.createSubchannel?.bind(overrides) ?? - parent.createSubchannel.bind(parent), - updateState: - overrides.updateState?.bind(overrides) ?? parent.updateState.bind(parent), - requestReresolution: - overrides.requestReresolution?.bind(overrides) ?? - parent.requestReresolution.bind(parent), - addChannelzChild: - overrides.addChannelzChild?.bind(overrides) ?? - parent.addChannelzChild.bind(parent), - removeChannelzChild: - overrides.removeChannelzChild?.bind(overrides) ?? - parent.removeChannelzChild.bind(parent), - }; -} - -/** - * 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 { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - new (...args: any): LoadBalancingConfig; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - createFromJson(obj: any): LoadBalancingConfig; -} - -const registeredLoadBalancerTypes: { - [name: string]: { - LoadBalancer: LoadBalancerConstructor; - LoadBalancingConfig: LoadBalancingConfigConstructor; - }; -} = {}; - -let defaultLoadBalancerType: string | null = null; - -export function registerLoadBalancerType( - typeName: string, - loadBalancerType: LoadBalancerConstructor, - loadBalancingConfigType: LoadBalancingConfigConstructor -) { - registeredLoadBalancerTypes[typeName] = { - LoadBalancer: loadBalancerType, - LoadBalancingConfig: loadBalancingConfigType, - }; -} - -export function registerDefaultLoadBalancerType(typeName: string) { - defaultLoadBalancerType = typeName; -} - -export function createLoadBalancer( - config: LoadBalancingConfig, - channelControlHelper: ChannelControlHelper -): LoadBalancer | null { - const typeName = config.getLoadBalancerName(); - if (typeName in registeredLoadBalancerTypes) { - return new registeredLoadBalancerTypes[typeName].LoadBalancer( - channelControlHelper - ); - } else { - return null; - } -} - -export function isLoadBalancerNameRegistered(typeName: string): boolean { - return typeName in registeredLoadBalancerTypes; -} - -export function getFirstUsableConfig( - configs: LoadBalancingConfig[], - fallbackTodefault?: true -): LoadBalancingConfig; -export function getFirstUsableConfig( - configs: LoadBalancingConfig[], - fallbackTodefault = false -): LoadBalancingConfig | null { - 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; - } -} - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function validateLoadBalancingConfig(obj: any): LoadBalancingConfig { - 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}`); - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancing-call.ts b/frontend-old/node_modules/@grpc/grpc-js/src/load-balancing-call.ts deleted file mode 100644 index 2721e96..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/load-balancing-call.ts +++ /dev/null @@ -1,351 +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 { - Call, - InterceptingListener, - MessageContext, - StatusObject, -} from './call-interface'; -import { SubchannelCall } from './subchannel-call'; -import { ConnectivityState } from './connectivity-state'; -import { LogVerbosity, Status } from './constants'; -import { Deadline, getDeadlineTimeoutString } from './deadline'; -import { InternalChannel } from './internal-channel'; -import { Metadata } from './metadata'; -import { PickResultType } from './picker'; -import { CallConfig } from './resolver'; -import { splitHostPort } from './uri-parser'; -import * as logging from './logging'; -import { restrictControlPlaneStatusCode } from './control-plane-status'; -import * as http2 from 'http2'; - -const TRACER_NAME = 'load_balancing_call'; - -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 class LoadBalancingCall implements Call { - private child: SubchannelCall | null = null; - private readPending = false; - private pendingMessage: { context: MessageContext; message: Buffer } | null = - null; - private pendingHalfClose = false; - private ended = false; - private serviceUrl: string; - private metadata: Metadata | null = null; - private listener: InterceptingListener | null = null; - private onCallEnded: ((statusCode: Status) => void) | null = null; - constructor( - private readonly channel: InternalChannel, - private readonly callConfig: CallConfig, - private readonly methodName: string, - private readonly host: string, - private readonly credentials: CallCredentials, - private readonly deadline: Deadline, - private readonly callNumber: number - ) { - const splitPath: string[] = 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 = splitHostPort(this.host)?.host ?? 'localhost'; - /* Currently, call credentials are only allowed on HTTPS connections, so we - * can assume that the scheme is "https" */ - this.serviceUrl = `https://${hostname}/${serviceName}`; - } - - private trace(text: string): void { - logging.trace( - LogVerbosity.DEBUG, - TRACER_NAME, - '[' + this.callNumber + '] ' + text - ); - } - - private outputStatus(status: StatusObject, progress: RpcProgress) { - if (!this.ended) { - this.ended = true; - this.trace( - 'ended with status: code=' + - status.code + - ' details="' + - status.details + - '"' - ); - const finalStatus = { ...status, progress }; - this.listener?.onReceiveStatus(finalStatus); - this.onCallEnded?.(finalStatus.code); - } - } - - doPick() { - 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: ' + - PickResultType[pickResult.pickResultType] + - ' subchannel: ' + - subchannelString + - ' status: ' + - pickResult.status?.code + - ' ' + - pickResult.status?.details - ); - switch (pickResult.pickResultType) { - case PickResultType.COMPLETE: - this.credentials - .generateMetadata({ service_url: this.serviceUrl }) - .then( - credsMetadata => { - /* 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: Status.INTERNAL, - details: - '"authorization" metadata cannot have multiple values', - metadata: new Metadata(), - }, - 'PROCESSED' - ); - } - if ( - pickResult.subchannel!.getConnectivityState() !== - ConnectivityState.READY - ) { - this.trace( - 'Picked subchannel ' + - subchannelString + - ' has state ' + - ConnectivityState[ - pickResult.subchannel!.getConnectivityState() - ] + - ' after getting credentials metadata. Retrying pick' - ); - this.doPick(); - return; - } - - if (this.deadline !== Infinity) { - finalMetadata.set( - 'grpc-timeout', - 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 as Error).message - ); - this.outputStatus( - { - code: Status.INTERNAL, - details: - 'Failed to start HTTP/2 stream with error ' + - (error as Error).message, - metadata: new Metadata(), - }, - 'NOT_STARTED' - ); - return; - } - this.callConfig.onCommitted?.(); - pickResult.onCallStarted?.(); - 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: Error & { code: number }) => { - // We assume the error code isn't 0 (Status.OK) - const { code, details } = restrictControlPlaneStatusCode( - typeof error.code === 'number' ? error.code : Status.UNKNOWN, - `Getting metadata from plugin failed with error: ${error.message}` - ); - this.outputStatus( - { - code: code, - details: details, - metadata: new Metadata(), - }, - 'PROCESSED' - ); - } - ); - break; - case PickResultType.DROP: - const { code, details } = restrictControlPlaneStatusCode( - pickResult.status!.code, - pickResult.status!.details - ); - setImmediate(() => { - this.outputStatus( - { code, details, metadata: pickResult.status!.metadata }, - 'DROP' - ); - }); - break; - case PickResultType.TRANSIENT_FAILURE: - if (this.metadata.getOptions().waitForReady) { - this.channel.queueCallForPick(this); - } else { - const { code, details } = restrictControlPlaneStatusCode( - pickResult.status!.code, - pickResult.status!.details - ); - setImmediate(() => { - this.outputStatus( - { code, details, metadata: pickResult.status!.metadata }, - 'PROCESSED' - ); - }); - } - break; - case PickResultType.QUEUE: - this.channel.queueCallForPick(this); - } - } - - cancelWithStatus(status: Status, details: string): void { - this.trace( - 'cancelWithStatus code: ' + status + ' details: "' + details + '"' - ); - this.child?.cancelWithStatus(status, details); - this.outputStatus( - { code: status, details: details, metadata: new Metadata() }, - 'PROCESSED' - ); - } - getPeer(): string { - return this.child?.getPeer() ?? this.channel.getTarget(); - } - start( - metadata: Metadata, - listener: LoadBalancingCallInterceptingListener - ): void { - this.trace('start called'); - this.listener = listener; - this.metadata = metadata; - this.doPick(); - } - sendMessageWithContext(context: MessageContext, message: Buffer): void { - this.trace('write() called with message of length ' + message.length); - if (this.child) { - this.child.sendMessageWithContext(context, message); - } else { - this.pendingMessage = { context, message }; - } - } - startRead(): void { - this.trace('startRead called'); - if (this.child) { - this.child.startRead(); - } else { - this.readPending = true; - } - } - halfClose(): void { - this.trace('halfClose called'); - if (this.child) { - this.child.halfClose(); - } else { - this.pendingHalfClose = true; - } - } - setCredentials(credentials: CallCredentials): void { - throw new Error('Method not implemented.'); - } - - getCallNumber(): number { - return this.callNumber; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/logging.ts b/frontend-old/node_modules/@grpc/grpc-js/src/logging.ts deleted file mode 100644 index e1b396f..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/logging.ts +++ /dev/null @@ -1,123 +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 { LogVerbosity } from './constants'; -import { pid } from 'process'; - -const clientVersion = require('../../package.json').version; - -const DEFAULT_LOGGER: Partial = { - error: (message?: any, ...optionalParams: any[]) => { - console.error('E ' + message, ...optionalParams); - }, - info: (message?: any, ...optionalParams: any[]) => { - console.error('I ' + message, ...optionalParams); - }, - debug: (message?: any, ...optionalParams: any[]) => { - console.error('D ' + message, ...optionalParams); - }, -}; - -let _logger: Partial = DEFAULT_LOGGER; -let _logVerbosity: LogVerbosity = LogVerbosity.ERROR; - -const verbosityString = - process.env.GRPC_NODE_VERBOSITY ?? process.env.GRPC_VERBOSITY ?? ''; - -switch (verbosityString.toUpperCase()) { - case 'DEBUG': - _logVerbosity = LogVerbosity.DEBUG; - break; - case 'INFO': - _logVerbosity = LogVerbosity.INFO; - break; - case 'ERROR': - _logVerbosity = LogVerbosity.ERROR; - break; - case 'NONE': - _logVerbosity = LogVerbosity.NONE; - break; - default: - // Ignore any other values -} - -export const getLogger = (): Partial => { - return _logger; -}; - -export const setLogger = (logger: Partial): void => { - _logger = logger; -}; - -export const setLoggerVerbosity = (verbosity: LogVerbosity): void => { - _logVerbosity = verbosity; -}; - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export const log = (severity: LogVerbosity, ...args: any[]): void => { - let logFunction: typeof DEFAULT_LOGGER.error; - if (severity >= _logVerbosity) { - switch (severity) { - case LogVerbosity.DEBUG: - logFunction = _logger.debug; - break; - case LogVerbosity.INFO: - logFunction = _logger.info; - break; - case 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); - } - } -}; - -const tracersString = - process.env.GRPC_NODE_TRACE ?? process.env.GRPC_TRACE ?? ''; -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'); - -export function trace( - severity: LogVerbosity, - tracer: string, - text: string -): void { - if (isTracerEnabled(tracer)) { - log(severity, new Date().toISOString() + ' | v' + clientVersion + ' ' + pid + ' | ' + tracer + ' | ' + text); - } -} - -export function isTracerEnabled(tracer: string): boolean { - return ( - !disabledTracers.has(tracer) && (allEnabled || enabledTracers.has(tracer)) - ); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/make-client.ts b/frontend-old/node_modules/@grpc/grpc-js/src/make-client.ts deleted file mode 100644 index 10d1e95..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/make-client.ts +++ /dev/null @@ -1,238 +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 { 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 {} - -/* eslint-disable @typescript-eslint/no-explicit-any */ -export type ServiceDefinition< - ImplementationType = UntypedServiceImplementation -> = { - readonly [index in keyof ImplementationType]: MethodDefinition; -}; -/* eslint-enable @typescript-eslint/no-explicit-any */ - -export interface ProtobufTypeDefinition { - format: string; - type: object; - fileDescriptorProtos: Buffer[]; -} - -export interface PackageDefinition { - [index: string]: ServiceDefinition | ProtobufTypeDefinition; -} - -/** - * Map with short names for each of the requester maker functions. Used in - * makeClientConstructor - * @private - */ -const requesterFuncs = { - unary: Client.prototype.makeUnaryRequest, - server_stream: Client.prototype.makeServerStreamRequest, - client_stream: Client.prototype.makeClientStreamRequest, - bidi: Client.prototype.makeBidiStreamRequest, -}; - -export interface ServiceClient extends Client { - [methodName: string]: Function; -} - -export interface ServiceClientConstructor { - new ( - address: string, - credentials: ChannelCredentials, - options?: Partial - ): ServiceClient; - service: ServiceDefinition; - serviceName: string; -} - -/** - * Returns true, if given key is included in the blacklisted - * keys. - * @param key key for check, string. - */ -function isPrototypePolluted(key: string): boolean { - 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. - */ -export function makeClientConstructor( - methods: ServiceDefinition, - serviceName: string, - classOptions?: {} -): ServiceClientConstructor { - if (!classOptions) { - classOptions = {}; - } - - class ServiceClientImpl extends Client implements ServiceClient { - static service: ServiceDefinition; - static serviceName: string; - [methodName: string]: Function; - } - - Object.keys(methods).forEach(name => { - if (isPrototypePolluted(name)) { - return; - } - const attrs = methods[name]; - let methodType: keyof typeof requesterFuncs; - // 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; -} - -function partial( - fn: Function, - path: string, - serialize: Function, - deserialize: Function -): Function { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - return function (this: any, ...args: any[]) { - return fn.call(this, path, serialize, deserialize, ...args); - }; -} - -export interface GrpcObject { - [index: string]: - | GrpcObject - | ServiceClientConstructor - | ProtobufTypeDefinition; -} - -function isProtobufTypeDefinition( - obj: ServiceDefinition | ProtobufTypeDefinition -): obj is ProtobufTypeDefinition { - 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. - */ -export function loadPackageDefinition( - packageDef: PackageDefinition -): GrpcObject { - const result: GrpcObject = {}; - for (const serviceFqn in packageDef) { - if (Object.prototype.hasOwnProperty.call(packageDef, serviceFqn)) { - const service = packageDef[serviceFqn]; - const nameComponents = serviceFqn.split('.'); - if (nameComponents.some((comp: string) => 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] as GrpcObject; - } - if (isProtobufTypeDefinition(service)) { - current[serviceName] = service; - } else { - current[serviceName] = makeClientConstructor(service, serviceName, {}); - } - } - } - return result; -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/metadata.ts b/frontend-old/node_modules/@grpc/grpc-js/src/metadata.ts deleted file mode 100644 index eabd2df..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/metadata.ts +++ /dev/null @@ -1,298 +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 * as http2 from 'http2'; -import { log } from './logging'; -import { LogVerbosity } from './constants'; -import { getErrorMessage } from './error'; -const LEGAL_KEY_REGEX = /^[0-9a-z_.-]+$/; -const LEGAL_NON_BINARY_VALUE_REGEX = /^[ -~]*$/; - -export type MetadataValue = string | Buffer; -export type MetadataObject = Map; - -function isLegalKey(key: string): boolean { - return LEGAL_KEY_REGEX.test(key); -} - -function isLegalNonBinaryValue(value: string): boolean { - return LEGAL_NON_BINARY_VALUE_REGEX.test(value); -} - -function isBinaryKey(key: string): boolean { - return key.endsWith('-bin'); -} - -function isCustomMetadata(key: string): boolean { - return !key.startsWith('grpc-'); -} - -function normalizeKey(key: string): string { - return key.toLowerCase(); -} - -function validate(key: string, value?: MetadataValue): void { - 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' - ); - } - } - } -} - -export interface MetadataOptions { - /* Signal that the request is idempotent. Defaults to false */ - idempotentRequest?: boolean; - /* Signal that the call should not return UNAVAILABLE before it has - * started. Defaults to false. */ - waitForReady?: boolean; - /* Signal that the call is cacheable. GRPC is free to use GET verb. - * Defaults to false */ - cacheableRequest?: boolean; - /* Signal that the initial metadata should be corked. Defaults to false. */ - corked?: boolean; -} - -/** - * A class for storing metadata. Keys are normalized to lowercase ASCII. - */ -export class Metadata { - protected internalRepr: MetadataObject = new Map(); - private options: MetadataOptions; - - constructor(options: MetadataOptions = {}) { - 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: string, value: MetadataValue): void { - 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: string, value: MetadataValue): void { - key = normalizeKey(key); - validate(key, value); - - const existingValue: MetadataValue[] | undefined = - 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: string): void { - 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: string): MetadataValue[] { - 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(): { [key: string]: MetadataValue } { - const result: { [key: string]: MetadataValue } = {}; - - 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(): Metadata { - const newMetadata = new Metadata(this.options); - const newInternalRepr = newMetadata.internalRepr; - - for (const [key, value] of this.internalRepr) { - const clonedValue: MetadataValue[] = 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: Metadata): void { - for (const [key, values] of other.internalRepr) { - const mergedValue: MetadataValue[] = ( - this.internalRepr.get(key) || [] - ).concat(values); - - this.internalRepr.set(key, mergedValue); - } - } - - setOptions(options: MetadataOptions) { - this.options = options; - } - - getOptions(): MetadataOptions { - return this.options; - } - - /** - * Creates an OutgoingHttpHeaders object that can be used with the http2 API. - */ - toHttp2Headers(): http2.OutgoingHttpHeaders { - // NOTE: Node <8.9 formats http2 headers incorrectly. - const result: http2.OutgoingHttpHeaders = {}; - - 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: { [key: string]: MetadataValue[] } = {}; - 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: http2.IncomingHttpHeaders): Metadata { - 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}. ${getErrorMessage( - error - )}. For more information see https://github.com/grpc/grpc-node/issues/1173`; - log(LogVerbosity.ERROR, message); - } - } - - return result; - } -} - -const bufToString = (val: string | Buffer): string => { - return Buffer.isBuffer(val) ? val.toString('base64') : val; -}; diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/object-stream.ts b/frontend-old/node_modules/@grpc/grpc-js/src/object-stream.ts deleted file mode 100644 index 49ef1f3..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/object-stream.ts +++ /dev/null @@ -1,66 +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 { Readable, Writable } from 'stream'; -import { EmitterAugmentation1 } from './events'; - -/* eslint-disable @typescript-eslint/no-explicit-any */ - -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/frontend-old/node_modules/@grpc/grpc-js/src/picker.ts b/frontend-old/node_modules/@grpc/grpc-js/src/picker.ts deleted file mode 100644 index 6474269..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/picker.ts +++ /dev/null @@ -1,146 +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 { StatusObject } from './call-interface'; -import { Metadata } from './metadata'; -import { Status } from './constants'; -import { LoadBalancer } from './load-balancer'; -import { SubchannelInterface } from './subchannel-interface'; - -export enum PickResultType { - COMPLETE, - QUEUE, - TRANSIENT_FAILURE, - DROP, -} - -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 class UnavailablePicker implements Picker { - private status: StatusObject; - constructor(status?: Partial) { - this.status = { - code: Status.UNAVAILABLE, - details: 'No connection established', - metadata: new Metadata(), - ...status, - }; - } - pick(pickArgs: PickArgs): TransientFailurePickResult { - return { - pickResultType: PickResultType.TRANSIENT_FAILURE, - subchannel: null, - status: this.status, - onCallStarted: null, - onCallEnded: null, - }; - } -} - -/** - * 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 class QueuePicker { - private calledExitIdle = false; - // Constructed with a load balancer. Calls exitIdle on it the first time pick is called - constructor(private loadBalancer: LoadBalancer) {} - - pick(pickArgs: PickArgs): QueuePickResult { - if (!this.calledExitIdle) { - process.nextTick(() => { - this.loadBalancer.exitIdle(); - }); - this.calledExitIdle = true; - } - return { - pickResultType: PickResultType.QUEUE, - subchannel: null, - status: null, - onCallStarted: null, - onCallEnded: null, - }; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/resolver-dns.ts b/frontend-old/node_modules/@grpc/grpc-js/src/resolver-dns.ts deleted file mode 100644 index 31e0d0b..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/resolver-dns.ts +++ /dev/null @@ -1,412 +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 { - Resolver, - ResolverListener, - registerResolver, - registerDefaultScheme, -} from './resolver'; -import * as dns from 'dns'; -import * as util from 'util'; -import { extractAndSelectServiceConfig, ServiceConfig } from './service-config'; -import { Status } from './constants'; -import { StatusObject } from './call-interface'; -import { Metadata } from './metadata'; -import * as logging from './logging'; -import { LogVerbosity } from './constants'; -import { SubchannelAddress, TcpSubchannelAddress } from './subchannel-address'; -import { GrpcUri, uriToString, splitHostPort } from './uri-parser'; -import { isIPv6, isIPv4 } from 'net'; -import { ChannelOptions } from './channel-options'; -import { BackoffOptions, BackoffTimeout } from './backoff-timeout'; - -const TRACER_NAME = 'dns_resolver'; - -function trace(text: string): void { - logging.trace(LogVerbosity.DEBUG, TRACER_NAME, text); -} - -/** - * The default TCP port to connect to if not explicitly specified in the target. - */ -export const DEFAULT_PORT = 443; - -const DEFAULT_MIN_TIME_BETWEEN_RESOLUTIONS_MS = 30_000; - -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: T[][]): T[] { - const result: T[] = []; - 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 implements Resolver { - private readonly ipResult: SubchannelAddress[] | null; - private readonly dnsHostname: string | null; - private readonly port: number | null; - /** - * Minimum time between resolutions, measured as the time between starting - * successive resolution requests. Only applies to successful resolutions. - * Failures are handled by the backoff timer. - */ - private readonly minTimeBetweenResolutionsMs: number; - private pendingLookupPromise: Promise | null = null; - private pendingTxtPromise: Promise | null = null; - private latestLookupResult: TcpSubchannelAddress[] | null = null; - private latestServiceConfig: ServiceConfig | null = null; - private latestServiceConfigError: StatusObject | null = null; - private percentage: number; - private defaultResolutionError: StatusObject; - private backoff: BackoffTimeout; - private continueResolving = false; - private nextResolutionTimer: NodeJS.Timeout; - private isNextResolutionTimerRunning = false; - private isServiceConfigEnabled = true; - private returnedIpResult = false; - constructor( - private target: GrpcUri, - private listener: ResolverListener, - channelOptions: ChannelOptions - ) { - trace('Resolver constructed for target ' + uriToString(target)); - const hostPort = splitHostPort(target.path); - if (hostPort === null) { - this.ipResult = null; - this.dnsHostname = null; - this.port = null; - } else { - if (isIPv4(hostPort.host) || isIPv6(hostPort.host)) { - this.ipResult = [ - { - host: hostPort.host, - port: hostPort.port ?? DEFAULT_PORT, - }, - ]; - this.dnsHostname = null; - this.port = null; - } else { - this.ipResult = null; - this.dnsHostname = hostPort.host; - this.port = hostPort.port ?? DEFAULT_PORT; - } - } - this.percentage = Math.random() * 100; - - if (channelOptions['grpc.service_config_disable_resolution'] === 1) { - this.isServiceConfigEnabled = false; - } - - this.defaultResolutionError = { - code: Status.UNAVAILABLE, - details: `Name resolution failed for target ${uriToString(this.target)}`, - metadata: new Metadata(), - }; - - const backoffOptions: BackoffOptions = { - initialDelay: channelOptions['grpc.initial_reconnect_backoff_ms'], - maxDelay: channelOptions['grpc.max_reconnect_backoff_ms'], - }; - - this.backoff = new BackoffTimeout(() => { - if (this.continueResolving) { - this.startResolutionWithBackoff(); - } - }, backoffOptions); - this.backoff.unref(); - - this.minTimeBetweenResolutionsMs = - channelOptions['grpc.dns_min_time_between_resolutions_ms'] ?? - 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 - */ - private startResolution() { - if (this.ipResult !== null) { - if (!this.returnedIpResult) { - trace('Returning IP address for target ' + uriToString(this.target)); - setImmediate(() => { - this.listener.onSuccessfulResolution( - this.ipResult!, - null, - null, - null, - {} - ); - }); - this.returnedIpResult = true; - } - this.backoff.stop(); - this.backoff.reset(); - this.stopNextResolutionTimer(); - return; - } - if (this.dnsHostname === null) { - trace('Failed to parse DNS address ' + uriToString(this.target)); - setImmediate(() => { - this.listener.onError({ - code: Status.UNAVAILABLE, - details: `Failed to parse DNS address ${uriToString(this.target)}`, - metadata: new 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: string = 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: dns.LookupAddress[] = addressList.filter( - addr => addr.family === 4 - ); - const ip6Addresses: dns.LookupAddress[] = addressList.filter( - addr => addr.family === 6 - ); - this.latestLookupResult = mergeArrays(ip6Addresses, ip4Addresses).map( - addr => ({ host: addr.address, port: +this.port! }) - ); - const allAddressesString: string = - '[' + - this.latestLookupResult - .map(addr => addr.host + ':' + addr.port) - .join(',') + - ']'; - trace( - 'Resolved addresses for target ' + - 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 ' + - uriToString(this.target) + - ': ' + - (err as Error).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 = extractAndSelectServiceConfig( - txtRecord, - this.percentage - ); - } catch (err) { - this.latestServiceConfigError = { - code: Status.UNAVAILABLE, - details: `Parsing service config failed with error ${ - (err as Error).message - }`, - metadata: new 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. */ - } - ); - } - } - } - - private startNextResolutionTimer() { - clearTimeout(this.nextResolutionTimer); - this.nextResolutionTimer = setTimeout(() => { - this.stopNextResolutionTimer(); - if (this.continueResolving) { - this.startResolutionWithBackoff(); - } - }, this.minTimeBetweenResolutionsMs).unref?.(); - this.isNextResolutionTimerRunning = true; - } - - private stopNextResolutionTimer() { - clearTimeout(this.nextResolutionTimer); - this.isNextResolutionTimerRunning = false; - } - - private 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; - this.returnedIpResult = false; - } - - /** - * 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: GrpcUri): string { - return target.path; - } -} - -/** - * Set up the DNS resolver class by registering it as the handler for the - * "dns:" prefix and as the default resolver. - */ -export function setup(): void { - registerResolver('dns', DnsResolver); - registerDefaultScheme('dns'); -} - -export interface DnsUrl { - host: string; - port?: string; -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/resolver-ip.ts b/frontend-old/node_modules/@grpc/grpc-js/src/resolver-ip.ts deleted file mode 100644 index 7cf4f56..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/resolver-ip.ts +++ /dev/null @@ -1,120 +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 { StatusObject } from './call-interface'; -import { ChannelOptions } from './channel-options'; -import { LogVerbosity, Status } from './constants'; -import { Metadata } from './metadata'; -import { registerResolver, Resolver, ResolverListener } from './resolver'; -import { SubchannelAddress } from './subchannel-address'; -import { GrpcUri, splitHostPort, uriToString } from './uri-parser'; -import * as logging from './logging'; - -const TRACER_NAME = 'ip_resolver'; - -function trace(text: string): void { - logging.trace(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 implements Resolver { - private addresses: SubchannelAddress[] = []; - private error: StatusObject | null = null; - private hasReturnedResult = false; - constructor( - target: GrpcUri, - private listener: ResolverListener, - channelOptions: ChannelOptions - ) { - trace('Resolver constructed for target ' + uriToString(target)); - const addresses: SubchannelAddress[] = []; - if (!(target.scheme === IPV4_SCHEME || target.scheme === IPV6_SCHEME)) { - this.error = { - code: Status.UNAVAILABLE, - details: `Unrecognized scheme ${target.scheme} in IP resolver`, - metadata: new Metadata(), - }; - return; - } - const pathList = target.path.split(','); - for (const path of pathList) { - const hostPort = splitHostPort(path); - if (hostPort === null) { - this.error = { - code: Status.UNAVAILABLE, - details: `Failed to parse ${target.scheme} address ${path}`, - metadata: new Metadata(), - }; - return; - } - if ( - (target.scheme === IPV4_SCHEME && !isIPv4(hostPort.host)) || - (target.scheme === IPV6_SCHEME && !isIPv6(hostPort.host)) - ) { - this.error = { - code: Status.UNAVAILABLE, - details: `Failed to parse ${target.scheme} address ${path}`, - metadata: new Metadata(), - }; - return; - } - addresses.push({ - host: hostPort.host, - port: hostPort.port ?? DEFAULT_PORT, - }); - } - this.addresses = addresses; - trace('Parsed ' + target.scheme + ' address list ' + this.addresses); - } - updateResolution(): void { - if (!this.hasReturnedResult) { - this.hasReturnedResult = true; - process.nextTick(() => { - if (this.error) { - this.listener.onError(this.error); - } else { - this.listener.onSuccessfulResolution( - this.addresses, - null, - null, - null, - {} - ); - } - }); - } - } - destroy(): void { - this.hasReturnedResult = false; - } - - static getDefaultAuthority(target: GrpcUri): string { - return target.path.split(',')[0]; - } -} - -export function setup() { - registerResolver(IPV4_SCHEME, IpResolver); - registerResolver(IPV6_SCHEME, IpResolver); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/resolver-uds.ts b/frontend-old/node_modules/@grpc/grpc-js/src/resolver-uds.ts deleted file mode 100644 index 2110e85..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/resolver-uds.ts +++ /dev/null @@ -1,63 +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 { Resolver, ResolverListener, registerResolver } from './resolver'; -import { SubchannelAddress } from './subchannel-address'; -import { GrpcUri } from './uri-parser'; -import { ChannelOptions } from './channel-options'; - -class UdsResolver implements Resolver { - private addresses: SubchannelAddress[] = []; - private hasReturnedResult = false; - constructor( - target: GrpcUri, - private listener: ResolverListener, - channelOptions: ChannelOptions - ) { - let path: string; - if (target.authority === '') { - path = '/' + target.path; - } else { - path = target.path; - } - this.addresses = [{ path }]; - } - updateResolution(): void { - if (!this.hasReturnedResult) { - this.hasReturnedResult = true; - process.nextTick( - this.listener.onSuccessfulResolution, - this.addresses, - null, - null, - null, - {} - ); - } - } - - destroy() { - // This resolver owns no resources, so we do nothing here. - } - - static getDefaultAuthority(target: GrpcUri): string { - return 'localhost'; - } -} - -export function setup() { - registerResolver('unix', UdsResolver); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/resolver.ts b/frontend-old/node_modules/@grpc/grpc-js/src/resolver.ts deleted file mode 100644 index 4350862..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/resolver.ts +++ /dev/null @@ -1,180 +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 { MethodConfig, ServiceConfig } from './service-config'; -import { StatusObject } from './call-interface'; -import { SubchannelAddress } from './subchannel-address'; -import { GrpcUri, uriToString } 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; -} - -const registeredResolvers: { [scheme: string]: ResolverConstructor } = {}; -let defaultScheme: string | null = 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 - */ -export function registerResolver( - scheme: string, - resolverClass: ResolverConstructor -) { - registeredResolvers[scheme] = resolverClass; -} - -/** - * Register a default resolver to handle target names that do not start with - * any registered prefix. - * @param resolverClass - */ -export function registerDefaultScheme(scheme: string) { - defaultScheme = scheme; -} - -/** - * 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 function createResolver( - target: GrpcUri, - listener: ResolverListener, - options: ChannelOptions -): Resolver { - 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 ${uriToString(target)}` - ); - } -} - -/** - * 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 function getDefaultAuthority(target: GrpcUri): string { - if (target.scheme !== undefined && target.scheme in registeredResolvers) { - return registeredResolvers[target.scheme].getDefaultAuthority(target); - } else { - throw new Error(`Invalid target ${uriToString(target)}`); - } -} - -export function mapUriDefaultScheme(target: GrpcUri): GrpcUri | null { - if (target.scheme === undefined || !(target.scheme in registeredResolvers)) { - if (defaultScheme !== null) { - return { - scheme: defaultScheme, - authority: undefined, - path: uriToString(target), - }; - } else { - return null; - } - } - return target; -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/resolving-call.ts b/frontend-old/node_modules/@grpc/grpc-js/src/resolving-call.ts deleted file mode 100644 index 723533d..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/resolving-call.ts +++ /dev/null @@ -1,331 +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 { - Call, - CallStreamOptions, - InterceptingListener, - MessageContext, - StatusObject, -} from './call-interface'; -import { LogVerbosity, Propagate, Status } from './constants'; -import { - Deadline, - deadlineToString, - getRelativeTimeout, - minDeadline, -} from './deadline'; -import { FilterStack, FilterStackFactory } from './filter-stack'; -import { InternalChannel } from './internal-channel'; -import { Metadata } from './metadata'; -import * as logging from './logging'; -import { restrictControlPlaneStatusCode } from './control-plane-status'; - -const TRACER_NAME = 'resolving_call'; - -export class ResolvingCall implements Call { - private child: Call | null = null; - private readPending = false; - private pendingMessage: { context: MessageContext; message: Buffer } | null = - null; - private pendingHalfClose = false; - private ended = false; - private readFilterPending = false; - private writeFilterPending = false; - private pendingChildStatus: StatusObject | null = null; - private metadata: Metadata | null = null; - private listener: InterceptingListener | null = null; - private deadline: Deadline; - private host: string; - private statusWatchers: ((status: StatusObject) => void)[] = []; - private deadlineTimer: NodeJS.Timeout = setTimeout(() => {}, 0); - private filterStack: FilterStack | null = null; - - constructor( - private readonly channel: InternalChannel, - private readonly method: string, - options: CallStreamOptions, - private readonly filterStackFactory: FilterStackFactory, - private credentials: CallCredentials, - private callNumber: number - ) { - this.deadline = options.deadline; - this.host = options.host; - if (options.parentCall) { - if (options.flags & Propagate.CANCELLATION) { - options.parentCall.on('cancelled', () => { - this.cancelWithStatus(Status.CANCELLED, 'Cancelled by parent call'); - }); - } - if (options.flags & Propagate.DEADLINE) { - this.trace( - 'Propagating deadline from parent: ' + - options.parentCall.getDeadline() - ); - this.deadline = minDeadline( - this.deadline, - options.parentCall.getDeadline() - ); - } - } - this.trace('Created'); - this.runDeadlineTimer(); - } - - private trace(text: string): void { - logging.trace( - LogVerbosity.DEBUG, - TRACER_NAME, - '[' + this.callNumber + '] ' + text - ); - } - - private runDeadlineTimer() { - clearTimeout(this.deadlineTimer); - this.trace('Deadline: ' + deadlineToString(this.deadline)); - const timeout = getRelativeTimeout(this.deadline); - if (timeout !== Infinity) { - this.trace('Deadline will be reached in ' + timeout + 'ms'); - const handleDeadline = () => { - this.cancelWithStatus(Status.DEADLINE_EXCEEDED, 'Deadline exceeded'); - }; - if (timeout <= 0) { - process.nextTick(handleDeadline); - } else { - this.deadlineTimer = setTimeout(handleDeadline, timeout); - } - } - } - - private outputStatus(status: StatusObject) { - 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(() => { - this.listener?.onReceiveStatus(filteredStatus); - }); - } - } - - private sendMessageOnChild(context: MessageContext, message: Buffer): void { - 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: StatusObject) => { - this.cancelWithStatus(status.code, status.details); - } - ); - } - - getConfig(): void { - 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 !== Status.OK) { - const { code, details } = restrictControlPlaneStatusCode( - config.status, - 'Failed to route call to method ' + this.method - ); - this.outputStatus({ - code: code, - details: details, - metadata: new 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 / 1_000_000 - ); - this.deadline = 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: StatusObject) => { - 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: StatusObject) => { - this.outputStatus(status); - } - ); - } - - reportResolverError(status: StatusObject) { - if (this.metadata?.getOptions().waitForReady) { - this.channel.queueCallForConfig(this); - } else { - this.outputStatus(status); - } - } - cancelWithStatus(status: Status, details: string): void { - this.trace( - 'cancelWithStatus code: ' + status + ' details: "' + details + '"' - ); - this.child?.cancelWithStatus(status, details); - this.outputStatus({ - code: status, - details: details, - metadata: new Metadata(), - }); - } - getPeer(): string { - return this.child?.getPeer() ?? this.channel.getTarget(); - } - start(metadata: Metadata, listener: InterceptingListener): void { - this.trace('start called'); - this.metadata = metadata.clone(); - this.listener = listener; - this.getConfig(); - } - sendMessageWithContext(context: MessageContext, message: Buffer): void { - this.trace('write() called with message of length ' + message.length); - if (this.child) { - this.sendMessageOnChild(context, message); - } else { - this.pendingMessage = { context, message }; - } - } - startRead(): void { - this.trace('startRead called'); - if (this.child) { - this.child.startRead(); - } else { - this.readPending = true; - } - } - halfClose(): void { - this.trace('halfClose called'); - if (this.child && !this.writeFilterPending) { - this.child.halfClose(); - } else { - this.pendingHalfClose = true; - } - } - setCredentials(credentials: CallCredentials): void { - this.credentials = this.credentials.compose(credentials); - } - - addStatusWatcher(watcher: (status: StatusObject) => void) { - this.statusWatchers.push(watcher); - } - - getCallNumber(): number { - return this.callNumber; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/resolving-load-balancer.ts b/frontend-old/node_modules/@grpc/grpc-js/src/resolving-load-balancer.ts deleted file mode 100644 index ceec4b5..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/resolving-load-balancer.ts +++ /dev/null @@ -1,403 +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 { - ChannelControlHelper, - LoadBalancer, - LoadBalancingConfig, - getFirstUsableConfig, -} from './load-balancer'; -import { - MethodConfig, - ServiceConfig, - validateServiceConfig, -} from './service-config'; -import { ConnectivityState } from './connectivity-state'; -import { ConfigSelector, createResolver, Resolver } from './resolver'; -import { ServiceError } from './call'; -import { Picker, UnavailablePicker, QueuePicker } from './picker'; -import { BackoffOptions, BackoffTimeout } from './backoff-timeout'; -import { Status } from './constants'; -import { StatusObject } from './call-interface'; -import { Metadata } from './metadata'; -import * as logging from './logging'; -import { LogVerbosity } from './constants'; -import { SubchannelAddress } from './subchannel-address'; -import { GrpcUri, uriToString } from './uri-parser'; -import { ChildLoadBalancerHandler } from './load-balancer-child-handler'; -import { ChannelOptions } from './channel-options'; - -const TRACER_NAME = 'resolving_load_balancer'; - -function trace(text: string): void { - logging.trace(LogVerbosity.DEBUG, TRACER_NAME, text); -} - -type NameMatchLevel = 'EMPTY' | 'SERVICE' | 'SERVICE_AND_METHOD'; - -/** - * 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: NameMatchLevel[] = [ - 'SERVICE_AND_METHOD', - 'SERVICE', - 'EMPTY', -]; - -function hasMatchingName( - service: string, - method: string, - methodConfig: MethodConfig, - matchLevel: NameMatchLevel -): boolean { - 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: string, - method: string, - methodConfigs: MethodConfig[], - matchLevel: NameMatchLevel -): MethodConfig | null { - for (const config of methodConfigs) { - if (hasMatchingName(service, method, config, matchLevel)) { - return config; - } - } - return null; -} - -function getDefaultConfigSelector( - serviceConfig: ServiceConfig | null -): ConfigSelector { - return function defaultConfigSelector( - methodName: string, - metadata: Metadata - ) { - const splitName = methodName.split('/').filter(x => x.length > 0); - const service = splitName[0] ?? ''; - const method = splitName[1] ?? ''; - 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: Status.OK, - dynamicFilterFactories: [], - }; - } - } - } - return { - methodConfig: { name: [] }, - pickInformation: {}, - status: Status.OK, - dynamicFilterFactories: [], - }; - }; -} - -export interface ResolutionCallback { - (serviceConfig: ServiceConfig, configSelector: ConfigSelector): void; -} - -export interface ResolutionFailureCallback { - (status: StatusObject): void; -} - -export class ResolvingLoadBalancer implements LoadBalancer { - /** - * The resolver class constructed for the target address. - */ - private readonly innerResolver: Resolver; - - private readonly childLoadBalancer: ChildLoadBalancerHandler; - private latestChildState: ConnectivityState = ConnectivityState.IDLE; - private latestChildPicker: Picker = new QueuePicker(this); - /** - * This resolving load balancer's current connectivity state. - */ - private currentState: ConnectivityState = ConnectivityState.IDLE; - private readonly defaultServiceConfig: ServiceConfig; - /** - * 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: ServiceConfig | null = null; - - /** - * The backoff timer for handling name resolution failures. - */ - private readonly backoffTimeout: BackoffTimeout; - - /** - * Indicates whether we should attempt to resolve again after the backoff - * timer runs out. - */ - private continueResolving = false; - - /** - * 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( - private readonly target: GrpcUri, - private readonly channelControlHelper: ChannelControlHelper, - channelOptions: ChannelOptions, - private readonly onSuccessfulResolution: ResolutionCallback, - private readonly onFailedResolution: ResolutionFailureCallback - ) { - if (channelOptions['grpc.service_config']) { - this.defaultServiceConfig = validateServiceConfig( - JSON.parse(channelOptions['grpc.service_config']!) - ); - } else { - this.defaultServiceConfig = { - loadBalancingConfig: [], - methodConfig: [], - }; - } - this.updateState(ConnectivityState.IDLE, new QueuePicker(this)); - this.childLoadBalancer = new 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: ConnectivityState, picker: Picker) => { - this.latestChildState = newState; - this.latestChildPicker = picker; - this.updateState(newState, picker); - }, - addChannelzChild: - channelControlHelper.addChannelzChild.bind(channelControlHelper), - removeChannelzChild: - channelControlHelper.removeChannelzChild.bind(channelControlHelper), - }); - this.innerResolver = createResolver( - target, - { - onSuccessfulResolution: ( - addressList: SubchannelAddress[], - serviceConfig: ServiceConfig | null, - serviceConfigError: ServiceError | null, - configSelector: ConfigSelector | null, - attributes: { [key: string]: unknown } - ) => { - this.backoffTimeout.stop(); - this.backoffTimeout.reset(); - let workingServiceConfig: ServiceConfig | null = 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 = - workingServiceConfig?.loadBalancingConfig ?? []; - const loadBalancingConfig = getFirstUsableConfig( - workingConfigList, - true - ); - if (loadBalancingConfig === null) { - // There were load balancing configs but none are supported. This counts as a resolution failure - this.handleResolutionFailure({ - code: Status.UNAVAILABLE, - details: - 'All load balancer options in service config are not compatible', - metadata: new Metadata(), - }); - return; - } - this.childLoadBalancer.updateAddressList( - addressList, - loadBalancingConfig, - attributes - ); - const finalServiceConfig = - workingServiceConfig ?? this.defaultServiceConfig; - this.onSuccessfulResolution( - finalServiceConfig, - configSelector ?? getDefaultConfigSelector(finalServiceConfig) - ); - }, - onError: (error: StatusObject) => { - this.handleResolutionFailure(error); - }, - }, - channelOptions - ); - const backoffOptions: BackoffOptions = { - initialDelay: channelOptions['grpc.initial_reconnect_backoff_ms'], - maxDelay: channelOptions['grpc.max_reconnect_backoff_ms'], - }; - this.backoffTimeout = new BackoffTimeout(() => { - if (this.continueResolving) { - this.updateResolution(); - this.continueResolving = false; - } else { - this.updateState(this.latestChildState, this.latestChildPicker); - } - }, backoffOptions); - this.backoffTimeout.unref(); - } - - private updateResolution() { - this.innerResolver.updateResolution(); - if (this.currentState === ConnectivityState.IDLE) { - this.updateState(ConnectivityState.CONNECTING, new QueuePicker(this)); - } - this.backoffTimeout.runOnce(); - } - - private updateState(connectivityState: ConnectivityState, picker: Picker) { - trace( - uriToString(this.target) + - ' ' + - ConnectivityState[this.currentState] + - ' -> ' + - ConnectivityState[connectivityState] - ); - // Ensure that this.exitIdle() is called by the picker - if (connectivityState === ConnectivityState.IDLE) { - picker = new QueuePicker(this); - } - this.currentState = connectivityState; - this.channelControlHelper.updateState(connectivityState, picker); - } - - private handleResolutionFailure(error: StatusObject) { - if (this.latestChildState === ConnectivityState.IDLE) { - this.updateState( - ConnectivityState.TRANSIENT_FAILURE, - new UnavailablePicker(error) - ); - this.onFailedResolution(error); - } - } - - exitIdle() { - if ( - this.currentState === ConnectivityState.IDLE || - this.currentState === ConnectivityState.TRANSIENT_FAILURE - ) { - if (this.backoffTimeout.isRunning()) { - this.continueResolving = true; - } else { - this.updateResolution(); - } - } - this.childLoadBalancer.exitIdle(); - } - - updateAddressList( - addressList: SubchannelAddress[], - lbConfig: LoadBalancingConfig | null - ): never { - 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 = ConnectivityState.IDLE; - this.latestChildPicker = new QueuePicker(this); - this.currentState = ConnectivityState.IDLE; - this.previousServiceConfig = null; - this.continueResolving = false; - } - - getTypeName() { - return 'resolving_load_balancer'; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/retrying-call.ts b/frontend-old/node_modules/@grpc/grpc-js/src/retrying-call.ts deleted file mode 100644 index e6e1cbb..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/retrying-call.ts +++ /dev/null @@ -1,821 +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 { LogVerbosity, Status } from './constants'; -import { Deadline } from './deadline'; -import { Metadata } from './metadata'; -import { CallConfig } from './resolver'; -import * as logging from './logging'; -import { - Call, - InterceptingListener, - MessageContext, - StatusObject, - WriteCallback, - WriteObject, -} from './call-interface'; -import { - LoadBalancingCall, - StatusObjectWithProgress, -} from './load-balancing-call'; -import { InternalChannel } from './internal-channel'; - -const TRACER_NAME = 'retrying_call'; - -export class RetryThrottler { - private tokens: number; - constructor( - private readonly maxTokens: number, - private readonly tokenRatio: number, - previousRetryThrottler?: RetryThrottler - ) { - 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; - } -} - -export class MessageBufferTracker { - private totalAllocated = 0; - private allocatedPerCall: Map = new Map(); - - constructor(private totalLimit: number, private limitPerCall: number) {} - - allocate(size: number, callId: number): boolean { - const currentPerCall = this.allocatedPerCall.get(callId) ?? 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: number, callId: number) { - if (this.totalAllocated < size) { - throw new Error( - `Invalid buffer allocation state: call ${callId} freed ${size} > total allocated ${this.totalAllocated}` - ); - } - this.totalAllocated -= size; - const currentPerCall = this.allocatedPerCall.get(callId) ?? 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: number) { - const currentPerCall = this.allocatedPerCall.get(callId) ?? 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); - } -} - -type UnderlyingCallState = 'ACTIVE' | 'COMPLETED'; - -interface UnderlyingCall { - state: UnderlyingCallState; - call: LoadBalancingCall; - nextMessageToSend: number; -} - -/** - * A retrying call can be in one of these states: - * RETRY: Retries are configured and new attempts may be sent - * HEDGING: Hedging is configured and new attempts may be sent - * TRANSPARENT_ONLY: Neither retries nor hedging are configured, and - * transparent retry attempts may still be sent - * COMMITTED: One attempt is committed, and no new attempts will be - * sent - */ -type RetryingCallState = 'RETRY' | 'HEDGING' | 'TRANSPARENT_ONLY' | 'COMMITTED'; - -/** - * The different types of objects that can be stored in the write buffer, with - * the following meanings: - * MESSAGE: This is a message to be sent. - * HALF_CLOSE: When this entry is reached, the calls should send a half-close. - * FREED: This slot previously contained a message that has been sent on all - * child calls and is no longer needed. - */ -type WriteBufferEntryType = 'MESSAGE' | 'HALF_CLOSE' | 'FREED'; - -/** - * Entry in the buffer of messages to send to the remote end. - */ -interface WriteBufferEntry { - entryType: WriteBufferEntryType; - /** - * Message to send. - * Only populated if entryType is MESSAGE. - */ - message?: WriteObject; - /** - * Callback to call after sending the message. - * Only populated if entryType is MESSAGE and the call is in the COMMITTED - * state. - */ - callback?: WriteCallback; - /** - * Indicates whether the message is allocated in the buffer tracker. Ignored - * if entryType is not MESSAGE. Should be the return value of - * bufferTracker.allocate. - */ - allocated: boolean; -} - -const PREVIONS_RPC_ATTEMPTS_METADATA_KEY = 'grpc-previous-rpc-attempts'; - -export class RetryingCall implements Call { - private state: RetryingCallState; - private listener: InterceptingListener | null = null; - private initialMetadata: Metadata | null = null; - private underlyingCalls: UnderlyingCall[] = []; - private writeBuffer: WriteBufferEntry[] = []; - /** - * 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 = 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. - */ - private readStarted = false; - private transparentRetryUsed = false; - /** - * Number of attempts so far - */ - private attempts = 0; - private hedgingTimer: NodeJS.Timeout | null = null; - private committedCallIndex: number | null = null; - private initialRetryBackoffSec = 0; - private nextRetryBackoffSec = 0; - constructor( - private readonly channel: InternalChannel, - private readonly callConfig: CallConfig, - private readonly methodName: string, - private readonly host: string, - private readonly credentials: CallCredentials, - private readonly deadline: Deadline, - private readonly callNumber: number, - private readonly bufferTracker: MessageBufferTracker, - private readonly retryThrottler?: RetryThrottler - ) { - 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(): number { - return this.callNumber; - } - - private trace(text: string): void { - logging.trace( - LogVerbosity.DEBUG, - TRACER_NAME, - '[' + this.callNumber + '] ' + text - ); - } - - private reportStatus(statusObject: 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(() => { - // Explicitly construct status object to remove progress field - this.listener?.onReceiveStatus({ - code: statusObject.code, - details: statusObject.details, - metadata: statusObject.metadata, - }); - }); - } - - cancelWithStatus(status: Status, details: string): void { - this.trace( - 'cancelWithStatus code: ' + status + ' details: "' + details + '"' - ); - this.reportStatus({ code: status, details, metadata: new Metadata() }); - for (const { call } of this.underlyingCalls) { - call.cancelWithStatus(status, details); - } - } - getPeer(): string { - if (this.committedCallIndex !== null) { - return this.underlyingCalls[this.committedCallIndex].call.getPeer(); - } else { - return 'unknown'; - } - } - - private getBufferEntry(messageIndex: number): WriteBufferEntry { - return ( - this.writeBuffer[messageIndex - this.writeBufferOffset] ?? { - entryType: 'FREED', - allocated: false, - } - ); - } - - private getNextBufferIndex() { - return this.writeBufferOffset + this.writeBuffer.length; - } - - private 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; - } - - private commitCall(index: number) { - 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( - Status.CANCELLED, - 'Discarded in favor of other hedged attempt' - ); - } - this.clearSentMessages(); - } - - private 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); - } - } - - private isStatusCodeInList(list: (Status | string)[], code: Status) { - return list.some( - value => - value === code || - value.toString().toLowerCase() === Status[code].toLowerCase() - ); - } - - private getNextRetryBackoffMs() { - const retryPolicy = this.callConfig?.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; - } - - private maybeRetryCall( - pushback: number | null, - callback: (retried: boolean) => void - ) { - 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: number; - 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(() => { - if (this.state !== 'RETRY') { - callback(false); - return; - } - if (this.retryThrottler?.canRetryCall() ?? true) { - callback(true); - this.attempts += 1; - this.startNewAttempt(); - } - }, retryDelayMs); - } - - private countActiveCalls(): number { - let count = 0; - for (const call of this.underlyingCalls) { - if (call?.state === 'ACTIVE') { - count += 1; - } - } - return count; - } - - private handleProcessedStatus( - status: StatusObject, - callIndex: number, - pushback: number | null - ) { - switch (this.state) { - case 'COMMITTED': - case 'TRANSPARENT_ONLY': - this.commitCall(callIndex); - this.reportStatus(status); - break; - case 'HEDGING': - if ( - this.isStatusCodeInList( - this.callConfig!.methodConfig.hedgingPolicy!.nonFatalStatusCodes ?? - [], - status.code - ) - ) { - this.retryThrottler?.addCallFailed(); - let delayMs: number; - 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 - ) - ) { - this.retryThrottler?.addCallFailed(); - this.maybeRetryCall(pushback, retried => { - if (!retried) { - this.commitCall(callIndex); - this.reportStatus(status); - } - }); - } else { - this.commitCall(callIndex); - this.reportStatus(status); - } - break; - } - } - - private getPushback(metadata: Metadata): number | null { - const mdValue = metadata.get('grpc-retry-pushback-ms'); - if (mdValue.length === 0) { - return null; - } - try { - return parseInt(mdValue[0] as string); - } catch (e) { - return -1; - } - } - - private handleChildStatus( - status: StatusObjectWithProgress, - callIndex: number - ) { - 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 === Status.OK) { - this.retryThrottler?.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; - } - } - - private 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(); - } - - private maybeStartHedgingTimer() { - 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 = hedgingPolicy.hedgingDelay ?? '0s'; - const hedgingDelaySec = Number( - hedgingDelayString.substring(0, hedgingDelayString.length - 1) - ); - this.hedgingTimer = setTimeout(() => { - this.maybeStartHedgingAttempt(); - }, hedgingDelaySec * 1000); - this.hedgingTimer.unref?.(); - } - - private 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: Metadata, listener: InterceptingListener): void { - this.trace('start called'); - this.listener = listener; - this.initialMetadata = metadata; - this.attempts += 1; - this.startNewAttempt(); - this.maybeStartHedgingTimer(); - } - - private handleChildWriteCompleted(childIndex: number) { - const childCall = this.underlyingCalls[childIndex]; - const messageIndex = childCall.nextMessageToSend; - this.getBufferEntry(messageIndex).callback?.(); - this.clearSentMessages(); - childCall.nextMessageToSend += 1; - this.sendNextChildMessage(childIndex); - } - - private sendNextChildMessage(childIndex: number) { - 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: MessageContext, message: Buffer): void { - this.trace('write() called with message of length ' + message.length); - const writeObj: WriteObject = { - message, - flags: context.flags, - }; - const messageIndex = this.getNextBufferIndex(); - const bufferEntry: WriteBufferEntry = { - entryType: 'MESSAGE', - message: writeObj, - allocated: this.bufferTracker.allocate(message.length, this.callNumber), - }; - this.writeBuffer.push(bufferEntry); - if (bufferEntry.allocated) { - context.callback?.(); - 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(): void { - this.trace('startRead called'); - this.readStarted = true; - for (const underlyingCall of this.underlyingCalls) { - if (underlyingCall?.state === 'ACTIVE') { - underlyingCall.call.startRead(); - } - } - } - halfClose(): void { - this.trace('halfClose called'); - const halfCloseIndex = this.getNextBufferIndex(); - this.writeBuffer.push({ - entryType: 'HALF_CLOSE', - allocated: false, - }); - for (const call of this.underlyingCalls) { - if ( - call?.state === 'ACTIVE' && - call.nextMessageToSend === halfCloseIndex - ) { - call.nextMessageToSend += 1; - call.call.halfClose(); - } - } - } - setCredentials(newCredentials: CallCredentials): void { - throw new Error('Method not implemented.'); - } - getMethod(): string { - return this.methodName; - } - getHost(): string { - return this.host; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/server-call.ts b/frontend-old/node_modules/@grpc/grpc-js/src/server-call.ts deleted file mode 100644 index 3032c6e..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/server-call.ts +++ /dev/null @@ -1,1022 +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 * as http2 from 'http2'; -import { Duplex, Readable, Writable } from 'stream'; -import * as zlib from 'zlib'; - -import { - Status, - DEFAULT_MAX_SEND_MESSAGE_LENGTH, - DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH, - LogVerbosity, -} from './constants'; -import { Deserialize, Serialize } from './make-client'; -import { Metadata } from './metadata'; -import { StreamDecoder } from './stream-decoder'; -import { ObjectReadable, ObjectWritable } from './object-stream'; -import { ChannelOptions } from './channel-options'; -import * as logging from './logging'; -import { StatusObject, PartialStatusObject } from './call-interface'; -import { Deadline } from './deadline'; -import { getErrorCode, getErrorMessage } from './error'; - -const TRACER_NAME = 'server_call'; - -function trace(text: string): void { - logging.trace(LogVerbosity.DEBUG, TRACER_NAME, text); -} - -interface DeadlineUnitIndexSignature { - [name: string]: number; -} - -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: DeadlineUnitIndexSignature = { - 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, -} as http2.ServerStreamResponseOptions; - -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 class ServerUnaryCallImpl - extends EventEmitter - implements ServerUnaryCall -{ - cancelled: boolean; - - constructor( - private call: Http2ServerCallStream, - public metadata: Metadata, - public request: RequestType - ) { - super(); - this.cancelled = false; - this.call.setupSurfaceCall(this); - } - - getPeer(): string { - return this.call.getPeer(); - } - - sendMetadata(responseMetadata: Metadata): void { - this.call.sendMetadata(responseMetadata); - } - - getDeadline(): Deadline { - return this.call.getDeadline(); - } - - getPath(): string { - return this.call.getPath(); - } -} - -export class ServerReadableStreamImpl - extends Readable - implements ServerReadableStream -{ - cancelled: boolean; - - constructor( - private call: Http2ServerCallStream, - public metadata: Metadata, - public deserialize: Deserialize, - encoding: string - ) { - super({ objectMode: true }); - this.cancelled = false; - this.call.setupSurfaceCall(this); - this.call.setupReadable(this, encoding); - } - - _read(size: number) { - if (!this.call.consumeUnpushedMessages(this)) { - return; - } - - this.call.resume(); - } - - getPeer(): string { - return this.call.getPeer(); - } - - sendMetadata(responseMetadata: Metadata): void { - this.call.sendMetadata(responseMetadata); - } - - getDeadline(): Deadline { - return this.call.getDeadline(); - } - - getPath(): string { - return this.call.getPath(); - } -} - -export class ServerWritableStreamImpl - extends Writable - implements ServerWritableStream -{ - cancelled: boolean; - private trailingMetadata: Metadata; - - constructor( - private call: Http2ServerCallStream, - public metadata: Metadata, - public serialize: Serialize, - public request: RequestType - ) { - super({ objectMode: true }); - this.cancelled = false; - this.trailingMetadata = new Metadata(); - this.call.setupSurfaceCall(this); - - this.on('error', err => { - this.call.sendError(err); - this.end(); - }); - } - - getPeer(): string { - return this.call.getPeer(); - } - - sendMetadata(responseMetadata: Metadata): void { - this.call.sendMetadata(responseMetadata); - } - - getDeadline(): Deadline { - return this.call.getDeadline(); - } - - getPath(): string { - return this.call.getPath(); - } - - _write( - chunk: ResponseType, - encoding: string, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - callback: (...args: any[]) => void - ) { - try { - const response = this.call.serializeMessage(chunk); - - if (!this.call.write(response)) { - this.call.once('drain', callback); - return; - } - } catch (err) { - this.emit('error', { - details: getErrorMessage(err), - code: Status.INTERNAL, - }); - } - - callback(); - } - - _final(callback: Function): void { - this.call.sendStatus({ - code: Status.OK, - details: 'OK', - metadata: this.trailingMetadata, - }); - callback(null); - } - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - end(metadata?: any) { - if (metadata) { - this.trailingMetadata = metadata; - } - - return super.end(); - } -} - -export class ServerDuplexStreamImpl - extends Duplex - implements ServerDuplexStream -{ - cancelled: boolean; - /* This field appears to be unsued, but it is actually used in _final, which is assiged from - * ServerWritableStreamImpl.prototype._final below. */ - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore noUnusedLocals - private trailingMetadata: Metadata; - - constructor( - private call: Http2ServerCallStream, - public metadata: Metadata, - public serialize: Serialize, - public deserialize: Deserialize, - encoding: string - ) { - super({ objectMode: true }); - this.cancelled = false; - this.trailingMetadata = new Metadata(); - this.call.setupSurfaceCall(this); - this.call.setupReadable(this, encoding); - - this.on('error', err => { - this.call.sendError(err); - this.end(); - }); - } - - getPeer(): string { - return this.call.getPeer(); - } - - sendMetadata(responseMetadata: Metadata): void { - this.call.sendMetadata(responseMetadata); - } - - getDeadline(): Deadline { - return this.call.getDeadline(); - } - - getPath(): string { - return this.call.getPath(); - } - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - end(metadata?: any) { - if (metadata) { - this.trailingMetadata = metadata; - } - - return super.end(); - } -} - -ServerDuplexStreamImpl.prototype._read = - ServerReadableStreamImpl.prototype._read; -ServerDuplexStreamImpl.prototype._write = - ServerWritableStreamImpl.prototype._write; -ServerDuplexStreamImpl.prototype._final = - ServerWritableStreamImpl.prototype._final; - -// Unary response callback signature. -export type sendUnaryData = ( - error: ServerErrorResponse | ServerStatusResponse | null, - value?: ResponseType | null, - trailer?: Metadata, - flags?: number -) => void; - -// User provided handler for unary calls. -export type handleUnaryCall = ( - call: ServerUnaryCall, - callback: sendUnaryData -) => void; - -// User provided handler for client streaming calls. -export type handleClientStreamingCall = ( - call: ServerReadableStream, - callback: sendUnaryData -) => void; - -// User provided handler for server streaming calls. -export type handleServerStreamingCall = ( - call: ServerWritableStream -) => void; - -// User provided handler for bidirectional streaming calls. -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'; - -// Internal class that wraps the HTTP2 request. -export class Http2ServerCallStream< - RequestType, - ResponseType -> extends EventEmitter { - cancelled = false; - deadlineTimer: NodeJS.Timeout | null = null; - private statusSent = false; - private deadline: Deadline = Infinity; - private wantTrailers = false; - private metadataSent = false; - private canPush = false; - private isPushPending = false; - private bufferedMessages: Array = []; - private messagesToPush: Array = []; - private maxSendMessageSize: number = DEFAULT_MAX_SEND_MESSAGE_LENGTH; - private maxReceiveMessageSize: number = DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH; - - constructor( - private stream: http2.ServerHttp2Stream, - private handler: Handler, - options: ChannelOptions - ) { - super(); - - this.stream.once('error', (err: ServerErrorResponse) => { - /* 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', () => { - trace( - 'Request to method ' + - this.handler?.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: 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']!; - } - } - - private checkCancelled(): boolean { - /* 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; - } - - private getDecompressedMessage( - message: Buffer, - encoding: string - ): Buffer | Promise { const messageContents = message.subarray(5); - if (encoding === 'identity') { - return messageContents; - } else if (encoding === 'deflate' || encoding === 'gzip') { - let decompresser: zlib.Gunzip | zlib.Deflate; - if (encoding === 'deflate') { - decompresser = zlib.createInflate(); - } else { - decompresser = zlib.createGunzip(); - } - return new Promise((resolve, reject) => { - let totalLength = 0 - const messageParts: Buffer[] = []; - decompresser.on('data', (chunk: Buffer) => { - messageParts.push(chunk); - totalLength += chunk.byteLength; - if (this.maxReceiveMessageSize !== -1 && totalLength > this.maxReceiveMessageSize) { - decompresser.destroy(); - reject({ - code: Status.RESOURCE_EXHAUSTED, - details: `Received message that decompresses to a size larger than ${this.maxReceiveMessageSize}` - }); - } - }); - decompresser.on('end', () => { - resolve(Buffer.concat(messageParts)); - }); - decompresser.write(messageContents); - decompresser.end(); - }); - } else { - return Promise.reject({ - code: Status.UNIMPLEMENTED, - details: `Received message compressed with unsupported encoding "${encoding}"`, - }); - } - } - - sendMetadata(customMetadata?: Metadata) { - if (this.checkCancelled()) { - return; - } - - if (this.metadataSent) { - return; - } - - this.metadataSent = true; - const custom = customMetadata ? customMetadata.toHttp2Headers() : null; - // TODO(cjihrig): Include compression headers. - const headers = { - ...defaultResponseHeaders, - ...defaultCompressionHeaders, - ...custom, - }; - this.stream.respond(headers, defaultResponseOptions); - } - - receiveMetadata(headers: http2.IncomingHttpHeaders) { - const metadata = 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') as ServerErrorResponse; - err.code = 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: string): Promise { - 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: Buffer[] = []; - const limit = this.maxReceiveMessageSize; - - this.stream.on('data', onData); - this.stream.on('end', onEnd); - this.stream.on('error', onEnd); - - function onData(chunk: Buffer) { - receivedLength += chunk.byteLength; - - if (limit !== -1 && receivedLength > limit) { - stream.removeListener('data', onData); - stream.removeListener('end', onEnd); - stream.removeListener('error', onEnd); - - reject({ - code: Status.RESOURCE_EXHAUSTED, - details: `Received message larger than max (${receivedLength} vs. ${limit})`, - }); - return; - } - - body.push(chunk); - } - - function onEnd(err?: Error) { - stream.removeListener('data', onData); - stream.removeListener('end', onEnd); - stream.removeListener('error', onEnd); - - if (err !== undefined) { - reject({ code: Status.INTERNAL, details: err.message }); - return; - } - - if (receivedLength === 0) { - reject({ - code: 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: any) => - reject( - err.code - ? err - : { - code: Status.INTERNAL, - details: `Received "grpc-encoding" header "${encoding}" but ${encoding} decompression failed`, - } - ) - ); - } - }); - } - - private async deserializeMessageWithInternalError(buffer: Buffer) { - try { - return this.deserializeMessage(buffer); - } catch (err) { - throw { - details: getErrorMessage(err), - code: Status.INTERNAL, - }; - } - } - - serializeMessage(value: ResponseType) { - 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: Buffer) { - return this.handler.deserialize(bytes); - } - - async sendUnaryMessage( - err: ServerErrorResponse | ServerStatusResponse | null, - value?: ResponseType | null, - metadata?: Metadata | null, - flags?: number - ) { - 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: Status.OK, details: 'OK', metadata }); - } catch (err) { - this.sendError({ - details: getErrorMessage(err), - code: Status.INTERNAL, - }); - } - } - - sendStatus(statusObj: PartialStatusObject) { - this.emit('callEnd', statusObj.code); - this.emit('streamEnd', statusObj.code === Status.OK); - if (this.checkCancelled()) { - return; - } - - trace( - 'Request to method ' + - this.handler?.path + - ' ended with status code: ' + - 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', () => { - const trailersToSend = { - [GRPC_STATUS_HEADER]: statusObj.code, - [GRPC_MESSAGE_HEADER]: encodeURI(statusObj.details), - ...statusObj.metadata?.toHttp2Headers(), - }; - - this.stream.sendTrailers(trailersToSend); - this.statusSent = true; - }); - this.stream.end(); - } - } else { - // Trailers-only response - const trailersToSend = { - [GRPC_STATUS_HEADER]: statusObj.code, - [GRPC_MESSAGE_HEADER]: encodeURI(statusObj.details), - ...defaultResponseHeaders, - ...statusObj.metadata?.toHttp2Headers(), - }; - this.stream.respond(trailersToSend, { endStream: true }); - this.statusSent = true; - } - } - - sendError(error: ServerErrorResponse | ServerStatusResponse) { - const status: PartialStatusObject = { - code: 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: Buffer) { - if (this.checkCancelled()) { - return; - } - - if ( - this.maxSendMessageSize !== -1 && - chunk.length > this.maxSendMessageSize - ) { - this.sendError({ - code: 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: ServerSurfaceCall) { - this.once('cancelled', reason => { - call.cancelled = true; - call.emit('cancelled', reason); - }); - - this.once('callEnd', status => call.emit('callEnd', status)); - } - - setupReadable( - readable: - | ServerReadableStream - | ServerDuplexStream, - encoding: string - ) { - const decoder = new StreamDecoder(this.maxReceiveMessageSize); - - 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: Buffer) => { - let messages: Buffer[]; - try { - messages = decoder.write(data); - } catch (e) { - this.sendError({ - code: Status.RESOURCE_EXHAUSTED, - details: (e as Error).message - }); - return; - } - - pendingMessageProcessing = true; - this.stream.pause(); - for (const message of messages) { - this.emit('receiveMessage'); - - const compressed = message.readUInt8(0) === 1; - const compressedMessageEncoding = compressed ? encoding : 'identity'; - let decompressedMessage: Buffer; - try { - decompressedMessage = await this.getDecompressedMessage( - message, - compressedMessageEncoding - ); - } catch (e) { - this.sendError(e as Partial); - return; - } - - // 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: - | ServerReadableStream - | ServerDuplexStream - ): boolean { - 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; - } - - private async pushOrBufferMessage( - readable: - | ServerReadableStream - | ServerDuplexStream, - messageBytes: Buffer | null - ): Promise { - if (this.isPushPending) { - this.bufferedMessages.push(messageBytes); - } else { - await this.pushMessage(readable, messageBytes); - } - } - - private async pushMessage( - readable: - | ServerReadableStream - | ServerDuplexStream, - messageBytes: Buffer | null - ) { - 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 = getErrorCode(error); - if (code === null || code < Status.OK || code > Status.UNAUTHENTICATED) { - code = Status.INTERNAL; - } - - readable.emit('error', { - details: getErrorMessage(error), - code: code, - }); - } - - this.isPushPending = false; - - if (this.bufferedMessages.length > 0) { - await this.pushMessage( - readable, - this.bufferedMessages.shift() as Buffer | null - ); - } - } - - getPeer(): string { - const socket = this.stream.session?.socket; - if (socket?.remoteAddress) { - if (socket.remotePort) { - return `${socket.remoteAddress}:${socket.remotePort}`; - } else { - return socket.remoteAddress; - } - } else { - return 'unknown'; - } - } - - getDeadline(): Deadline { - return this.deadline; - } - - getPath(): string { - return this.handler.path; - } -} - -/* eslint-disable @typescript-eslint/no-explicit-any */ -type UntypedServerCall = Http2ServerCallStream; - -function handleExpiredDeadline(call: UntypedServerCall) { - const err = new Error('Deadline exceeded') as ServerErrorResponse; - err.code = Status.DEADLINE_EXCEEDED; - - call.sendError(err); - call.cancelled = true; - call.emit('cancelled', 'deadline'); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/server-credentials.ts b/frontend-old/node_modules/@grpc/grpc-js/src/server-credentials.ts deleted file mode 100644 index 17ab298..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/server-credentials.ts +++ /dev/null @@ -1,108 +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 { SecureServerOptions } from 'http2'; -import { CIPHER_SUITES, getDefaultRootsData } from './tls-helpers'; - -export interface KeyCertPair { - private_key: Buffer; - cert_chain: Buffer; -} - -export abstract class ServerCredentials { - abstract _isSecure(): boolean; - abstract _getSettings(): SecureServerOptions | null; - - static createInsecure(): ServerCredentials { - return new InsecureServerCredentials(); - } - - static createSsl( - rootCerts: Buffer | null, - keyCertPairs: KeyCertPair[], - checkClientCertificate = false - ): ServerCredentials { - 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 || getDefaultRootsData() || undefined, - cert, - key, - requestCert: checkClientCertificate, - ciphers: CIPHER_SUITES, - }); - } -} - -class InsecureServerCredentials extends ServerCredentials { - _isSecure(): boolean { - return false; - } - - _getSettings(): null { - return null; - } -} - -class SecureServerCredentials extends ServerCredentials { - private options: SecureServerOptions; - - constructor(options: SecureServerOptions) { - super(); - this.options = options; - } - - _isSecure(): boolean { - return true; - } - - _getSettings(): SecureServerOptions { - return this.options; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/server.ts b/frontend-old/node_modules/@grpc/grpc-js/src/server.ts deleted file mode 100644 index 0d8e082..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/server.ts +++ /dev/null @@ -1,1300 +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 * as http2 from 'http2'; -import { AddressInfo } from 'net'; - -import { ServiceError } from './call'; -import { Status, LogVerbosity } from './constants'; -import { Deserialize, Serialize, ServiceDefinition } from './make-client'; -import { Metadata } from './metadata'; -import { - BidiStreamingHandler, - ClientStreamingHandler, - HandleCall, - Handler, - HandlerType, - Http2ServerCallStream, - sendUnaryData, - ServerDuplexStream, - ServerDuplexStreamImpl, - ServerReadableStream, - ServerReadableStreamImpl, - ServerStreamingHandler, - ServerUnaryCall, - ServerUnaryCallImpl, - ServerWritableStream, - ServerWritableStreamImpl, - UnaryHandler, - ServerErrorResponse, - ServerStatusResponse, -} from './server-call'; -import { ServerCredentials } from './server-credentials'; -import { ChannelOptions } from './channel-options'; -import { - createResolver, - ResolverListener, - mapUriDefaultScheme, -} from './resolver'; -import * as logging from './logging'; -import { - SubchannelAddress, - TcpSubchannelAddress, - isTcpSubchannelAddress, - subchannelAddressToString, - stringToSubchannelAddress, -} from './subchannel-address'; -import { parseUri } from './uri-parser'; -import { - ChannelzCallTracker, - ChannelzChildrenTracker, - ChannelzTrace, - registerChannelzServer, - registerChannelzSocket, - ServerInfo, - ServerRef, - SocketInfo, - SocketRef, - TlsInfo, - unregisterChannelzRef, -} from './channelz'; -import { CipherNameAndProtocol, TLSSocket } from 'tls'; - -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'; - -interface BindResult { - port: number; - count: number; -} - -function noop(): void {} - -function getUnimplementedStatusResponse( - methodName: string -): Partial { - return { - code: Status.UNIMPLEMENTED, - details: `The server does not implement the method ${methodName}`, - }; -} - -/* eslint-disable @typescript-eslint/no-explicit-any */ -type UntypedUnaryHandler = UnaryHandler; -type UntypedClientStreamingHandler = ClientStreamingHandler; -type UntypedServerStreamingHandler = ServerStreamingHandler; -type UntypedBidiStreamingHandler = BidiStreamingHandler; -export type UntypedHandleCall = HandleCall; -type UntypedHandler = Handler; -export interface UntypedServiceImplementation { - [name: string]: UntypedHandleCall; -} - -function getDefaultHandler(handlerType: HandlerType, methodName: string) { - const unimplementedStatusResponse = - getUnimplementedStatusResponse(methodName); - switch (handlerType) { - case 'unary': - return ( - call: ServerUnaryCall, - callback: sendUnaryData - ) => { - callback(unimplementedStatusResponse as ServiceError, null); - }; - case 'clientStream': - return ( - call: ServerReadableStream, - callback: sendUnaryData - ) => { - callback(unimplementedStatusResponse as ServiceError, null); - }; - case 'serverStream': - return (call: ServerWritableStream) => { - call.emit('error', unimplementedStatusResponse); - }; - case 'bidi': - return (call: ServerDuplexStream) => { - call.emit('error', unimplementedStatusResponse); - }; - default: - throw new Error(`Invalid handlerType ${handlerType}`); - } -} - -interface ChannelzSessionInfo { - ref: SocketRef; - streamTracker: ChannelzCallTracker; - messagesSent: number; - messagesReceived: number; - lastMessageSentTimestamp: Date | null; - lastMessageReceivedTimestamp: Date | null; -} - -export class Server { - private http2ServerList: { - server: http2.Http2Server | http2.Http2SecureServer; - channelzRef: SocketRef; - }[] = []; - - private handlers: Map = new Map< - string, - UntypedHandler - >(); - private sessions = new Map(); - private started = false; - private shutdown = false; - private options: ChannelOptions; - private serverAddressString = 'null'; - - // Channelz Info - private readonly channelzEnabled: boolean = true; - private channelzRef: ServerRef; - private channelzTrace = new ChannelzTrace(); - private callTracker = new ChannelzCallTracker(); - private listenerChildrenTracker = new ChannelzChildrenTracker(); - private sessionChildrenTracker = new ChannelzChildrenTracker(); - - private readonly maxConnectionAgeMs: number; - private readonly maxConnectionAgeGraceMs: number; - - private readonly keepaliveTimeMs: number; - private readonly keepaliveTimeoutMs: number; - - constructor(options?: ChannelOptions) { - this.options = options ?? {}; - if (this.options['grpc.enable_channelz'] === 0) { - this.channelzEnabled = false; - } - this.channelzRef = registerChannelzServer( - () => this.getChannelzInfo(), - this.channelzEnabled - ); - if (this.channelzEnabled) { - this.channelzTrace.addTrace('CT_INFO', 'Server created'); - } - this.maxConnectionAgeMs = - this.options['grpc.max_connection_age_ms'] ?? UNLIMITED_CONNECTION_AGE_MS; - this.maxConnectionAgeGraceMs = - this.options['grpc.max_connection_age_grace_ms'] ?? - UNLIMITED_CONNECTION_AGE_MS; - this.keepaliveTimeMs = - this.options['grpc.keepalive_time_ms'] ?? KEEPALIVE_MAX_TIME_MS; - this.keepaliveTimeoutMs = - this.options['grpc.keepalive_timeout_ms'] ?? KEEPALIVE_TIMEOUT_MS; - this.trace('Server constructed'); - } - - private getChannelzInfo(): ServerInfo { - return { - trace: this.channelzTrace, - callTracker: this.callTracker, - listenerChildren: this.listenerChildrenTracker.getChildLists(), - sessionChildren: this.sessionChildrenTracker.getChildLists(), - }; - } - - private getChannelzSessionInfoGetter( - session: http2.ServerHttp2Session - ): () => SocketInfo { - return () => { - const sessionInfo = this.sessions.get(session)!; - const sessionSocket = session.socket; - const remoteAddress = sessionSocket.remoteAddress - ? stringToSubchannelAddress( - sessionSocket.remoteAddress, - sessionSocket.remotePort - ) - : null; - const localAddress = sessionSocket.localAddress - ? stringToSubchannelAddress( - sessionSocket.localAddress!, - sessionSocket.localPort - ) - : null; - let tlsInfo: TlsInfo | null; - if (session.encrypted) { - const tlsSocket: TLSSocket = sessionSocket as TLSSocket; - const cipherInfo: CipherNameAndProtocol & { standardName?: string } = - tlsSocket.getCipher(); - const certificate = tlsSocket.getCertificate(); - const peerCertificate = tlsSocket.getPeerCertificate(); - tlsInfo = { - cipherSuiteStandardName: cipherInfo.standardName ?? 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: 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: session.state.localWindowSize ?? null, - remoteFlowControlWindow: session.state.remoteWindowSize ?? null, - }; - return socketInfo; - }; - } - - private trace(text: string): void { - logging.trace( - LogVerbosity.DEBUG, - TRACER_NAME, - '(' + this.channelzRef.id + ') ' + text - ); - } - - addProtoService(): never { - throw new Error('Not implemented. Use addService() instead'); - } - - addService( - service: ServiceDefinition, - implementation: UntypedServiceImplementation - ): void { - 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: HandlerType; - - 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 as UntypedHandleCall, - attrs.responseSerialize, - attrs.requestDeserialize, - methodType - ); - - if (success === false) { - throw new Error(`Method handler for ${attrs.path} already provided.`); - } - }); - } - - removeService(service: ServiceDefinition): void { - 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: string, creds: ServerCredentials): never { - throw new Error('Not implemented. Use bindAsync() instead'); - } - - bindAsync( - port: string, - creds: ServerCredentials, - callback: (error: Error | null, port: number) => void - ): void { - 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 ServerCredentials)) { - throw new TypeError('creds must be a ServerCredentials object'); - } - - if (typeof callback !== 'function') { - throw new TypeError('callback must be a function'); - } - - const initialPortUri = parseUri(port); - if (initialPortUri === null) { - throw new Error(`Could not parse port "${port}"`); - } - const portUri = mapUriDefaultScheme(initialPortUri); - if (portUri === null) { - throw new Error(`Could not get a default scheme for port "${port}"`); - } - - const serverOptions: http2.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: Error | null, port: number) => { - process.nextTick(() => callback(error, port)); - }; - - const setupServer = (): http2.Http2Server | http2.Http2SecureServer => { - let http2Server: http2.Http2Server | http2.Http2SecureServer; - 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: TLSSocket) => { - /* These errors need to be handled by the user of Http2SecureServer, - * according to https://github.com/nodejs/node/issues/35824 */ - socket.on('error', (e: Error) => { - 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: SubchannelAddress[], - portNum: number, - previousCount: number - ): Promise => { - if (addressList.length === 0) { - return Promise.resolve({ port: portNum, count: previousCount }); - } - return Promise.all( - addressList.map(address => { - this.trace( - 'Attempting to bind ' + subchannelAddressToString(address) - ); - let addr: SubchannelAddress; - if (isTcpSubchannelAddress(address)) { - addr = { - host: (address as TcpSubchannelAddress).host, - port: portNum, - }; - } else { - addr = address; - } - - const http2Server = setupServer(); - return new Promise((resolve, reject) => { - const onError = (err: Error) => { - this.trace( - 'Failed to bind ' + - 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: SubchannelAddress; - if (typeof boundAddress === 'string') { - boundSubchannelAddress = { - path: boundAddress, - }; - } else { - boundSubchannelAddress = { - host: boundAddress.address, - port: boundAddress.port, - }; - } - - const channelzRef = registerChannelzSocket( - 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 ' + - 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: SubchannelAddress[] - ): Promise => { - 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: Error) => { - this.trace( - 'Failed to bind ' + - 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() as AddressInfo; - const boundSubchannelAddress: SubchannelAddress = { - host: boundAddress.address, - port: boundAddress.port, - }; - const channelzRef = registerChannelzSocket( - 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 ' + - subchannelAddressToString(boundSubchannelAddress) - ); - resolve(bindSpecificPort(addressList.slice(1), boundAddress.port, 1)); - http2Server.removeListener('error', onError); - }); - }); - }; - - const resolverListener: 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: Promise; - if (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(LogVerbosity.ERROR, errorString); - deferredCallback(new Error(errorString), 0); - } else { - if (bindResult.count < addressList.length) { - logging.log( - 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(LogVerbosity.ERROR, errorString); - deferredCallback(new Error(errorString), 0); - } - ); - }, - onError: error => { - deferredCallback(new Error(error.details), 0); - }, - }; - - const resolver = createResolver(portUri, resolverListener, this.options); - resolver.updateResolution(); - } - - forceShutdown(): void { - // 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); - 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 as any); - }); - this.sessions.clear(); - if (this.channelzEnabled) { - unregisterChannelzRef(this.channelzRef); - } - } - - register( - name: string, - handler: HandleCall, - serialize: Serialize, - deserialize: Deserialize, - type: string - ): boolean { - if (this.handlers.has(name)) { - return false; - } - - this.handlers.set(name, { - func: handler, - serialize, - deserialize, - type, - path: name, - } as UntypedHandler); - return true; - } - - unregister(name: string): boolean { - return this.handlers.delete(name); - } - - start(): void { - 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: (error?: Error) => void): void { - const wrappedCallback = (error?: Error) => { - if (this.channelzEnabled) { - unregisterChannelzRef(this.channelzRef); - } - callback(error); - }; - let pendingChecks = 0; - - function maybeCallback(): void { - 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); - unregisterChannelzRef(ref); - } - maybeCallback(); - }); - } - } - - this.sessions.forEach((channelzInfo, session) => { - if (!session.closed) { - pendingChecks += 1; - session.close(maybeCallback); - } - }); - if (pendingChecks === 0) { - wrappedCallback(); - } - } - - addHttp2Port(): never { - 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; - } - - private _verifyContentType( - stream: http2.ServerHttp2Stream, - headers: http2.IncomingHttpHeaders - ): boolean { - 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; - } - - private _retrieveHandler(path: string): Handler | null { - 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; - } - - private _respondWithError>( - err: T, - stream: http2.ServerHttp2Stream, - channelzSessionInfo: ChannelzSessionInfo | null = null - ) { - const call = new Http2ServerCallStream(stream, null!, this.options); - - if (err.code === undefined) { - err.code = Status.INTERNAL; - } - - if (this.channelzEnabled) { - this.callTracker.addCallFailed(); - channelzSessionInfo?.streamTracker.addCallFailed(); - } - - call.sendError(err); - } - - private _channelzHandler( - stream: http2.ServerHttp2Stream, - headers: http2.IncomingHttpHeaders - ) { - const channelzSessionInfo = this.sessions.get( - stream.session as http2.ServerHttp2Session - ); - - this.callTracker.addCallStarted(); - channelzSessionInfo?.streamTracker.addCallStarted(); - - if (!this._verifyContentType(stream, headers)) { - this.callTracker.addCallFailed(); - channelzSessionInfo?.streamTracker.addCallFailed(); - return; - } - - const path = headers[HTTP2_HEADER_PATH] as string; - - const handler = this._retrieveHandler(path); - if (!handler) { - this._respondWithError( - getUnimplementedStatusResponse(path), - stream, - channelzSessionInfo - ); - return; - } - - const call = new Http2ServerCallStream(stream, handler, this.options); - - call.once('callEnd', (code: Status) => { - if (code === Status.OK) { - this.callTracker.addCallSucceeded(); - } else { - this.callTracker.addCallFailed(); - } - }); - - if (channelzSessionInfo) { - call.once('streamEnd', (success: boolean) => { - 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?.streamTracker.addCallFailed(); - - call.sendError({ - code: Status.INTERNAL, - details: `Unknown handler type: ${handler.type}`, - }); - } - } - - private _streamHandler( - stream: http2.ServerHttp2Stream, - headers: http2.IncomingHttpHeaders - ) { - if (this._verifyContentType(stream, headers) !== true) { - return; - } - - const path = headers[HTTP2_HEADER_PATH] as string; - - const handler = this._retrieveHandler(path); - if (!handler) { - this._respondWithError( - getUnimplementedStatusResponse(path), - stream, - null - ); - return; - } - - const call = new Http2ServerCallStream(stream, handler, this.options); - if (!this._runHandlerForCall(call, handler, headers)) { - call.sendError({ - code: Status.INTERNAL, - details: `Unknown handler type: ${handler.type}`, - }); - } - } - - private _runHandlerForCall( - call: Http2ServerCallStream, - handler: Handler, - headers: http2.IncomingHttpHeaders - ): boolean { - const metadata = call.receiveMetadata(headers); - const encoding = - (metadata.get('grpc-encoding')[0] as string | undefined) ?? 'identity'; - metadata.remove('grpc-encoding'); - - const { type } = handler; - if (type === 'unary') { - handleUnary(call, handler as UntypedUnaryHandler, metadata, encoding); - } else if (type === 'clientStream') { - handleClientStreaming( - call, - handler as UntypedClientStreamingHandler, - metadata, - encoding - ); - } else if (type === 'serverStream') { - handleServerStreaming( - call, - handler as UntypedServerStreamingHandler, - metadata, - encoding - ); - } else if (type === 'bidi') { - handleBidiStreaming( - call, - handler as UntypedBidiStreamingHandler, - metadata, - encoding - ); - } else { - return false; - } - - return true; - } - - private _setupHandlers( - http2Server: http2.Http2Server | http2.Http2SecureServer - ): void { - 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 => { - if (!this.started) { - session.destroy(); - return; - } - - const channelzRef = registerChannelzSocket( - session.socket.remoteAddress ?? 'unknown', - this.getChannelzSessionInfoGetter(session), - this.channelzEnabled - ); - - const channelzSessionInfo: ChannelzSessionInfo = { - ref: channelzRef, - streamTracker: new 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: NodeJS.Timeout | null = null; - let connectionAgeGraceTimer: NodeJS.Timeout | null = 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 = setTimeout(() => { - 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 = setTimeout(() => { - session.destroy(); - }, this.maxConnectionAgeGraceMs).unref?.(); - } - }, this.maxConnectionAgeMs + jitter).unref?.(); - } - const keeapliveTimeTimer: NodeJS.Timeout | null = setInterval(() => { - const timeoutTImer = setTimeout(() => { - sessionClosedByServer = true; - if (this.channelzEnabled) { - this.channelzTrace.addTrace( - 'CT_INFO', - 'Connection dropped by keepalive timeout from ' + clientAddress - ); - } - session.close(); - }, this.keepaliveTimeoutMs).unref?.(); - try { - session.ping( - (err: Error | null, duration: number, payload: Buffer) => { - clearTimeout(timeoutTImer); - } - ); - } catch (e) { - // The ping can't be sent because the session is already closed - session.destroy(); - } - }, this.keepaliveTimeMs).unref?.(); - session.on('close', () => { - if (this.channelzEnabled) { - if (!sessionClosedByServer) { - this.channelzTrace.addTrace( - 'CT_INFO', - 'Connection dropped by client ' + clientAddress - ); - } - this.sessionChildrenTracker.unrefChild(channelzRef); - unregisterChannelzRef(channelzRef); - } - if (connectionAgeTimer) { - clearTimeout(connectionAgeTimer); - } - if (connectionAgeGraceTimer) { - clearTimeout(connectionAgeGraceTimer); - } - if (keeapliveTimeTimer) { - clearTimeout(keeapliveTimeTimer); - } - this.sessions.delete(session); - }); - }); - } -} - -async function handleUnary( - call: Http2ServerCallStream, - handler: UnaryHandler, - metadata: Metadata, - encoding: string -): Promise { - try { - const request = await call.receiveUnaryMessage(encoding); - - if (request === undefined || call.cancelled) { - return; - } - - const emitter = new ServerUnaryCallImpl( - call, - metadata, - request - ); - - handler.func( - emitter, - ( - err: ServerErrorResponse | ServerStatusResponse | null, - value?: ResponseType | null, - trailer?: Metadata, - flags?: number - ) => { - call.sendUnaryMessage(err, value, trailer, flags); - } - ); - } catch (err) { - call.sendError(err as ServerErrorResponse); - } -} - -function handleClientStreaming( - call: Http2ServerCallStream, - handler: ClientStreamingHandler, - metadata: Metadata, - encoding: string -): void { - const stream = new ServerReadableStreamImpl( - call, - metadata, - handler.deserialize, - encoding - ); - - function respond( - err: ServerErrorResponse | ServerStatusResponse | null, - value?: ResponseType | null, - trailer?: Metadata, - flags?: number - ) { - stream.destroy(); - call.sendUnaryMessage(err, value, trailer, flags); - } - - if (call.cancelled) { - return; - } - - stream.on('error', respond); - handler.func(stream, respond); -} - -async function handleServerStreaming( - call: Http2ServerCallStream, - handler: ServerStreamingHandler, - metadata: Metadata, - encoding: string -): Promise { - try { - const request = await call.receiveUnaryMessage(encoding); - - if (request === undefined || call.cancelled) { - return; - } - - const stream = new ServerWritableStreamImpl( - call, - metadata, - handler.serialize, - request - ); - - handler.func(stream); - } catch (err) { - call.sendError(err as ServerErrorResponse); - } -} - -function handleBidiStreaming( - call: Http2ServerCallStream, - handler: BidiStreamingHandler, - metadata: Metadata, - encoding: string -): void { - const stream = new ServerDuplexStreamImpl( - call, - metadata, - handler.serialize, - handler.deserialize, - encoding - ); - - if (call.cancelled) { - return; - } - - handler.func(stream); -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/service-config.ts b/frontend-old/node_modules/@grpc/grpc-js/src/service-config.ts deleted file mode 100644 index aece7cb..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/service-config.ts +++ /dev/null @@ -1,542 +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. - * - */ - -/* 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 */ - -import * as os from 'os'; -import { Status } from './constants'; -import { Duration } from './duration'; -import { - LoadBalancingConfig, - validateLoadBalancingConfig, -} 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; -} - -/** - * 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: any): MethodConfigName { - // 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: any): RetryPolicy { - 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(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(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: any): HedgingPolicy { - 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(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(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: HedgingPolicy = { - maxAttempts: obj.maxAttempts, - }; - if (obj.hedgingDelay) { - result.hedgingDelay = obj.hedgingDelay; - } - if (obj.nonFatalStatusCodes) { - result.nonFatalStatusCodes = obj.nonFatalStatusCodes; - } - return result; -} - -function validateMethodConfig(obj: any): MethodConfig { - const result: MethodConfig = { - 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: (timeoutParts[1] ?? 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; -} - -export function validateRetryThrottling(obj: any): RetryThrottling { - 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 as number).toFixed(3), - tokenRatio: +(obj.tokenRatio as number).toFixed(3), - }; -} - -export function validateServiceConfig(obj: any): ServiceConfig { - const result: ServiceConfig = { - 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(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: MethodConfigName[] = []; - 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; -} - -function validateCanaryConfig(obj: any): ServiceConfigCanaryConfig { - if (!('serviceConfig' in obj)) { - throw new Error('Invalid service config choice: missing service config'); - } - const result: ServiceConfigCanaryConfig = { - 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: any, - percentage: number -): ServiceConfig { - 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. - */ -export function extractAndSelectServiceConfig( - txtRecord: string[][], - percentage: number -): ServiceConfig | null { - 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: any = JSON.parse(recordString); - return validateAndSelectCanaryConfig(recordJson, percentage); - } - } - return null; -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/status-builder.ts b/frontend-old/node_modules/@grpc/grpc-js/src/status-builder.ts deleted file mode 100644 index 78e2ea3..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/status-builder.ts +++ /dev/null @@ -1,80 +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 { StatusObject } from './call-interface'; -import { Status } from './constants'; -import { Metadata } from './metadata'; - -/** - * A builder for gRPC status objects. - */ -export class StatusBuilder { - private code: Status | null; - private details: string | null; - private metadata: Metadata | null; - - constructor() { - this.code = null; - this.details = null; - this.metadata = null; - } - - /** - * Adds a status code to the builder. - */ - withCode(code: Status): this { - this.code = code; - return this; - } - - /** - * Adds details to the builder. - */ - withDetails(details: string): this { - this.details = details; - return this; - } - - /** - * Adds metadata to the builder. - */ - withMetadata(metadata: Metadata): this { - this.metadata = metadata; - return this; - } - - /** - * Builds the status object. - */ - build(): Partial { - const status: Partial = {}; - - 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; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/stream-decoder.ts b/frontend-old/node_modules/@grpc/grpc-js/src/stream-decoder.ts deleted file mode 100644 index ea669d1..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/stream-decoder.ts +++ /dev/null @@ -1,110 +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. - * - */ - -enum ReadState { - NO_DATA, - READING_SIZE, - READING_MESSAGE, -} - -export class StreamDecoder { - private readState: ReadState = ReadState.NO_DATA; - private readCompressFlag: Buffer = Buffer.alloc(1); - private readPartialSize: Buffer = Buffer.alloc(4); - private readSizeRemaining = 4; - private readMessageSize = 0; - private readPartialMessage: Buffer[] = []; - private readMessageRemaining = 0; - - constructor(private maxReadMessageLength: number) {} - - write(data: Buffer): Buffer[] { - let readHead = 0; - let toRead: number; - const result: Buffer[] = []; - - 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); - if (this.maxReadMessageLength !== -1 && this.readMessageSize > this.maxReadMessageLength) { - throw new Error(`Received message larger than max (${this.readMessageSize} vs ${this.maxReadMessageLength})`); - } - 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; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-address.ts b/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-address.ts deleted file mode 100644 index 1ab88f4..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-address.ts +++ /dev/null @@ -1,88 +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 { isIP } from 'net'; - -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 function isTcpSubchannelAddress( - address: SubchannelAddress -): address is TcpSubchannelAddress { - return 'port' in address; -} - -export function subchannelAddressEqual( - address1?: SubchannelAddress, - address2?: SubchannelAddress -): boolean { - 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; - } -} - -export function subchannelAddressToString(address: SubchannelAddress): string { - if (isTcpSubchannelAddress(address)) { - return address.host + ':' + address.port; - } else { - return address.path; - } -} - -const DEFAULT_PORT = 443; - -export function stringToSubchannelAddress( - addressString: string, - port?: number -): SubchannelAddress { - if (isIP(addressString)) { - return { - host: addressString, - port: port ?? DEFAULT_PORT, - }; - } else { - return { - path: addressString, - }; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-call.ts b/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-call.ts deleted file mode 100644 index b9f3191..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-call.ts +++ /dev/null @@ -1,547 +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 * as http2 from 'http2'; -import * as os from 'os'; - -import { DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH, Status } from './constants'; -import { Metadata } from './metadata'; -import { StreamDecoder } from './stream-decoder'; -import * as logging from './logging'; -import { LogVerbosity } from './constants'; -import { - InterceptingListener, - MessageContext, - StatusObject, - WriteCallback, -} from './call-interface'; -import { CallEventTracker, Transport } from './transport'; - -const TRACER_NAME = 'subchannel_call'; - -/** - * https://nodejs.org/api/errors.html#errors_class_systemerror - */ -interface SystemError extends Error { - address?: string; - code: string; - dest?: string; - errno: number; - info?: object; - message: string; - path?: string; - port?: number; - syscall: string; -} - -/** - * 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: number): string { - for (const [name, num] of Object.entries(os.constants.errno)) { - if (num === errno) { - return name; - } - } - return 'Unknown system error ' + errno; -} - -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 class Http2SubchannelCall implements SubchannelCall { - private decoder: StreamDecoder; - - private isReadFilterPending = false; - private isPushPending = false; - private canPush = false; - /** - * Indicates that an 'end' event has come from the http2 stream, so there - * will be no more data events. - */ - private readsClosed = false; - - private statusOutput = false; - - private unpushedReadMessages: Buffer[] = []; - - // Status code mapped from :status. To be used if grpc-status is not received - private mappedStatusCode: Status = Status.UNKNOWN; - - // This is populated (non-null) if and only if the call has ended - private finalStatus: StatusObject | null = null; - - private internalError: SystemError | null = null; - - constructor( - private readonly http2Stream: http2.ClientHttp2Stream, - private readonly callEventTracker: CallEventTracker, - private readonly listener: SubchannelCallInterceptingListener, - private readonly transport: Transport, - private readonly callId: number - ) { - const maxReceiveMessageLength = transport.getOptions()['grpc.max_receive_message_length'] ?? DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH; - this.decoder = new StreamDecoder(maxReceiveMessageLength); - 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 = Status.INTERNAL; - break; - case 401: - this.mappedStatusCode = Status.UNAUTHENTICATED; - break; - case 403: - this.mappedStatusCode = Status.PERMISSION_DENIED; - break; - case 404: - this.mappedStatusCode = Status.UNIMPLEMENTED; - break; - case 429: - case 502: - case 503: - case 504: - this.mappedStatusCode = Status.UNAVAILABLE; - break; - default: - this.mappedStatusCode = Status.UNKNOWN; - } - - if (flags & http2.constants.NGHTTP2_FLAG_END_STREAM) { - this.handleTrailers(headers); - } else { - let metadata: Metadata; - try { - metadata = Metadata.fromHttp2Headers(headers); - } catch (error) { - this.endCall({ - code: Status.UNKNOWN, - details: (error as Error).message, - metadata: new Metadata(), - }); - return; - } - this.listener.onReceiveMetadata(metadata); - } - }); - http2Stream.on('trailers', (headers: http2.IncomingHttpHeaders) => { - this.handleTrailers(headers); - }); - http2Stream.on('data', (data: Buffer) => { - /* 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); - let messages: Buffer[]; - try { - messages = this.decoder.write(data); - } catch (e) { - this.cancelWithStatus(Status.RESOURCE_EXHAUSTED, (e as Error).message); - return; - } - - 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(() => { - 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 (this.finalStatus?.code === Status.OK) { - return; - } - let code: Status; - 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 = Status.INTERNAL; - details = `Received RST_STREAM with code ${http2Stream.rstCode}`; - break; - case http2.constants.NGHTTP2_REFUSED_STREAM: - code = Status.UNAVAILABLE; - details = 'Stream refused by server'; - break; - case http2.constants.NGHTTP2_CANCEL: - code = Status.CANCELLED; - details = 'Call cancelled'; - break; - case http2.constants.NGHTTP2_ENHANCE_YOUR_CALM: - code = Status.RESOURCE_EXHAUSTED; - details = 'Bandwidth exhausted or memory limit exceeded'; - break; - case http2.constants.NGHTTP2_INADEQUATE_SECURITY: - code = Status.PERMISSION_DENIED; - details = 'Protocol not secure enough'; - break; - case http2.constants.NGHTTP2_INTERNAL_ERROR: - code = 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 = 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 = 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(), - rstCode: http2Stream.rstCode, - }); - }); - }); - http2Stream.on('error', (err: SystemError) => { - /* 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); - }); - } - - public onDisconnect() { - this.endCall({ - code: Status.UNAVAILABLE, - details: 'Connection dropped', - metadata: new Metadata(), - }); - } - - private 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(); - } - } - - private trace(text: string): void { - logging.trace( - 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. - */ - private endCall(status: StatusObjectWithRstCode): void { - /* 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 === Status.OK) { - this.finalStatus = status; - this.maybeOutputStatus(); - } - this.destroyHttp2Stream(); - } - - private 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 !== Status.OK || - (this.readsClosed && - this.unpushedReadMessages.length === 0 && - !this.isReadFilterPending && - !this.isPushPending) - ) { - this.outputStatus(); - } - } - } - - private push(message: Buffer): void { - 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(); - }); - } - - private tryPush(messageBytes: Buffer): void { - if (this.canPush) { - this.http2Stream!.pause(); - this.push(messageBytes); - } else { - this.trace( - 'unpushedReadMessages.push message of length ' + messageBytes.length - ); - this.unpushedReadMessages.push(messageBytes); - } - } - - private handleTrailers(headers: http2.IncomingHttpHeaders) { - 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: Metadata; - try { - metadata = Metadata.fromHttp2Headers(headers); - } catch (e) { - metadata = new Metadata(); - } - const metadataMap = metadata.getMap(); - let code: Status = this.mappedStatusCode; - if ( - code === Status.UNKNOWN && - typeof metadataMap['grpc-status'] === 'string' - ) { - const receivedStatus = Number(metadataMap['grpc-status']); - if (receivedStatus in 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: StatusObject = { code, details, metadata }; - // This is a no-op if the call was already ended when handling headers. - this.endCall(status); - } - - private destroyHttp2Stream() { - // 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: number; - if (this.finalStatus?.code === 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: Status, details: string): void { - this.trace( - 'cancelWithStatus code: ' + status + ' details: "' + details + '"' - ); - this.endCall({ code: status, details, metadata: new Metadata() }); - } - - getStatus(): StatusObject | null { - return this.finalStatus; - } - - getPeer(): string { - return this.transport.getPeerName(); - } - - getCallNumber(): number { - 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 !== Status.OK) { - this.readsClosed = true; - this.maybeOutputStatus(); - return; - } - this.canPush = true; - if (this.unpushedReadMessages.length > 0) { - const nextMessage: Buffer = 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: MessageContext, message: Buffer) { - this.trace('write() called with message of length ' + message.length); - const cb: WriteCallback = (error?: Error | null) => { - /* 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(() => { - let code: Status = Status.UNAVAILABLE; - if ( - (error as NodeJS.ErrnoException)?.code === - 'ERR_STREAM_WRITE_AFTER_END' - ) { - code = Status.INTERNAL; - } - if (error) { - this.cancelWithStatus(code, `Write error: ${error.message}`); - } - context.callback?.(); - }); - }; - this.trace('sending data chunk of length ' + message.length); - this.callEventTracker.addMessageSent(); - try { - this.http2Stream!.write(message, cb); - } catch (error) { - this.endCall({ - code: Status.UNAVAILABLE, - details: `Write failed with error ${(error as Error).message}`, - metadata: new Metadata(), - }); - } - } - - halfClose() { - this.trace('end() called'); - this.trace('calling end() on HTTP/2 stream'); - this.http2Stream.end(); - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-interface.ts b/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-interface.ts deleted file mode 100644 index cc19c22..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-interface.ts +++ /dev/null @@ -1,97 +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 { 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 abstract class BaseSubchannelWrapper implements SubchannelInterface { - constructor(protected child: SubchannelInterface) {} - - getConnectivityState(): ConnectivityState { - return this.child.getConnectivityState(); - } - addConnectivityStateListener(listener: ConnectivityStateListener): void { - this.child.addConnectivityStateListener(listener); - } - removeConnectivityStateListener(listener: ConnectivityStateListener): void { - this.child.removeConnectivityStateListener(listener); - } - startConnecting(): void { - this.child.startConnecting(); - } - getAddress(): string { - return this.child.getAddress(); - } - throttleKeepalive(newKeepaliveTime: number): void { - this.child.throttleKeepalive(newKeepaliveTime); - } - ref(): void { - this.child.ref(); - } - unref(): void { - this.child.unref(); - } - getChannelzRef(): SubchannelRef { - return this.child.getChannelzRef(); - } - getRealSubchannel(): Subchannel { - return this.child.getRealSubchannel(); - } - realSubchannelEquals(other: SubchannelInterface): boolean { - return this.getRealSubchannel() === other.getRealSubchannel(); - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-pool.ts b/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-pool.ts deleted file mode 100644 index a5dec72..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/subchannel-pool.ts +++ /dev/null @@ -1,176 +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 { ChannelOptions, channelOptionsEqual } from './channel-options'; -import { Subchannel } from './subchannel'; -import { - SubchannelAddress, - subchannelAddressEqual, -} from './subchannel-address'; -import { ChannelCredentials } from './channel-credentials'; -import { GrpcUri, uriToString } from './uri-parser'; -import { Http2SubchannelConnector } from './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 = 10_000; - -export class SubchannelPool { - private pool: { - [channelTarget: string]: Array<{ - subchannelAddress: SubchannelAddress; - channelArguments: ChannelOptions; - channelCredentials: ChannelCredentials; - subchannel: Subchannel; - }>; - } = Object.create(null); - - /** - * A timer of a task performing a periodic subchannel cleanup. - */ - private cleanupTimer: NodeJS.Timeout | null = null; - - /** - * 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 { - 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(): void { - 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 - this.cleanupTimer.unref?.(); - } - } - - /** - * 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 { - this.ensureCleanupTask(); - const channelTarget = uriToString(channelTargetUri); - if (channelTarget in this.pool) { - const subchannelObjArray = this.pool[channelTarget]; - for (const subchannelObj of subchannelObjArray) { - if ( - subchannelAddressEqual( - subchannelTarget, - subchannelObj.subchannelAddress - ) && - channelOptionsEqual( - channelArguments, - subchannelObj.channelArguments - ) && - channelCredentials._equals(subchannelObj.channelCredentials) - ) { - return subchannelObj.subchannel; - } - } - } - // If we get here, no matching subchannel was found - const subchannel = new Subchannel( - channelTargetUri, - subchannelTarget, - channelArguments, - channelCredentials, - new Http2SubchannelConnector(channelTargetUri) - ); - if (!(channelTarget in this.pool)) { - this.pool[channelTarget] = []; - } - this.pool[channelTarget].push({ - subchannelAddress: subchannelTarget, - channelArguments, - channelCredentials, - subchannel, - }); - subchannel.ref(); - return subchannel; - } -} - -const globalSubchannelPool = new SubchannelPool(); - -/** - * Get either the global subchannel pool, or a new subchannel pool. - * @param global - */ -export function getSubchannelPool(global: boolean): SubchannelPool { - if (global) { - return globalSubchannelPool; - } else { - return new SubchannelPool(); - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/subchannel.ts b/frontend-old/node_modules/@grpc/grpc-js/src/subchannel.ts deleted file mode 100644 index eff7509..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/subchannel.ts +++ /dev/null @@ -1,482 +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 { Metadata } from './metadata'; -import { ChannelOptions } from './channel-options'; -import { ConnectivityState } from './connectivity-state'; -import { BackoffTimeout, BackoffOptions } from './backoff-timeout'; -import * as logging from './logging'; -import { LogVerbosity, Status } from './constants'; -import { GrpcUri, uriToString } from './uri-parser'; -import { - SubchannelAddress, - subchannelAddressToString, -} from './subchannel-address'; -import { - SubchannelRef, - ChannelzTrace, - ChannelzChildrenTracker, - SubchannelInfo, - registerChannelzSubchannel, - ChannelzCallTracker, - unregisterChannelzRef, -} from './channelz'; -import { - ConnectivityStateListener, - SubchannelInterface, -} from './subchannel-interface'; -import { SubchannelCallInterceptingListener } from './subchannel-call'; -import { SubchannelCall } from './subchannel-call'; -import { CallEventTracker, SubchannelConnector, Transport } from './transport'; - -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); - -export class Subchannel { - /** - * The subchannel's current connectivity state. Invariant: `session` === `null` - * if and only if `connectivityState` is IDLE or TRANSIENT_FAILURE. - */ - private connectivityState: ConnectivityState = ConnectivityState.IDLE; - /** - * The underlying http2 session used to make requests. - */ - private transport: Transport | null = null; - /** - * Indicates that the subchannel should transition from TRANSIENT_FAILURE to - * CONNECTING instead of IDLE when the backoff timeout ends. - */ - private continueConnecting = false; - /** - * A list of listener functions that will be called whenever the connectivity - * state changes. Will be modified by `addConnectivityStateListener` and - * `removeConnectivityStateListener` - */ - private stateListeners: Set = new Set(); - - private backoffTimeout: BackoffTimeout; - - private keepaliveTime: number; - /** - * Tracks channels and subchannel pools with references to this subchannel - */ - private refcount = 0; - - /** - * A string representation of the subchannel address, for logging/tracing - */ - private subchannelAddressString: string; - - // Channelz info - private readonly channelzEnabled: boolean = true; - private channelzRef: SubchannelRef; - private channelzTrace: ChannelzTrace; - private callTracker = new ChannelzCallTracker(); - private childrenTracker = new ChannelzChildrenTracker(); - - // Channelz socket info - private streamTracker = new ChannelzCallTracker(); - - /** - * 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( - private channelTarget: GrpcUri, - private subchannelAddress: SubchannelAddress, - private options: ChannelOptions, - private credentials: ChannelCredentials, - private connector: SubchannelConnector - ) { - const backoffOptions: BackoffOptions = { - initialDelay: options['grpc.initial_reconnect_backoff_ms'], - maxDelay: options['grpc.max_reconnect_backoff_ms'], - }; - this.backoffTimeout = new BackoffTimeout(() => { - this.handleBackoffTimer(); - }, backoffOptions); - this.backoffTimeout.unref(); - this.subchannelAddressString = subchannelAddressToString(subchannelAddress); - - this.keepaliveTime = options['grpc.keepalive_time_ms'] ?? -1; - - if (options['grpc.enable_channelz'] === 0) { - this.channelzEnabled = false; - } - this.channelzTrace = new ChannelzTrace(); - this.channelzRef = 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) - ); - } - - private getChannelzInfo(): SubchannelInfo { - return { - state: this.connectivityState, - trace: this.channelzTrace, - callTracker: this.callTracker, - children: this.childrenTracker.getChildLists(), - target: this.subchannelAddressString, - }; - } - - private trace(text: string): void { - logging.trace( - LogVerbosity.DEBUG, - TRACER_NAME, - '(' + - this.channelzRef.id + - ') ' + - this.subchannelAddressString + - ' ' + - text - ); - } - - private refTrace(text: string): void { - logging.trace( - LogVerbosity.DEBUG, - 'subchannel_refcount', - '(' + - this.channelzRef.id + - ') ' + - this.subchannelAddressString + - ' ' + - text - ); - } - - private handleBackoffTimer() { - if (this.continueConnecting) { - this.transitionToState( - [ConnectivityState.TRANSIENT_FAILURE], - ConnectivityState.CONNECTING - ); - } else { - this.transitionToState( - [ConnectivityState.TRANSIENT_FAILURE], - ConnectivityState.IDLE - ); - } - } - - /** - * Start a backoff timer with the current nextBackoff timeout - */ - private startBackoff() { - this.backoffTimeout.runOnce(); - } - - private stopBackoff() { - this.backoffTimeout.stop(); - this.backoffTimeout.reset(); - } - - private startConnectingInternal() { - let options = this.options; - if (options['grpc.keepalive_time_ms']) { - const adjustedKeepaliveTime = Math.min( - this.keepaliveTime, - KEEPALIVE_MAX_TIME_MS - ); - options = { ...options, 'grpc.keepalive_time_ms': adjustedKeepaliveTime }; - } - this.connector - .connect(this.subchannelAddress, this.credentials, options) - .then( - transport => { - if ( - this.transitionToState( - [ConnectivityState.CONNECTING], - ConnectivityState.READY - ) - ) { - this.transport = transport; - if (this.channelzEnabled) { - this.childrenTracker.refChild(transport.getChannelzRef()); - } - transport.addDisconnectListener(tooManyPings => { - this.transitionToState( - [ConnectivityState.READY], - ConnectivityState.IDLE - ); - if (tooManyPings && this.keepaliveTime > 0) { - this.keepaliveTime *= 2; - logging.log( - LogVerbosity.ERROR, - `Connection to ${uriToString(this.channelTarget)} at ${ - this.subchannelAddressString - } rejected by server because of excess pings. Increasing ping interval to ${ - this.keepaliveTime - } ms` - ); - } - }); - } else { - /* If we can't transition from CONNECTING to READY here, we will - * not be using this transport, so release its resources. */ - transport.shutdown(); - } - }, - error => { - this.transitionToState( - [ConnectivityState.CONNECTING], - 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 - */ - private transitionToState( - oldStates: ConnectivityState[], - newState: ConnectivityState, - errorMessage?: string - ): boolean { - if (oldStates.indexOf(this.connectivityState) === -1) { - return false; - } - this.trace( - ConnectivityState[this.connectivityState] + - ' -> ' + - ConnectivityState[newState] - ); - if (this.channelzEnabled) { - this.channelzTrace.addTrace( - 'CT_INFO', - 'Connectivity state change to ' + ConnectivityState[newState] - ); - } - const previousState = this.connectivityState; - this.connectivityState = newState; - switch (newState) { - case ConnectivityState.READY: - this.stopBackoff(); - break; - case ConnectivityState.CONNECTING: - this.startBackoff(); - this.startConnectingInternal(); - this.continueConnecting = false; - break; - case ConnectivityState.TRANSIENT_FAILURE: - if (this.channelzEnabled && this.transport) { - this.childrenTracker.unrefChild(this.transport.getChannelzRef()); - } - this.transport?.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 ConnectivityState.IDLE: - if (this.channelzEnabled && this.transport) { - this.childrenTracker.unrefChild(this.transport.getChannelzRef()); - } - this.transport?.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) { - unregisterChannelzRef(this.channelzRef); - } - process.nextTick(() => { - this.transitionToState( - [ConnectivityState.CONNECTING, ConnectivityState.READY], - ConnectivityState.IDLE - ); - }); - } - } - - unrefIfOneRef(): boolean { - if (this.refcount === 1) { - this.unref(); - return true; - } - return false; - } - - createCall( - metadata: Metadata, - host: string, - method: string, - listener: SubchannelCallInterceptingListener - ): SubchannelCall { - if (!this.transport) { - throw new Error('Cannot create call, subchannel not READY'); - } - let statsTracker: Partial; - if (this.channelzEnabled) { - this.callTracker.addCallStarted(); - this.streamTracker.addCallStarted(); - statsTracker = { - onCallEnd: status => { - if (status.code === 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( - [ConnectivityState.IDLE], - ConnectivityState.CONNECTING - ) - ) { - if (this.connectivityState === 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: ConnectivityStateListener) { - this.stateListeners.add(listener); - } - - /** - * Remove a listener previously added with `addConnectivityStateListener` - * @param listener A reference to a function previously passed to - * `addConnectivityStateListener` - */ - removeConnectivityStateListener(listener: ConnectivityStateListener) { - this.stateListeners.delete(listener); - } - - /** - * Reset the backoff timeout, and immediately start connecting if in backoff. - */ - resetBackoff() { - process.nextTick(() => { - this.backoffTimeout.reset(); - this.transitionToState( - [ConnectivityState.TRANSIENT_FAILURE], - ConnectivityState.CONNECTING - ); - }); - } - - getAddress(): string { - return this.subchannelAddressString; - } - - getChannelzRef(): SubchannelRef { - return this.channelzRef; - } - - getRealSubchannel(): this { - return this; - } - - realSubchannelEquals(other: SubchannelInterface): boolean { - return other.getRealSubchannel() === this; - } - - throttleKeepalive(newKeepaliveTime: number) { - if (newKeepaliveTime > this.keepaliveTime) { - this.keepaliveTime = newKeepaliveTime; - } - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/tls-helpers.ts b/frontend-old/node_modules/@grpc/grpc-js/src/tls-helpers.ts deleted file mode 100644 index 3f7a62e..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/tls-helpers.ts +++ /dev/null @@ -1,35 +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 * as fs from 'fs'; - -export const CIPHER_SUITES: string | undefined = - process.env.GRPC_SSL_CIPHER_SUITES; - -const DEFAULT_ROOTS_FILE_PATH = process.env.GRPC_DEFAULT_SSL_ROOTS_FILE_PATH; - -let defaultRootsData: Buffer | null = null; - -export function getDefaultRootsData(): Buffer | null { - if (DEFAULT_ROOTS_FILE_PATH) { - if (defaultRootsData === null) { - defaultRootsData = fs.readFileSync(DEFAULT_ROOTS_FILE_PATH); - } - return defaultRootsData; - } - return null; -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/transport.ts b/frontend-old/node_modules/@grpc/grpc-js/src/transport.ts deleted file mode 100644 index fe9a813..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/transport.ts +++ /dev/null @@ -1,829 +0,0 @@ -/* - * 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. - * - */ - -import * as http2 from 'http2'; -import { - checkServerIdentity, - CipherNameAndProtocol, - ConnectionOptions, - PeerCertificate, - TLSSocket, -} from 'tls'; -import { StatusObject } from './call-interface'; -import { ChannelCredentials } from './channel-credentials'; -import { ChannelOptions } from './channel-options'; -import { - ChannelzCallTracker, - registerChannelzSocket, - SocketInfo, - SocketRef, - TlsInfo, - unregisterChannelzRef, -} from './channelz'; -import { LogVerbosity } from './constants'; -import { getProxiedConnection, ProxyConnectionResult } from './http_proxy'; -import * as logging from './logging'; -import { getDefaultAuthority } from './resolver'; -import { - stringToSubchannelAddress, - SubchannelAddress, - subchannelAddressToString, -} from './subchannel-address'; -import { GrpcUri, parseUri, splitHostPort, uriToString } from './uri-parser'; -import * as net from 'net'; -import { - Http2SubchannelCall, - SubchannelCall, - SubchannelCallInterceptingListener, -} from './subchannel-call'; -import { Metadata } from './metadata'; -import { getNextCallNumber } from './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; - -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; - getOptions(): ChannelOptions; - createCall( - metadata: Metadata, - host: string, - method: string, - listener: SubchannelCallInterceptingListener, - subchannelCallStatsTracker: Partial - ): SubchannelCall; - addDisconnectListener(listener: TransportDisconnectListener): void; - shutdown(): void; -} - -const tooManyPingsData: Buffer = Buffer.from('too_many_pings', 'ascii'); - -class Http2Transport implements Transport { - /** - * The amount of time in between sending pings - */ - private keepaliveTimeMs = -1; - /** - * The amount of time to wait for an acknowledgement after sending a ping - */ - private keepaliveTimeoutMs: number = KEEPALIVE_TIMEOUT_MS; - /** - * Timer reference for timeout that indicates when to send the next ping - */ - private keepaliveTimerId: NodeJS.Timeout | null = 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. - */ - private pendingSendKeepalivePing = false; - /** - * Timer reference tracking when the most recent ping will be considered lost - */ - private keepaliveTimeoutId: NodeJS.Timeout | null = null; - /** - * Indicates whether keepalive pings should be sent without any active calls - */ - private keepaliveWithoutCalls = false; - - private userAgent: string; - - private activeCalls: Set = new Set(); - - private subchannelAddressString: string; - - private disconnectListeners: TransportDisconnectListener[] = []; - - private disconnectHandled = false; - - // Channelz info - private channelzRef: SocketRef; - private readonly channelzEnabled: boolean = true; - private streamTracker = new ChannelzCallTracker(); - private keepalivesSent = 0; - private messagesSent = 0; - private messagesReceived = 0; - private lastMessageSentTimestamp: Date | null = null; - private lastMessageReceivedTimestamp: Date | null = null; - - constructor( - private session: http2.ClientHttp2Session, - subchannelAddress: SubchannelAddress, - private 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. - */ - private remoteName: string | null - ) { - /* Populate subchannelAddressString and channelzRef before doing anything - * else, because they are used in the trace methods. */ - this.subchannelAddressString = subchannelAddressToString(subchannelAddress); - - if (options['grpc.enable_channelz'] === 0) { - this.channelzEnabled = false; - } - this.channelzRef = 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: number, lastStreamID: number, opaqueData?: Buffer) => { - 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 && - opaqueData.equals(tooManyPingsData) - ) { - tooManyPings = true; - } - this.trace('connection closed by GOAWAY with code ' + errorCode + ' and data ' + opaqueData?.toString()); - 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 as Error).message); - }); - if (logging.isTracerEnabled(TRACER_NAME)) { - session.on('remoteSettings', (settings: http2.Settings) => { - this.trace( - 'new settings received' + - (this.session !== session ? ' on the old connection' : '') + - ': ' + - JSON.stringify(settings) - ); - }); - session.on('localSettings', (settings: http2.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(); - } - } - - private getChannelzInfo(): SocketInfo { - const sessionSocket = this.session.socket; - const remoteAddress = sessionSocket.remoteAddress - ? stringToSubchannelAddress( - sessionSocket.remoteAddress, - sessionSocket.remotePort - ) - : null; - const localAddress = sessionSocket.localAddress - ? stringToSubchannelAddress( - sessionSocket.localAddress, - sessionSocket.localPort - ) - : null; - let tlsInfo: TlsInfo | null; - if (this.session.encrypted) { - const tlsSocket: TLSSocket = sessionSocket as TLSSocket; - const cipherInfo: CipherNameAndProtocol & { standardName?: string } = - tlsSocket.getCipher(); - const certificate = tlsSocket.getCertificate(); - const peerCertificate = tlsSocket.getPeerCertificate(); - tlsInfo = { - cipherSuiteStandardName: cipherInfo.standardName ?? 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: 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: this.session.state.localWindowSize ?? null, - remoteFlowControlWindow: this.session.state.remoteWindowSize ?? null, - }; - return socketInfo; - } - - private trace(text: string): void { - logging.trace( - LogVerbosity.DEBUG, - TRACER_NAME, - '(' + - this.channelzRef.id + - ') ' + - this.subchannelAddressString + - ' ' + - text - ); - } - - private keepaliveTrace(text: string): void { - logging.trace( - LogVerbosity.DEBUG, - 'keepalive', - '(' + - this.channelzRef.id + - ') ' + - this.subchannelAddressString + - ' ' + - text - ); - } - - private flowControlTrace(text: string): void { - logging.trace( - LogVerbosity.DEBUG, - FLOW_CONTROL_TRACER_NAME, - '(' + - this.channelzRef.id + - ') ' + - this.subchannelAddressString + - ' ' + - text - ); - } - - private internalsTrace(text: string): void { - logging.trace( - 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 - */ - private reportDisconnectToOwner(tooManyPings: boolean) { - if (this.disconnectHandled) { - return; - } - this.disconnectHandled = true; - this.disconnectListeners.forEach(listener => listener(tooManyPings)); - } - - /** - * Handle connection drops, but not GOAWAYs. - */ - private 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: TransportDisconnectListener): void { - this.disconnectListeners.push(listener); - } - - private clearKeepaliveTimer() { - if (!this.keepaliveTimerId) { - return; - } - clearTimeout(this.keepaliveTimerId); - this.keepaliveTimerId = null; - } - - private clearKeepaliveTimeout() { - if (!this.keepaliveTimeoutId) { - return; - } - clearTimeout(this.keepaliveTimeoutId); - this.keepaliveTimeoutId = null; - } - - private canSendPing() { - return ( - this.keepaliveTimeMs > 0 && - (this.keepaliveWithoutCalls || this.activeCalls.size > 0) - ); - } - - private maybeSendPing() { - 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); - this.keepaliveTimeoutId.unref?.(); - } - try { - this.session!.ping( - (err: Error | null, duration: number, payload: Buffer) => { - 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. - */ - private maybeStartKeepalivePingTimer() { - 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 = setTimeout(() => { - this.maybeSendPing(); - }, this.keepaliveTimeMs).unref?.(); - } - /* Otherwise, there is already either a keepalive timer or a ping pending, - * wait for those to resolve. */ - } - - private stopKeepalivePings() { - if (this.keepaliveTimerId) { - clearTimeout(this.keepaliveTimerId); - this.keepaliveTimerId = null; - } - this.clearKeepaliveTimeout(); - } - - private removeActiveCall(call: Http2SubchannelCall) { - this.activeCalls.delete(call); - if (this.activeCalls.size === 0) { - this.session.unref(); - } - } - - private addActiveCall(call: Http2SubchannelCall) { - this.activeCalls.add(call); - if (this.activeCalls.size === 1) { - this.session.ref(); - if (!this.keepaliveWithoutCalls) { - this.maybeStartKeepalivePingTimer(); - } - } - } - - createCall( - metadata: Metadata, - host: string, - method: string, - listener: SubchannelCallInterceptingListener, - subchannelCallStatsTracker: Partial - ): Http2SubchannelCall { - 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: http2.ClientHttp2Stream; - /* 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: CallEventTracker; - // eslint-disable-next-line prefer-const - let call: Http2SubchannelCall; - if (this.channelzEnabled) { - this.streamTracker.addCallStarted(); - eventTracker = { - addMessageSent: () => { - this.messagesSent += 1; - this.lastMessageSentTimestamp = new Date(); - subchannelCallStatsTracker.addMessageSent?.(); - }, - addMessageReceived: () => { - this.messagesReceived += 1; - this.lastMessageReceivedTimestamp = new Date(); - subchannelCallStatsTracker.addMessageReceived?.(); - }, - onCallEnd: status => { - subchannelCallStatsTracker.onCallEnd?.(status); - this.removeActiveCall(call); - }, - onStreamEnd: success => { - if (success) { - this.streamTracker.addCallSucceeded(); - } else { - this.streamTracker.addCallFailed(); - } - subchannelCallStatsTracker.onStreamEnd?.(success); - }, - }; - } else { - eventTracker = { - addMessageSent: () => { - subchannelCallStatsTracker.addMessageSent?.(); - }, - addMessageReceived: () => { - subchannelCallStatsTracker.addMessageReceived?.(); - }, - onCallEnd: status => { - subchannelCallStatsTracker.onCallEnd?.(status); - this.removeActiveCall(call); - }, - onStreamEnd: success => { - subchannelCallStatsTracker.onStreamEnd?.(success); - }, - }; - } - call = new Http2SubchannelCall( - http2Stream, - eventTracker, - listener, - this, - getNextCallNumber() - ); - this.addActiveCall(call); - return call; - } - - getChannelzRef(): SocketRef { - return this.channelzRef; - } - - getPeerName() { - return this.subchannelAddressString; - } - - getOptions() { - return this.options; - } - - shutdown() { - this.session.close(); - unregisterChannelzRef(this.channelzRef); - } -} - -export interface SubchannelConnector { - connect( - address: SubchannelAddress, - credentials: ChannelCredentials, - options: ChannelOptions - ): Promise; - shutdown(): void; -} - -export class Http2SubchannelConnector implements SubchannelConnector { - private session: http2.ClientHttp2Session | null = null; - private isShutdown = false; - constructor(private channelTarget: GrpcUri) {} - private trace(text: string) { - logging.trace( - LogVerbosity.DEBUG, - TRACER_NAME, - uriToString(this.channelTarget) + ' ' + text - ); - } - private createSession( - address: SubchannelAddress, - credentials: ChannelCredentials, - options: ChannelOptions, - proxyConnectionResult: ProxyConnectionResult - ): Promise { - if (this.isShutdown) { - return Promise.reject(); - } - return new Promise((resolve, reject) => { - let remoteName: string | null; - if (proxyConnectionResult.realTarget) { - remoteName = uriToString(proxyConnectionResult.realTarget); - this.trace( - 'creating HTTP/2 session through proxy to ' + - uriToString(proxyConnectionResult.realTarget) - ); - } else { - remoteName = null; - this.trace( - 'creating HTTP/2 session to ' + subchannelAddressToString(address) - ); - } - const targetAuthority = getDefaultAuthority( - proxyConnectionResult.realTarget ?? this.channelTarget - ); - let connectionOptions: http2.SecureClientSessionOptions = - 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: string, - cert: PeerCertificate - ): Error | undefined => { - return checkServerIdentity(sslTargetNameOverride, cert); - }; - connectionOptions.servername = sslTargetNameOverride; - } else { - const authorityHostname = - splitHostPort(targetAuthority)?.host ?? '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 = { - ...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 as Error).message; - this.trace('connection failed with error ' + errorMessage); - }); - }); - } - connect( - address: SubchannelAddress, - credentials: ChannelCredentials, - options: ChannelOptions - ): Promise { - 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: 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: string, - cert: PeerCertificate - ): Error | undefined => { - return 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 = getDefaultAuthority( - parseUri(options['grpc.http_connect_target'] as string) ?? { - path: 'localhost', - } - ); - const hostPort = splitHostPort(targetPath); - connectionOptions.servername = hostPort?.host ?? targetPath; - } - } - if (options['grpc-node.tls_enable_trace']) { - connectionOptions.enableTrace = true; - } - } - - return getProxiedConnection(address, options, connectionOptions).then( - result => this.createSession(address, credentials, options, result) - ); - } - - shutdown(): void { - this.isShutdown = true; - this.session?.close(); - this.session = null; - } -} diff --git a/frontend-old/node_modules/@grpc/grpc-js/src/uri-parser.ts b/frontend-old/node_modules/@grpc/grpc-js/src/uri-parser.ts deleted file mode 100644 index 20c3d53..0000000 --- a/frontend-old/node_modules/@grpc/grpc-js/src/uri-parser.ts +++ /dev/null @@ -1,114 +0,0 @@ -/* - * 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. - * - */ - -export interface GrpcUri { - scheme?: string; - authority?: string; - path: string; -} - -/* - * The groups correspond to URI parts as follows: - * 1. scheme - * 2. authority - * 3. path - */ -const URI_REGEX = /^(?:([A-Za-z0-9+.-]+):)?(?:\/\/([^/]*)\/)?(.+)$/; - -export function parseUri(uriString: string): GrpcUri | null { - const parsedUri = URI_REGEX.exec(uriString); - if (parsedUri === null) { - return null; - } - return { - scheme: parsedUri[1], - authority: parsedUri[2], - path: parsedUri[3], - }; -} - -export interface HostPort { - host: string; - port?: number; -} - -const NUMBER_REGEX = /^\d+$/; - -export function splitHostPort(path: string): HostPort | null { - 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, - }; - } - } -} - -export function uriToString(uri: GrpcUri): string { - let result = ''; - if (uri.scheme !== undefined) { - result += uri.scheme + ':'; - } - if (uri.authority !== undefined) { - result += '//' + uri.authority + '/'; - } - result += uri.path; - return result; -} diff --git a/frontend-old/node_modules/@grpc/proto-loader/LICENSE b/frontend-old/node_modules/@grpc/proto-loader/LICENSE deleted file mode 100644 index 8dada3e..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/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/frontend-old/node_modules/@grpc/proto-loader/README.md b/frontend-old/node_modules/@grpc/proto-loader/README.md deleted file mode 100644 index 935c100..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/README.md +++ /dev/null @@ -1,140 +0,0 @@ -# gRPC Protobuf Loader - -A utility package for loading `.proto` files for use with gRPC, using the latest Protobuf.js package. -Please refer to [protobuf.js' documentation](https://github.com/dcodeIO/protobuf.js/blob/master/README.md) -to understands its features and limitations. - -## Installation - -```sh -npm install @grpc/proto-loader -``` - -## Usage - -```js -const protoLoader = require('@grpc/proto-loader'); -const grpcLibrary = require('grpc'); -// OR -const grpcLibrary = require('@grpc/grpc-js'); - -protoLoader.load(protoFileName, options).then(packageDefinition => { - const packageObject = grpcLibrary.loadPackageDefinition(packageDefinition); -}); -// OR -const packageDefinition = protoLoader.loadSync(protoFileName, options); -const packageObject = grpcLibrary.loadPackageDefinition(packageDefinition); -``` - -The options parameter is an object that can have the following optional properties: - -| Field name | Valid values | Description -|------------|--------------|------------ -| `keepCase` | `true` or `false` | Preserve field names. The default is to change them to camel case. -| `longs` | `String` or `Number` | The type to use to represent `long` values. Defaults to a `Long` object type. -| `enums` | `String` | The type to use to represent `enum` values. Defaults to the numeric value. -| `bytes` | `Array` or `String` | The type to use to represent `bytes` values. Defaults to `Buffer`. -| `defaults` | `true` or `false` | Set default values on output objects. Defaults to `false`. -| `arrays` | `true` or `false` | Set empty arrays for missing array values even if `defaults` is `false` Defaults to `false`. -| `objects` | `true` or `false` | Set empty objects for missing object values even if `defaults` is `false` Defaults to `false`. -| `oneofs` | `true` or `false` | Set virtual oneof properties to the present field's name. Defaults to `false`. -| `json` | `true` or `false` | Represent `Infinity` and `NaN` as strings in `float` fields, and automatically decode `google.protobuf.Any` values. Defaults to `false` -| `includeDirs` | An array of strings | A list of search paths for imported `.proto` files. - -The following options object closely approximates the existing behavior of `grpc.load`: - -```js -const options = { - keepCase: true, - longs: String, - enums: String, - defaults: true, - oneofs: true -} -``` - -## Generating TypeScript types - -The `proto-loader-gen-types` script distributed with this package can be used to generate TypeScript type information for the objects loaded at runtime. More information about how to use it can be found in [the *@grpc/proto-loader TypeScript Type Generator CLI Tool* proposal document](https://github.com/grpc/proposal/blob/master/L70-node-proto-loader-type-generator.md). The arguments mostly match the `load` function's options; the full usage information is as follows: - -```console -proto-loader-gen-types.js [options] filenames... - -Options: - --help Show help [boolean] - --version Show version number [boolean] - --keepCase Preserve the case of field names - [boolean] [default: false] - --longs The type that should be used to output 64 bit - integer values. Can be String, Number - [string] [default: "Long"] - --enums The type that should be used to output enum fields. - Can be String [string] [default: "number"] - --bytes The type that should be used to output bytes - fields. Can be String, Array - [string] [default: "Buffer"] - --defaults Output default values for omitted fields - [boolean] [default: false] - --arrays Output default values for omitted repeated fields - even if --defaults is not set - [boolean] [default: false] - --objects Output default values for omitted message fields - even if --defaults is not set - [boolean] [default: false] - --oneofs Output virtual oneof fields set to the present - field's name [boolean] [default: false] - --json Represent Infinity and NaN as strings in float - fields. Also decode google.protobuf.Any - automatically [boolean] [default: false] - --includeComments Generate doc comments from comments in the original - files [boolean] [default: false] - -I, --includeDirs Directories to search for included files [array] - -O, --outDir Directory in which to output files - [string] [required] - --grpcLib The gRPC implementation library that these types - will be used with. If not provided, some types will - not be generated [string] - --inputTemplate Template for mapping input or "permissive" type - names [string] [default: "%s"] - --outputTemplate Template for mapping output or "restricted" type - names [string] [default: "%s__Output"] - --inputBranded Output property for branded type for "permissive" - types with fullName of the Message as its value - [boolean] [default: false] - --outputBranded Output property for branded type for "restricted" - types with fullName of the Message as its value - [boolean] [default: false] - --targetFileExtension File extension for generated files. - [string] [default: ".ts"] - --importFileExtension File extension for import specifiers in generated - code. [string] [default: ""] -``` - -### Example Usage - -Generate the types: - -```sh -$(npm bin)/proto-loader-gen-types --longs=String --enums=String --defaults --oneofs --grpcLib=@grpc/grpc-js --outDir=proto/ proto/*.proto -``` - -Consume the types: - -```ts -import * as grpc from '@grpc/grpc-js'; -import * as protoLoader from '@grpc/proto-loader'; -import type { ProtoGrpcType } from './proto/example.ts'; -import type { ExampleHandlers } from './proto/example_package/Example.ts'; - -const exampleServer: ExampleHandlers = { - // server handlers implementation... -}; - -const packageDefinition = protoLoader.loadSync('./proto/example.proto'); -const proto = (grpc.loadPackageDefinition( - packageDefinition -) as unknown) as ProtoGrpcType; - -const server = new grpc.Server(); -server.addService(proto.example_package.Example.service, exampleServer); -``` diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js b/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js deleted file mode 100755 index 1df55f7..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js +++ /dev/null @@ -1,913 +0,0 @@ -#!/usr/bin/env node -"use strict"; -/** - * @license - * 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 }); -const fs = require("fs"); -const path = require("path"); -const Protobuf = require("protobufjs"); -const yargs = require("yargs"); -const camelCase = require("lodash.camelcase"); -const util_1 = require("../src/util"); -const templateStr = "%s"; -const useNameFmter = ({ outputTemplate, inputTemplate }) => { - if (outputTemplate === inputTemplate) { - throw new Error('inputTemplate and outputTemplate must differ'); - } - return { - outputName: (n) => outputTemplate.replace(templateStr, n), - inputName: (n) => inputTemplate.replace(templateStr, n) - }; -}; -class TextFormatter { - constructor() { - this.indentText = ' '; - this.indentValue = 0; - this.textParts = []; - } - indent() { - this.indentValue += 1; - } - unindent() { - this.indentValue -= 1; - } - writeLine(line) { - for (let i = 0; i < this.indentValue; i += 1) { - this.textParts.push(this.indentText); - } - this.textParts.push(line); - this.textParts.push('\n'); - } - getFullText() { - return this.textParts.join(''); - } -} -// GENERATOR UTILITY FUNCTIONS -function compareName(x, y) { - if (x.name < y.name) { - return -1; - } - else if (x.name > y.name) { - return 1; - } - else { - return 0; - } -} -function isNamespaceBase(obj) { - return Array.isArray(obj.nestedArray); -} -function stripLeadingPeriod(name) { - return name.startsWith('.') ? name.substring(1) : name; -} -function getImportPath(to) { - /* If the thing we are importing is defined in a message, it is generated in - * the same file as that message. */ - if (to.parent instanceof Protobuf.Type) { - return getImportPath(to.parent); - } - return stripLeadingPeriod(to.fullName).replace(/\./g, '/'); -} -function getPath(to, options) { - return stripLeadingPeriod(to.fullName).replace(/\./g, '/') + options.targetFileExtension; -} -function getPathToRoot(from) { - const depth = stripLeadingPeriod(from.fullName).split('.').length - 1; - if (depth === 0) { - return './'; - } - let path = ''; - for (let i = 0; i < depth; i++) { - path += '../'; - } - return path; -} -function getRelativeImportPath(from, to) { - return getPathToRoot(from) + getImportPath(to); -} -function getTypeInterfaceName(type) { - return type.fullName.replace(/\./g, '_'); -} -function getImportLine(dependency, from, options) { - const filePath = from === undefined ? './' + getImportPath(dependency) : getRelativeImportPath(from, dependency); - const { outputName, inputName } = useNameFmter(options); - const typeInterfaceName = getTypeInterfaceName(dependency); - let importedTypes; - /* If the dependency is defined within a message, it will be generated in that - * message's file and exported using its typeInterfaceName. */ - if (dependency.parent instanceof Protobuf.Type) { - if (dependency instanceof Protobuf.Type || dependency instanceof Protobuf.Enum) { - importedTypes = `${inputName(typeInterfaceName)}, ${outputName(typeInterfaceName)}`; - } - else if (dependency instanceof Protobuf.Service) { - importedTypes = `${typeInterfaceName}Client, ${typeInterfaceName}Definition`; - } - else { - throw new Error('Invalid object passed to getImportLine'); - } - } - else { - if (dependency instanceof Protobuf.Type || dependency instanceof Protobuf.Enum) { - importedTypes = `${inputName(dependency.name)} as ${inputName(typeInterfaceName)}, ${outputName(dependency.name)} as ${outputName(typeInterfaceName)}`; - } - else if (dependency instanceof Protobuf.Service) { - importedTypes = `${dependency.name}Client as ${typeInterfaceName}Client, ${dependency.name}Definition as ${typeInterfaceName}Definition`; - } - else { - throw new Error('Invalid object passed to getImportLine'); - } - } - return `import type { ${importedTypes} } from '${filePath}${options.importFileExtension}';`; -} -function getChildMessagesAndEnums(namespace) { - const messageList = []; - for (const nested of namespace.nestedArray) { - if (nested instanceof Protobuf.Type || nested instanceof Protobuf.Enum) { - messageList.push(nested); - } - if (isNamespaceBase(nested)) { - messageList.push(...getChildMessagesAndEnums(nested)); - } - } - return messageList; -} -function formatComment(formatter, comment, options) { - if (!comment && !(options === null || options === void 0 ? void 0 : options.deprecated)) { - return; - } - formatter.writeLine('/**'); - if (comment) { - for (const line of comment.split('\n')) { - formatter.writeLine(` * ${line.replace(/\*\//g, '* /')}`); - } - } - if (options === null || options === void 0 ? void 0 : options.deprecated) { - formatter.writeLine(' * @deprecated'); - } - formatter.writeLine(' */'); -} -const typeBrandHint = `This field is a type brand and is not populated at runtime. Instances of this type should be created using type assertions. -https://github.com/grpc/grpc-node/pull/2281`; -function formatTypeBrand(formatter, messageType) { - formatComment(formatter, typeBrandHint); - formatter.writeLine(`__type: '${messageType.fullName}'`); -} -// GENERATOR FUNCTIONS -function getTypeNamePermissive(fieldType, resolvedType, repeated, map, options) { - const { inputName } = useNameFmter(options); - switch (fieldType) { - case 'double': - case 'float': - return 'number | string'; - case 'int32': - case 'uint32': - case 'sint32': - case 'fixed32': - case 'sfixed32': - return 'number'; - case 'int64': - case 'uint64': - case 'sint64': - case 'fixed64': - case 'sfixed64': - return 'number | string | Long'; - case 'bool': - return 'boolean'; - case 'string': - return 'string'; - case 'bytes': - return 'Buffer | Uint8Array | string'; - default: - if (resolvedType === null) { - throw new Error('Found field with no usable type'); - } - const typeInterfaceName = getTypeInterfaceName(resolvedType); - if (resolvedType instanceof Protobuf.Type) { - if (repeated || map) { - return inputName(typeInterfaceName); - } - else { - return `${inputName(typeInterfaceName)} | null`; - } - } - else { - // Enum - return inputName(typeInterfaceName); - } - } -} -function getFieldTypePermissive(field, options) { - const valueType = getTypeNamePermissive(field.type, field.resolvedType, field.repeated, field.map, options); - if (field instanceof Protobuf.MapField) { - const keyType = field.keyType === 'string' ? 'string' : 'number'; - return `{[key: ${keyType}]: ${valueType}}`; - } - else { - return valueType; - } -} -function generatePermissiveMessageInterface(formatter, messageType, options, nameOverride) { - const { inputName } = useNameFmter(options); - if (options.includeComments) { - formatComment(formatter, messageType.comment, messageType.options); - } - if (messageType.fullName === '.google.protobuf.Any') { - /* This describes the behavior of the Protobuf.js Any wrapper fromObject - * replacement function */ - formatter.writeLine(`export type ${inputName('Any')} = AnyExtension | {`); - formatter.writeLine(' type_url: string;'); - formatter.writeLine(' value: Buffer | Uint8Array | string;'); - formatter.writeLine('}'); - return; - } - formatter.writeLine(`export interface ${inputName(nameOverride !== null && nameOverride !== void 0 ? nameOverride : messageType.name)} {`); - formatter.indent(); - for (const field of messageType.fieldsArray) { - const repeatedString = field.repeated ? '[]' : ''; - const type = getFieldTypePermissive(field, options); - if (options.includeComments) { - formatComment(formatter, field.comment, field.options); - } - formatter.writeLine(`'${field.name}'?: (${type})${repeatedString};`); - } - for (const oneof of messageType.oneofsArray) { - const typeString = oneof.fieldsArray.map(field => `"${field.name}"`).join('|'); - if (options.includeComments) { - formatComment(formatter, oneof.comment, oneof.options); - } - formatter.writeLine(`'${oneof.name}'?: ${typeString};`); - } - if (options.inputBranded) { - formatTypeBrand(formatter, messageType); - } - formatter.unindent(); - formatter.writeLine('}'); -} -function getTypeNameRestricted(fieldType, resolvedType, repeated, map, options) { - const { outputName } = useNameFmter(options); - switch (fieldType) { - case 'double': - case 'float': - if (options.json) { - return 'number | string'; - } - else { - return 'number'; - } - case 'int32': - case 'uint32': - case 'sint32': - case 'fixed32': - case 'sfixed32': - return 'number'; - case 'int64': - case 'uint64': - case 'sint64': - case 'fixed64': - case 'sfixed64': - if (options.longs === Number) { - return 'number'; - } - else if (options.longs === String) { - return 'string'; - } - else { - return 'Long'; - } - case 'bool': - return 'boolean'; - case 'string': - return 'string'; - case 'bytes': - if (options.bytes === Array) { - return 'Uint8Array'; - } - else if (options.bytes === String) { - return 'string'; - } - else { - return 'Buffer'; - } - default: - if (resolvedType === null) { - throw new Error('Found field with no usable type'); - } - const typeInterfaceName = getTypeInterfaceName(resolvedType); - if (resolvedType instanceof Protobuf.Type) { - /* null is only used to represent absent message values if the defaults - * option is set, and only for non-repeated, non-map fields. */ - if (options.defaults && !repeated && !map) { - return `${outputName(typeInterfaceName)} | null`; - } - else { - return `${outputName(typeInterfaceName)}`; - } - } - else { - // Enum - return outputName(typeInterfaceName); - } - } -} -function getFieldTypeRestricted(field, options) { - const valueType = getTypeNameRestricted(field.type, field.resolvedType, field.repeated, field.map, options); - if (field instanceof Protobuf.MapField) { - const keyType = field.keyType === 'string' ? 'string' : 'number'; - return `{[key: ${keyType}]: ${valueType}}`; - } - else { - return valueType; - } -} -function generateRestrictedMessageInterface(formatter, messageType, options, nameOverride) { - var _a, _b, _c; - const { outputName } = useNameFmter(options); - if (options.includeComments) { - formatComment(formatter, messageType.comment, messageType.options); - } - if (messageType.fullName === '.google.protobuf.Any' && options.json) { - /* This describes the behavior of the Protobuf.js Any wrapper toObject - * replacement function */ - let optionalString = options.defaults ? '' : '?'; - formatter.writeLine(`export type ${outputName('Any')} = AnyExtension | {`); - formatter.writeLine(` type_url${optionalString}: string;`); - formatter.writeLine(` value${optionalString}: ${getTypeNameRestricted('bytes', null, false, false, options)};`); - formatter.writeLine('}'); - return; - } - formatter.writeLine(`export interface ${outputName(nameOverride !== null && nameOverride !== void 0 ? nameOverride : messageType.name)} {`); - formatter.indent(); - for (const field of messageType.fieldsArray) { - let fieldGuaranteed; - if (field.partOf) { - // The field is not guaranteed populated if it is part of a oneof - fieldGuaranteed = false; - } - else if (field.repeated) { - fieldGuaranteed = (_a = (options.defaults || options.arrays)) !== null && _a !== void 0 ? _a : false; - } - else if (field.map) { - fieldGuaranteed = (_b = (options.defaults || options.objects)) !== null && _b !== void 0 ? _b : false; - } - else { - fieldGuaranteed = (_c = options.defaults) !== null && _c !== void 0 ? _c : false; - } - const optionalString = fieldGuaranteed ? '' : '?'; - const repeatedString = field.repeated ? '[]' : ''; - const type = getFieldTypeRestricted(field, options); - if (options.includeComments) { - formatComment(formatter, field.comment, field.options); - } - formatter.writeLine(`'${field.name}'${optionalString}: (${type})${repeatedString};`); - } - if (options.oneofs) { - for (const oneof of messageType.oneofsArray) { - const typeString = oneof.fieldsArray.map(field => `"${field.name}"`).join('|'); - if (options.includeComments) { - formatComment(formatter, oneof.comment, oneof.options); - } - formatter.writeLine(`'${oneof.name}'?: ${typeString};`); - } - } - if (options.outputBranded) { - formatTypeBrand(formatter, messageType); - } - formatter.unindent(); - formatter.writeLine('}'); -} -function generateMessageInterfaces(formatter, messageType, options) { - var _a, _b; - let usesLong = false; - let seenDeps = new Set(); - const childTypes = getChildMessagesAndEnums(messageType); - formatter.writeLine(`// Original file: ${(_b = ((_a = messageType.filename) !== null && _a !== void 0 ? _a : 'null')) === null || _b === void 0 ? void 0 : _b.replace(/\\/g, '/')}`); - formatter.writeLine(''); - const isLongField = (field) => ['int64', 'uint64', 'sint64', 'fixed64', 'sfixed64'].includes(field.type); - messageType.fieldsArray.sort((fieldA, fieldB) => fieldA.id - fieldB.id); - for (const field of messageType.fieldsArray) { - if (field.resolvedType && childTypes.indexOf(field.resolvedType) < 0) { - const dependency = field.resolvedType; - if (seenDeps.has(dependency.fullName)) { - continue; - } - seenDeps.add(dependency.fullName); - formatter.writeLine(getImportLine(dependency, messageType, options)); - } - if (isLongField(field)) { - usesLong = true; - } - } - for (const childType of childTypes) { - if (childType instanceof Protobuf.Type) { - for (const field of childType.fieldsArray) { - if (field.resolvedType && childTypes.indexOf(field.resolvedType) < 0) { - const dependency = field.resolvedType; - if (seenDeps.has(dependency.fullName)) { - continue; - } - seenDeps.add(dependency.fullName); - formatter.writeLine(getImportLine(dependency, messageType, options)); - } - if (isLongField(field)) { - usesLong = true; - } - } - } - } - if (usesLong) { - formatter.writeLine("import type { Long } from '@grpc/proto-loader';"); - } - if (messageType.fullName === '.google.protobuf.Any') { - formatter.writeLine("import type { AnyExtension } from '@grpc/proto-loader';"); - } - formatter.writeLine(''); - for (const childType of childTypes.sort(compareName)) { - const nameOverride = getTypeInterfaceName(childType); - if (childType instanceof Protobuf.Type) { - generatePermissiveMessageInterface(formatter, childType, options, nameOverride); - formatter.writeLine(''); - generateRestrictedMessageInterface(formatter, childType, options, nameOverride); - } - else { - generateEnumInterface(formatter, childType, options, nameOverride); - } - formatter.writeLine(''); - } - generatePermissiveMessageInterface(formatter, messageType, options); - formatter.writeLine(''); - generateRestrictedMessageInterface(formatter, messageType, options); -} -function generateEnumInterface(formatter, enumType, options, nameOverride) { - var _a, _b, _c; - const { inputName, outputName } = useNameFmter(options); - const name = nameOverride !== null && nameOverride !== void 0 ? nameOverride : enumType.name; - formatter.writeLine(`// Original file: ${(_b = ((_a = enumType.filename) !== null && _a !== void 0 ? _a : 'null')) === null || _b === void 0 ? void 0 : _b.replace(/\\/g, '/')}`); - formatter.writeLine(''); - if (options.includeComments) { - formatComment(formatter, enumType.comment, enumType.options); - } - formatter.writeLine(`export const ${name} = {`); - formatter.indent(); - for (const key of Object.keys(enumType.values)) { - if (options.includeComments) { - formatComment(formatter, enumType.comments[key], ((_c = enumType.valuesOptions) !== null && _c !== void 0 ? _c : {})[key]); - } - formatter.writeLine(`${key}: ${options.enums == String ? `'${key}'` : enumType.values[key]},`); - } - formatter.unindent(); - formatter.writeLine('} as const;'); - // Permissive Type - formatter.writeLine(''); - if (options.includeComments) { - formatComment(formatter, enumType.comment, enumType.options); - } - formatter.writeLine(`export type ${inputName(name)} =`); - formatter.indent(); - for (const key of Object.keys(enumType.values)) { - if (options.includeComments) { - formatComment(formatter, enumType.comments[key]); - } - formatter.writeLine(`| '${key}'`); - formatter.writeLine(`| ${enumType.values[key]}`); - } - formatter.unindent(); - // Restrictive Type - formatter.writeLine(''); - if (options.includeComments) { - formatComment(formatter, enumType.comment, enumType.options); - } - formatter.writeLine(`export type ${outputName(name)} = typeof ${name}[keyof typeof ${name}]`); -} -/** - * This is a list of methods that are exist in the generic Client class in the - * gRPC libraries. TypeScript has a problem with methods in subclasses with the - * same names as methods in the superclass, but with mismatched APIs. So, we - * avoid generating methods with these names in the service client interfaces. - * We always generate two service client methods per service method: one camel - * cased, and one with the original casing. So we will still generate one - * service client method for any conflicting name. - * - * Technically, at runtime conflicting name in the service client method - * actually shadows the original method, but TypeScript does not have a good - * way to represent that. So this change is not 100% accurate, but it gets the - * generated code to compile. - * - * This is just a list of the methods in the Client class definitions in - * grpc@1.24.11 and @grpc/grpc-js@1.4.0. - */ -const CLIENT_RESERVED_METHOD_NAMES = new Set([ - 'close', - 'getChannel', - 'waitForReady', - 'makeUnaryRequest', - 'makeClientStreamRequest', - 'makeServerStreamRequest', - 'makeBidiStreamRequest', - 'resolveCallInterceptors', - /* These methods are private, but TypeScript is not happy with overriding even - * private methods with mismatched APIs. */ - 'checkOptionalUnaryResponseArguments', - 'checkMetadataAndOptions' -]); -function generateServiceClientInterface(formatter, serviceType, options) { - const { outputName, inputName } = useNameFmter(options); - if (options.includeComments) { - formatComment(formatter, serviceType.comment, serviceType.options); - } - formatter.writeLine(`export interface ${serviceType.name}Client extends grpc.Client {`); - formatter.indent(); - for (const methodName of Object.keys(serviceType.methods).sort()) { - const method = serviceType.methods[methodName]; - for (const name of new Set([methodName, camelCase(methodName)])) { - if (CLIENT_RESERVED_METHOD_NAMES.has(name)) { - continue; - } - if (options.includeComments) { - formatComment(formatter, method.comment, method.options); - } - const requestType = inputName(getTypeInterfaceName(method.resolvedRequestType)); - const responseType = outputName(getTypeInterfaceName(method.resolvedResponseType)); - const callbackType = `grpc.requestCallback<${responseType}>`; - if (method.requestStream) { - if (method.responseStream) { - // Bidi streaming - const callType = `grpc.ClientDuplexStream<${requestType}, ${responseType}>`; - formatter.writeLine(`${name}(metadata: grpc.Metadata, options?: grpc.CallOptions): ${callType};`); - formatter.writeLine(`${name}(options?: grpc.CallOptions): ${callType};`); - } - else { - // Client streaming - const callType = `grpc.ClientWritableStream<${requestType}>`; - formatter.writeLine(`${name}(metadata: grpc.Metadata, options: grpc.CallOptions, callback: ${callbackType}): ${callType};`); - formatter.writeLine(`${name}(metadata: grpc.Metadata, callback: ${callbackType}): ${callType};`); - formatter.writeLine(`${name}(options: grpc.CallOptions, callback: ${callbackType}): ${callType};`); - formatter.writeLine(`${name}(callback: ${callbackType}): ${callType};`); - } - } - else { - if (method.responseStream) { - // Server streaming - const callType = `grpc.ClientReadableStream<${responseType}>`; - formatter.writeLine(`${name}(argument: ${requestType}, metadata: grpc.Metadata, options?: grpc.CallOptions): ${callType};`); - formatter.writeLine(`${name}(argument: ${requestType}, options?: grpc.CallOptions): ${callType};`); - } - else { - // Unary - const callType = 'grpc.ClientUnaryCall'; - formatter.writeLine(`${name}(argument: ${requestType}, metadata: grpc.Metadata, options: grpc.CallOptions, callback: ${callbackType}): ${callType};`); - formatter.writeLine(`${name}(argument: ${requestType}, metadata: grpc.Metadata, callback: ${callbackType}): ${callType};`); - formatter.writeLine(`${name}(argument: ${requestType}, options: grpc.CallOptions, callback: ${callbackType}): ${callType};`); - formatter.writeLine(`${name}(argument: ${requestType}, callback: ${callbackType}): ${callType};`); - } - } - } - formatter.writeLine(''); - } - formatter.unindent(); - formatter.writeLine('}'); -} -function generateServiceHandlerInterface(formatter, serviceType, options) { - const { inputName, outputName } = useNameFmter(options); - if (options.includeComments) { - formatComment(formatter, serviceType.comment, serviceType.options); - } - formatter.writeLine(`export interface ${serviceType.name}Handlers extends grpc.UntypedServiceImplementation {`); - formatter.indent(); - for (const methodName of Object.keys(serviceType.methods).sort()) { - const method = serviceType.methods[methodName]; - if (options.includeComments) { - formatComment(formatter, method.comment, serviceType.options); - } - const requestType = outputName(getTypeInterfaceName(method.resolvedRequestType)); - const responseType = inputName(getTypeInterfaceName(method.resolvedResponseType)); - if (method.requestStream) { - if (method.responseStream) { - // Bidi streaming - formatter.writeLine(`${methodName}: grpc.handleBidiStreamingCall<${requestType}, ${responseType}>;`); - } - else { - // Client streaming - formatter.writeLine(`${methodName}: grpc.handleClientStreamingCall<${requestType}, ${responseType}>;`); - } - } - else { - if (method.responseStream) { - // Server streaming - formatter.writeLine(`${methodName}: grpc.handleServerStreamingCall<${requestType}, ${responseType}>;`); - } - else { - // Unary - formatter.writeLine(`${methodName}: grpc.handleUnaryCall<${requestType}, ${responseType}>;`); - } - } - formatter.writeLine(''); - } - formatter.unindent(); - formatter.writeLine('}'); -} -function generateServiceDefinitionInterface(formatter, serviceType, options) { - const { inputName, outputName } = useNameFmter(options); - if (options.grpcLib) { - formatter.writeLine(`export interface ${serviceType.name}Definition extends grpc.ServiceDefinition {`); - } - else { - formatter.writeLine(`export interface ${serviceType.name}Definition {`); - } - formatter.indent(); - for (const methodName of Object.keys(serviceType.methods).sort()) { - const method = serviceType.methods[methodName]; - const requestType = getTypeInterfaceName(method.resolvedRequestType); - const responseType = getTypeInterfaceName(method.resolvedResponseType); - formatter.writeLine(`${methodName}: MethodDefinition<${inputName(requestType)}, ${inputName(responseType)}, ${outputName(requestType)}, ${outputName(responseType)}>`); - } - formatter.unindent(); - formatter.writeLine('}'); -} -function generateServiceInterfaces(formatter, serviceType, options) { - var _a, _b; - formatter.writeLine(`// Original file: ${(_b = ((_a = serviceType.filename) !== null && _a !== void 0 ? _a : 'null')) === null || _b === void 0 ? void 0 : _b.replace(/\\/g, '/')}`); - formatter.writeLine(''); - if (options.grpcLib) { - const grpcImportPath = options.grpcLib.startsWith('.') ? getPathToRoot(serviceType) + options.grpcLib : options.grpcLib; - formatter.writeLine(`import type * as grpc from '${grpcImportPath}'`); - } - formatter.writeLine(`import type { MethodDefinition } from '@grpc/proto-loader'`); - const dependencies = new Set(); - for (const method of serviceType.methodsArray) { - dependencies.add(method.resolvedRequestType); - dependencies.add(method.resolvedResponseType); - } - for (const dep of Array.from(dependencies.values()).sort(compareName)) { - formatter.writeLine(getImportLine(dep, serviceType, options)); - } - formatter.writeLine(''); - if (options.grpcLib) { - generateServiceClientInterface(formatter, serviceType, options); - formatter.writeLine(''); - generateServiceHandlerInterface(formatter, serviceType, options); - formatter.writeLine(''); - } - generateServiceDefinitionInterface(formatter, serviceType, options); -} -function containsDefinition(definitionType, namespace) { - for (const nested of namespace.nestedArray.sort(compareName)) { - if (nested instanceof definitionType) { - return true; - } - else if (isNamespaceBase(nested) && !(nested instanceof Protobuf.Type) && !(nested instanceof Protobuf.Enum) && containsDefinition(definitionType, nested)) { - return true; - } - } - return false; -} -function generateDefinitionImports(formatter, namespace, options) { - const imports = []; - if (containsDefinition(Protobuf.Enum, namespace)) { - imports.push('EnumTypeDefinition'); - } - if (containsDefinition(Protobuf.Type, namespace)) { - imports.push('MessageTypeDefinition'); - } - if (imports.length) { - formatter.writeLine(`import type { ${imports.join(', ')} } from '@grpc/proto-loader';`); - } -} -function generateServiceImports(formatter, namespace, options) { - for (const nested of namespace.nestedArray.sort(compareName)) { - if (nested instanceof Protobuf.Service) { - formatter.writeLine(getImportLine(nested, undefined, options)); - } - else if (isNamespaceBase(nested) && !(nested instanceof Protobuf.Type) && !(nested instanceof Protobuf.Enum)) { - generateServiceImports(formatter, nested, options); - } - } -} -function generateSingleLoadedDefinitionType(formatter, nested, options) { - if (nested instanceof Protobuf.Service) { - if (options.includeComments) { - formatComment(formatter, nested.comment, nested.options); - } - const typeInterfaceName = getTypeInterfaceName(nested); - formatter.writeLine(`${nested.name}: SubtypeConstructor & { service: ${typeInterfaceName}Definition }`); - } - else if (nested instanceof Protobuf.Enum) { - formatter.writeLine(`${nested.name}: EnumTypeDefinition`); - } - else if (nested instanceof Protobuf.Type) { - formatter.writeLine(`${nested.name}: MessageTypeDefinition`); - } - else if (isNamespaceBase(nested)) { - generateLoadedDefinitionTypes(formatter, nested, options); - } -} -function generateLoadedDefinitionTypes(formatter, namespace, options) { - formatter.writeLine(`${namespace.name}: {`); - formatter.indent(); - for (const nested of namespace.nestedArray.sort(compareName)) { - generateSingleLoadedDefinitionType(formatter, nested, options); - } - formatter.unindent(); - formatter.writeLine('}'); -} -function generateRootFile(formatter, root, options) { - if (!options.grpcLib) { - return; - } - formatter.writeLine(`import type * as grpc from '${options.grpcLib}';`); - generateDefinitionImports(formatter, root, options); - formatter.writeLine(''); - generateServiceImports(formatter, root, options); - formatter.writeLine(''); - formatter.writeLine('type SubtypeConstructor any, Subtype> = {'); - formatter.writeLine(' new(...args: ConstructorParameters): Subtype;'); - formatter.writeLine('};'); - formatter.writeLine(''); - formatter.writeLine('export interface ProtoGrpcType {'); - formatter.indent(); - for (const nested of root.nestedArray) { - generateSingleLoadedDefinitionType(formatter, nested, options); - } - formatter.unindent(); - formatter.writeLine('}'); - formatter.writeLine(''); -} -async function writeFile(filename, contents) { - await fs.promises.mkdir(path.dirname(filename), { recursive: true }); - return fs.promises.writeFile(filename, contents); -} -function generateFilesForNamespace(namespace, options) { - const filePromises = []; - for (const nested of namespace.nestedArray) { - const fileFormatter = new TextFormatter(); - if (nested instanceof Protobuf.Type) { - generateMessageInterfaces(fileFormatter, nested, options); - if (options.verbose) { - console.log(`Writing ${options.outDir}/${getPath(nested, options)} from file ${nested.filename}`); - } - filePromises.push(writeFile(`${options.outDir}/${getPath(nested, options)}`, fileFormatter.getFullText())); - } - else if (nested instanceof Protobuf.Enum) { - generateEnumInterface(fileFormatter, nested, options); - if (options.verbose) { - console.log(`Writing ${options.outDir}/${getPath(nested, options)} from file ${nested.filename}`); - } - filePromises.push(writeFile(`${options.outDir}/${getPath(nested, options)}`, fileFormatter.getFullText())); - } - else if (nested instanceof Protobuf.Service) { - generateServiceInterfaces(fileFormatter, nested, options); - if (options.verbose) { - console.log(`Writing ${options.outDir}/${getPath(nested, options)} from file ${nested.filename}`); - } - filePromises.push(writeFile(`${options.outDir}/${getPath(nested, options)}`, fileFormatter.getFullText())); - } - else if (isNamespaceBase(nested)) { - filePromises.push(...generateFilesForNamespace(nested, options)); - } - } - return filePromises; -} -function writeFilesForRoot(root, masterFileName, options) { - const filePromises = []; - const masterFileFormatter = new TextFormatter(); - if (options.grpcLib) { - generateRootFile(masterFileFormatter, root, options); - if (options.verbose) { - console.log(`Writing ${options.outDir}/${masterFileName}`); - } - filePromises.push(writeFile(`${options.outDir}/${masterFileName}`, masterFileFormatter.getFullText())); - } - filePromises.push(...generateFilesForNamespace(root, options)); - return filePromises; -} -async function writeAllFiles(protoFiles, options) { - await fs.promises.mkdir(options.outDir, { recursive: true }); - const basenameMap = new Map(); - for (const filename of protoFiles) { - const basename = path.basename(filename).replace(/\.proto$/, options.targetFileExtension); - if (basenameMap.has(basename)) { - basenameMap.get(basename).push(filename); - } - else { - basenameMap.set(basename, [filename]); - } - } - for (const [basename, filenames] of basenameMap.entries()) { - const loadedRoot = await (0, util_1.loadProtosWithOptions)(filenames, options); - writeFilesForRoot(loadedRoot, basename, options); - } -} -async function runScript() { - const boolDefaultFalseOption = { - boolean: true, - default: false, - }; - const argv = await yargs - .parserConfiguration({ - 'parse-positional-numbers': false - }) - .option('keepCase', boolDefaultFalseOption) - .option('longs', { string: true, default: 'Long' }) - .option('enums', { string: true, default: 'number' }) - .option('bytes', { string: true, default: 'Buffer' }) - .option('defaults', boolDefaultFalseOption) - .option('arrays', boolDefaultFalseOption) - .option('objects', boolDefaultFalseOption) - .option('oneofs', boolDefaultFalseOption) - .option('json', boolDefaultFalseOption) - .boolean('verbose') - .option('includeComments', boolDefaultFalseOption) - .option('includeDirs', { - normalize: true, - array: true, - alias: 'I' - }) - .option('outDir', { - alias: 'O', - normalize: true, - }) - .option('grpcLib', { string: true }) - .option('inputTemplate', { string: true, default: `${templateStr}` }) - .option('outputTemplate', { string: true, default: `${templateStr}__Output` }) - .option('inputBranded', boolDefaultFalseOption) - .option('outputBranded', boolDefaultFalseOption) - .option('targetFileExtension', { string: true, default: '.ts' }) - .option('importFileExtension', { string: true, default: '' }) - .coerce('longs', value => { - switch (value) { - case 'String': return String; - case 'Number': return Number; - default: return undefined; - } - }).coerce('enums', value => { - if (value === 'String') { - return String; - } - else { - return undefined; - } - }).coerce('bytes', value => { - switch (value) { - case 'Array': return Array; - case 'String': return String; - default: return undefined; - } - }) - .alias({ - verbose: 'v' - }).describe({ - keepCase: 'Preserve the case of field names', - longs: 'The type that should be used to output 64 bit integer values. Can be String, Number', - enums: 'The type that should be used to output enum fields. Can be String', - bytes: 'The type that should be used to output bytes fields. Can be String, Array', - defaults: 'Output default values for omitted fields', - arrays: 'Output default values for omitted repeated fields even if --defaults is not set', - objects: 'Output default values for omitted message fields even if --defaults is not set', - oneofs: 'Output virtual oneof fields set to the present field\'s name', - json: 'Represent Infinity and NaN as strings in float fields. Also decode google.protobuf.Any automatically', - includeComments: 'Generate doc comments from comments in the original files', - includeDirs: 'Directories to search for included files', - outDir: 'Directory in which to output files', - grpcLib: 'The gRPC implementation library that these types will be used with. If not provided, some types will not be generated', - inputTemplate: 'Template for mapping input or "permissive" type names', - outputTemplate: 'Template for mapping output or "restricted" type names', - inputBranded: 'Output property for branded type for "permissive" types with fullName of the Message as its value', - outputBranded: 'Output property for branded type for "restricted" types with fullName of the Message as its value', - targetFileExtension: 'File extension for generated files.', - importFileExtension: 'File extension for import specifiers in generated code.' - }).demandOption(['outDir']) - .demand(1) - .usage('$0 [options] filenames...') - .epilogue('WARNING: This tool is in alpha. The CLI and generated code are subject to change') - .argv; - if (argv.verbose) { - console.log('Parsed arguments:', argv); - } - (0, util_1.addCommonProtos)(); - writeAllFiles(argv._, Object.assign(Object.assign({}, argv), { alternateCommentMode: true })).then(() => { - if (argv.verbose) { - console.log('Success'); - } - }, (error) => { - console.error(error); - process.exit(1); - }); -} -if (require.main === module) { - runScript(); -} -//# sourceMappingURL=proto-loader-gen-types.js.map \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js.map b/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js.map deleted file mode 100644 index 229cd48..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"proto-loader-gen-types.js","sourceRoot":"","sources":["../../bin/proto-loader-gen-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/index.d.ts b/frontend-old/node_modules/@grpc/proto-loader/build/src/index.d.ts deleted file mode 100644 index ff575c0..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/build/src/index.d.ts +++ /dev/null @@ -1,160 +0,0 @@ -/** - * @license - * Copyright 2018 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 * as Protobuf from 'protobufjs'; -import * as descriptor from 'protobufjs/ext/descriptor'; -import { Options } from './util'; -import Long = require('long'); -export { Options, Long }; -/** - * This type exists for use with code generated by the proto-loader-gen-types - * tool. This type should be used with another interface, e.g. - * MessageType & AnyExtension for an object that is converted to or from a - * google.protobuf.Any message. - * For example, when processing an Any message: - * - * ```ts - * if (isAnyExtension(message)) { - * switch (message['@type']) { - * case TYPE1_URL: - * handleType1(message as AnyExtension & Type1); - * break; - * case TYPE2_URL: - * handleType2(message as AnyExtension & Type2); - * break; - * // ... - * } - * } - * ``` - */ -export interface AnyExtension { - /** - * The fully qualified name of the message type that this object represents, - * possibly including a URL prefix. - */ - '@type': string; -} -export declare function isAnyExtension(obj: object): obj is AnyExtension; -declare module 'protobufjs' { - interface Type { - toDescriptor(protoVersion: string): Protobuf.Message & descriptor.IDescriptorProto; - } - interface RootConstructor { - new (options?: Options): Root; - fromDescriptor(descriptorSet: descriptor.IFileDescriptorSet | Protobuf.Reader | Uint8Array): Root; - fromJSON(json: Protobuf.INamespace, root?: Root): Root; - } - interface Root { - toDescriptor(protoVersion: string): Protobuf.Message & descriptor.IFileDescriptorSet; - } - interface Enum { - toDescriptor(protoVersion: string): Protobuf.Message & descriptor.IEnumDescriptorProto; - } -} -export interface Serialize { - (value: T): Buffer; -} -export interface Deserialize { - (bytes: Buffer): T; -} -export interface ProtobufTypeDefinition { - format: string; - type: object; - fileDescriptorProtos: Buffer[]; -} -export interface MessageTypeDefinition extends ProtobufTypeDefinition { - format: 'Protocol Buffer 3 DescriptorProto'; -} -export interface EnumTypeDefinition extends ProtobufTypeDefinition { - format: 'Protocol Buffer 3 EnumDescriptorProto'; -} -export declare enum IdempotencyLevel { - IDEMPOTENCY_UNKNOWN = "IDEMPOTENCY_UNKNOWN", - NO_SIDE_EFFECTS = "NO_SIDE_EFFECTS", - IDEMPOTENT = "IDEMPOTENT" -} -export interface NamePart { - name_part: string; - is_extension: boolean; -} -export interface UninterpretedOption { - name?: NamePart[]; - identifier_value?: string; - positive_int_value?: number; - negative_int_value?: number; - double_value?: number; - string_value?: string; - aggregate_value?: string; -} -export interface MethodOptions { - deprecated: boolean; - idempotency_level: IdempotencyLevel; - uninterpreted_option: UninterpretedOption[]; - [k: string]: unknown; -} -export interface MethodDefinition { - path: string; - requestStream: boolean; - responseStream: boolean; - requestSerialize: Serialize; - responseSerialize: Serialize; - requestDeserialize: Deserialize; - responseDeserialize: Deserialize; - originalName?: string; - requestType: MessageTypeDefinition; - responseType: MessageTypeDefinition; - options: MethodOptions; -} -export interface ServiceDefinition { - [index: string]: MethodDefinition; -} -export declare type AnyDefinition = ServiceDefinition | MessageTypeDefinition | EnumTypeDefinition; -export interface PackageDefinition { - [index: string]: AnyDefinition; -} -/** - * Load a .proto file with the specified options. - * @param filename One or multiple file paths to load. Can be an absolute path - * or relative to an include path. - * @param options.keepCase Preserve field names. The default is to change them - * to camel case. - * @param options.longs The type that should be used to represent `long` values. - * Valid options are `Number` and `String`. Defaults to a `Long` object type - * from a library. - * @param options.enums The type that should be used to represent `enum` values. - * The only valid option is `String`. Defaults to the numeric value. - * @param options.bytes The type that should be used to represent `bytes` - * values. Valid options are `Array` and `String`. The default is to use - * `Buffer`. - * @param options.defaults Set default values on output objects. Defaults to - * `false`. - * @param options.arrays Set empty arrays for missing array values even if - * `defaults` is `false`. Defaults to `false`. - * @param options.objects Set empty objects for missing object values even if - * `defaults` is `false`. Defaults to `false`. - * @param options.oneofs Set virtual oneof properties to the present field's - * name - * @param options.json Represent Infinity and NaN as strings in float fields, - * and automatically decode google.protobuf.Any values. - * @param options.includeDirs Paths to search for imported `.proto` files. - */ -export declare function load(filename: string | string[], options?: Options): Promise; -export declare function loadSync(filename: string | string[], options?: Options): PackageDefinition; -export declare function fromJSON(json: Protobuf.INamespace, options?: Options): PackageDefinition; -export declare function loadFileDescriptorSetFromBuffer(descriptorSet: Buffer, options?: Options): PackageDefinition; -export declare function loadFileDescriptorSetFromObject(descriptorSet: Parameters[0], options?: Options): PackageDefinition; diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js b/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js deleted file mode 100644 index 1d86395..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js +++ /dev/null @@ -1,244 +0,0 @@ -"use strict"; -/** - * @license - * Copyright 2018 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.loadFileDescriptorSetFromObject = exports.loadFileDescriptorSetFromBuffer = exports.fromJSON = exports.loadSync = exports.load = exports.IdempotencyLevel = exports.isAnyExtension = exports.Long = void 0; -const camelCase = require("lodash.camelcase"); -const Protobuf = require("protobufjs"); -const descriptor = require("protobufjs/ext/descriptor"); -const util_1 = require("./util"); -const Long = require("long"); -exports.Long = Long; -function isAnyExtension(obj) { - return ('@type' in obj) && (typeof obj['@type'] === 'string'); -} -exports.isAnyExtension = isAnyExtension; -var IdempotencyLevel; -(function (IdempotencyLevel) { - IdempotencyLevel["IDEMPOTENCY_UNKNOWN"] = "IDEMPOTENCY_UNKNOWN"; - IdempotencyLevel["NO_SIDE_EFFECTS"] = "NO_SIDE_EFFECTS"; - IdempotencyLevel["IDEMPOTENT"] = "IDEMPOTENT"; -})(IdempotencyLevel = exports.IdempotencyLevel || (exports.IdempotencyLevel = {})); -const descriptorOptions = { - longs: String, - enums: String, - bytes: String, - defaults: true, - oneofs: true, - json: true, -}; -function joinName(baseName, name) { - if (baseName === '') { - return name; - } - else { - return baseName + '.' + name; - } -} -function isHandledReflectionObject(obj) { - return (obj instanceof Protobuf.Service || - obj instanceof Protobuf.Type || - obj instanceof Protobuf.Enum); -} -function isNamespaceBase(obj) { - return obj instanceof Protobuf.Namespace || obj instanceof Protobuf.Root; -} -function getAllHandledReflectionObjects(obj, parentName) { - const objName = joinName(parentName, obj.name); - if (isHandledReflectionObject(obj)) { - return [[objName, obj]]; - } - else { - if (isNamespaceBase(obj) && typeof obj.nested !== 'undefined') { - return Object.keys(obj.nested) - .map(name => { - return getAllHandledReflectionObjects(obj.nested[name], objName); - }) - .reduce((accumulator, currentValue) => accumulator.concat(currentValue), []); - } - } - return []; -} -function createDeserializer(cls, options) { - return function deserialize(argBuf) { - return cls.toObject(cls.decode(argBuf), options); - }; -} -function createSerializer(cls) { - return function serialize(arg) { - if (Array.isArray(arg)) { - throw new Error(`Failed to serialize message: expected object with ${cls.name} structure, got array instead`); - } - const message = cls.fromObject(arg); - return cls.encode(message).finish(); - }; -} -function mapMethodOptions(options) { - return (options || []).reduce((obj, item) => { - for (const [key, value] of Object.entries(item)) { - switch (key) { - case 'uninterpreted_option': - obj.uninterpreted_option.push(item.uninterpreted_option); - break; - default: - obj[key] = value; - } - } - return obj; - }, { - deprecated: false, - idempotency_level: IdempotencyLevel.IDEMPOTENCY_UNKNOWN, - uninterpreted_option: [], - }); -} -function createMethodDefinition(method, serviceName, options, fileDescriptors) { - /* This is only ever called after the corresponding root.resolveAll(), so we - * can assume that the resolved request and response types are non-null */ - const requestType = method.resolvedRequestType; - const responseType = method.resolvedResponseType; - return { - path: '/' + serviceName + '/' + method.name, - requestStream: !!method.requestStream, - responseStream: !!method.responseStream, - requestSerialize: createSerializer(requestType), - requestDeserialize: createDeserializer(requestType, options), - responseSerialize: createSerializer(responseType), - responseDeserialize: createDeserializer(responseType, options), - // TODO(murgatroid99): Find a better way to handle this - originalName: camelCase(method.name), - requestType: createMessageDefinition(requestType, fileDescriptors), - responseType: createMessageDefinition(responseType, fileDescriptors), - options: mapMethodOptions(method.parsedOptions), - }; -} -function createServiceDefinition(service, name, options, fileDescriptors) { - const def = {}; - for (const method of service.methodsArray) { - def[method.name] = createMethodDefinition(method, name, options, fileDescriptors); - } - return def; -} -function createMessageDefinition(message, fileDescriptors) { - const messageDescriptor = message.toDescriptor('proto3'); - return { - format: 'Protocol Buffer 3 DescriptorProto', - type: messageDescriptor.$type.toObject(messageDescriptor, descriptorOptions), - fileDescriptorProtos: fileDescriptors, - }; -} -function createEnumDefinition(enumType, fileDescriptors) { - const enumDescriptor = enumType.toDescriptor('proto3'); - return { - format: 'Protocol Buffer 3 EnumDescriptorProto', - type: enumDescriptor.$type.toObject(enumDescriptor, descriptorOptions), - fileDescriptorProtos: fileDescriptors, - }; -} -/** - * function createDefinition(obj: Protobuf.Service, name: string, options: - * Options): ServiceDefinition; function createDefinition(obj: Protobuf.Type, - * name: string, options: Options): MessageTypeDefinition; function - * createDefinition(obj: Protobuf.Enum, name: string, options: Options): - * EnumTypeDefinition; - */ -function createDefinition(obj, name, options, fileDescriptors) { - if (obj instanceof Protobuf.Service) { - return createServiceDefinition(obj, name, options, fileDescriptors); - } - else if (obj instanceof Protobuf.Type) { - return createMessageDefinition(obj, fileDescriptors); - } - else if (obj instanceof Protobuf.Enum) { - return createEnumDefinition(obj, fileDescriptors); - } - else { - throw new Error('Type mismatch in reflection object handling'); - } -} -function createPackageDefinition(root, options) { - const def = {}; - root.resolveAll(); - const descriptorList = root.toDescriptor('proto3').file; - const bufferList = descriptorList.map(value => Buffer.from(descriptor.FileDescriptorProto.encode(value).finish())); - for (const [name, obj] of getAllHandledReflectionObjects(root, '')) { - def[name] = createDefinition(obj, name, options, bufferList); - } - return def; -} -function createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options) { - options = options || {}; - const root = Protobuf.Root.fromDescriptor(decodedDescriptorSet); - root.resolveAll(); - return createPackageDefinition(root, options); -} -/** - * Load a .proto file with the specified options. - * @param filename One or multiple file paths to load. Can be an absolute path - * or relative to an include path. - * @param options.keepCase Preserve field names. The default is to change them - * to camel case. - * @param options.longs The type that should be used to represent `long` values. - * Valid options are `Number` and `String`. Defaults to a `Long` object type - * from a library. - * @param options.enums The type that should be used to represent `enum` values. - * The only valid option is `String`. Defaults to the numeric value. - * @param options.bytes The type that should be used to represent `bytes` - * values. Valid options are `Array` and `String`. The default is to use - * `Buffer`. - * @param options.defaults Set default values on output objects. Defaults to - * `false`. - * @param options.arrays Set empty arrays for missing array values even if - * `defaults` is `false`. Defaults to `false`. - * @param options.objects Set empty objects for missing object values even if - * `defaults` is `false`. Defaults to `false`. - * @param options.oneofs Set virtual oneof properties to the present field's - * name - * @param options.json Represent Infinity and NaN as strings in float fields, - * and automatically decode google.protobuf.Any values. - * @param options.includeDirs Paths to search for imported `.proto` files. - */ -function load(filename, options) { - return (0, util_1.loadProtosWithOptions)(filename, options).then(loadedRoot => { - return createPackageDefinition(loadedRoot, options); - }); -} -exports.load = load; -function loadSync(filename, options) { - const loadedRoot = (0, util_1.loadProtosWithOptionsSync)(filename, options); - return createPackageDefinition(loadedRoot, options); -} -exports.loadSync = loadSync; -function fromJSON(json, options) { - options = options || {}; - const loadedRoot = Protobuf.Root.fromJSON(json); - loadedRoot.resolveAll(); - return createPackageDefinition(loadedRoot, options); -} -exports.fromJSON = fromJSON; -function loadFileDescriptorSetFromBuffer(descriptorSet, options) { - const decodedDescriptorSet = descriptor.FileDescriptorSet.decode(descriptorSet); - return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options); -} -exports.loadFileDescriptorSetFromBuffer = loadFileDescriptorSetFromBuffer; -function loadFileDescriptorSetFromObject(descriptorSet, options) { - const decodedDescriptorSet = descriptor.FileDescriptorSet.fromObject(descriptorSet); - return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options); -} -exports.loadFileDescriptorSetFromObject = loadFileDescriptorSetFromObject; -(0, util_1.addCommonProtos)(); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js.map b/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js.map deleted file mode 100644 index 8ba05f1..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/build/src/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,8CAA+C;AAC/C,uCAAuC;AACvC,wDAAwD;AAExD,iCAAoG;AAEpG,6BAA8B;AAEZ,oBAAI;AA+BtB,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAQ,GAAoB,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAClF,CAAC;AAFD,wCAEC;AA0DD,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,+DAA2C,CAAA;IAC3C,uDAAmC,CAAA;IACnC,6CAAyB,CAAA;AAC3B,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAsDD,MAAM,iBAAiB,GAAgC;IACrD,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,SAAS,QAAQ,CAAC,QAAgB,EAAE,IAAY;IAC9C,IAAI,QAAQ,KAAK,EAAE,EAAE;QACnB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC;KAC9B;AACH,CAAC;AAID,SAAS,yBAAyB,CAChC,GAA8B;IAE9B,OAAO,CACL,GAAG,YAAY,QAAQ,CAAC,OAAO;QAC/B,GAAG,YAAY,QAAQ,CAAC,IAAI;QAC5B,GAAG,YAAY,QAAQ,CAAC,IAAI,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,GAA8B;IAE9B,OAAO,GAAG,YAAY,QAAQ,CAAC,SAAS,IAAI,GAAG,YAAY,QAAQ,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED,SAAS,8BAA8B,CACrC,GAA8B,EAC9B,UAAkB;IAElB,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE;QAClC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;KACzB;SAAM;QACL,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE;YAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAO,CAAC;iBAC5B,GAAG,CAAC,IAAI,CAAC,EAAE;gBACV,OAAO,8BAA8B,CAAC,GAAG,CAAC,MAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACpE,CAAC,CAAC;iBACD,MAAM,CACL,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,EAC/D,EAAE,CACH,CAAC;SACL;KACF;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAkB,EAClB,OAAgB;IAEhB,OAAO,SAAS,WAAW,CAAC,MAAc;QACxC,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAkB;IAC1C,OAAO,SAAS,SAAS,CAAC,GAAW;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,qDAAqD,GAAG,CAAC,IAAI,+BAA+B,CAAC,CAAC;SAC/G;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAY,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA6C;IACrE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAkB,EAAE,IAA4B,EAAE,EAAE;QACjF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/C,QAAQ,GAAG,EAAE;gBACX,KAAK,sBAAsB;oBACzB,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAA2C,CAAC,CAAC;oBAChF,MAAM;gBACR;oBACE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;aACnB;SACF;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,EACC;QACE,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,gBAAgB,CAAC,mBAAmB;QACvD,oBAAoB,EAAE,EAAE;KACzB,CACe,CAAC;AACrB,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAuB,EACvB,WAAmB,EACnB,OAAgB,EAChB,eAAyB;IAEzB;8EAC0E;IAC1E,MAAM,WAAW,GAAkB,MAAM,CAAC,mBAAoB,CAAC;IAC/D,MAAM,YAAY,GAAkB,MAAM,CAAC,oBAAqB,CAAC;IACjE,OAAO;QACL,IAAI,EAAE,GAAG,GAAG,WAAW,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI;QAC3C,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa;QACrC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;QACvC,gBAAgB,EAAE,gBAAgB,CAAC,WAAW,CAAC;QAC/C,kBAAkB,EAAE,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC5D,iBAAiB,EAAE,gBAAgB,CAAC,YAAY,CAAC;QACjD,mBAAmB,EAAE,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9D,uDAAuD;QACvD,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,WAAW,EAAE,uBAAuB,CAAC,WAAW,EAAE,eAAe,CAAC;QAClE,YAAY,EAAE,uBAAuB,CAAC,YAAY,EAAE,eAAe,CAAC;QACpE,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAyB,EACzB,IAAY,EACZ,OAAgB,EAChB,eAAyB;IAEzB,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE;QACzC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,CACvC,MAAM,EACN,IAAI,EACJ,OAAO,EACP,eAAe,CAChB,CAAC;KACH;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAsB,EACtB,eAAyB;IAEzB,MAAM,iBAAiB,GAEnB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO;QACL,MAAM,EAAE,mCAAmC;QAC3C,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CACpC,iBAAiB,EACjB,iBAAiB,CAClB;QACD,oBAAoB,EAAE,eAAe;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAuB,EACvB,eAAyB;IAEzB,MAAM,cAAc,GAEhB,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO;QACL,MAAM,EAAE,uCAAuC;QAC/C,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;QACtE,oBAAoB,EAAE,eAAe;KACtC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,GAA4B,EAC5B,IAAY,EACZ,OAAgB,EAChB,eAAyB;IAEzB,IAAI,GAAG,YAAY,QAAQ,CAAC,OAAO,EAAE;QACnC,OAAO,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;KACrE;SAAM,IAAI,GAAG,YAAY,QAAQ,CAAC,IAAI,EAAE;QACvC,OAAO,uBAAuB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;KACtD;SAAM,IAAI,GAAG,YAAY,QAAQ,CAAC,IAAI,EAAE;QACvC,OAAO,oBAAoB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;KACnD;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAChE;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAmB,EACnB,OAAgB;IAEhB,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,IAAI,CAAC,UAAU,EAAE,CAAC;IAClB,MAAM,cAAc,GAAsC,IAAI,CAAC,YAAY,CACzE,QAAQ,CACT,CAAC,IAAI,CAAC;IACP,MAAM,UAAU,GAAa,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACtD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CACnE,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,8BAA8B,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;QAClE,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;KAC9D;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,wCAAwC,CAC/C,oBAA0C,EAC1C,OAAiB;IAEjB,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAExB,MAAM,IAAI,GAAI,QAAQ,CAAC,IAAiC,CAAC,cAAc,CACrE,oBAAoB,CACrB,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;IAClB,OAAO,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,IAAI,CAClB,QAA2B,EAC3B,OAAiB;IAEjB,OAAO,IAAA,4BAAqB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAChE,OAAO,uBAAuB,CAAC,UAAU,EAAE,OAAQ,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,oBAOC;AAED,SAAgB,QAAQ,CACtB,QAA2B,EAC3B,OAAiB;IAEjB,MAAM,UAAU,GAAG,IAAA,gCAAyB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,uBAAuB,CAAC,UAAU,EAAE,OAAQ,CAAC,CAAC;AACvD,CAAC;AAND,4BAMC;AAED,SAAgB,QAAQ,CACtB,IAAyB,EACzB,OAAiB;IAEjB,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChD,UAAU,CAAC,UAAU,EAAE,CAAC;IACxB,OAAO,uBAAuB,CAAC,UAAU,EAAE,OAAQ,CAAC,CAAC;AACvD,CAAC;AARD,4BAQC;AAED,SAAgB,+BAA+B,CAC7C,aAAqB,EACrB,OAAiB;IAEjB,MAAM,oBAAoB,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAC9D,aAAa,CACU,CAAC;IAE1B,OAAO,wCAAwC,CAC7C,oBAAoB,EACpB,OAAO,CACR,CAAC;AACJ,CAAC;AAZD,0EAYC;AAED,SAAgB,+BAA+B,CAC7C,aAA4E,EAC5E,OAAiB;IAEjB,MAAM,oBAAoB,GAAG,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAClE,aAAa,CACU,CAAC;IAE1B,OAAO,wCAAwC,CAC7C,oBAAoB,EACpB,OAAO,CACR,CAAC;AACJ,CAAC;AAZD,0EAYC;AAED,IAAA,sBAAe,GAAE,CAAC"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/util.d.ts b/frontend-old/node_modules/@grpc/proto-loader/build/src/util.d.ts deleted file mode 100644 index d0b13d9..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/build/src/util.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @license - * Copyright 2018 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 * as Protobuf from 'protobufjs'; -export declare type Options = Protobuf.IParseOptions & Protobuf.IConversionOptions & { - includeDirs?: string[]; -}; -export declare function loadProtosWithOptions(filename: string | string[], options?: Options): Promise; -export declare function loadProtosWithOptionsSync(filename: string | string[], options?: Options): Protobuf.Root; -/** - * Load Google's well-known proto files that aren't exposed by Protobuf.js. - */ -export declare function addCommonProtos(): void; diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js b/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js deleted file mode 100644 index 7ade36b..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js +++ /dev/null @@ -1,89 +0,0 @@ -"use strict"; -/** - * @license - * Copyright 2018 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.addCommonProtos = exports.loadProtosWithOptionsSync = exports.loadProtosWithOptions = void 0; -const fs = require("fs"); -const path = require("path"); -const Protobuf = require("protobufjs"); -function addIncludePathResolver(root, includePaths) { - const originalResolvePath = root.resolvePath; - root.resolvePath = (origin, target) => { - if (path.isAbsolute(target)) { - return target; - } - for (const directory of includePaths) { - const fullPath = path.join(directory, target); - try { - fs.accessSync(fullPath, fs.constants.R_OK); - return fullPath; - } - catch (err) { - continue; - } - } - process.emitWarning(`${target} not found in any of the include paths ${includePaths}`); - return originalResolvePath(origin, target); - }; -} -async function loadProtosWithOptions(filename, options) { - const root = new Protobuf.Root(); - options = options || {}; - if (!!options.includeDirs) { - if (!Array.isArray(options.includeDirs)) { - return Promise.reject(new Error('The includeDirs option must be an array')); - } - addIncludePathResolver(root, options.includeDirs); - } - const loadedRoot = await root.load(filename, options); - loadedRoot.resolveAll(); - return loadedRoot; -} -exports.loadProtosWithOptions = loadProtosWithOptions; -function loadProtosWithOptionsSync(filename, options) { - const root = new Protobuf.Root(); - options = options || {}; - if (!!options.includeDirs) { - if (!Array.isArray(options.includeDirs)) { - throw new Error('The includeDirs option must be an array'); - } - addIncludePathResolver(root, options.includeDirs); - } - const loadedRoot = root.loadSync(filename, options); - loadedRoot.resolveAll(); - return loadedRoot; -} -exports.loadProtosWithOptionsSync = loadProtosWithOptionsSync; -/** - * Load Google's well-known proto files that aren't exposed by Protobuf.js. - */ -function addCommonProtos() { - // Protobuf.js exposes: any, duration, empty, field_mask, struct, timestamp, - // and wrappers. compiler/plugin is excluded in Protobuf.js and here. - // Using constant strings for compatibility with tools like Webpack - const apiDescriptor = require('protobufjs/google/protobuf/api.json'); - const descriptorDescriptor = require('protobufjs/google/protobuf/descriptor.json'); - const sourceContextDescriptor = require('protobufjs/google/protobuf/source_context.json'); - const typeDescriptor = require('protobufjs/google/protobuf/type.json'); - Protobuf.common('api', apiDescriptor.nested.google.nested.protobuf.nested); - Protobuf.common('descriptor', descriptorDescriptor.nested.google.nested.protobuf.nested); - Protobuf.common('source_context', sourceContextDescriptor.nested.google.nested.protobuf.nested); - Protobuf.common('type', typeDescriptor.nested.google.nested.protobuf.nested); -} -exports.addCommonProtos = addCommonProtos; -//# sourceMappingURL=util.js.map \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js.map b/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js.map deleted file mode 100644 index bb517f7..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/build/src/util.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend-old/node_modules/@grpc/proto-loader/package.json b/frontend-old/node_modules/@grpc/proto-loader/package.json deleted file mode 100644 index d9da2f7..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/package.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "name": "@grpc/proto-loader", - "version": "0.7.15", - "author": "Google Inc.", - "contributors": [ - { - "name": "Michael Lumish", - "email": "mlumish@google.com" - } - ], - "description": "gRPC utility library for loading .proto files", - "homepage": "https://grpc.io/", - "main": "build/src/index.js", - "typings": "build/src/index.d.ts", - "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": "tslint -c node_modules/google-ts-style/tslint.json -p . -t codeFrame --type-check", - "prepare": "npm run compile", - "test": "gulp test", - "check": "gts check", - "fix": "gts fix", - "pretest": "npm run compile", - "posttest": "npm run check", - "generate-golden": "node ./build/bin/proto-loader-gen-types.js --keepCase --longs=String --enums=String --defaults --oneofs --json --includeComments --inputTemplate=I%s --outputTemplate=O%s -I deps/gapic-showcase/schema/ deps/googleapis/ -O ./golden-generated --grpcLib @grpc/grpc-js google/showcase/v1beta1/echo.proto", - "validate-golden": "rm -rf ./golden-generated-old && mv ./golden-generated/ ./golden-generated-old && npm run generate-golden && diff -rb ./golden-generated ./golden-generated-old" - }, - "repository": { - "type": "git", - "url": "https://github.com/grpc/grpc-node.git" - }, - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/grpc/grpc-node/issues" - }, - "files": [ - "LICENSE", - "build/src/*.d.ts", - "build/src/*.{js,js.map}", - "build/bin/*.{js,js.map}" - ], - "bin": { - "proto-loader-gen-types": "./build/bin/proto-loader-gen-types.js" - }, - "dependencies": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.5", - "yargs": "^17.7.2" - }, - "devDependencies": { - "@types/lodash.camelcase": "^4.3.4", - "@types/mkdirp": "^1.0.1", - "@types/mocha": "^5.2.7", - "@types/node": "^10.17.26", - "@types/yargs": "^17.0.24", - "clang-format": "^1.2.2", - "google-proto-files": "^3.0.2", - "gts": "^3.1.0", - "rimraf": "^3.0.2", - "ts-node": "^10.9.2", - "typescript": "~4.7.4" - }, - "engines": { - "node": ">=6" - } -} -- cgit v1.2.3