IdentityUnavailableError
Defined in: src/token-identity.ts:237
The answer is not knowable – a backing store is down, a 5xx upstream.
Transient, and distinct from a definitive rejection: a caller that negative-caches “unknown” must not cache this.
Deliberately not a plain Error – one whose constructor is Error
itself – and not a TokenUnresolvedError. chainAuthenticate advances to
the next authenticator only on an error whose constructor === Error (see
isCredentialError in src/http/bearer.ts), so a sidecar outage raised as
one is read as “not my credential, try the next” and emerges as a 401 from
the end of the chain – turning a thirty-second blip into a fleet-wide
re-login. Being its own subclass of Error is what makes it propagate.
Carries vgi_rpc.RetryInfo with retryAfter on the wire, as
WIRE_PROTOCOL.md §16 requires of identity_unavailable: a caller learns the
failure is transient and when to ask again.
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new IdentityUnavailableError(detail?, retryAfter?): IdentityUnavailableError;Defined in: src/token-identity.ts:251
Parameters
Section titled “Parameters”| Parameter | Type | Default value |
|---|---|---|
detail |
string |
"" |
retryAfter |
number |
5 |
Returns
Section titled “Returns”IdentityUnavailableError
Overrides
Section titled “Overrides”Error.constructorProperties
Section titled “Properties”cause?
Section titled “cause?”optional cause?: unknown;Defined in: docs/node_modules/typescript/lib/lib.es2022.error.d.ts:24
The cause of the error.
Inherited from
Section titled “Inherited from”Error.causedetail
Section titled “detail”readonly detail: string;Defined in: src/token-identity.ts:249
Operator-facing text. Must not contain the credential.
errorCode
Section titled “errorCode”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" = "UNAVAILABLE";Defined in: src/token-identity.ts:245
Canonical code hoisted as vgi_rpc.error_code.
errorKind
Section titled “errorKind”readonly errorKind: "identity_unavailable" = "identity_unavailable";Defined in: src/token-identity.ts:241
Typed marker hoisted onto the error batch metadata.
message
Section titled “message”message: string;Defined in: docs/node_modules/typescript/lib/lib.es5.d.ts:1075
Inherited from
Section titled “Inherited from”Error.messagename: string;Defined in: docs/node_modules/typescript/lib/lib.es5.d.ts:1074
Inherited from
Section titled “Inherited from”Error.nameretryAfter
Section titled “retryAfter”readonly retryAfter: number;Defined in: src/token-identity.ts:247
Seconds the caller should wait. A hint to retry, not a backoff schedule.
stack?
Section titled “stack?”optional stack?: string;Defined in: docs/node_modules/typescript/lib/lib.es5.d.ts:1076
Inherited from
Section titled “Inherited from”Error.stackerrorCode
Section titled “errorCode”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" = "UNAVAILABLE";Defined in: src/token-identity.ts:243
Canonical code this kind names (WIRE_PROTOCOL.md §16).
errorKind
Section titled “errorKind”readonly static errorKind: "identity_unavailable" = "identity_unavailable";Defined in: src/token-identity.ts:239
Typed vgi_rpc.error_kind marker for this error class.
stackTraceLimit
Section titled “stackTraceLimit”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.
Inherited from
Section titled “Inherited from”Error.stackTraceLimitAccessors
Section titled “Accessors”errorDetails
Section titled “errorDetails”Get Signature
Section titled “Get Signature”get errorDetails(): RetryInfo[];Defined in: src/token-identity.ts:259
The retry hint. Required on this kind (WIRE_PROTOCOL.md §16).
Returns
Section titled “Returns”Methods
Section titled “Methods”captureStackTrace()
Section titled “captureStackTrace()”Call Signature
Section titled “Call Signature”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();Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
targetObject |
object |
constructorOpt? |
Function |
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Error.captureStackTraceCall Signature
Section titled “Call Signature”static captureStackTrace(targetObject, constructorOpt?): void;Defined in: node_modules/bun-types/globals.d.ts:1042
Create .stack property on a target object
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
targetObject |
object |
constructorOpt? |
Function |
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Error.captureStackTraceisError()
Section titled “isError()”Call Signature
Section titled “Call Signature”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.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
error |
unknown |
Returns
Section titled “Returns”error is Error
Inherited from
Section titled “Inherited from”Error.isErrorCall Signature
Section titled “Call Signature”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
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
value |
unknown |
The value to check |
Returns
Section titled “Returns”value is Error
True if the value is an instance of Error, false otherwise
Inherited from
Section titled “Inherited from”Error.isErrorprepareStackTrace()
Section titled “prepareStackTrace()”static prepareStackTrace(err, stackTraces): any;Defined in: node_modules/@types/node/globals.d.ts:55
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
err |
Error |
stackTraces |
CallSite[] |
Returns
Section titled “Returns”any
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Inherited from
Section titled “Inherited from”Error.prepareStackTrace