<!-- source-hash: 20391ac02d557100140a6d8d11a61656 -->
Builds and exports URL helpers for third-party app deep-links used across chat surfaces (chip clicks, inline-card tracking rows).

## Key Components

| Export | Type | Description |
|--------|------|-------------|
| `clickupTaskUrl` | `function` | Generates a ClickUp task detail URL from an external task ID |

## Usage Example

```typescript
import { clickupTaskUrl } from './external-app-urls'

// Valid external ID → returns full URL
clickupTaskUrl('abc123')
// → "https://app.clickup.com/t/abc123"

// Missing or nullish ID → returns null (prevents broken `.../t/undefined` links)
clickupTaskUrl(null)       // → null
clickupTaskUrl(undefined)  // → null
clickupTaskUrl('')         // → null
```

## Notes

- This is the **lib-side subset** of the hub's `external-app-urls.ts` — only helpers consumed by shared/chat surfaces live here.
- HubSpot and admin route builders remain hub-side as they are only used by hub-internal mappers.
- Null-safe by design: always check the return value before rendering a link.