Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ServerCmd = &cobra.Command{ Use: "server [agent]", Short: "Run the server", Long: `Run the server with the specified agent (claude, goose, aider, codex)`, Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { logger := slog.New(slog.NewTextHandler(os.Stdout, nil)) ctx := logctx.WithLogger(context.Background(), logger) argsToPass := cmd.Flags().Args() agent := argsToPass[0] agentType, err := parseAgentType(agent, agentTypeVar) if err != nil { logger.Error("Failed to parse agent type", "error", err) os.Exit(1) } var process *termexec.Process if printOpenAPI { process = nil } else { process, err = httpapi.SetupProcess(ctx, agent, argsToPass[1:]...) if err != nil { logger.Error("Failed to setup process", "error", err) os.Exit(1) } } srv := httpapi.NewServer(ctx, agentType, process, port) if printOpenAPI { fmt.Println(srv.GetOpenAPI()) os.Exit(0) } logger.Info("Starting server on port", "port", port) go func() { if err := process.Wait(); err != nil { logger.Error("Process exited with error", "error", err) } if err := srv.Stop(ctx); err != nil { logger.Error("Failed to stop server", "error", err) } }() if err := srv.Start(); err != nil && err != context.Canceled && err != http.ErrServerClosed { logger.Error("Failed to start server", "error", err) os.Exit(1) } }, }
Functions ¶
This section is empty.
Types ¶
type AgentType ¶
const ( AgentTypeClaude AgentType = msgfmt.AgentTypeClaude AgentTypeGoose AgentType = msgfmt.AgentTypeGoose AgentTypeAider AgentType = msgfmt.AgentTypeAider AgentTypeCodex AgentType = msgfmt.AgentTypeCodex AgentTypeCustom AgentType = msgfmt.AgentTypeCustom )
Click to show internal directories.
Click to hide internal directories.