Skip to content

ProtocolVersionError

Defined in: src/errors.ts:162

Raised when the client’s declared vgi_rpc.protocol_version is incompatible with the server’s. Subclass of VersionError so existing catch sites continue to write a typed error stream and keep serving. Carries a directional message that tells the reader which side to upgrade. Mirrors Python’s vgi_rpc.rpc.ProtocolVersionError.

new ProtocolVersionError(message, gate?): ProtocolVersionError;

Defined in: src/errors.ts:178

Parameter Type
message string
gate { clientVersion?: string; protocol?: string; serverVersion?: string; }
gate.clientVersion? string
gate.protocol? string
gate.serverVersion? string

ProtocolVersionError

VersionError.constructor

optional cause?: unknown;

Defined in: docs/node_modules/typescript/lib/lib.es2022.error.d.ts:24

The cause of the error.

VersionError.cause


readonly clientVersion: string;

Defined in: src/errors.ts:174

What the client declared, or "" when it declared none.


readonly errorCode:
| "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" = "FAILED_PRECONDITION";

Defined in: src/errors.ts:170

Canonical code hoisted as vgi_rpc.error_code (WIRE_PROTOCOL.md §8).


readonly errorKind: "protocol_version_mismatch" = ERROR_KIND_PROTOCOL_VERSION_MISMATCH;

Defined in: src/errors.ts:166

Typed vgi_rpc.error_kind marker hoisted onto the error batch metadata.


message: string;

Defined in: docs/node_modules/typescript/lib/lib.es5.d.ts:1075

VersionError.message


name: string;

Defined in: docs/node_modules/typescript/lib/lib.es5.d.ts:1074

VersionError.name


readonly protocol: string;

Defined in: src/errors.ts:172

The protocol whose version gate refused the call.


readonly serverVersion: string;

Defined in: src/errors.ts:176

What the server’s binding declares.


optional stack?: string;

Defined in: docs/node_modules/typescript/lib/lib.es5.d.ts:1076

VersionError.stack


readonly static errorCode:
| "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" = "FAILED_PRECONDITION";

Defined in: src/errors.ts:168

Canonical code hoisted as vgi_rpc.error_code (WIRE_PROTOCOL.md §8).


readonly static errorKind: "protocol_version_mismatch" = ERROR_KIND_PROTOCOL_VERSION_MISMATCH;

Defined in: src/errors.ts:164

Typed vgi_rpc.error_kind marker hoisted onto the error batch metadata.


static stackTraceLimit: number;

Defined in: node_modules/@types/node/globals.d.ts:67

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

VersionError.stackTraceLimit

get errorDetails(): PreconditionFailure[];

Defined in: src/errors.ts:188

One protocol_version violation naming the gated protocol. With several bindings hosted, “Server: 2.0.0” alone does not say which server.

PreconditionFailure[]

static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/@types/node/globals.d.ts:51

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();
Parameter Type
targetObject object
constructorOpt? Function

void

VersionError.captureStackTrace

static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/bun-types/globals.d.ts:1042

Create .stack property on a target object

Parameter Type
targetObject object
constructorOpt? Function

void

VersionError.captureStackTrace


static isError(error): error is Error;

Defined in: docs/node_modules/typescript/lib/lib.esnext.error.d.ts:21

Indicates whether the argument provided is a built-in Error instance or not.

Parameter Type
error unknown

error is Error

VersionError.isError

static isError(value): value is Error;

Defined in: node_modules/bun-types/globals.d.ts:1037

Check if a value is an instance of Error

Parameter Type Description
value unknown The value to check

value is Error

True if the value is an instance of Error, false otherwise

VersionError.isError


static prepareStackTrace(err, stackTraces): any;

Defined in: node_modules/@types/node/globals.d.ts:55

Parameter Type
err Error
stackTraces CallSite[]

any

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

VersionError.prepareStackTrace