Skip to content

v2.0.0

Choose a tag to compare

@enriquephl enriquephl released this 05 Oct 03:03
· 120 commits to main since this release
v2.0.0
df22bcb

Features

  • User actions on chat turns (#374)
    • A text turn can carry an action: give cigarette / alcohol / medicine × quantity (with an optional name), or kiss / hug / touch / lick / custom.
    • The PDE judge accepts or refuses it. The response is stored on the user row and sent as an action_response SSE 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.
  • 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/reactions serves the allowed range. CHAT_REACTION_EMOJI narrows 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 0065 adds two nullable columns to engine.chat_messages.

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::UserMessage and ActionPlan gain fields; pde::plan_for gains a parameter.
  • eros-engine-store: AffinityRepo::persist_with_event gains a parameter; ChatMessage and ChatMessageSlim gain public fields.
  • HTTP clients that never send action or call the reaction routes see no change.

Image: ghcr.io/etherfunlab/eros-engine:2.0.0