aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/app/aidb/entities.go
blob: 23df884df6b1630503d3eb53842b419899198d39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright 2025 syzkaller project authors. All rights reserved.
// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

package aidb

import (
	"time"

	"cloud.google.com/go/spanner"
	"github.com/google/syzkaller/pkg/aflow/ai"
)

type Workflow struct {
	Name       string
	Type       ai.WorkflowType
	LastActive time.Time
}

type Job struct {
	ID        string
	Type      ai.WorkflowType
	Workflow  string
	Namespace string
	BugID     spanner.NullString // set if the job related to some bug
	// Arbitrary description/link shown in the UI list of jobs.
	Description  string
	Link         string
	Created      time.Time
	Started      spanner.NullTime
	Finished     spanner.NullTime
	LLMModel     string // LLM model used to execute the job, filled when the job is started
	CodeRevision string // syzkaller revision, filled when the job is started
	Error        string // for finished jobs
	Args         spanner.NullJSON
	Results      spanner.NullJSON
	Correct      spanner.NullBool
}

type TrajectorySpan struct {
	JobID string
	// The following fields correspond one-to-one to trajectory.Span fields (add field comments there).
	Seq         int64
	Nesting     int64
	Type        string
	Name        string
	Started     time.Time
	Finished    spanner.NullTime
	Error       spanner.NullString
	Args        spanner.NullJSON
	Results     spanner.NullJSON
	Instruction spanner.NullString
	Prompt      spanner.NullString
	Reply       spanner.NullString
	Thoughts    spanner.NullString
}