---
title: Sender
description: "Who delivered an event: an Agent by its slot, or a Gate by its invoke id (ADR-0015)."
---

# `Sender`

Type, in `src/define-event.ts` of `@jr2/agent-protocol`, a dependency of `@jr2/orchestrator`. The signature of an export, or a type that it names, names this type. The [Authoring surface](../authoring-surface.md) page lists each export. This type is not an export of `@jr2/orchestrator`, so a workflow module does not import it by name.

```ts
type Sender = { readonly party: "agent" | "gate"; readonly id: string };
```

Who delivered an event: an Agent by its slot, or a Gate by its invoke id ([ADR-0015](../decisions/0015-authoring-surface-absorbs-the-mechanism.md)).

**Fields**

- `party`: `"agent" | "gate"`
- `id`: `string`
