Repository navigation
v2.0.0
Features
- User actions on chat turns (#374)
- A text turn can carry an
action: give cigarette / alcohol / medicine × quantity (with an optional name), orkiss/hug/touch/lick/custom. - The PDE judge accepts or refuses it. The response is stored on the user row and sent as an
action_responseSSE frame, and the reply prompt states the outcome. - A refusal drops the action's affinity line one tier (
give→ bond, others → chemistry) and keeps the relative position.
- A text turn can carry an
- Message reactions (#376)
- One standard emoji per persona message, skin tones included, via
PUT/DELETE /v2/comp/session/{session_id}/message/{message_id}/reaction. GET /v2/comp/reactionsserves the allowed range.CHAT_REACTION_EMOJInarrows it, and a malformed entry refuses boot.- The persona sees new reactions on the next text turn the user drives. A reaction never triggers a reply or moves affinity.
- History routes return
reaction. - Migration
0065adds two nullable columns toengine.chat_messages.
- One standard emoji per persona message, skin tones included, via
Docs
- User actions across the pipeline, audit and affinity references (#375)
- Message reactions across the architecture and prompt references (#377)
Breaking changes (crates)
eros-engine-core:Event::UserMessageandActionPlangain fields;pde::plan_forgains a parameter.eros-engine-store:AffinityRepo::persist_with_eventgains a parameter;ChatMessageandChatMessageSlimgain public fields.- HTTP clients that never send
actionor call the reaction routes see no change.
Image: ghcr.io/etherfunlab/eros-engine:2.0.0