Skip to main content

Loop definitions

@betterdata/loop-definitions is the canonical source for Commerce Chain loop IDs, event names, and the LoopParticipantManifest shape domain modules implement.

LoopIds

import { LoopIds } from "@betterdata/loop-definitions";

LoopIds.SCM_PROCUREMENT; // "scm.procurement"
LoopIds.SCM_FULFILLMENT; // "scm.fulfillment"
LoopIds.SCM_QUALITY; // "scm.quality"
LoopIds.SCM_REPLENISHMENT; // "scm.replenishment"
LoopIds.SCM_INVENTORY; // "scm.inventory"
LoopIds.SCM_EXECUTION; // "scm.execution"

LoopIds.DCM_DEMAND_SIGNAL; // "dcm.demand-signal"
LoopIds.DCM_DEMAND; // "dcm.demand"
LoopIds.DCM_ORDER; // "dcm.order"
LoopIds.DCM_RETURNS; // "dcm.returns"
LoopIds.DCM_CHANNELS; // "dcm.channels"

EventNames

Convention: {family}.{module}.{snake_case_past_tense}.v{N}
import { EventNames } from "@betterdata/loop-definitions";

EventNames.INVENTORY_STOCK_RESERVED; // "scm.inventory.stock_reserved.v1"
EventNames.INVENTORY_STOCK_RESERVATION_FAILED;
EventNames.INVENTORY_STOCK_RETURNED;

EventNames.PROCUREMENT_PO_CONFIRMED; // "scm.procurement.po_confirmed.v1"
EventNames.EXECUTION_GOODS_RECEIVED; // "scm.execution.goods_received.v1"

EventNames.DEMAND_REPLENISHMENT_TRIGGERED;
EventNames.DEMAND_THRESHOLD_BREACH_DETECTED;

EventNames.ORDERS_ORDER_CONFIRMED;
EventNames.ORDERS_ORDER_LINE_SHIPPED;

EventNames.RETURNS_RMA_APPROVED;
EventNames.RETURNS_RETURN_RECEIVED;
EventNames.RETURNS_RETURN_CREDITED;

LoopParticipantManifest

import type { LoopParticipantManifest } from "@betterdata/loop-definitions";

// Every module exports a manifest:
// { moduleId, description?, handles: [{ event, loops, description? }] }

Participant validation

@betterdata/loop-actors ships tests that fail CI when a participant references an unknown loop or event constant — keeping the graph consistent as you add modules.

Serializable definitions

The package also publishes data-first loop definitions (states, transitions) for dashboards, compliance maps, and tooling. Browse:

Install

npm install @betterdata/loop-definitions
Loops
SCM packages · DCM packages