classify_stop#

Understand request ownership, phases, and runtime limits. See the guide.

zett_agent.stop.classify_stop(raw, *, has_tool_calls=False, category=None, message=None, recommended_model=None, detail=None)[源代码]#

Turn a provider's raw stop value into a StopInfo.

The raw value is looked up without regard to case. A step that finished (stop, end_turn) but carries tool calls is StopReason.TOOL_USE, because that is what Gemini, which reports STOP either way, means. A step with no value at all is treated as finished, or as asking for tools, so an adapter that reports nothing does not look like a failure.

A refusal or an interruption with no category takes the raw value as its category, so "what kind" is never empty when the provider said anything.

参数:
  • raw (str | None) -- The provider's value, or None when it gave none.

  • has_tool_calls (bool) -- Whether the step produced tool calls.

  • category (str | None) -- A more specific category than the raw value, when the provider has one.

  • message (str | None) -- A sentence for a person.

  • recommended_model (str | None) -- A model the provider suggests retrying on.

  • detail (Mapping[str, Any] | None) -- Provider-specific facts to keep.

返回类型:

StopInfo