Core API
The core package owns config validation, the seeded PRNG, event emission, presets, and the browser-side chaos engine used by every adapter.
Main exports
Section titled “Main exports”export { ChaosMaker, ChaosConfigError, validateConfig, ChaosEventEmitter, ChaosConfigBuilder, presets, createPrng, generateSeed, SW_BRIDGE_SOURCE,};ChaosMaker
Section titled “ChaosMaker”class ChaosMaker { constructor(config: ChaosConfig); start(): void; stop(): void; getSeed(): number; getLog(): ChaosEvent[]; clearLog(): void; on(type: ChaosEventType | '*', listener: ChaosEventListener): void; off(type: ChaosEventType | '*', listener: ChaosEventListener): void;}Most users should call a framework adapter instead of constructing ChaosMaker directly.
PRNG helpers
Section titled “PRNG helpers”function createPrng(seed?: number): { random: () => number; seed: number };function generateSeed(): number;generateSeed() is the only intentional Math.random() use in core. All chaos decisions use createPrng(seed).random.
Service Worker subpath
Section titled “Service Worker subpath”import { installChaosSW } from '@chaos-maker/core/sw';
installChaosSW({ source: 'message' });The main package also exports SW_BRIDGE_SOURCE for adapters. Most users should prefer adapter helpers such as injectSWChaos() instead of calling the bridge directly.