Package-level declarations

Types

Link copied to clipboard

How a chat-like trigger's TriggerMeta.criteria is compared against an incoming message.

Link copied to clipboard
class TriggerMeta(val id: Int, var type: String, val module: JimModule?, val callback: JimCallback)

One registered trigger. The callback (an arrow function, or a named function via convention) is stored as a uniform JimCallback, so the engine invokes bytecode lambdas and GraalJS guest functions the same way. module is nullable (null for /jim eval snippets) and is only used to unload a module's hooks.

Link copied to clipboard

Central registry of all live triggers, indexed by type. Registration happens while a module's main() runs (JS thread); lookups happen on whatever thread an event fires on, so everything is held in concurrent collections.

Link copied to clipboard

Canonical trigger-type strings accepted by register(type, cb), grouped as in the brief.