Files
kandev/apps/backend/internal/agent/executor/executor.go
T

39 lines
1012 B
Go

// Package executor defines the agent executor types shared across lifecycle and policy logic.
package executor
import (
"github.com/kandev/kandev/internal/task/models"
)
// Name identifies the execution backend.
type Name string
const (
NameUnknown Name = ""
NameDocker Name = "docker"
NameStandalone Name = "standalone"
NameLocal Name = "local"
NameRemoteDocker Name = "remote_docker"
NameSprites Name = "sprites"
)
// ExecutorTypeToBackend maps an ExecutorType to its corresponding executor Name.
func ExecutorTypeToBackend(execType models.ExecutorType) Name {
switch execType {
case models.ExecutorTypeLocal:
return NameStandalone
case models.ExecutorTypeWorktree:
return NameStandalone
case models.ExecutorTypeLocalDocker:
return NameDocker
case models.ExecutorTypeRemoteDocker:
return NameRemoteDocker
case models.ExecutorTypeSprites:
return NameSprites
case models.ExecutorTypeMockRemote:
return NameStandalone
default:
return NameStandalone
}
}