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

Method CompleteTaskRun

internal/api/core/tasks.go:1630–1671  ·  view source on GitHub ↗

CompleteTaskRun marks one running run as completed.

(c *gin.Context)

Source from the content-addressed store, hash-verified

1628
1629// CompleteTaskRun marks one running run as completed.
1630func (h *BaseHandlers) CompleteTaskRun(c *gin.Context) {
1631 manager, ok := h.requireTaskManager(c)
1632 if !ok {
1633 return
1634 }
1635
1636 runID, err := requiredPathID(c.Param("id"), "run id")
1637 if err != nil {
1638 h.respondError(c, StatusForTaskError(err), err)
1639 return
1640 }
1641
1642 var req contract.CompleteTaskRunRequest
1643 if err := decodeOptionalJSON(c, &req); err != nil {
1644 h.respondError(
1645 c,
1646 http.StatusBadRequest,
1647 NewTaskValidationError(fmt.Errorf("%s: decode complete run request: %w", h.transportName(), err)),
1648 )
1649 return
1650 }
1651
1652 actor, err := h.taskActorContext(c, taskActionCompleteRun)
1653 if err != nil {
1654 h.respondError(c, StatusForTaskError(err), err)
1655 return
1656 }
1657
1658 result, err := completeTaskRunFromRequest(req)
1659 if err != nil {
1660 h.respondError(c, StatusForTaskError(err), err)
1661 return
1662 }
1663
1664 run, err := manager.CompleteRun(c.Request.Context(), runID, result, actor)
1665 if err != nil {
1666 h.respondError(c, StatusForTaskError(err), err)
1667 return
1668 }
1669
1670 c.JSON(http.StatusOK, contract.TaskRunResponse{Run: TaskRunPayloadFromRun(run)})
1671}
1672
1673// FailTaskRun marks one run as failed.
1674func (h *BaseHandlers) FailTaskRun(c *gin.Context) {

Callers

nothing calls this directly

Calls 11

requireTaskManagerMethod · 0.95
respondErrorMethod · 0.95
transportNameMethod · 0.95
taskActorContextMethod · 0.95
requiredPathIDFunction · 0.85
StatusForTaskErrorFunction · 0.85
decodeOptionalJSONFunction · 0.85
NewTaskValidationErrorFunction · 0.85
TaskRunPayloadFromRunFunction · 0.85
CompleteRunMethod · 0.65

Tested by

no test coverage detected