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

Function newAgentHeartbeatWriteCommand

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

Source from the content-addressed store, hash-verified

400}
401
402func newAgentHeartbeatWriteCommand(deps commandDeps) *cobra.Command {
403 var (
404 input authoredBodyInput
405 expectedDigest string
406 ifMatchDigest string
407 idempotencyKey string
408 )
409 cmd := &cobra.Command{
410 Use: "write <agent>",
411 Short: "Create or replace HEARTBEAT.md through managed authoring",
412 Example: " agh agent heartbeat write coder --file HEARTBEAT.md --expected-digest sha256:old --json",
413 Args: exactOneNonBlankArg(),
414 RunE: func(cmd *cobra.Command, args []string) error {
415 client, err := clientFromDeps(deps)
416 if err != nil {
417 return err
418 }
419 workspace, err := commandWorkspaceFlag(cmd)
420 if err != nil {
421 return err
422 }
423 body, err := readAuthoredBody(cmd, input, true)
424 if err != nil {
425 return err
426 }
427 digest, err := optionalExpectedDigestFlag(cmd, expectedDigest, ifMatchDigest)
428 if err != nil {
429 return err
430 }
431 record, err := client.PutAgentHeartbeat(cmd.Context(), args[0], AgentHeartbeatPutRequest{
432 WorkspaceID: workspace,
433 AgentName: args[0],
434 Body: body,
435 ExpectedDigest: digest,
436 IdempotencyKey: strings.TrimSpace(idempotencyKey),
437 })
438 if err != nil {
439 return err
440 }
441 return writeCommandOutput(cmd, agentHeartbeatMutationBundle(&record))
442 },
443 }
444 addWorkspaceFlag(cmd)
445 addAuthoredBodyFlags(cmd, &input)
446 cmd.Flags().StringVar(&expectedDigest, "expected-digest", "", "Expected current Heartbeat digest for CAS")
447 cmd.Flags().StringVar(&ifMatchDigest, "if-match", "", "Alias for --expected-digest")
448 cmd.Flags().StringVar(&idempotencyKey, "idempotency-key", "", "Optional idempotency key")
449 return cmd
450}
451
452func newAgentHeartbeatDeleteCommand(deps commandDeps) *cobra.Command {
453 var expectedDigest string

Callers 1

newAgentHeartbeatCommandFunction · 0.85

Calls 10

exactOneNonBlankArgFunction · 0.85
clientFromDepsFunction · 0.85
commandWorkspaceFlagFunction · 0.85
readAuthoredBodyFunction · 0.85
writeCommandOutputFunction · 0.85
addWorkspaceFlagFunction · 0.85
addAuthoredBodyFlagsFunction · 0.85
PutAgentHeartbeatMethod · 0.65

Tested by

no test coverage detected