<!--
 ⚠️  AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
 This file is automatically generated by scripts/docs-generator.js
 To make changes, edit the source TypeScript files or update the generator script
-->

[agents](../../) / [Exports](../modules) / UsagePluginOptions

# Interface: UsagePluginOptions

Configuration options for usage plugin

## Hierarchy

- [`IPluginOptions`](IPluginOptions)

  ↳ **`UsagePluginOptions`**

## Table of contents

### Properties

- [enabled](UsagePluginOptions#enabled)
- [category](UsagePluginOptions#category)
- [priority](UsagePluginOptions#priority)
- [moduleEvents](UsagePluginOptions#moduleevents)
- [subscribeToAllModuleEvents](UsagePluginOptions#subscribetoallmoduleevents)
- [strategy](UsagePluginOptions#strategy)
- [filePath](UsagePluginOptions#filepath)
- [remoteEndpoint](UsagePluginOptions#remoteendpoint)
- [remoteHeaders](UsagePluginOptions#remoteheaders)
- [maxEntries](UsagePluginOptions#maxentries)
- [trackCosts](UsagePluginOptions#trackcosts)
- [costRates](UsagePluginOptions#costrates)
- [batchSize](UsagePluginOptions#batchsize)
- [flushInterval](UsagePluginOptions#flushinterval)
- [aggregateStats](UsagePluginOptions#aggregatestats)
- [aggregationInterval](UsagePluginOptions#aggregationinterval)

## Properties

### enabled

• `Optional` **enabled**: `boolean`

Whether the plugin is enabled

#### Inherited from

[IPluginOptions](IPluginOptions).[enabled](IPluginOptions#enabled)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:126](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L126)

---

### category

• `Optional` **category**: [`PluginCategory`](../enums/PluginCategory)

Plugin category for classification

#### Inherited from

[IPluginOptions](IPluginOptions).[category](IPluginOptions#category)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:128](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L128)

---

### priority

• `Optional` **priority**: `number`

Plugin priority for execution order

#### Inherited from

[IPluginOptions](IPluginOptions).[priority](IPluginOptions#priority)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:130](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L130)

---

### moduleEvents

• `Optional` **moduleEvents**: [`EventType`](../modules#eventtype)[]

Events to subscribe to from modules

#### Inherited from

[IPluginOptions](IPluginOptions).[moduleEvents](IPluginOptions#moduleevents)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:132](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L132)

---

### subscribeToAllModuleEvents

• `Optional` **subscribeToAllModuleEvents**: `boolean`

Whether to subscribe to all module events

#### Inherited from

[IPluginOptions](IPluginOptions).[subscribeToAllModuleEvents](IPluginOptions#subscribetoallmoduleevents)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:134](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L134)

---

### strategy

• **strategy**: [`UsageTrackingStrategy`](../modules#usagetrackingstrategy)

Usage tracking strategy to use

#### Defined in

[packages/agents/src/plugins/usage/types.ts:72](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L72)

---

### filePath

• `Optional` **filePath**: `string`

File path for file strategy

#### Defined in

[packages/agents/src/plugins/usage/types.ts:74](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L74)

---

### remoteEndpoint

• `Optional` **remoteEndpoint**: `string`

Remote endpoint for remote strategy

#### Defined in

[packages/agents/src/plugins/usage/types.ts:76](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L76)

---

### remoteHeaders

• `Optional` **remoteHeaders**: `Record`\<`string`, `string`\>

Headers for remote logging

#### Defined in

[packages/agents/src/plugins/usage/types.ts:78](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L78)

---

### maxEntries

• `Optional` **maxEntries**: `number`

Maximum number of usage entries to keep in memory

#### Defined in

[packages/agents/src/plugins/usage/types.ts:80](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L80)

---

### trackCosts

• `Optional` **trackCosts**: `boolean`

Whether to track token costs

#### Defined in

[packages/agents/src/plugins/usage/types.ts:82](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L82)

---

### costRates

• `Optional` **costRates**: `Record`\<`string`, \{ `input`: `number` ; `output`: `number` }\>

Cost per token rates for different models

#### Defined in

[packages/agents/src/plugins/usage/types.ts:84](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L84)

---

### batchSize

• `Optional` **batchSize**: `number`

Batch size for remote reporting

#### Defined in

[packages/agents/src/plugins/usage/types.ts:86](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L86)

---

### flushInterval

• `Optional` **flushInterval**: `number`

Flush interval for batched reporting in milliseconds

#### Defined in

[packages/agents/src/plugins/usage/types.ts:88](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L88)

---

### aggregateStats

• `Optional` **aggregateStats**: `boolean`

Whether to aggregate statistics

#### Defined in

[packages/agents/src/plugins/usage/types.ts:90](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L90)

---

### aggregationInterval

• `Optional` **aggregationInterval**: `number`

Aggregation interval in milliseconds

#### Defined in

[packages/agents/src/plugins/usage/types.ts:92](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/plugins/usage/types.ts#L92)
