Back to Agent Zero

stop.py DOX

api/stop.py.dox.md

2.81.4 KB
Original Source

stop.py DOX

Purpose

  • Own the authenticated WebUI endpoint that stops an active agent run without deleting or resetting its chat context.

Ownership

  • stop.py resolves the requested in-memory context and exposes the shared stop_context() operation used by the endpoint and slash command.

Runtime Contracts

  • Stop derives from ApiHandler, retaining the default authentication and CSRF protections.
  • Input uses the selected chat ID in context; the endpoint never creates a missing context.
  • Stopping cancels the context task through AgentContext.kill_process(), clears pause state, preserves chat history and queued messages, and does not start another run.
  • The endpoint clears active progress and logs a terminal Agent process stopped. info step so the WebUI closes the interrupted process group.
  • The response contains message, context, and a stopped boolean indicating whether the context was running when requested.
  • Other authenticated entry points should call stop_context() so cancellation, progress cleanup, and terminal logging remain identical to the Stop button.

Work Guidance

  • Keep this endpoint aligned with the composer stop-button state and the existing AgentContext task lifecycle.

Verification

  • Run pytest tests/test_stop_agent.py and smoke-test stopping during model streaming and tool execution.

Child DOX Index

No child DOX files.