@@ -24,92 +24,73 @@ export class ConfigEnhancer {
2424 */
2525 async enhanceConfig (
2626 config : AssistantUnrolled ,
27- options : BaseCommandOptions ,
27+ _options : BaseCommandOptions ,
2828 ) : Promise < AssistantUnrolled > {
2929 let enhancedConfig = { ...config } ;
30- const workflowOptions = await this . addWorkflowOptions ( options ) ;
3130
32- // Apply rules
33- if ( workflowOptions . rule && workflowOptions . rule . length > 0 ) {
34- enhancedConfig = await this . injectRules (
35- enhancedConfig ,
36- workflowOptions . rule ,
37- ) ;
38- }
39-
40- // Apply MCPs
41- if ( workflowOptions . mcp && workflowOptions . mcp . length > 0 ) {
42- enhancedConfig = await this . injectMcps (
43- enhancedConfig ,
44- workflowOptions . mcp ,
45- ) ;
46- }
47-
48- // Apply models
49- if ( workflowOptions . model && workflowOptions . model . length > 0 ) {
50- enhancedConfig = await this . injectModels (
51- enhancedConfig ,
52- workflowOptions . model ,
53- ) ;
54- }
55-
56- // Apply prompts
57- if ( workflowOptions . prompt && workflowOptions . prompt . length > 0 ) {
58- enhancedConfig = await this . injectPrompts (
59- enhancedConfig ,
60- workflowOptions . prompt ,
61- ) ;
62- }
63-
64- return enhancedConfig ;
65- }
66-
67- /**
68- * Add workflow rules and MCPs to options if workflow is active
69- */
70- private async addWorkflowOptions (
71- options : BaseCommandOptions ,
72- ) : Promise < BaseCommandOptions > {
31+ // Get workflow options and spread them inline
32+ let options = { ..._options } ;
7333 try {
7434 const workflowState = await serviceContainer . get < WorkflowServiceState > (
7535 SERVICE_NAMES . WORKFLOW ,
7636 ) ;
7737
78- if ( ! workflowState . workflowFile ) {
79- return options ;
80- }
81-
82- const enhancedOptions = { ...options } ;
38+ if ( workflowState . workflowFile ) {
39+ // Add workflow rules if present
40+ if ( workflowState . workflowFile . rules ) {
41+ options . rule = [
42+ workflowState . workflowFile . rules ,
43+ ...( options . rule || [ ] ) ,
44+ ] ;
45+ logger . debug ( `Added workflow rules from ${ workflowState . workflow } ` ) ;
46+ }
8347
84- // Add workflow rules if present
85- if ( workflowState . workflowFile . rules ) {
86- const existingRules = enhancedOptions . rule || [ ] ;
87- enhancedOptions . rule = [
88- workflowState . workflowFile . rules ,
89- ...existingRules ,
90- ] ;
91- logger . debug ( `Added workflow rules from ${ workflowState . workflow } ` ) ;
92- }
48+ // Add workflow MCP servers if present
49+ if ( workflowState . workflowFile . tools ) {
50+ const parsedTools = parseWorkflowTools (
51+ workflowState . workflowFile . tools ,
52+ ) ;
53+ if ( parsedTools . mcpServers . length > 0 ) {
54+ options . mcp = [ ...parsedTools . mcpServers , ...( options . mcp || [ ] ) ] ;
55+ logger . debug (
56+ `Added ${ parsedTools . mcpServers . length } workflow MCP servers` ,
57+ ) ;
58+ }
59+ }
9360
94- // Add workflow MCP servers if present
95- if ( workflowState . workflowFile . tools ) {
96- const parsedTools = parseWorkflowTools (
97- workflowState . workflowFile . tools ,
98- ) ;
99- if ( parsedTools . mcpServers . length > 0 ) {
100- const existingMcps = enhancedOptions . mcp || [ ] ;
101- enhancedOptions . mcp = [ ...parsedTools . mcpServers , ...existingMcps ] ;
61+ // Add workflow model if present (lower priority than --model flag)
62+ if ( workflowState . workflowFile . model && ! options . model ?. length ) {
63+ options . model = [ workflowState . workflowFile . model ] ;
10264 logger . debug (
103- `Added ${ parsedTools . mcpServers . length } workflow MCP servers ` ,
65+ `Added workflow model: ${ workflowState . workflowFile . model } ` ,
10466 ) ;
10567 }
10668 }
107-
108- return enhancedOptions ;
10969 } catch ( error : any ) {
11070 logger . debug ( `Workflow service not available: ${ error . message } ` ) ;
111- return options ;
11271 }
72+
73+ // Apply rules
74+ if ( options . rule && options . rule . length > 0 ) {
75+ enhancedConfig = await this . injectRules ( enhancedConfig , options . rule ) ;
76+ }
77+
78+ // Apply MCPs
79+ if ( options . mcp && options . mcp . length > 0 ) {
80+ enhancedConfig = await this . injectMcps ( enhancedConfig , options . mcp ) ;
81+ }
82+
83+ // Apply models
84+ if ( options . model && options . model . length > 0 ) {
85+ enhancedConfig = await this . injectModels ( enhancedConfig , options . model ) ;
86+ }
87+
88+ // Apply prompts
89+ if ( options . prompt && options . prompt . length > 0 ) {
90+ enhancedConfig = await this . injectPrompts ( enhancedConfig , options . prompt ) ;
91+ }
92+
93+ return enhancedConfig ;
11394 }
11495
11596 /**
0 commit comments