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

Function newAgentHeartbeatWakeCommand

internal/cli/authored_context.go:639–688  ·  view source on GitHub ↗
(deps commandDeps)

Source from the content-addressed store, hash-verified

637}
638
639func newAgentHeartbeatWakeCommand(deps commandDeps) *cobra.Command {
640 var (
641 sessionID string
642 source string
643 dryRun bool
644 idempotencyKey string
645 )
646 cmd := &cobra.Command{
647 Use: "wake <agent>",
648 Short: "Request one manual advisory Heartbeat wake",
649 Example: " agh agent heartbeat wake coder --session sess_123 --dry-run --json",
650 Args: exactOneNonBlankArg(),
651 RunE: func(cmd *cobra.Command, args []string) error {
652 client, err := clientFromDeps(deps)
653 if err != nil {
654 return err
655 }
656 workspace, err := commandWorkspaceFlag(cmd)
657 if err != nil {
658 return err
659 }
660 session, err := changedNonEmptyStringFlag(cmd, sessionSessionKey, sessionID)
661 if err != nil {
662 return err
663 }
664 wakeSource := contract.HeartbeatWakeSource(strings.TrimSpace(source))
665 if wakeSource == "" {
666 wakeSource = contract.HeartbeatWakeSourceManual
667 }
668 record, err := client.WakeAgentHeartbeat(cmd.Context(), args[0], AgentHeartbeatWakeRequest{
669 WorkspaceID: workspace,
670 AgentName: args[0],
671 SessionID: session,
672 Source: wakeSource,
673 DryRun: dryRun,
674 IdempotencyKey: strings.TrimSpace(idempotencyKey),
675 })
676 if err != nil {
677 return err
678 }
679 return writeCommandOutput(cmd, agentHeartbeatWakeBundle(record))
680 },
681 }
682 addWorkspaceFlag(cmd)
683 cmd.Flags().StringVar(&sessionID, sessionSessionKey, "", "Session id to wake")
684 cmd.Flags().StringVar(&source, "source", string(contract.HeartbeatWakeSourceManual), "Wake source")
685 cmd.Flags().BoolVar(&dryRun, "dry-run", false, "Evaluate wake gates without sending a prompt")
686 cmd.Flags().StringVar(&idempotencyKey, "idempotency-key", "", "Optional idempotency key")
687 return cmd
688}
689
690func newSessionSoulCommand(deps commandDeps) *cobra.Command {
691 cmd := &cobra.Command{

Callers 1

newAgentHeartbeatCommandFunction · 0.85

Calls 9

HeartbeatWakeSourceTypeAlias · 0.92
exactOneNonBlankArgFunction · 0.85
clientFromDepsFunction · 0.85
commandWorkspaceFlagFunction · 0.85
writeCommandOutputFunction · 0.85
agentHeartbeatWakeBundleFunction · 0.85
addWorkspaceFlagFunction · 0.85
WakeAgentHeartbeatMethod · 0.65

Tested by

no test coverage detected