---
title: "Browser Types"
description: "Client logger config, client event shape, and browser-safe error utilities."
canonical_url: "https://www.blyp.dev/docs/types/browser"
markdown_url: "https://www.blyp.dev/docs/types/browser.md"
last_updated: "2018-10-20"
x_farming_labs_generated_preamble: true
---

# Browser Types
URL: /docs/types/browser
LLM index: /llms.txt
Description: Client logger config, client event shape, and browser-safe error utilities.

# Browser Types

Import these from `@blyp/core/client`:

```ts
import type {
  ClientLogger,
  ClientLoggerConfig,
  ClientLogEvent,
  ClientLogLevel,
  ClientLogBrowserContext,
  ClientLogDeviceContext,
  ClientLogPageContext,
  RemoteDeliveryConfig,
  RemoteDeliveryRetryContext,
  RemoteDeliverySuccessContext,
  RemoteDeliveryFailureContext,
  RemoteDeliveryDropContext,
  ParseErrorOptions,
  BlypErrorLike,
  BlypErrorCode,
} from "@blyp/core/client";
```

Expo-specific mobile types live under `@blyp/core/expo`:

```ts
import type {
  ExpoLogger,
  ExpoLoggerConfig,
  ClientLogDeviceContext,
  RemoteDeliveryConfig,
} from "@blyp/core/expo";
```

## Main interfaces

- `ClientLogger`: browser logger with `info`, `warning`, `error`, `critical`, `success`, `debug`, `table`, `child`
- `ClientLoggerConfig`: `endpoint`, `headers`, `credentials`, `localConsole`, `remoteSync`, `metadata`, `delivery`
- `ClientLogEvent`: normalized payload sent to the backend ingestion endpoint
- `ClientLogBrowserContext`: user agent, language, and platform info
- `ClientLogDeviceContext`: mobile/device metadata, including Expo network details when available
- `ClientLogPageContext`: current URL, pathname, search, hash, title, and referrer
- `RemoteDeliveryConfig`: retry/queue policy plus `onRetry`, `onSuccess`, `onFailure`, and `onDrop`
- `RemoteDeliveryRetryContext`, `RemoteDeliverySuccessContext`, `RemoteDeliveryFailureContext`, `RemoteDeliveryDropContext`: callback payloads for delivery lifecycle hooks
- `ParseErrorOptions`: `logger`, `logLevel`, and `fallbackStatus`
- `ExpoLogger` / `ExpoLoggerConfig`: mobile logger surface for Expo apps using absolute remote delivery

## Example

```ts
const config: ClientLoggerConfig = {
  endpoint: "/inngest",
  localConsole: true,
  remoteSync: true,
  delivery: {
    maxRetries: 3,
    retryDelayMs: 5000,
    maxQueueSize: 100,
  },
  metadata: {
    app: "dashboard",
  },
};
```

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
Docs-scoped sitemap: [/docs/sitemap.md](/docs/sitemap.md).
Well-known sitemap: [/.well-known/sitemap.md](/.well-known/sitemap.md).
