<!-- source-hash: e2c52b22632b1213075a4266559e9a2b -->
Shared wire types for the Delivery (ClickUp bug-fixes & enhancements) surface, used by both the hub's `/api/delivery*` routes and the lib's `DeliveryTable`/`DeliveryLists`/`DeliverySection` components.

## Key Components

| Export | Type | Description |
|--------|------|-------------|
| `DeliveryItem` | `interface` | Canonical shape for a single ClickUp task (bug or enhancement) |
| `DeliveryResponse` | `interface` | API response envelope splitting items into `completed` and `inProgress` buckets |
| `TASK_TYPE_LABELS` | `const` | Maps ClickUp task types to display badge labels (`Request` → `ENHANCEMENT`, `Bug` → `BUG-FIX`) |
| `TASK_TYPE_TEXT_COLORS` | `const` | Maps task types to ODS CSS token classes (attention-red for bugs) |

### `DeliveryItem` Notable Fields

| Field | Type | Notes |
|-------|------|-------|
| `customItemId` | `number \| null` | ClickUp `custom_item_id` used to render a `TaskTypeIcon` instead of initials fallback |
| `listNames` | `string[]` | All ClickUp lists the task belongs to; falls back to a single-element array |
| `dateClosed` | `number \| null` | Unix timestamp; `null` when task is still open |

## Usage Example

```typescript
import {
  DeliveryItem,
  DeliveryResponse,
  TASK_TYPE_LABELS,
  TASK_TYPE_TEXT_COLORS,
} from '@your-lib/types/delivery';

// Consuming an API response
const response: DeliveryResponse = await fetch('/api/delivery').then(r => r.json());

// Rendering a badge label and color
function getTaskBadge(item: DeliveryItem) {
  const label = TASK_TYPE_LABELS[item.taskType as keyof typeof TASK_TYPE_LABELS] ?? item.taskType;
  const color = TASK_TYPE_TEXT_COLORS[item.taskType as keyof typeof TASK_TYPE_TEXT_COLORS] ?? '';
  return { label, color };
}
```