@@ -212,14 +212,17 @@ private void PopulateAPIConfigurations()
212212 if ( ! configNames . Contains ( "actioner" ) ) configNames . Add ( "actioner" ) ;
213213 if ( ! configNames . Contains ( "planner" ) ) configNames . Add ( "planner" ) ;
214214 if ( ! configNames . Contains ( "executor" ) ) configNames . Add ( "executor" ) ;
215+ if ( ! configNames . Contains ( "coordinator" ) ) configNames . Add ( "coordinator" ) ;
215216
216217 comboPlannerConfig . Items . Clear ( ) ;
217218 comboExecutorConfig . Items . Clear ( ) ;
219+ comboCoordinatorConfig . Items . Clear ( ) ;
218220
219221 foreach ( var name in configNames )
220222 {
221223 comboPlannerConfig . Items . Add ( name ) ;
222224 comboExecutorConfig . Items . Add ( name ) ;
225+ comboCoordinatorConfig . Items . Add ( name ) ;
223226 }
224227
225228 if ( comboPlannerConfig . Items . Count > 0 )
@@ -233,6 +236,12 @@ private void PopulateAPIConfigurations()
233236 comboExecutorConfig . SelectedItem = comboExecutorConfig . Items . Contains ( "executor" ) ?
234237 "executor" : comboExecutorConfig . Items [ 0 ] ;
235238 }
239+
240+ if ( comboCoordinatorConfig . Items . Count > 0 )
241+ {
242+ comboCoordinatorConfig . SelectedItem = comboCoordinatorConfig . Items . Contains ( "coordinator" ) ?
243+ "coordinator" : comboCoordinatorConfig . Items [ 0 ] ;
244+ }
236245 }
237246 catch ( Exception ex )
238247 {
@@ -314,8 +323,10 @@ private void LoadToolConfig()
314323
315324 txtPlannerSystemPrompt . Text = _toolConfig . PlannerSystemPrompt ;
316325 txtExecutorSystemPrompt . Text = _toolConfig . ExecutorSystemPrompt ;
326+ txtCoordinatorSystemPrompt . Text = _toolConfig . CoordinatorSystemPrompt ;
317327 chkUseCustomPlannerConfig . Checked = _toolConfig . UseCustomPlannerConfig ;
318328 chkUseCustomExecutorConfig . Checked = _toolConfig . UseCustomExecutorConfig ;
329+ chkUseCustomCoordinatorConfig . Checked = _toolConfig . UseCustomCoordinatorConfig ;
319330
320331 // Check if the item exists in the combo box before setting it
321332 if ( comboPlannerConfig . Items . Contains ( _toolConfig . PlannerConfigName ) )
@@ -336,6 +347,15 @@ private void LoadToolConfig()
336347 comboExecutorConfig . SelectedIndex = 0 ;
337348 }
338349
350+ if ( comboCoordinatorConfig . Items . Contains ( _toolConfig . CoordinatorConfigName ) )
351+ {
352+ comboCoordinatorConfig . SelectedItem = _toolConfig . CoordinatorConfigName ;
353+ }
354+ else if ( comboCoordinatorConfig . Items . Count > 0 )
355+ {
356+ comboCoordinatorConfig . SelectedIndex = 0 ;
357+ }
358+
339359 // Set the theme in the combo box
340360 if ( cbTheme . Items . Contains ( _toolConfig . ThemeName ) )
341361 {
@@ -349,6 +369,7 @@ private void LoadToolConfig()
349369 UpdateMultiAgentUIState ( ) ;
350370 UpdatePlannerConfigUIState ( ) ;
351371 UpdateExecutorConfigUIState ( ) ;
372+ UpdateCoordinatorConfigUIState ( ) ;
352373 UpdateStatusIndicators ( ) ;
353374
354375 if ( _isNewConfiguration && ! configExists )
@@ -419,6 +440,13 @@ private void UpdateMultiAgentUIState()
419440 comboPlannerConfig . Enabled = chkMultiAgentMode . Checked && chkUseCustomPlannerConfig . Checked ;
420441 btnConfigurePlanner . Enabled = chkMultiAgentMode . Checked && chkUseCustomPlannerConfig . Checked ;
421442
443+ // Enable coordinator-specific controls when multi-agent mode is checked
444+ txtCoordinatorSystemPrompt . Enabled = chkMultiAgentMode . Checked ;
445+ lblCoordinatorPrompt . Enabled = chkMultiAgentMode . Checked ;
446+ chkUseCustomCoordinatorConfig . Enabled = chkMultiAgentMode . Checked ;
447+ comboCoordinatorConfig . Enabled = chkMultiAgentMode . Checked && chkUseCustomCoordinatorConfig . Checked ;
448+ btnConfigureCoordinator . Enabled = chkMultiAgentMode . Checked && chkUseCustomCoordinatorConfig . Checked ;
449+
422450 // Executor controls remain enabled regardless of multi-agent mode
423451
424452 UpdateStatusIndicator ( chkMultiAgentMode , indicatorMultiAgent ) ;
@@ -438,6 +466,13 @@ private void UpdateExecutorConfigUIState()
438466 btnConfigureExecutor . Enabled = chkUseCustomExecutorConfig . Checked ;
439467 }
440468
469+ private void UpdateCoordinatorConfigUIState ( )
470+ {
471+ // Enable or disable the coordinator config dropdown based on checkbox
472+ comboCoordinatorConfig . Enabled = chkUseCustomCoordinatorConfig . Checked ;
473+ btnConfigureCoordinator . Enabled = chkUseCustomCoordinatorConfig . Checked ;
474+ }
475+
441476 private void saveButton_Click ( object sender , EventArgs e )
442477 {
443478 // Save existing tool config options
@@ -467,13 +502,15 @@ private void saveButton_Click(object sender, EventArgs e)
467502 _toolConfig . EnableVoiceCommands = chkEnableVoiceCommands . Checked ;
468503 _toolConfig . VoiceCommandPhrase = txtVoiceCommandPhrase . Text ;
469504
470- // Save planner and executor settings
505+ // Save planner, executor, and coordinator settings
471506 _toolConfig . PlannerSystemPrompt = txtPlannerSystemPrompt . Text ;
472507 _toolConfig . ExecutorSystemPrompt = txtExecutorSystemPrompt . Text ;
508+ _toolConfig . CoordinatorSystemPrompt = txtCoordinatorSystemPrompt . Text ;
473509
474510 // Save custom model configuration options
475511 _toolConfig . UseCustomPlannerConfig = chkUseCustomPlannerConfig . Checked ;
476512 _toolConfig . UseCustomExecutorConfig = chkUseCustomExecutorConfig . Checked ;
513+ _toolConfig . UseCustomCoordinatorConfig = chkUseCustomCoordinatorConfig . Checked ;
477514
478515 if ( comboPlannerConfig . SelectedItem != null )
479516 {
@@ -485,6 +522,11 @@ private void saveButton_Click(object sender, EventArgs e)
485522 _toolConfig . ExecutorConfigName = comboExecutorConfig . SelectedItem . ToString ( ) ;
486523 }
487524
525+ if ( comboCoordinatorConfig . SelectedItem != null )
526+ {
527+ _toolConfig . CoordinatorConfigName = comboCoordinatorConfig . SelectedItem . ToString ( ) ;
528+ }
529+
488530 // Save theme configuration
489531 if ( cbTheme . SelectedItem != null )
490532 {
@@ -559,6 +601,11 @@ private void chkUseCustomExecutorConfig_CheckedChanged(object sender, EventArgs
559601 UpdateExecutorConfigUIState ( ) ;
560602 }
561603
604+ private void chkUseCustomCoordinatorConfig_CheckedChanged ( object sender , EventArgs e )
605+ {
606+ UpdateCoordinatorConfigUIState ( ) ;
607+ }
608+
562609 // Event handlers for config buttons
563610 private void btnConfigurePlanner_Click ( object sender , EventArgs e )
564611 {
@@ -578,6 +625,15 @@ private void btnConfigureExecutor_Click(object sender, EventArgs e)
578625 }
579626 }
580627
628+ private void btnConfigureCoordinator_Click ( object sender , EventArgs e )
629+ {
630+ if ( comboCoordinatorConfig . SelectedItem != null )
631+ {
632+ string configName = comboCoordinatorConfig . SelectedItem . ToString ( ) ;
633+ OpenAPIConfigForm ( configName ) ;
634+ }
635+ }
636+
581637 // Helper method to open API config form
582638 private void OpenAPIConfigForm ( string configName )
583639 {
0 commit comments