Sha256: 60dc6981882306de853eca8332b32b134945908094169e3758ea2c0b333880ee

Contents?: true

Size: 765 Bytes

Versions: 5

Compression:

Stored size: 765 Bytes

Contents

# frozen_string_literal: true

module Ad
  module AgentArchitecture
    module Dsl
      # This class is responsible for defining the prompts of a workflow
      class PromptDsl < ChildDsl
        def prompt(name, path: nil, content: nil)
          raise ArgumentError, 'Prompt name must be a string or symbol' unless name.is_a?(String) || name.is_a?(Symbol)

          prompts[name] = { name: name, content: content }
        end

        def prompt_file(file)
          prompt_path = settings[:prompt_path]
          raise 'Prompt path not defined in settings. Set "prompt_path" to the path where you are keping prompts' unless prompt_path

          full_path = File.join(prompt_path, file)
          File.read(full_path)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ad-agent_architecture-0.0.22 lib/ad/agent_architecture/dsl/prompt_dsl.rb
ad-agent_architecture-0.0.21 lib/ad/agent_architecture/dsl/prompt_dsl.rb
ad-agent_architecture-0.0.20 lib/ad/agent_architecture/dsl/prompt_dsl.rb
ad-agent_architecture-0.0.19 lib/ad/agent_architecture/dsl/prompt_dsl.rb
ad-agent_architecture-0.0.18 lib/ad/agent_architecture/dsl/prompt_dsl.rb