Skip to main content

restore_interaction_point

Function restore_interaction_point 

Source
pub fn restore_interaction_point(
    world: &mut World,
    entity: Entity,
    state: InteractionPointState,
)
Expand description

Re-arm an agent that was blocked at an interaction point when the daemon stopped, bringing it back in the waiting state with the same open request - rather than the default Active + ReadyToInfer restore, which would re-issue inference and drop the prompt.

Looks up the point from the agent’s (already-restored) blueprint + stage cursor, restores the point cursor/round, flips the agent to Waiting (clearing the spawn-set ReadyToInfer, marking AwaitingInteractionPoint), and re-spawns the ask task so the request re-registers in the hub with the same id ({agent_id}-point-{name}-{round}). From there it is indistinguishable from a live dispatch: a client that had the prompt open still sees it, and answering it later routes normally through collect_interaction_point.

A no-op (leaving the default restore in place) when the interaction-point lane isn’t wired (a test world), or when the stage is no longer an interactive-points stage / the cursor is out of range (e.g. the blueprint changed under the run).