Module: Agentic

Defined in:
lib/agentic/structured_outputs.rb,
lib/agentic.rb,
lib/agentic/ui.rb,
lib/agentic/cli.rb,
lib/agentic/task.rb,
lib/agentic/agent.rb,
lib/agentic/logger.rb,
lib/agentic/version.rb,
lib/agentic/learning.rb,
lib/agentic/cli/agent.rb,
lib/agentic/extension.rb,
lib/agentic/cli/config.rb,
lib/agentic/llm_client.rb,
lib/agentic/llm_config.rb,
lib/agentic/observable.rb,
lib/agentic/task_result.rb,
lib/agentic/agent_config.rb,
lib/agentic/capabilities.rb,
lib/agentic/llm_response.rb,
lib/agentic/retry_config.rb,
lib/agentic/task_failure.rb,
lib/agentic/task_planner.rb,
lib/agentic/retry_handler.rb,
lib/agentic/execution_plan.rb,
lib/agentic/factory_methods.rb,
lib/agentic/task_definition.rb,
lib/agentic/cli/capabilities.rb,
lib/agentic/errors/llm_error.rb,
lib/agentic/execution_result.rb,
lib/agentic/generation_stats.rb,
lib/agentic/adaptation_engine.rb,
lib/agentic/plan_orchestrator.rb,
lib/agentic/agent_specification.rb,
lib/agentic/capability_provider.rb,
lib/agentic/task_output_schemas.rb,
lib/agentic/agent_assembly_engine.rb,
lib/agentic/capabilities/examples.rb,
lib/agentic/plan_execution_result.rb,
lib/agentic/task_execution_result.rb,
lib/agentic/cli/execution_observer.rb,
lib/agentic/default_agent_provider.rb,
lib/agentic/expected_answer_format.rb,
lib/agentic/persistent_agent_store.rb,
lib/agentic/capability_specification.rb,
lib/agentic/extension/domain_adapter.rb,
lib/agentic/extension/plugin_manager.rb,
lib/agentic/plan_orchestrator_config.rb,
lib/agentic/agent_capability_registry.rb,
lib/agentic/extension/protocol_handler.rb,
lib/agentic/learning/pattern_recognizer.rb,
lib/agentic/learning/strategy_optimizer.rb,
lib/agentic/learning/capability_optimizer.rb,
lib/agentic/verification/critic_framework.rb,
lib/agentic/verification/verification_hub.rb,
lib/agentic/learning/execution_history_store.rb,
lib/agentic/verification/verification_result.rb,
lib/agentic/llm_assisted_composition_strategy.rb,
lib/agentic/verification/verification_strategy.rb,
lib/agentic/verification/llm_verification_strategy.rb,
lib/agentic/verification/schema_verification_strategy.rb

Overview

Defined Under Namespace

Modules: Capabilities, Errors, Extension, FactoryMethods, Learning, Observable, StructuredOutputs, UI, Verification Classes: AdaptationEngine, Agent, AgentAssemblyEngine, AgentCapabilityRegistry, AgentCompositionStrategy, AgentConfig, AgentSpecification, CLI, CapabilityProvider, CapabilitySpecification, Configuration, DefaultAgentProvider, DefaultCompositionStrategy, Error, ExecutionPlan, ExecutionResult, ExpectedAnswerFormat, GenerationStats, LlmAssistedCompositionStrategy, LlmClient, LlmConfig, LlmResponse, Logger, PersistentAgentStore, PlanExecutionResult, PlanOrchestrator, PlanOrchestratorConfig, RetryConfig, RetryHandler, Task, TaskDefinition, TaskExecutionResult, TaskFailure, TaskOutputSchemas, TaskPlanner, TaskResult

Constant Summary collapse

VERSION =
"0.2.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.agent_assembly_engineObject (readonly)

Returns the value of attribute agent_assembly_engine.



49
50
51
# File 'lib/agentic.rb', line 49

def agent_assembly_engine
  @agent_assembly_engine
end

.agent_capability_registryObject (readonly)

Returns the value of attribute agent_capability_registry.



49
50
51
# File 'lib/agentic.rb', line 49

def agent_capability_registry
  @agent_capability_registry
end

.agent_storeObject (readonly)

Returns the value of attribute agent_store.



49
50
51
# File 'lib/agentic.rb', line 49

def agent_store
  @agent_store
end

.configurationObject



52
53
54
# File 'lib/agentic.rb', line 52

def self.configuration
  @configuration ||= Configuration.new
end

.loggerObject

Returns the value of attribute logger.



32
33
34
# File 'lib/agentic.rb', line 32

def logger
  @logger
end

Class Method Details

.assemble_agent(task, strategy: nil, store: true, use_llm: false) ⇒ Agent

Assemble an agent for a task

Parameters:

  • task (Task)

    The task to assemble an agent for

  • strategy (AgentCompositionStrategy, nil) (defaults to: nil)

    The strategy to use

  • store (Boolean) (defaults to: true)

    Whether to use the agent store

  • use_llm (Boolean) (defaults to: false)

    Whether to use LLM-assisted strategy if no strategy provided

Returns:

  • (Agent)

    The assembled agent



94
95
96
97
98
99
100
101
102
103
# File 'lib/agentic.rb', line 94

def self.assemble_agent(task, strategy: nil, store: true, use_llm: false)
  initialize_agent_assembly

  # Use LLM-assisted strategy if requested and no strategy provided
  if use_llm && strategy.nil?
    strategy = LlmAssistedCompositionStrategy.new
  end

  @agent_assembly_engine.assemble_agent(task, strategy: strategy, store: store)
end

.client(config) ⇒ Object



60
61
62
# File 'lib/agentic.rb', line 60

def self.client(config)
  LlmClient.new(config)
end

.configure {|configuration| ... } ⇒ Object

Yields:



56
57
58
# File 'lib/agentic.rb', line 56

def self.configure
  yield(configuration)
end

.initialize_agent_assemblyObject

Initialize the core agent self-assembly components



65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/agentic.rb', line 65

def self.initialize_agent_assembly
  # Create registry, store, and assembly engine if not already initialized
  unless @agent_capability_registry
    @agent_capability_registry = AgentCapabilityRegistry.instance
    @agent_store = PersistentAgentStore.new(configuration.agent_store_path, @agent_capability_registry)
    @agent_assembly_engine = AgentAssemblyEngine.new(@agent_capability_registry, @agent_store)

    # Register standard capabilities
    Capabilities.register_standard_capabilities

    logger.info("Initialized agent assembly system")
  end
end

.llm_assisted_strategy(llm_config = nil) ⇒ LlmAssistedCompositionStrategy

Create an LLM-assisted composition strategy

Parameters:

  • llm_config (LlmConfig, nil) (defaults to: nil)

    The LLM config to use

Returns:



108
109
110
# File 'lib/agentic.rb', line 108

def self.llm_assisted_strategy(llm_config = nil)
  LlmAssistedCompositionStrategy.new(llm_config)
end

.register_capability(capability, provider) ⇒ CapabilitySpecification

Register a capability with the system

Parameters:

Returns:



83
84
85
86
# File 'lib/agentic.rb', line 83

def self.register_capability(capability, provider)
  initialize_agent_assembly
  @agent_capability_registry.register(capability, provider)
end