nat.data_models.interactive_http#
Data models for HTTP Human-in-the-Loop (HITL) and OAuth support.
These types power the execution + polling model that enables interactive workflows over plain HTTP (no WebSocket required).
Attributes#
Classes#
Status of an HTTP interactive execution. |
|
Common fields for every execution status variant. |
|
Execution is in progress, no interaction or result yet. |
|
Execution is paused waiting for a human interaction response. |
|
Execution is paused waiting for an OAuth consent flow to complete. |
|
Execution finished successfully. |
|
Execution finished with an error. |
|
Common fields for every 202 Accepted variant. |
|
202 response when the execution requires human interaction. |
|
202 response when the execution requires OAuth consent. |
|
Body for |
|
SSE event emitted in a streaming response when the workflow requires |
|
SSE event emitted in a streaming response when the workflow requires |
Module Contents#
- class ExecutionStatus#
Bases:
enum.StrEnumStatus of an HTTP interactive execution.
Initialize self. See help(type(self)) for accurate signature.
- RUNNING = 'running'#
- INTERACTION_REQUIRED = 'interaction_required'#
- OAUTH_REQUIRED = 'oauth_required'#
- COMPLETED = 'completed'#
- FAILED = 'failed'#
- class _ExecutionStatusBase(/, **data: Any)#
Bases:
pydantic.BaseModelCommon fields for every execution status variant.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.
- class ExecutionRunningStatus(/, **data: Any)#
Bases:
_ExecutionStatusBaseExecution is in progress, no interaction or result yet.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.- status: Literal[ExecutionStatus]#
- class ExecutionInteractionRequiredStatus(/, **data: Any)#
Bases:
_ExecutionStatusBaseExecution is paused waiting for a human interaction response.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.- status: Literal[ExecutionStatus]#
- prompt: nat.data_models.interactive.HumanPrompt = None#
- class ExecutionOAuthRequiredStatus(/, **data: Any)#
Bases:
_ExecutionStatusBaseExecution is paused waiting for an OAuth consent flow to complete.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.- status: Literal[ExecutionStatus]#
- class ExecutionCompletedStatus(/, **data: Any)#
Bases:
_ExecutionStatusBaseExecution finished successfully.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.- status: Literal[ExecutionStatus]#
- result: Any = None#
- class ExecutionFailedStatus(/, **data: Any)#
Bases:
_ExecutionStatusBaseExecution finished with an error.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.- status: Literal[ExecutionStatus]#
- ExecutionStatusResponse#
- class _ExecutionAcceptedBase(/, **data: Any)#
Bases:
_ExecutionStatusBaseCommon fields for every 202 Accepted variant.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.
- class ExecutionAcceptedInteraction(/, **data: Any)#
Bases:
_ExecutionAcceptedBase202 response when the execution requires human interaction.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.- status: Literal[ExecutionStatus]#
- prompt: nat.data_models.interactive.HumanPrompt = None#
- class ExecutionAcceptedOAuth(/, **data: Any)#
Bases:
_ExecutionAcceptedBase202 response when the execution requires OAuth consent.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.- status: Literal[ExecutionStatus]#
- ExecutionAcceptedResponse#
- class InteractionResponseRequest(/, **data: Any)#
Bases:
pydantic.BaseModelBody for
POST /executions/{execution_id}/interactions/{interaction_id}/response.Uses the existing
HumanResponsediscriminated union so that all interaction types (text, binary, radio, checkbox, dropdown, notification) are supported without new types.Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.- response: nat.data_models.interactive.HumanResponse = None#
- class StreamInteractionEvent(/, **data: Any)#
Bases:
pydantic.BaseModel,nat.data_models.api_server.ResponseSerializableSSE event emitted in a streaming response when the workflow requires human interaction (HITL).
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.- event_type: Literal['interaction_required'] = 'interaction_required'#
- prompt: nat.data_models.interactive.HumanPrompt = None#
- class StreamOAuthEvent(/, **data: Any)#
Bases:
pydantic.BaseModel,nat.data_models.api_server.ResponseSerializableSSE event emitted in a streaming response when the workflow requires OAuth authentication.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.- event_type: Literal['oauth_required'] = 'oauth_required'#