35 lines
837 B
Python
35 lines
837 B
Python
"""Packet policy: who may do what to a packet, and when. Pure functions, no I/O. See docs/POLICY.md."""
|
|||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from .actions import ACTIVE, RULES, SHOP, STATUSES, TRANSITIONS, Action, Rule, Who
|
||
|
|
from .custody import holder_name, holds, works_on
|
||
|
|
from .engine import Decision, can, check, evaluate
|
||
|
|
from .preconditions import INPUT_ONLY, MESSAGES, PRECONDITIONS
|
||
|
|
from .principal import SYSTEM_FEED, PacketState, Principal, principal_from_roles
|
||
|
|
|
||
|
|
__all__ = [
|
||
|
|
"ACTIVE",
|
||
|
|
"INPUT_ONLY",
|
||
|
|
"MESSAGES",
|
||
|
|
"PRECONDITIONS",
|
||
|
|
"RULES",
|
||
|
|
"SHOP",
|
||
|
|
"STATUSES",
|
||
|
|
"SYSTEM_FEED",
|
||
|
|
"TRANSITIONS",
|
||
|
|
"Action",
|
||
|
|
"Decision",
|
||
|
|
"PacketState",
|
||
|
|
"Principal",
|
||
|
|
"Rule",
|
||
|
|
"Who",
|
||
|
|
"can",
|
||
|
|
"check",
|
||
|
|
"evaluate",
|
||
|
|
"holder_name",
|
||
|
|
"holds",
|
||
|
|
"principal_from_roles",
|
||
|
|
"works_on",
|
||
|
|
]
|