diff --git a/src/contracts.ts b/src/contracts.ts index 70348ef..8e6f8ef 100644 --- a/src/contracts.ts +++ b/src/contracts.ts @@ -151,7 +151,20 @@ export interface ActivityCard { sourceRunId?: ID; anchorMessageId?: ID; kind: CardKind; title: string; status: CardStatus; tone?: string; body?: UINode[]; actions?: { id: string; label: string; style?: 'primary' | 'default' | 'danger'; command?: string }[]; - pinned?: boolean; createdAt: string; updatedAt: string; + pinned?: boolean; createdAt: string; updatedAt: string; work?: WorkCard; +} + +export interface WorkCard { + result?: string; resultVersion: number; readVersion: number; completedAt?: string; + decision?: WorkDecision; +} +export interface WorkDecision { + mode: 'single' | 'multiple'; state: 'open' | 'deferred' | 'submitted'; + options?: { id: string; label: string }[]; + selectedIds?: string[]; freeText?: string; respondedAt?: string; +} +export interface WorkCardAction { + resultVersion: number; selectedIds?: string[]; freeText?: string; } export interface CardPayload { card: ActivityCard }