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

Method RequestTaskRunReview

internal/api/core/task_reviews.go:15–66  ·  view source on GitHub ↗

RequestTaskRunReview creates or replays one authoritative review request for a task run.

(c *gin.Context)

Source from the content-addressed store, hash-verified

13
14// RequestTaskRunReview creates or replays one authoritative review request for a task run.
15func (h *BaseHandlers) RequestTaskRunReview(c *gin.Context) {
16 manager, ok := h.requireTaskManager(c)
17 if !ok {
18 return
19 }
20
21 runID, err := requiredPathID(c.Param("id"), "run id")
22 if err != nil {
23 h.respondError(c, StatusForTaskError(err), err)
24 return
25 }
26
27 var req contract.CreateTaskRunReviewRequest
28 if err := decodeOptionalJSON(c, &req); err != nil {
29 h.respondError(
30 c,
31 http.StatusBadRequest,
32 NewTaskValidationError(fmt.Errorf("%s: decode run review request: %w", h.transportName(), err)),
33 )
34 return
35 }
36
37 actor, err := h.taskActorContext(c, taskActionRequestReview)
38 if err != nil {
39 h.respondError(c, StatusForTaskError(err), err)
40 return
41 }
42
43 view, err := manager.RunDetail(c.Request.Context(), runID, actor)
44 if err != nil {
45 h.respondError(c, StatusForTaskError(err), err)
46 return
47 }
48
49 reviewReq, err := taskRunReviewRequestFromRequest(runID, view.Run.TaskID, &req)
50 if err != nil {
51 h.respondError(c, StatusForTaskError(err), err)
52 return
53 }
54
55 review, created, err := manager.RequestRunReview(c.Request.Context(), reviewReq, actor)
56 if err != nil {
57 h.respondError(c, StatusForTaskError(err), err)
58 return
59 }
60
61 status := http.StatusOK
62 if created {
63 status = http.StatusCreated
64 }
65 c.JSON(status, contract.TaskRunReviewRequestResponse{Review: review, Created: created})
66}
67
68// ListTaskRunReviews lists reviews scoped to one task run.
69func (h *BaseHandlers) ListTaskRunReviews(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
RunDetailMethod · 0.65
RequestRunReviewMethod · 0.65

Tested by

no test coverage detected