Class: Aidp::ProviderManager
- Inherits:
-
Object
- Object
- Aidp::ProviderManager
- Defined in:
- lib/aidp/provider_manager.rb
Class Attribute Summary collapse
-
.harness_factory ⇒ Object
Expose for testability.
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 Attribute Details
.harness_factory ⇒ Object
Expose for testability
9 10 11 |
# File 'lib/aidp/provider_manager.rb', line 9 def harness_factory @harness_factory end |
Class Method Details
.clear_cache ⇒ Object
Clear provider cache
118 119 120 |
# File 'lib/aidp/provider_manager.rb', line 118 def clear_cache @harness_factory&.clear_cache end |
.create_harness_provider(provider_name, options = {}) ⇒ Object
Create provider using harness configuration
29 30 31 32 33 34 |
# File 'lib/aidp/provider_manager.rb', line 29 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
37 38 39 40 41 42 |
# File 'lib/aidp/provider_manager.rb', line 37 def get_all_providers( = {}) factory = get_harness_factory return [] unless factory factory.create_all_providers() end |
.get_enabled_providers(options = {}) ⇒ Object
Get enabled providers
53 54 55 56 57 58 59 |
# File 'lib/aidp/provider_manager.rb', line 53 def get_enabled_providers( = {}) factory = get_harness_factory return [] unless factory enabled_names = factory.enabled_providers() factory.create_providers(enabled_names, ) end |
.get_harness_factory ⇒ Object
Get harness factory instance
24 25 26 |
# File 'lib/aidp/provider_manager.rb', line 24 def get_harness_factory @harness_factory ||= Aidp::Harness::ProviderFactory.new end |
.get_provider(provider_type, options = {}) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/aidp/provider_manager.rb', line 11 def get_provider(provider_type, = {}) factory = get_harness_factory raise "Harness factory not available" unless factory factory.create_provider(provider_type, ) end |
.get_provider_capabilities(provider_name, options = {}) ⇒ Object
Get provider capabilities
78 79 80 81 82 83 |
# File 'lib/aidp/provider_manager.rb', line 78 def get_provider_capabilities(provider_name, = {}) factory = get_harness_factory return [] unless factory factory.provider_capabilities(provider_name, ) end |
.get_provider_models(provider_name, options = {}) ⇒ Object
Get provider models
94 95 96 97 98 99 |
# File 'lib/aidp/provider_manager.rb', line 94 def get_provider_models(provider_name, = {}) factory = get_harness_factory return [] unless factory factory.provider_models(provider_name, ) end |
.get_providers_by_priority(options = {}) ⇒ Object
Get providers by priority
45 46 47 48 49 50 |
# File 'lib/aidp/provider_manager.rb', line 45 def get_providers_by_priority( = {}) factory = get_harness_factory return [] unless factory factory.create_providers_by_priority() end |
.load_from_config(config = {}, options = {}) ⇒ Object
18 19 20 21 |
# File 'lib/aidp/provider_manager.rb', line 18 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
62 63 64 65 66 67 |
# File 'lib/aidp/provider_manager.rb', line 62 def provider_configured?(provider_name, = {}) factory = get_harness_factory return false unless factory factory.configured_providers().include?(provider_name.to_s) end |
.provider_enabled?(provider_name, options = {}) ⇒ Boolean
Check if provider is enabled
70 71 72 73 74 75 |
# File 'lib/aidp/provider_manager.rb', line 70 def provider_enabled?(provider_name, = {}) factory = get_harness_factory return false unless factory factory.enabled_providers().include?(provider_name.to_s) end |
.provider_supports_feature?(provider_name, feature, options = {}) ⇒ Boolean
Check if provider supports feature
86 87 88 89 90 91 |
# File 'lib/aidp/provider_manager.rb', line 86 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
123 124 125 |
# File 'lib/aidp/provider_manager.rb', line 123 def reload_config @harness_factory&.reload_config end |
.validate_all_provider_configs(options = {}) ⇒ Object
Validate all provider configurations
110 111 112 113 114 115 |
# File 'lib/aidp/provider_manager.rb', line 110 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
102 103 104 105 106 107 |
# File 'lib/aidp/provider_manager.rb', line 102 def validate_provider_config(provider_name, = {}) factory = get_harness_factory return ["Harness factory not available"] unless factory factory.validate_provider_config(provider_name, ) end |