pamoja for TypeScript - v0.2.0
    Preparing search index...

    Namespace profile

    Ergonomic facade over the generated device-profile binding.

    A profile is a named, pre-wired bundle: a control policy, a publish topic, and a power schedule. Instantiate one rather than choosing algorithms and tuning constants by hand.

    A profile is the manifest, which loads from and saves to JSON so it ships as a file. A controller is the decision logic that manifest describes: hand it a reading and it says what the output should do and whether the reading crossed a threshold worth raising. The presentation a dashboard reads travels inside the manifest JSON and is read and built here as a typed Presentation.

    A Node runs a profile: each tick reads, lets the profile's policy decide, switches the output, and publishes the reading over a link, and run repeats that at the cadence the battery allows. A PolicyRegistry resolves a control kind the library never shipped to the program's own code.

    A rule file decides between nodes: a RuleEngine runs it off a link, switching outputs by name and publishing as rules set and clear, and RuleEvaluator is its deciding half for a program that moves its own messages.

    The alert, control, and rule action kinds are re-exported as runtime objects, because the generated enums are types-only.

    Controller
    Node
    PolicyRegistry
    Profile
    RuleEngine
    RuleEvaluator
    AlertReport
    ControlPolicy
    ElementSpec
    EngineRunOptions
    LinkMessage
    NodeOptions
    Policy
    PowerScheduleSettings
    PowerScheduleSpec
    Presentation
    Reaction
    Reads
    RuleAction
    RuleEngineOptions
    RuleFired
    RunOptions
    Theme
    Tick
    AlertKind
    ControlKind
    PolicyFactory
    RuleActionKind
    Viz
    AlertKind
    ControlKind
    RuleActionKind
    Viz