tmcInventoryMachine
@mineflow/api-schemas / tmcInventoryMachine
Variable: tmcInventoryMachine
const tmcInventoryMachine: StateMachine<TmcInventoryContext,
| {
responsibleId: string;
type: "START";
warehouseId: string;
}
| {
allLinesAdjusted: boolean;
completedBy: string;
type: "COMPLETE";
}, {
}, never, never, {
}, never, "completed" | "draft" | "in_progress", string, NonReducibleUnknown, NonReducibleUnknown, EventObject, MetaObject, ToStateSchema<{
context: {
inventoryId: "";
};
id: "tmc-inventory";
initial: "draft";
states: {
completed: {
type: "final";
};
draft: {
on: {
START: {
target: "in_progress";
};
};
};
in_progress: {
on: {
COMPLETE: {
guard: "allLinesAdjusted";
target: "completed";
};
};
};
};
}>>;
Defined in: scm/src/tmc/state-machine/tmc-inventory.machine.ts:24
FSM инвентаризации ТМЦ (SCM TmcInventory).
Источник истины — entity (ADR-0022); машина — xstate v5 spec, re-export'ится
@mineflow/api-schemas для FSM-кнопок в UI.
Состояния и переходы:
draft(начальное) →START→in_progressin_progress→COMPLETE→completed(под guardallLinesAdjusted)completed— терминальное состояние.
При завершении для каждой строки с variance != 0 создаётся
TmcMovement(inventory_adjustment) — это делает use-case completeInventory,
не FSM.