Core
Core Entry
Everything exported from the @kumbatio/energy-system package root
import { createEnergyEngine, uiVisibilityStrategy /* ... */ } from '@kumbatio/energy-system'The core entry is pure TypeScript with no DOM or React dependency. It exports the engine, the domain types, the five-level model, seven built-in adaptation strategies, presence annotation, focus sessions, the notification gate, deferral presets, the inbound-demand policy, derived metrics, and compatibility helpers for external level models.
Export map
| Category | Values | Types |
|---|---|---|
| Engine | createEnergyEngine | EnergyEngine, EnergyEngineOptions |
| Types and constants | ENERGY_LEVEL_VALUES, ENERGY_PRESENCE_VALUES, ENERGY_SOURCE_VALUES | EnergyLevel, EnergySource, EnergyState, EnergyClock, EnergyChangeListener, EnergyPresence, EnergyPresenceMap, CognitiveProfile, DecisionCapacity, FocusDuration, TaskComplexity, InterruptionTolerance, EnergyLevelDefinition, AdaptationStrategy, EnergyPersistence, EnergyMetrics |
| Levels | createEnergyState, cycleEnergyLevel, getEnergyLevel, getEnergyLevels, isEnergyLevel, isEnergySource, isHigherEnergy | - |
| Strategies | uiVisibilityStrategy, notificationStrategy, taskComplexityStrategy, interactionForgivenessStrategy, deferralStrategy | UIVisibilityConfig, NotificationConfig, TaskComplexityConfig, InteractionForgivenessConfig, DeferralConfig |
| Presence | defineEnergyPresence, presenceAtOrAbove, presenceAtOrBelow, resolveEnergyPresence, isEnergyPresence, isPresenceVisible, createPresenceStrategy | EnergyPresenceSpec |
| Focus sessions | createFocusSessionController, isSessionExpired, sessionRemainingMs | FocusSession, FocusSessionController, FocusSessionControllerOptions, FocusSessionEvent, FocusSessionListener, FocusSuppressible, StartFocusSessionOptions |
| Notification gate | createNotificationGate, isNotificationPriority, resolveNotificationOutcome | EnergyNotification, GateScheduler, NotificationChannels, NotificationDelivery, NotificationDeliveryReason, NotificationGate, NotificationGateOptions, NotificationPriority, PublishOutcome |
| Deferral | DEFERRAL_PRESET_IDS, createDeferralPresets, deferralStrategy, resolveDeferral | DeferralConfig, DeferralPreset, DeferralPresetOptions |
| Metrics | getEnergyMetrics | EnergyMetrics |
| Compatibility | createExternalLevelCompatibility, cycleDiscreteLevel, mapToNearestDiscreteLevel, mapToNearestEnergyLevel | ExternalLevelCompatibility, ExternalLevelCompatibilityOptions |
Minimal example
import { createEnergyEngine, uiVisibilityStrategy } from '@kumbatio/energy-system'
const engine = createEnergyEngine({ initialLevel: 75 })
engine.subscribe((state, prev) => {
console.log(`energy ${prev.level} -> ${state.level}`)
})
engine.setLevel(50)
const ui = engine.resolve(uiVisibilityStrategy) // UIVisibilityConfig for level 50