Class: Aidp::ProviderManager
- Inherits:
-
Object
- Object
- Aidp::ProviderManager
- Defined in:
- lib/aidp/provider_manager.rb
Class Method Summary collapse
-
.clear_cache ⇒ Object
Clear provider cache.
-
.create_harness_provider(provider_name, options = {}) ⇒ Object
Create provider using harness configuration.
-
.get_all_providers(options = {}) ⇒ Object
Get all configured providers.
-
.get_enabled_providers(options = {}) ⇒ Object
Get enabled providers.
-
.get_harness_factory ⇒ Object
Get harness factory instance.
- .get_provider(provider_type, options = {}) ⇒ Object
-
.get_provider_capabilities(provider_name, options = {}) ⇒ Object
Get provider capabilities.
-
.get_provider_models(provider_name, options = {}) ⇒ Object
Get provider models.
-
.get_providers_by_priority(options = {}) ⇒ Object
Get providers by priority.
- .load_from_config(config = {}, options = {}) ⇒ Object
-
.provider_configured?(provider_name, options = {}) ⇒ Boolean
Check if provider is configured.
-
.provider_enabled?(provider_name, options = {}) ⇒ Boolean
Check if provider is enabled.
-
.provider_supports_feature?(provider_name, feature, options = {}) ⇒ Boolean
Check if provider supports feature.
-
.reload_config ⇒ Object
Reload configuration.
-
.validate_all_provider_configs(options = {}) ⇒ Object
Validate all provider configurations.
-
.validate_provider_config(provider_name, options = {}) ⇒ Object
Validate provider configuration.
Class Method Details
.clear_cache ⇒ Object
Clear provider cache
126 127 128 |
# File 'lib/aidp/provider_manager.rb', line 126 def clear_cache @harness_factory&.clear_cache end |
.create_harness_provider(provider_name, options = {}) ⇒ Object
Create provider using harness configuration
37 38 39 40 41 42 |
# File 'lib/aidp/provider_manager.rb', line 37 def create_harness_provider(provider_name, = {}) factory = get_harness_factory raise "Harness factory not available" unless factory factory.create_provider(provider_name, ) end |
.get_all_providers(options = {}) ⇒ Object
Get all configured providers
45 46 47 48 49 50 |
# File 'lib/aidp/provider_manager.rb', line 45 def get_all_providers( = {}) factory = get_harness_factory return [] unless factory factory.create_all_providers() end |
.get_enabled_providers(options = {}) ⇒ Object
Get enabled providers
61 62 63 64 65 66 67 |
# File 'lib/aidp/provider_manager.rb', line 61 def get_enabled_providers( = {}) factory = get_harness_factory return [] unless factory enabled_names = factory.get_enabled_providers() factory.create_providers(enabled_names, ) end |
.get_harness_factory ⇒ Object
Get harness factory instance
27 28 29 30 31 32 33 34 |
# File 'lib/aidp/provider_manager.rb', line 27 def get_harness_factory @harness_factory ||= begin require_relative "harness/config_manager" Aidp::Harness::ProviderFactory.new rescue LoadError nil end end |
.get_provider(provider_type, options = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/aidp/provider_manager.rb', line 9 def get_provider(provider_type, = {}) # Use harness factory if available if [:use_harness] != false factory = get_harness_factory return factory.create_provider(provider_type, ) if factory end # Fallback to legacy method prompt = [:prompt] || TTY::Prompt.new create_legacy_provider(provider_type, prompt: prompt) end |
.get_provider_capabilities(provider_name, options = {}) ⇒ Object
Get provider capabilities
86 87 88 89 90 91 |
# File 'lib/aidp/provider_manager.rb', line 86 def get_provider_capabilities(provider_name, = {}) factory = get_harness_factory return [] unless factory factory.get_provider_capabilities(provider_name, ) end |
.get_provider_models(provider_name, options = {}) ⇒ Object
Get provider models
102 103 104 105 106 107 |
# File 'lib/aidp/provider_manager.rb', line 102 def get_provider_models(provider_name, = {}) factory = get_harness_factory return [] unless factory factory.get_provider_models(provider_name, ) end |
.get_providers_by_priority(options = {}) ⇒ Object
Get providers by priority
53 54 55 56 57 58 |
# File 'lib/aidp/provider_manager.rb', line 53 def get_providers_by_priority( = {}) factory = get_harness_factory return [] unless factory factory.create_providers_by_priority() end |
.load_from_config(config = {}, options = {}) ⇒ Object
21 22 23 24 |
# File 'lib/aidp/provider_manager.rb', line 21 def load_from_config(config = {}, = {}) provider_type = config["provider"] || "cursor" get_provider(provider_type, ) end |
.provider_configured?(provider_name, options = {}) ⇒ Boolean
Check if provider is configured
70 71 72 73 74 75 |
# File 'lib/aidp/provider_manager.rb', line 70 def provider_configured?(provider_name, = {}) factory = get_harness_factory return false unless factory factory.get_configured_providers().include?(provider_name.to_s) end |
.provider_enabled?(provider_name, options = {}) ⇒ Boolean
Check if provider is enabled
78 79 80 81 82 83 |
# File 'lib/aidp/provider_manager.rb', line 78 def provider_enabled?(provider_name, = {}) factory = get_harness_factory return false unless factory factory.get_enabled_providers().include?(provider_name.to_s) end |
.provider_supports_feature?(provider_name, feature, options = {}) ⇒ Boolean
Check if provider supports feature
94 95 96 97 98 99 |
# File 'lib/aidp/provider_manager.rb', line 94 def provider_supports_feature?(provider_name, feature, = {}) factory = get_harness_factory return false unless factory factory.provider_supports_feature?(provider_name, feature, ) end |
.reload_config ⇒ Object
Reload configuration
131 132 133 |
# File 'lib/aidp/provider_manager.rb', line 131 def reload_config @harness_factory&.reload_config end |
.validate_all_provider_configs(options = {}) ⇒ Object
Validate all provider configurations
118 119 120 121 122 123 |
# File 'lib/aidp/provider_manager.rb', line 118 def validate_all_provider_configs( = {}) factory = get_harness_factory return {} unless factory factory.validate_all_provider_configs() end |
.validate_provider_config(provider_name, options = {}) ⇒ Object
Validate provider configuration
110 111 112 113 114 115 |
# File 'lib/aidp/provider_manager.rb', line 110 def validate_provider_config(provider_name, = {}) factory = get_harness_factory return ["Harness factory not available"] unless factory factory.validate_provider_config(provider_name, ) end |