# Class AdapterModelError

Extended ModelError that supports specific error codes.

While ModelError from core uses MODEL_ERROR by default, this subclass allows adapters to specify more granular error codes like MODEL_RATE_LIMITED, MODEL_TIMEOUT, etc.

Extends ModelError so `instanceof ModelError` checks pass naturally without requiring `as unknown as ModelError` casts.

#### Hierarchy (View Summary)

- ModelError
  - AdapterModelError

- Defined in packages/nexus-agents/src/adapters/base-adapter.ts:64

##### Index

### Constructors

constructor

### Properties

stackTraceLimit
code
context
cause
name
message
stack?

### Methods

captureStackTrace
prepareStackTrace
toJSON

## Constructors

### constructor

- new AdapterModelError(
  message: string,
  options: NexusErrorOptions,
  ): AdapterModelError

  #### Parameters

  - message: string
  - options: NexusErrorOptions

  #### Returns AdapterModelError

  Overrides ModelError.constructor

  - Defined in packages/nexus-agents/src/adapters/base-adapter.ts:65

## Properties

### `Static` stackTraceLimit

stackTraceLimit: number

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 ModelError.stackTraceLimit

- Defined in node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.d.ts:67

### `Readonly` code

code: ErrorCode

Inherited from ModelError.code

- Defined in packages/nexus-agents/src/core/errors.ts:92

### `Readonly` context

context: Record<string, unknown> | undefined

Inherited from ModelError.context

- Defined in packages/nexus-agents/src/core/errors.ts:93

### `Readonly` cause

cause: Error | undefined

Inherited from ModelError.cause

- Defined in packages/nexus-agents/src/core/errors.ts:94

### name

name: string

Inherited from ModelError.name

- Defined in node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

### message

message: string

Inherited from ModelError.message

- Defined in node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

### `Optional` stack

stack?: string

Inherited from ModelError.stack

- Defined in node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

## Methods

### `Static` captureStackTrace

- captureStackTrace(targetObject: object, constructorOpt?: Function): void

  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

  - targetObject: object
  - `Optional` constructorOpt: Function

  #### Returns void

  Inherited from ModelError.captureStackTrace

  - Defined in node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.d.ts:51

### `Static` prepareStackTrace

- prepareStackTrace(err: Error, stackTraces: CallSite[]): any

  #### Parameters

  - err: Error
  - stackTraces: CallSite[]

  #### Returns any

  #### See

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

  Inherited from ModelError.prepareStackTrace

  - Defined in node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.d.ts:55

### toJSON

- toJSON(): SerializedError

  Serializes the error to a JSON-safe object.

  #### Returns SerializedError

  Inherited from ModelError.toJSON

  - Defined in packages/nexus-agents/src/core/errors.ts:110