@haneinfo/timer
v0.3.2
Published
Timer mechanism: Timer definitions (anchor, offset, repeat, activeWhile, notify or transition) and the due-time runtime with its worker, registered with @haneinfo/definition-registry.
Readme
@haneinfo/timer
Mechanism compatibility
Supports state-machine 0.7 as well as prior compatible releases. Timer-triggered guards use the shared Form date and UTC datetime comparison semantics through StateMachine.
Instance privacy boundary
Timer exposes no person-facing HTTP/MCP instance read or write entry point. Runtime get and TIMER transitions are trusted internal worker/listener operations. Person-facing state-machine calls check readability first and hide unreadable instances with INSTANCE_NOT_FOUND/404; readable users without a required write permission still receive 403.
Instance lifecycle (draft 202610-f1a8)
Implemented from draft decision 202610-f1a8; the decision remains draft. Upgrade state-machine, list-view, collaboration, attachments, import-export, assignment and timer together. No frontend, automatic archive or bulk lifecycle operations are included. Permanently purged data cannot be restored by this API: database and private file backups must cover the entire deletion retention period and be restored consistently.
The built-in store removes instance schedules and bindings in event.tx on state-machine.instance.purging. These tables use plain instance ids without foreign keys. Custom stores can implement purgeInstance. Soft-deleted instances resolve as absent and pending timers are cancelled by the existing firing path, without firing their action. Archive remains a view flag.
