mnesis.events.payloads¶
payloads
¶
Typed payload definitions for each MnesisEvent.
Each event published by Mnesis components carries a payload dict. This module
defines a TypedDict for every event so handlers can use static type
checkers and IDE auto-complete rather than guessing key names at runtime.
Usage example::
from mnesis.events.bus import EventBus, MnesisEvent
from mnesis.events.payloads import CompactionCompletedPayload
def on_compaction(event: MnesisEvent, payload: CompactionCompletedPayload) -> None:
print(
f"Compacted {payload['compacted_message_count']} messages "
f"at level {payload['level_used']} "
f"({payload['tokens_before']} → {payload['tokens_after']} tokens)"
)
bus.subscribe(MnesisEvent.COMPACTION_COMPLETED, on_compaction) # type: ignore[arg-type]
SessionCreatedPayload
¶
SessionClosedPayload
¶
Bases: TypedDict
Payload for :attr:MnesisEvent.SESSION_CLOSED.
MessageCreatedPayload
¶
CompactionTriggeredPayload
¶
CompactionCompletedPayload
¶
Bases: TypedDict
Payload for :attr:MnesisEvent.COMPACTION_COMPLETED.
This is the model_dump() of a :class:mnesis.models.message.CompactionResult.
All fields from CompactionResult are present.
summary_message_id
instance-attribute
¶
ID of the newly created summary message, or "" on failure.
level_used
instance-attribute
¶
Escalation level: 1 = selective LLM, 2 = aggressive LLM, 3 = deterministic.
pruned_tool_outputs
instance-attribute
¶
Number of tool outputs tombstoned by the pruner during this run.
CompactionFailedPayload
¶
Bases: TypedDict
Payload for :attr:MnesisEvent.COMPACTION_FAILED.
DoomLoopDetectedPayload
¶
Bases: TypedDict
Payload for :attr:MnesisEvent.DOOM_LOOP_DETECTED.
tool
instance-attribute
¶
Name of the tool call that was repeated past the doom-loop threshold.
MapStartedPayload
¶
Bases: TypedDict
Payload for :attr:MnesisEvent.MAP_STARTED (operator bus only).
model is present only for :class:~mnesis.operators.LLMMap.
type is present only for :class:~mnesis.operators.AgenticMap (value: "agentic").
MapItemCompletedPayload
¶
Bases: TypedDict
Payload for :attr:MnesisEvent.MAP_ITEM_COMPLETED (operator bus only).
MapCompletedPayload
¶
Bases: TypedDict
Payload for :attr:MnesisEvent.MAP_COMPLETED (operator bus only).
completed is present only for :class:~mnesis.operators.LLMMap.
:class:~mnesis.operators.AgenticMap publishes only total.