Eve
Project Eve’s durable session view while preserving delivery and interaction semantics.
Bind the native session hook
Install eve@1.0.0-rc.0 and configure its server/framework integration. The recipe targets Eve's current release candidate, not older 0.x event shapes. Follow view setup. Mount a new keyed owner when replacing session configuration.
Pass { agent: "support" } for a named same-origin agent, or { baseUrl: "/api" } for your proxy; do not combine them. The identity must name the application/native session context, not a display label. Keep native session lifecycle in the owner that supplies these options.
Acceptance, completion and human input
send() resolves when delivery is accepted, not when every turn has finished. Eve owns its authoritative event log and projected messages; use its native follow/resume APIs for durable progress. An active turn paused for human input can report idle, so Ghost takes explicit canCancel from activeTurn(eve.view) rather than inferring cancellation from a busy label.
Interaction parts remain explicit eve-interaction data, separate from tool execution. Render their validated options in your application and send the actual native answer. Approval, clarification and a tool result have different payloads; do not manufacture a boolean approval from an arbitrary interaction.
Troubleshooting
A successful send with unfinished work may be an accepted delivery; inspect the native view rather than marking execution complete. A disabled stop may mean there is no active turn. A changed baseUrl or session option needs a replacement owner, not only new props. See threads, adapters and stability for the shared contracts.