import { addCombatant, type CombatantId, type CombatantInit, type DomainError, type DomainEvent, } from "@initiative/domain"; import type { EncounterStore } from "./ports.js"; import { runEncounterAction } from "./run-encounter-action.js"; export function addCombatantUseCase( store: EncounterStore, id: CombatantId, name: string, init?: CombatantInit, ): DomainEvent[] | DomainError { return runEncounterAction(store, (encounter) => addCombatant(encounter, id, name, init), ); }