Class: Aidp::Harness::UI::Navigation::WorkflowSelector
- Inherits:
-
Base
- Object
- Base
- Aidp::Harness::UI::Navigation::WorkflowSelector
show all
- Defined in:
- lib/aidp/harness/ui/navigation/workflow_selector.rb
Overview
Handles workflow mode selection (simple vs advanced)
Defined Under Namespace
Classes: InvalidModeError, SelectionError, WorkflowError
Constant Summary
collapse
- WORKFLOW_MODES =
{
simple: {
name: "Simple Mode",
description: "Predefined workflows with guided templates",
icon: "🚀"
},
advanced: {
name: "Advanced Mode",
description: "Custom workflow configuration",
icon: "⚙️"
}
}.freeze
Instance Method Summary
collapse
Constructor Details
#initialize(ui_components = {}, prompt: nil) ⇒ WorkflowSelector
Returns a new instance of WorkflowSelector.
33
34
35
36
37
38
39
|
# File 'lib/aidp/harness/ui/navigation/workflow_selector.rb', line 33
def initialize(ui_components = {}, prompt: nil)
super()
@prompt = prompt || ui_components[:prompt] || TTY::Prompt.new
@pastel = Pastel.new
@formatter = ui_components[:formatter] || WorkflowFormatter.new
@state_manager = ui_components[:state_manager]
end
|
Instance Method Details
#get_available_modes ⇒ Object
60
61
62
|
# File 'lib/aidp/harness/ui/navigation/workflow_selector.rb', line 60
def get_available_modes
WORKFLOW_MODES.keys
end
|
#get_mode_info(mode) ⇒ Object
64
65
66
67
|
# File 'lib/aidp/harness/ui/navigation/workflow_selector.rb', line 64
def get_mode_info(mode)
validate_mode(mode)
WORKFLOW_MODES[mode]
end
|
#is_advanced_mode?(mode) ⇒ Boolean
73
74
75
|
# File 'lib/aidp/harness/ui/navigation/workflow_selector.rb', line 73
def is_advanced_mode?(mode)
mode == :advanced
end
|
#is_simple_mode?(mode) ⇒ Boolean
69
70
71
|
# File 'lib/aidp/harness/ui/navigation/workflow_selector.rb', line 69
def is_simple_mode?(mode)
mode == :simple
end
|
#select_workflow_mode ⇒ Object
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/aidp/harness/ui/navigation/workflow_selector.rb', line 41
def select_workflow_mode
display_mode_selection
selection = prompt_for_mode_selection
validate_selection(selection)
selected_mode = parse_selection(selection)
record_selection(selected_mode)
selected_mode
rescue => e
raise SelectionError, "Failed to select workflow mode: #{e.message}"
end
|
#show_mode_description(mode) ⇒ Object
53
54
55
56
57
58
|
# File 'lib/aidp/harness/ui/navigation/workflow_selector.rb', line 53
def show_mode_description(mode)
validate_mode(mode)
mode_info = WORKFLOW_MODES[mode]
display_mode_info(mode_info)
end
|