Module: Ask::Rails
- Defined in:
- lib/ask/rails.rb,
lib/ask/rails/tool.rb,
lib/ask/rails/engine.rb,
lib/ask/rails/railtie.rb,
lib/ask/rails/version.rb,
lib/ask/rails/persistence.rb,
lib/ask/rails/configuration.rb,
lib/ask/rails/tools/read_log.rb,
lib/ask/rails/tools/read_file.rb,
lib/ask/rails/tools/read_model.rb,
lib/ask/rails/service_discovery.rb,
lib/ask/rails/tools/read_routes.rb,
lib/ask/rails/tools/run_command.rb,
lib/ask/rails/tools/query_database.rb,
lib/ask/rails/tools/search_codebase.rb,
lib/generators/ask/rails/install/install_generator.rb
Defined Under Namespace
Modules: Generators, ServiceDiscovery, Tools
Classes: Configuration, Engine, Persistence, Railtie, Tool
Constant Summary
collapse
- VERSION =
"0.2.3"
Class Method Summary
collapse
Class Method Details
.agent_session(**extra) ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/ask/rails.rb', line 18
def agent_session(**)
tools = configuration.tools.map { |t| t.is_a?(Class) ? t.new : t }
prompt = .delete(:system_prompt) || configuration.system_prompt || default_system_prompt
Ask::Agent::Session.new(
model: configuration.default_model,
max_turns: configuration.max_turns,
system_prompt: prompt,
tools: tools,
persistence: configuration.persistence_adapter,
**
)
end
|
.configuration ⇒ Object
14
15
16
|
# File 'lib/ask/rails.rb', line 14
def configuration
@configuration ||= Configuration.new
end
|
10
11
12
|
# File 'lib/ask/rails.rb', line 10
def configure
yield configuration
end
|
32
33
34
|
# File 'lib/ask/rails.rb', line 32
def discover_tools!
self.configuration.tools = Ask::Tools::Shell::TOOLS.map(&:new) + discovered_rails_tools
end
|
.root ⇒ Object
36
37
38
|
# File 'lib/ask/rails.rb', line 36
def root
@root ||= Pathname.new(File.expand_path("..", __dir__))
end
|