- Delete internal/acp/multi_agent.go (610 lines) — Path B orchestration - Remove multiAgent dispatch from orchestrator, jobs, http_handler - Set multiAgent/multi_agent capabilities to false in catalog - Remove TaskKindMultiAgent from types - Remove redundant ErrorResponse() wrapper in shared/rpc.go - Add anti-fallback coding standards to AGENTS.md
44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
package acp
|
|
|
|
import (
|
|
"sync"
|
|
)
|
|
|
|
type CapabilityCatalog struct {
|
|
mu sync.RWMutex
|
|
|
|
ProviderCatalog []any `json:"providerCatalog"`
|
|
GatewayProviders []any `json:"gatewayProviders"`
|
|
AvailableExecutionTargets []any `json:"availableExecutionTargets"`
|
|
ProviderProbeSummary []any `json:"providerProbeSummary"`
|
|
}
|
|
|
|
func (c *CapabilityCatalog) Update(providers []any, targets []any) {
|
|
c.mu.Lock()
|
|
defer c.mu.Unlock()
|
|
c.ProviderCatalog = providers
|
|
c.AvailableExecutionTargets = targets
|
|
}
|
|
|
|
func (c *CapabilityCatalog) Get() map[string]any {
|
|
c.mu.RLock()
|
|
defer c.mu.RUnlock()
|
|
|
|
result := map[string]any{
|
|
"singleAgent": true,
|
|
"multiAgent": false,
|
|
"providerCatalog": append([]any(nil), c.ProviderCatalog...),
|
|
"gatewayProviders": append([]any(nil), c.GatewayProviders...),
|
|
"availableExecutionTargets": append([]any(nil), c.AvailableExecutionTargets...),
|
|
"providerProbeSummary": append([]any(nil), c.ProviderProbeSummary...),
|
|
}
|
|
result["capabilities"] = map[string]any{
|
|
"single_agent": true,
|
|
"multi_agent": false,
|
|
"providerCatalog": append([]any(nil), c.ProviderCatalog...),
|
|
"gatewayProviders": append([]any(nil), c.GatewayProviders...),
|
|
"availableExecutionTargets": append([]any(nil), c.AvailableExecutionTargets...),
|
|
}
|
|
return result
|
|
}
|