1
1
package modules
2
2
3
3
import (
4
- "github.com/harness/harness-mcp/cmd/harness-mcp-server/config"
5
4
"github.com/harness/harness-mcp/pkg/toolsets"
6
5
)
7
6
@@ -28,77 +27,6 @@ type Module interface {
28
27
IsDefault () bool
29
28
}
30
29
31
- // ModuleRegistry holds all available modules
32
- type ModuleRegistry struct {
33
- modules []Module
34
- config * config.Config
35
- tsg * toolsets.ToolsetGroup
36
- }
37
-
38
- // NewModuleRegistry creates a new module registry with all available modules
39
- func NewModuleRegistry (config * config.Config , tsg * toolsets.ToolsetGroup ) * ModuleRegistry {
40
- return & ModuleRegistry {
41
- modules : []Module {
42
- NewCoreModule (config , tsg ),
43
- NewCIModule (config , tsg ),
44
- NewCDModule (config , tsg ),
45
- NewUnlicensedModule (config , tsg ),
46
- NewCHAOSModule (config , tsg ),
47
- NewSEIModule (config , tsg ),
48
- NewSTOModule (config , tsg ),
49
- NewSSCAModule (config , tsg ),
50
- NewCODEModule (config , tsg ),
51
- NewCCMModule (config , tsg ),
52
- NewIDPModule (config , tsg ),
53
- NewHARModule (config , tsg ),
54
- NewDbOpsModule (config , tsg ),
55
- },
56
- config : config ,
57
- tsg : tsg ,
58
- }
59
- }
60
-
61
- // GetAllModules returns all available modules
62
- func (r * ModuleRegistry ) GetAllModules () []Module {
63
- return r .modules
64
- }
65
-
66
- // GetEnabledModules returns the list of enabled modules based on configuration
67
- func (r * ModuleRegistry ) GetEnabledModules () []Module {
68
- // Create a map for quick lookup of enabled module IDs
69
- enabledModuleIDs := make (map [string ]bool )
70
- var defaultModules []Module
71
- for _ , module := range r .modules {
72
- if module .IsDefault () {
73
- defaultModules = append (defaultModules , module )
74
- enabledModuleIDs [module .ID ()] = true
75
- }
76
- }
77
-
78
- // If no specific modules are enabled, return all default modules
79
- if len (r .config .EnableModules ) == 0 {
80
- return defaultModules
81
- }
82
-
83
- for _ , id := range r .config .EnableModules {
84
- enabledModuleIDs [id ] = true
85
- }
86
-
87
- // Check if "all" is enabled
88
- if enabledModuleIDs ["all" ] {
89
- return r .modules
90
- }
91
-
92
- // Return only enabled modules
93
- var enabledModules []Module
94
- for _ , module := range r .modules {
95
- if enabledModuleIDs [module .ID ()] {
96
- enabledModules = append (enabledModules , module )
97
- }
98
- }
99
- return enabledModules
100
- }
101
-
102
30
// ModuleEnableToolsets is a helper function that safely enables toolsets
103
31
// by only enabling toolsets that actually exist in the toolset group
104
32
func ModuleEnableToolsets (m Module , tsg * toolsets.ToolsetGroup ) error {
@@ -116,5 +44,7 @@ func ModuleEnableToolsets(m Module, tsg *toolsets.ToolsetGroup) error {
116
44
if len (existingToolsets ) == 0 {
117
45
return nil
118
46
}
47
+
48
+ // Enable the toolsets
119
49
return tsg .EnableToolsets (existingToolsets )
120
50
}
0 commit comments