(args []string)
| 131 | } |
| 132 | |
| 133 | func passthroughGemini(args []string) error { |
| 134 | bin, err := exec.LookPath("gemini") |
| 135 | if err != nil { |
| 136 | return errors.New("gemini CLI is required for extension operations (install with `cam install gemini-cli`)") |
| 137 | } |
| 138 | cmd := exec.Command(bin, args...) |
| 139 | cmd.Stdin = os.Stdin |
| 140 | cmd.Stdout = os.Stdout |
| 141 | cmd.Stderr = os.Stderr |
| 142 | if err := cmd.Run(); err != nil { |
| 143 | if exit, ok := err.(*exec.ExitError); ok { |
| 144 | os.Exit(exit.ExitCode()) |
| 145 | } |
| 146 | return err |
| 147 | } |
| 148 | return nil |
| 149 | } |