Files
kandev/apps/backend/internal/agentctl/server/acp/authmethod.go
T
2026-07-25 19:31:15 +01:00

20 lines
787 B
Go

package acp
import "github.com/coder/acp-go-sdk"
// AuthMethodFields collapses upstream's tagged-union acp.AuthMethod
// ({Agent, Terminal, EnvVar}) into the (id, name, description, meta) tuple
// that callers want before storing or transmitting. Adding a new variant
// here is the single place that needs to learn about it.
func AuthMethodFields(m acp.AuthMethod) (id, name string, description *string, meta map[string]any) {
switch {
case m.Agent != nil:
return string(m.Agent.Id), m.Agent.Name, m.Agent.Description, m.Agent.Meta
case m.Terminal != nil:
return string(m.Terminal.Id), m.Terminal.Name, m.Terminal.Description, m.Terminal.Meta
case m.EnvVar != nil:
return string(m.EnvVar.Id), m.EnvVar.Name, m.EnvVar.Description, m.EnvVar.Meta
}
return "", "", nil, nil
}