Build
Service interfaces
The typed adapters the frontend talks to.
The UI depends only on service interfaces. The skeleton ships mock implementations; production implementations replace them without touching UI code.
export interface HookExecutionService {
getExecution(id: string): Promise<HookExecution | null>;
listExecutions(filters?: ExecutionFilters): Promise<HookExecution[]>;
executeHook(input: ExecuteHookInput): Promise<HookExecution>;
}