xworkmate-bridge/internal/acp/catalog.go
Cowork 3P d436729508 refactor: remove multi-agent orchestration engine, add coding standards
- 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
2026-06-04 07:40:23 +00:00

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
}