haive.core.engine.agent.pattern¶

Pattern configuration for agent composition.

This module provides pattern-related configuration classes for the agent system, enabling declarative, pattern-based agent composition with proper validation and integration with the GraphPatternRegistry.

Classes¶

PatternConfig

Configuration for a pattern to be applied to an agent.

PatternManager

Manager for pattern application and tracking.

Module Contents¶

class haive.core.engine.agent.pattern.PatternConfig(/, **data)¶

Bases: pydantic.BaseModel

Configuration for a pattern to be applied to an agent.

This allows detailed configuration of pattern application, including parameters, application order, and conditions.

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.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

merge_with(other)¶

Merge this pattern configuration with another.

Parameters:

other (PatternConfig) – The other pattern config to merge with

Returns:

New merged pattern config

Return type:

PatternConfig

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class haive.core.engine.agent.pattern.PatternManager¶

Manager for pattern application and tracking.

This class handles pattern ordering, validation, parameter resolution, and application tracking.

Initialize the pattern manager.

add_pattern(pattern_name, parameters=None, order=None, condition=None, enabled=True)¶

Add a pattern to be applied.

Parameters:
  • pattern_name (str) – Name of the pattern in the registry

  • parameters (dict[str, Any] | None) – Parameters for pattern application

  • order (int | None) – Application order (lower numbers first)

  • condition (str | None) – Optional condition for pattern application

  • enabled (bool) – Whether this pattern is enabled

Return type:

None

applied_patterns_as_set()¶

Get all applied patterns as a set.

Returns:

Set of applied pattern names

Return type:

set[str]

disable_pattern(pattern_name)¶

Disable a pattern.

Parameters:

pattern_name (str) – Name of the pattern to disable

Return type:

None

enable_pattern(pattern_name)¶

Enable a pattern.

Parameters:

pattern_name (str) – Name of the pattern to enable

Return type:

None

classmethod from_dict(data)¶

Create from a dictionary representation.

Parameters:

data (dict[str, Any]) – Dictionary representation

Returns:

New PatternManager instance

Return type:

PatternManager

get_pattern_order()¶

Get ordered list of patterns to apply.

Returns:

List of pattern names in application order

Return type:

list[str]

get_pattern_parameters(pattern_name)¶

Get combined parameters for a pattern.

Parameters:

pattern_name (str) – Name of the pattern

Returns:

Combined parameters from pattern config and global parameters

Return type:

dict[str, Any]

get_required_components()¶

Get components required by patterns.

Returns:

List of component requirements

Return type:

list[Any]

is_pattern_applied(pattern_name)¶

Check if a pattern has been applied.

Parameters:

pattern_name (str) – Name of the pattern to check

Returns:

True if the pattern has been applied

Return type:

bool

mark_pattern_applied(pattern_name)¶

Mark a pattern as applied.

Parameters:

pattern_name (str) – Name of the pattern to mark

Return type:

None

parameters_as_dict()¶

Get all pattern parameters as a dictionary.

Returns:

Dictionary mapping pattern names to parameter dictionaries

Return type:

dict[str, dict[str, Any]]

patterns_as_list()¶

Get all pattern configurations as a list.

Returns:

List of pattern configurations

Return type:

list[PatternConfig]

set_pattern_parameters(pattern_name, **parameters)¶

Set global parameters for a pattern.

Parameters:
  • pattern_name (str) – Name of the pattern

  • **parameters – Parameter values

Return type:

None

to_dict()¶

Convert to a dictionary for serialization.

Returns:

Dictionary representation

Return type:

dict[str, Any]

validate_patterns()¶

Validate that all patterns exist in the registry.

Returns:

List of invalid pattern names

Return type:

list[str]