hap.types.nodesΒΆ

HAP type definitions for Haive graph nodes.

This module defines HAP protocol types for exposing various node types used in Haive graphs.

ClassesΒΆ

AgentNodeInfo

Information about agent nodes.

CallableNodeInfo

Information about callable/function nodes.

MultiAgentNodeInfo

Information about multi-agent nodes.

NodeConfigInfo

Base information about a node configuration.

NodeCreationRequest

Request to create a new node.

NodeExecutionRequest

Request to execute a specific node.

NodeExecutionResult

Result from node execution.

NodeIntrospectionResult

Result of node introspection.

NodeUpdateRequest

Request to update a node configuration.

ParserNodeInfo

Information about parser nodes.

ToolNodeInfo

Information about tool nodes.

ToolNodeResult

Result from tool node execution.

ValidationNodeInfo

Information about validation nodes.

ValidationNodeResult

Result from validation node execution.

Module ContentsΒΆ

class hap.types.nodes.AgentNodeInfo(/, **data: Any)ΒΆ

Bases: NodeConfigInfo

Information about agent nodes.

Parameters:

data (Any)

agent_class: str = NoneΒΆ
agent_name: str = NoneΒΆ
has_post_agent: bool = NoneΒΆ
has_pre_agent: bool = NoneΒΆ
node_type: Literal['agent'] = 'agent'ΒΆ
supports_async: bool = NoneΒΆ
class hap.types.nodes.CallableNodeInfo(/, **data: Any)ΒΆ

Bases: NodeConfigInfo

Information about callable/function nodes.

Parameters:

data (Any)

function_name: str = NoneΒΆ
function_signature: str = NoneΒΆ
is_async: bool = NoneΒΆ
node_type: Literal['callable'] = 'callable'ΒΆ
class hap.types.nodes.MultiAgentNodeInfo(/, **data: Any)ΒΆ

Bases: NodeConfigInfo

Information about multi-agent nodes.

Parameters:

data (Any)

agents: list[str] = NoneΒΆ
execution_mode: Literal['sequential', 'parallel', 'conditional'] = NoneΒΆ
node_type: Literal['multi_agent'] = 'multi_agent'ΒΆ
routing_config: dict[str, Any] | None = NoneΒΆ
class hap.types.nodes.NodeConfigInfo(/, **data: Any)ΒΆ

Bases: haive.hap.types.BaseInfo

Base information about a node configuration.

Parameters:

data (Any)

configuration: dict[str, Any] = NoneΒΆ
input_fields: list[str] = NoneΒΆ
node_class: str = NoneΒΆ
node_type: str = NoneΒΆ
output_fields: list[str] = NoneΒΆ
requires_state_schema: bool = NoneΒΆ
supports_streaming: bool = NoneΒΆ
class hap.types.nodes.NodeCreationRequest(/, **data: Any)ΒΆ

Bases: pydantic.BaseModel

Request to create a new node.

Parameters:

data (Any)

config: dict[str, Any] = NoneΒΆ
input_mapping: dict[str, str] | None = NoneΒΆ
name: str = NoneΒΆ
node_type: str = NoneΒΆ
output_mapping: dict[str, str] | None = NoneΒΆ
class hap.types.nodes.NodeExecutionRequest(/, **data: Any)ΒΆ

Bases: pydantic.BaseModel

Request to execute a specific node.

Parameters:

data (Any)

config: dict[str, Any] | None = NoneΒΆ
node_name: str = NoneΒΆ
state: dict[str, Any] = NoneΒΆ
class hap.types.nodes.NodeExecutionResult(/, **data: Any)ΒΆ

Bases: pydantic.BaseModel

Result from node execution.

Parameters:

data (Any)

duration_ms: float | None = NoneΒΆ
error: str | None = NoneΒΆ
metadata: dict[str, Any] = NoneΒΆ
output: dict[str, Any] | None = NoneΒΆ
status: Literal['success', 'error', 'skipped'] = NoneΒΆ
class hap.types.nodes.NodeIntrospectionResult(/, **data: Any)ΒΆ

Bases: pydantic.BaseModel

Result of node introspection.

Parameters:

data (Any)

can_execute: bool = NoneΒΆ
dependencies: list[str] = NoneΒΆ
missing_requirements: list[str] = NoneΒΆ
node_info: NodeConfigInfo = NoneΒΆ
node_name: str = NoneΒΆ
performance_stats: dict[str, Any] | None = NoneΒΆ
class hap.types.nodes.NodeUpdateRequest(/, **data: Any)ΒΆ

Bases: pydantic.BaseModel

Request to update a node configuration.

Parameters:

data (Any)

node_name: str = NoneΒΆ
update_mappings: bool = NoneΒΆ
updates: dict[str, Any] = NoneΒΆ
class hap.types.nodes.ParserNodeInfo(/, **data: Any)ΒΆ

Bases: NodeConfigInfo

Information about parser nodes.

Parameters:

data (Any)

node_type: Literal['parser'] = 'parser'ΒΆ
output_model: str | None = NoneΒΆ
parser_type: str = NoneΒΆ
supports_streaming: bool = NoneΒΆ
class hap.types.nodes.ToolNodeInfo(/, **data: Any)ΒΆ

Bases: NodeConfigInfo

Information about tool nodes.

Parameters:

data (Any)

node_type: Literal['tool'] = 'tool'ΒΆ
parallel_execution: bool = NoneΒΆ
tool_names: list[str] = NoneΒΆ
tool_schemas: dict[str, dict[str, Any]] = NoneΒΆ
class hap.types.nodes.ToolNodeResult(/, **data: Any)ΒΆ

Bases: NodeExecutionResult

Result from tool node execution.

Parameters:

data (Any)

parallel_execution: bool = NoneΒΆ
tool_calls: list[dict[str, Any]] = NoneΒΆ
tool_results: dict[str, Any] = NoneΒΆ
class hap.types.nodes.ValidationNodeInfo(/, **data: Any)ΒΆ

Bases: NodeConfigInfo

Information about validation nodes.

Parameters:

data (Any)

max_retries: int = NoneΒΆ
node_type: Literal['validation'] = 'validation'ΒΆ
supports_retry: bool = NoneΒΆ
tool_routes: dict[str, str] = NoneΒΆ
validation_model: str | None = NoneΒΆ
class hap.types.nodes.ValidationNodeResult(/, **data: Any)ΒΆ

Bases: NodeExecutionResult

Result from validation node execution.

Parameters:

data (Any)

final_output: Any | None = NoneΒΆ
retry_count: int = NoneΒΆ
validation_errors: list[dict[str, Any]] = NoneΒΆ
validation_passed: bool = NoneΒΆ