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

Method loadTaskLiveContext

internal/task/live.go:386–424  ·  view source on GitHub ↗
(
	ctx context.Context,
	taskID string,
	cache map[string]*taskLiveContext,
)

Source from the content-addressed store, hash-verified

384}
385
386func (m *Service) loadTaskLiveContext(
387 ctx context.Context,
388 taskID string,
389 cache map[string]*taskLiveContext,
390) (*taskLiveContext, error) {
391 if cached, ok := cache[taskID]; ok {
392 return cached, nil
393 }
394
395 record, err := m.store.GetTask(ctx, taskID)
396 if err != nil {
397 return nil, err
398 }
399 dependencies, err := m.store.ListDependencies(ctx, record.ID)
400 if err != nil {
401 return nil, err
402 }
403 runs, err := m.store.ListTaskRuns(ctx, RunQuery{TaskID: record.ID})
404 if err != nil {
405 return nil, err
406 }
407 status, err := m.canonicalTaskStatus(ctx, record, dependencies, runs)
408 if err != nil {
409 return nil, err
410 }
411
412 runsByID := make(map[string]Run, len(runs))
413 for _, run := range runs {
414 runsByID[run.ID] = run
415 }
416
417 cached := &taskLiveContext{
418 record: record,
419 reference: taskReferenceFromTask(record, status),
420 runsByID: runsByID,
421 }
422 cache[taskID] = cached
423 return cached, nil
424}
425
426func runSummaryFromRun(run Run, maxAttempts int) *RunSummary {
427 summary := &RunSummary{

Callers 1

Calls 5

canonicalTaskStatusMethod · 0.95
taskReferenceFromTaskFunction · 0.85
GetTaskMethod · 0.65
ListDependenciesMethod · 0.65
ListTaskRunsMethod · 0.65

Tested by

no test coverage detected