MCPcopy Create free account
hub / github.com/ByteYellow/AgentProvenance / execCmd

Function execCmd

internal/cli/exec_cmd.go:8–43  ·  view source on GitHub ↗
(dataDir, daemonURL *string)

Source from the content-addressed store, hash-verified

6)
7
8func execCmd(dataDir, daemonURL *string) *cobra.Command {
9 var stream bool
10 cmd := &cobra.Command{
11 Use: "exec <session_id> -- <command...>",
12 Short: "execute a command in a sandbox session",
13 Args: cobra.MinimumNArgs(2),
14 RunE: func(cmd *cobra.Command, args []string) error {
15 if client, ok := daemonClient(*daemonURL); ok {
16 processID, err := client.Exec(args[0], args[1:], stream, cmd.OutOrStdout())
17 if err != nil {
18 return err
19 }
20 if !stream {
21 fmt.Fprintln(cmd.OutOrStdout(), processID)
22 }
23 return nil
24 }
25 svc, closeFn, err := controlSvc(*dataDir)
26 if err != nil {
27 return err
28 }
29 defer closeFn()
30 processID, err := svc.Exec(args[0], args[1:], stream)
31 if err != nil {
32 return err
33 }
34 fmt.Fprintln(cmd.OutOrStdout(), processID)
35 return nil
36 },
37 PreRun: func(cmd *cobra.Command, args []string) {
38 stream, _ = cmd.Flags().GetBool("stream")
39 },
40 }
41 cmd.Flags().Bool("stream", false, "stream stdout/stderr")
42 return cmd
43}

Callers 1

NewRootCommandFunction · 0.85

Calls 3

daemonClientFunction · 0.85
controlSvcFunction · 0.85
ExecMethod · 0.65

Tested by

no test coverage detected