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

Function TaskPayloadFromTask

internal/api/core/tasks.go:2582–2629  ·  view source on GitHub ↗

TaskPayloadFromTask converts one task record into the shared payload.

(record *taskpkg.Task)

Source from the content-addressed store, hash-verified

2580
2581// TaskPayloadFromTask converts one task record into the shared payload.
2582func TaskPayloadFromTask(record *taskpkg.Task) contract.TaskPayload {
2583 if record == nil {
2584 return contract.TaskPayload{}
2585 }
2586
2587 return contract.TaskPayload{
2588 ID: record.ID,
2589 Identifier: record.Identifier,
2590 Scope: record.Scope,
2591 WorkspaceID: record.WorkspaceID,
2592 ParentTaskID: record.ParentTaskID,
2593 NetworkChannel: record.NetworkChannel,
2594 Title: taskpkg.RedactClaimTokens(strings.TrimSpace(record.Title)),
2595 Description: taskpkg.RedactClaimTokens(strings.TrimSpace(record.Description)),
2596 Priority: record.Priority,
2597 MaxAttempts: record.MaxAttempts,
2598 AutoEnqueueOnReady: record.AutoEnqueueOnReady,
2599 Status: record.Status,
2600 ApprovalPolicy: record.ApprovalPolicy,
2601 ApprovalState: record.ApprovalState,
2602 Draft: record.Status.Normalize() == taskpkg.TaskStatusDraft,
2603 Owner: cloneOwnership(record.Owner),
2604 CurrentRunID: record.CurrentRunID,
2605 LatestEventSeq: record.LatestEventSeq,
2606 Paused: record.Paused,
2607 PausedBy: record.PausedBy,
2608 PausedAt: optionalTime(record.PausedAt),
2609 PausedReason: taskpkg.RedactClaimTokens(strings.TrimSpace(record.PausedReason)),
2610 EffectivePaused: record.Paused,
2611 PausedByTaskID: func() string {
2612 if record.Paused {
2613 return record.ID
2614 }
2615 return ""
2616 }(),
2617 NeedsAttention: recordNeedsAttention(record.NeedsAttention, record.Status),
2618 NeedsAttentionReason: needsAttentionReason(record.NeedsAttention),
2619 NeedsAttentionAt: needsAttentionAt(record.NeedsAttention),
2620 NeedsAttentionBy: needsAttentionBy(record.NeedsAttention),
2621 WakeCreator: record.WakeCreator,
2622 CreatedBy: record.CreatedBy,
2623 Origin: record.Origin,
2624 CreatedAt: record.CreatedAt,
2625 UpdatedAt: record.UpdatedAt,
2626 ClosedAt: optionalTime(record.ClosedAt),
2627 Metadata: redactRawClaimTokenFields(record.Metadata),
2628 }
2629}
2630
2631func blockedReasonsPayload(reasons *[]taskpkg.BlockedReason) []taskpkg.BlockedReason {
2632 if reasons == nil || len(*reasons) == 0 {

Callers 13

taskRecoverMethod · 0.92
CreateTaskMethod · 0.85
RecoverTaskMethod · 0.85
UpdateTaskMethod · 0.85
CancelTaskMethod · 0.85
CreateChildTaskMethod · 0.85
mutateTaskApprovalMethod · 0.85
PauseTaskMethod · 0.85
ResumeTaskMethod · 0.85

Calls 8

recordNeedsAttentionFunction · 0.85
needsAttentionReasonFunction · 0.85
needsAttentionAtFunction · 0.85
needsAttentionByFunction · 0.85
cloneOwnershipFunction · 0.70
optionalTimeFunction · 0.70
NormalizeMethod · 0.45

Tested by 1