MCPcopy Create free account
hub / github.com/compozy/agh / newSessionApproveCommand

Function newSessionApproveCommand

internal/cli/session.go:403–436  ·  view source on GitHub ↗
(deps commandDeps)

Source from the content-addressed store, hash-verified

401}
402
403func newSessionApproveCommand(deps commandDeps) *cobra.Command {
404 var request SessionApprovalRequest
405 cmd := &cobra.Command{
406 Use: "approve <id>",
407 Short: "Approve or reject a pending session permission request",
408 Args: exactOneNonBlankArg(),
409 RunE: func(cmd *cobra.Command, args []string) error {
410 request.RequestID = strings.TrimSpace(request.RequestID)
411 request.TurnID = strings.TrimSpace(request.TurnID)
412 request.Decision = strings.TrimSpace(request.Decision)
413 if request.RequestID == "" && request.TurnID == "" {
414 return errors.New("cli: --request-id or --turn-id is required")
415 }
416 if request.Decision == "" {
417 return errors.New("cli: --decision is required")
418 }
419 client, err := clientFromDeps(deps)
420 if err != nil {
421 return err
422 }
423 result, err := client.ApproveSession(cmd.Context(), args[0], request)
424 if err != nil {
425 return err
426 }
427 return writeCommandOutput(cmd, sessionApprovalBundle(args[0], result))
428 },
429 }
430 cmd.Flags().StringVar(&request.RequestID, "request-id", "", "Pending permission request id")
431 cmd.Flags().StringVar(&request.TurnID, "turn-id", "", "Pending permission turn id")
432 cmd.Flags().
433 StringVar(&request.Decision, "decision", "", "Decision: allow-once, allow-always, reject-once, or reject-always")
434 mustMarkFlagRequired(cmd, "decision")
435 return cmd
436}
437
438func newSessionWaitCommand(deps commandDeps) *cobra.Command {
439 return &cobra.Command{

Callers 1

newSessionCommandFunction · 0.85

Calls 6

exactOneNonBlankArgFunction · 0.85
clientFromDepsFunction · 0.85
writeCommandOutputFunction · 0.85
sessionApprovalBundleFunction · 0.85
mustMarkFlagRequiredFunction · 0.85
ApproveSessionMethod · 0.65

Tested by

no test coverage detected