# Class Registry<A>

#### Type Parameters

- A extends RegistryActors

- Defined in rivetkit-typescript/packages/rivetkit/src/registry.ts:47

##### Index

### Constructors

constructor

### Accessors

config

### Methods

start

## Constructors

### constructor

- new Registry<
  A extends
  Record<string, ActorDefinition<any, any, any, any, any, any, any>>,
  >(
  config: { use: Record<string, AnyActorDefinition> },
  ): Registry<A>

  #### Type Parameters

  - A extends Record<string, ActorDefinition<any, any, any, any, any, any, any>>

  #### Parameters

  - config: { use: Record<string, AnyActorDefinition> }

  #### Returns Registry<A>

  - Defined in rivetkit-typescript/packages/rivetkit/src/registry.ts:54

## Accessors

### config

- get config(): { use: Record<string, AnyActorDefinition> }

  #### Returns { use: Record<string, AnyActorDefinition> }

  - Defined in rivetkit-typescript/packages/rivetkit/src/registry.ts:50

## Methods

### start

- start(
  inputConfig?: {
  autoConfigureServerless?:
  | boolean
  | {
  headers?: Record<string, string>;
  maxRunners?: number;
  metadata?: Record<string, unknown>;
  minRunners?: number;
  requestLifespan?: number;
  runnersMargin?: number;
  slotsPerRunner?: number;
  url?: string;
  };
  basePath?: string;
  defaultServerPort?: number;
  disableActorDriver?: boolean;
  disableDefaultServer?: boolean;
  disableMetadataLookup?: boolean;
  driver?: {
  actor: ActorDriverBuilder;
  manager: ManagerDriverBuilder;
  name: string;
  };
  encoding?: "json"
  | "cbor"
  | "bare";
  endpoint?: string;
  getUpgradeWebSocket?: GetUpgradeWebSocket;
  headers?: Record<string, string>;
  inspector?: {
  defaultEndpoint?: string;
  enabled?: boolean | { actor?: boolean; manager?: boolean };
  token?: (...args: unknown[]) => string;
  };
  logging?: {
  baseLogger?: Logger;
  level?: | "error"
  | "trace"
  | "fatal"
  | "warn"
  | "info"
  | "debug"
  | "silent";
  };
  maxIncomingMessageSize?: number;
  namespace?: string;
  noWelcome?: boolean;
  overrideServerAddress?: string;
  runEngine?: boolean;
  runEngineVersion?: string;
  runnerKey?: string;
  runnerKind?: "serverless"
  | "normal";
  runnerName?: string;
  token?: string;
  totalSlots?: number;
  },
  ): ServerOutput<Registry<A>>

  Runs the registry for a server.

  #### Parameters

  - `Optional` inputConfig: {
    autoConfigureServerless?:
    | boolean
    | {
    headers?: Record<string, string>;
    maxRunners?: number;
    metadata?: Record<string, unknown>;
    minRunners?: number;
    requestLifespan?: number;
    runnersMargin?: number;
    slotsPerRunner?: number;
    url?: string;
    };
    basePath?: string;
    defaultServerPort?: number;
    disableActorDriver?: boolean;
    disableDefaultServer?: boolean;
    disableMetadataLookup?: boolean;
    driver?: {
    actor: ActorDriverBuilder;
    manager: ManagerDriverBuilder;
    name: string;
    };
    encoding?: "json"
    | "cbor"
    | "bare";
    endpoint?: string;
    getUpgradeWebSocket?: GetUpgradeWebSocket;
    headers?: Record<string, string>;
    inspector?: {
    defaultEndpoint?: string;
    enabled?: boolean | { actor?: boolean; manager?: boolean };
    token?: (...args: unknown[]) => string;
    };
    logging?: {
    baseLogger?: Logger;
    level?: "error"
    | "trace"
    | "fatal"
    | "warn"
    | "info"
    | "debug"
    | "silent";
    };
    maxIncomingMessageSize?: number;
    namespace?: string;
    noWelcome?: boolean;
    overrideServerAddress?: string;
    runEngine?: boolean;
    runEngineVersion?: string;
    runnerKey?: string;
    runnerKind?: "serverless"
    | "normal";
    runnerName?: string;
    token?: string;
    totalSlots?: number;
    }

    - ##### `Optional` `Experimental` autoConfigureServerless?:
      | boolean
      | {
      headers?: Record<string, string>;
      maxRunners?: number;
      metadata?: Record<string, unknown>;
      minRunners?: number;
      requestLifespan?: number;
      runnersMargin?: number;
      slotsPerRunner?: number;
      url?: string;
      }

      Automatically configure serverless runners in the engine. Can only be used when runnerKind is "serverless". If true, uses default configuration. Can also provide custom configuration.

    - ##### `Optional` `Experimental` basePath?: string

      Base path for the router. This is used to prefix all routes. For example, if the base path is `/api`, then the route `/actors` will be available at `/api/actors`.

    - ##### `Optional` `Experimental` defaultServerPort?: number

    - ##### `Optional` `Experimental` disableActorDriver?: boolean

    - ##### `Optional` `Experimental` disableDefaultServer?: boolean

    - ##### `Optional` disableMetadataLookup?: boolean

      Whether to automatically perform health checks when the client is created.

    - ##### `Optional` driver?: { actor: ActorDriverBuilder; manager: ManagerDriverBuilder; name: string }

      - ##### actor: ActorDriverBuilder

      - ##### manager: ManagerDriverBuilder

      - ##### name: string

        Machine-readable name to identify this driver by.

    - ##### `Optional` encoding?: "json" | "cbor" | "bare"

    - ##### `Optional` endpoint?: string

      Endpoint to connect to for Rivet Engine or RivetKit manager API.

    - ##### `Optional` getUpgradeWebSocket?: GetUpgradeWebSocket

    - ##### `Optional` headers?: Record<string, string>

    - ##### `Optional` `Experimental` inspector?: {
      defaultEndpoint?: string;
      enabled?: boolean | { actor?: boolean; manager?: boolean };
      token?: (...args: unknown[]) => string;
      }

      - ##### `Optional` defaultEndpoint?: string

        Default RivetKit server endpoint for Rivet Inspector to connect to. This should be the same endpoint as what you use for your Rivet client to connect to RivetKit.

        This is a convenience property just for printing out the inspector URL.

      - ##### `Optional` enabled?: boolean | { actor?: boolean; manager?: boolean }

      - ##### `Optional` token?: (...args: unknown[]) => string

        Token used to access the Inspector.

    - ##### `Optional` `Experimental` logging?: {
      baseLogger?: Logger;
      level?: "error" | "trace" | "fatal" | "warn" | "info" | "debug" | "silent";
      }

    - ##### `Optional` `Experimental` maxIncomingMessageSize?: number

    - ##### `Optional` namespace?: string

      Namespace to connect to.

    - ##### `Optional` `Experimental` noWelcome?: boolean

      Disable welcome message.

    - ##### `Optional` `Experimental` overrideServerAddress?: string

    - ##### `Optional` `Experimental` runEngine?: boolean

    - ##### `Optional` `Experimental` runEngineVersion?: string

    - ##### `Optional` runnerKey?: string

      Unique key for this runner. Runners connecting a given key will replace any other runner connected with the same key.

    - ##### `Optional` `Experimental` runnerKind?: "serverless" | "normal"

      Whether to run runners normally or have them managed serverlessly (by the Rivet Engine for example).

    - ##### `Optional` runnerName?: string

      Name of the runner. This is used to group together runners in to different pools.

    - ##### `Optional` token?: string

      Token to use to authenticate with the API.

    - ##### `Optional` totalSlots?: number

      How many actors this runner can run.

  #### Returns ServerOutput<Registry<A>>

  - Defined in rivetkit-typescript/packages/rivetkit/src/registry.ts:61