> ## Documentation Index
> Fetch the complete documentation index at: https://botmesh.afaya.com.co/llms.txt
> Use this file to discover all available pages before exploring further.

# BotMetricsSnapshot

> Interface exported by @botmesh/core.

Defined in: [ops/metrics.ts:36](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L36)

Snapshot returned by `bot.metrics()`. Plain JSON — safe to serialise.

## Properties

### startedAt?

```ts theme={null}
startedAt?: number;
```

Defined in: [ops/metrics.ts:38](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L38)

Epoch ms of the last `start()`; `undefined` while the bot is not running.

***

### uptimeMs

```ts theme={null}
uptimeMs: number;
```

Defined in: [ops/metrics.ts:40](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L40)

Ms since the last `start()`; `0` while the bot is not running.

***

### uptime

```ts theme={null}
uptime: string;
```

Defined in: [ops/metrics.ts:42](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L42)

Human uptime, e.g. `'3d 4h'`, `'5m 12s'`.

***

### conversations

```ts theme={null}
conversations: ConversationCounters & object;
```

Defined in: [ops/metrics.ts:43](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L43)

#### Type Declaration

##### active

```ts theme={null}
active: number;
```

Conversations alive right now (running or waiting for a reply).

***

### flows

```ts theme={null}
flows: Record<string, ConversationCounters>;
```

Defined in: [ops/metrics.ts:48](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L48)

Per conversation/flow name.

***

### messages

```ts theme={null}
messages: object;
```

Defined in: [ops/metrics.ts:49](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L49)

#### in

```ts theme={null}
in: number;
```

Inbound messages/interactions accepted (after dedupe and access lists).

#### out

```ts theme={null}
out: number;
```

Outbound sends the provider accepted.

#### outFailed

```ts theme={null}
outFailed: number;
```

Outbound sends the provider rejected.

***

### dropped

```ts theme={null}
dropped: object;
```

Defined in: [ops/metrics.ts:57](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L57)

#### duplicate

```ts theme={null}
duplicate: number;
```

Redelivered inbound events dropped by `BotConfig.dedupe`.

#### blocked

```ts theme={null}
blocked: number;
```

Inbound dropped by the blacklist / whitelist.

#### handoff

```ts theme={null}
handoff: number;
```

Inbound not routed because the chat is in human handoff.

#### echo?

```ts theme={null}
echo?: number;
```

Echoes of the bot's own sends dropped by `BotConfig.echoFilter` (present only with the filter on).

***

### presenceSkipped

```ts theme={null}
presenceSkipped: object;
```

Defined in: [ops/metrics.ts:71](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L71)

Presence hints (`ctx.typing()`/`recording()`, the automatic typing indicator,
`ctx.markRead()`) skipped because the transport was disconnected (best-effort policy).

#### typing

```ts theme={null}
typing: number;
```

#### markRead

```ts theme={null}
markRead: number;
```

***

### triggered

```ts theme={null}
triggered: number;
```

Defined in: [ops/metrics.ts:73](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L73)

`bot.trigger()` calls that started a conversation.

***

### errors

```ts theme={null}
errors: number;
```

Defined in: [ops/metrics.ts:75](https://github.com/andresayac/botmesh/blob/main/packages/core/src/ops/metrics.ts#L75)

Errors reported to the bot `'error'` channel.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.