<!--
 ⚠️  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) / ExecutionProxy

# Class: ExecutionProxy\<T\>

ExecutionProxy - Automatic event emission using Proxy pattern

This class wraps target objects and automatically emits events
around method execution without modifying business logic.

Benefits:

- Zero business logic pollution
- Automatic event emission
- Configurable per method
- AOP (Aspect-Oriented Programming) pattern

## Type parameters

| Name | Type                        |
| :--- | :-------------------------- |
| `T`  | extends `object` = `object` |

## Table of contents

### Constructors

- [constructor](ExecutionProxy#constructor)

### Methods

- [configureMethod](ExecutionProxy#configuremethod)
- [configureStandardMethods](ExecutionProxy#configurestandardmethods)
- [wrap](ExecutionProxy#wrap)

## Constructors

### constructor

• **new ExecutionProxy**\<`T`\>(`config`): [`ExecutionProxy`](ExecutionProxy)\<`T`\>

#### Type parameters

| Name | Type                        |
| :--- | :-------------------------- |
| `T`  | extends `object` = `object` |

#### Parameters

| Name     | Type                   |
| :------- | :--------------------- |
| `config` | `ExecutionProxyConfig` |

#### Returns

[`ExecutionProxy`](ExecutionProxy)\<`T`\>

#### Defined in

[packages/agents/src/utils/execution-proxy.ts:60](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/utils/execution-proxy.ts#L60)

## Methods

### configureMethod

▸ **configureMethod**(`methodName`, `config`): `this`

Configure specific methods for event emission

#### Parameters

| Name         | Type           |
| :----------- | :------------- |
| `methodName` | `string`       |
| `config`     | `MethodConfig` |

#### Returns

`this`

#### Defined in

[packages/agents/src/utils/execution-proxy.ts:67](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/utils/execution-proxy.ts#L67)

---

### configureStandardMethods

▸ **configureStandardMethods**(): `this`

Configure multiple methods with standard patterns

#### Returns

`this`

#### Defined in

[packages/agents/src/utils/execution-proxy.ts:75](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/utils/execution-proxy.ts#L75)

---

### wrap

▸ **wrap**(`target`): `T`

Create a proxy wrapper around the target object

#### Parameters

| Name     | Type |
| :------- | :--- |
| `target` | `T`  |

#### Returns

`T`

#### Defined in

[packages/agents/src/utils/execution-proxy.ts:162](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/utils/execution-proxy.ts#L162)
