Resolves a status string to an abstract color scheme name for use in `StatusBadge` components across job, ClickUp task, and log-level status surfaces. ## Key Components | Export | Type | Description | |--------|------|-------------| | `ColorScheme` | `type` | Union type: `'success' \| 'error' \| 'warning' \| 'cyan' \| 'default'` | | `getStatusColorScheme` | `function` | Maps a status string to a `ColorScheme` value | ### Resolution Strategy `getStatusColorScheme` applies a two-pass lookup: 1. **Exact match** — case-sensitive switch on common statuses 2. **Partial match** — lowercase substring checks for ClickUp-style freeform statuses (e.g. `"In Progress"`, `"Complete"`) | ColorScheme | Matched statuses | |-------------|-----------------| | `success` | `completed`, `success`, `active`, `*complete*`, `*done*` | | `error` | `failed`, `failure`, `cancelled`, `error`, `*blocked*`, `*failed*` | | `cyan` | `running`, `processing`, `closed`, `*review*` | | `warning` | `pending`, `warning`, `*working*`, `*progress*` | | `default` | `draft`, `info`, or any unmatched value | ## Usage Example ```typescript import { getStatusColorScheme } from './agent-status-message' // Exact match getStatusColorScheme('completed') // → 'success' getStatusColorScheme('failed') // → 'error' getStatusColorScheme('running') // → 'cyan' // Partial match (ClickUp-style) getStatusColorScheme('In Progress') // → 'warning' getStatusColorScheme('Done') // → 'success' getStatusColorScheme('Code Review') // → 'cyan' // Consumed by StatusBadge ``` > **Note:** This is the lib-side subset of the hub's `agent-status-message.ts`. CSS class resolvers and the `AgentStatusMessage` SSE builder live hub-side, as they reference hub-only ODS class names.