Class: LanguageOperator::Dsl::AgentContext

Inherits:
Object
  • Object
show all
Defined in:
lib/language_operator/dsl/agent_context.rb

Overview

DSL context for defining agents

Provides the evaluation context for agent definition files. Agents are defined using the agent method within this context.

Examples:

Agent definition file

agent "news-summarizer" do
  description "Daily news summarization"

  schedule "0 12 * * *"

  task :search,
    instructions: "search for recent news",
    inputs: {},
    outputs: { results: 'array' }

  main do |inputs|
    results = execute_task(:search)
    results
  end
end

Instance Method Summary collapse

Constructor Details

#initialize(registry) ⇒ AgentContext

Initialize context with registry

Parameters:



30
31
32
# File 'lib/language_operator/dsl/agent_context.rb', line 30

def initialize(registry)
  @registry = registry
end

Instance Method Details

#agent(name) { ... } ⇒ void

This method returns an undefined value.

Define an agent

Parameters:

  • name (String)

    Agent name

Yields:

  • Agent definition block



39
40
41
42
43
# File 'lib/language_operator/dsl/agent_context.rb', line 39

def agent(name, &)
  agent_def = AgentDefinition.new(name)
  agent_def.instance_eval(&) if block_given?
  @registry.register(agent_def)
end