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

Method ensureTaskCancelable

internal/task/manager.go:1069–1084  ·  view source on GitHub ↗
(ctx context.Context, root Task)

Source from the content-addressed store, hash-verified

1067}
1068
1069func (m *Service) ensureTaskCancelable(ctx context.Context, root Task) error {
1070 rootRuns, rootStatus, err := m.loadTaskRuntimeState(ctx, root)
1071 if err != nil {
1072 return err
1073 }
1074 if isTerminalTaskStatus(rootStatus) && rootStatus != TaskStatusCanceled && !hasOpenRun(rootRuns) {
1075 return fmt.Errorf(
1076 "%w: task %q cannot transition from %q to %q",
1077 ErrInvalidStatusTransition,
1078 root.ID,
1079 rootStatus,
1080 TaskStatusCanceled,
1081 )
1082 }
1083 return nil
1084}
1085
1086func (m *Service) cancelTaskTreeRecord(
1087 ctx context.Context,

Callers 1

CancelTaskMethod · 0.95

Calls 3

loadTaskRuntimeStateMethod · 0.95
isTerminalTaskStatusFunction · 0.85
hasOpenRunFunction · 0.85

Tested by

no test coverage detected