Defined in: [src/hooks/events.ts:98](https://github.com/strands-agents/harness-sdk/blob/main/strands-ts/src/hooks/events.ts#L98)

Base class for events that can be subscribed to via the hook system. Only events extending this class are dispatched to [HookRegistry](/pr-cms-5548/docs/api/typescript/HookRegistry/index.md) callbacks. All current events extend this class. [StreamEvent](/pr-cms-5548/docs/api/typescript/StreamEvent/index.md) exists as the base for potential future stream-only events that should not be hookable.

## Extends

-   [`StreamEvent`](/pr-cms-5548/docs/api/typescript/StreamEvent/index.md)

## Extended by

-   [`InitializedEvent`](/pr-cms-5548/docs/api/typescript/InitializedEvent/index.md)
-   [`BeforeInvocationEvent`](/pr-cms-5548/docs/api/typescript/BeforeInvocationEvent/index.md)
-   [`AfterInvocationEvent`](/pr-cms-5548/docs/api/typescript/AfterInvocationEvent/index.md)
-   [`MessageAddedEvent`](/pr-cms-5548/docs/api/typescript/MessageAddedEvent/index.md)
-   [`BeforeToolCallEvent`](/pr-cms-5548/docs/api/typescript/BeforeToolCallEvent/index.md)
-   [`AfterToolCallEvent`](/pr-cms-5548/docs/api/typescript/AfterToolCallEvent/index.md)
-   [`BeforeModelCallEvent`](/pr-cms-5548/docs/api/typescript/BeforeModelCallEvent/index.md)
-   [`AfterModelCallEvent`](/pr-cms-5548/docs/api/typescript/AfterModelCallEvent/index.md)
-   [`BeforeToolsEvent`](/pr-cms-5548/docs/api/typescript/BeforeToolsEvent/index.md)
-   [`AfterToolsEvent`](/pr-cms-5548/docs/api/typescript/AfterToolsEvent/index.md)
-   [`ContentBlockEvent`](/pr-cms-5548/docs/api/typescript/ContentBlockEvent/index.md)
-   [`ModelMessageEvent`](/pr-cms-5548/docs/api/typescript/ModelMessageEvent/index.md)
-   [`ToolResultEvent`](/pr-cms-5548/docs/api/typescript/ToolResultEvent/index.md)
-   [`ToolStreamUpdateEvent`](/pr-cms-5548/docs/api/typescript/ToolStreamUpdateEvent/index.md)
-   [`AgentResultEvent`](/pr-cms-5548/docs/api/typescript/AgentResultEvent/index.md)
-   [`InterruptEvent`](/pr-cms-5548/docs/api/typescript/InterruptEvent/index.md)
-   [`ModelStreamUpdateEvent`](/pr-cms-5548/docs/api/typescript/ModelStreamUpdateEvent/index.md)

## Constructors

### Constructor

```ts
new HookableEvent(data?): HookableEvent;
```

Defined in: [src/hooks/events.ts:102](https://github.com/strands-agents/harness-sdk/blob/main/strands-ts/src/hooks/events.ts#L102)

#### Parameters

| Parameter | Type |
| --- | --- |
| `data?` | `HookableEventData` |

#### Returns

`HookableEvent`

#### Overrides

[`StreamEvent`](/pr-cms-5548/docs/api/typescript/StreamEvent/index.md).[`constructor`](/pr-cms-5548/docs/api/typescript/StreamEvent/index.md#constructor)

## Properties

### invocationContext?

```ts
readonly invocationContext?: InvocationContext;
```

Defined in: [src/hooks/events.ts:100](https://github.com/strands-agents/harness-sdk/blob/main/strands-ts/src/hooks/events.ts#L100)

The request this event belongs to (`undefined` outside one); pass it to [InvokeOptions.invocationContext](/pr-cms-5548/docs/api/typescript/InvokeOptions/index.md#invocationcontext) to join it.