summaryrefslogtreecommitdiff
path: root/internal/cli/serve.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/cli/serve.go')
-rw-r--r--internal/cli/serve.go26
1 files changed, 16 insertions, 10 deletions
diff --git a/internal/cli/serve.go b/internal/cli/serve.go
index 459c35b..dae66d6 100644
--- a/internal/cli/serve.go
+++ b/internal/cli/serve.go
@@ -79,10 +79,12 @@ func serve(addr string) error {
claudeConfigDir := cfg.ClaudeConfigDir
repoDir, _ := os.Getwd()
- runners := map[string]executor.Runner{
- // ContainerRunner: binaries are resolved via PATH inside the container image,
- // so ClaudeBinary/GeminiBinary are left empty (host paths would not exist inside).
- "claude": &executor.ContainerRunner{
+ runners := map[string]executor.Runner{}
+
+ // ContainerRunner: binaries are resolved via PATH inside the container image,
+ // so ClaudeBinary/GeminiBinary are left empty (host paths would not exist inside).
+ if cfg.Runners.ClaudeEnabled() {
+ runners["claude"] = &executor.ContainerRunner{
Image: cfg.ClaudeImage,
Logger: logger,
LogDir: cfg.LogDir,
@@ -92,8 +94,10 @@ func serve(addr string) error {
ClaudeConfigDir: claudeConfigDir,
CredentialSyncCmd: filepath.Join(repoDir, "scripts", "sync-credentials"),
Store: store,
- },
- "gemini": &executor.ContainerRunner{
+ }
+ }
+ if cfg.Runners.GeminiEnabled() {
+ runners["gemini"] = &executor.ContainerRunner{
Image: cfg.GeminiImage,
Logger: logger,
LogDir: cfg.LogDir,
@@ -103,8 +107,10 @@ func serve(addr string) error {
ClaudeConfigDir: claudeConfigDir,
CredentialSyncCmd: filepath.Join(repoDir, "scripts", "sync-credentials"),
Store: store,
- },
- "container": &executor.ContainerRunner{
+ }
+ }
+ if cfg.Runners.ContainerEnabled() {
+ runners["container"] = &executor.ContainerRunner{
Image: "claudomator-agent:latest",
Logger: logger,
LogDir: cfg.LogDir,
@@ -114,11 +120,11 @@ func serve(addr string) error {
ClaudeConfigDir: claudeConfigDir,
CredentialSyncCmd: filepath.Join(repoDir, "scripts", "sync-credentials"),
Store: store,
- },
+ }
}
localClient := buildLocalLLMClient(cfg.LocalModel, logger)
- if localClient != nil {
+ if localClient != nil && cfg.Runners.LocalEnabled() {
runners["local"] = &executor.LocalRunner{
Client: localClient,
Logger: logger,