Skip to content

JobKind

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

What target a job runs.

[JsonConverter(typeof(JsonStringEnumConverter<JobKind>))]
public enum JobKind

AgentBatch = 0

Runs an agent as a batch over a set of inputs.

AgentRun = 5

A single queued (durable) agent run.

Runs started with Prefer: respond-async run under this kind. Unlike JobKind.AgentBatch, it does not require an item set, and the run identifier is generated IN ADVANCE by the caller (the HTTP layer) — JobRecord.Id carries the same value as the run identifier.

ApprovalResume = 7

A new run that resumes a queued run after an approval decision.

separate from JobKind.AgentRun: the old run row closed with AwaitingApproval never changes again (the same principle as RunStatus.AwaitingInput); this job opens a new runs row with a new RunId. The payload carries the identifier of the PendingApproval record whose decision was made.

Eval = 2

An evaluation (eval) run. Evaluation registers its own IJobHandler implementation for this value.

OnlineEval = 6

Scores a sampled production run.

The payload is empty or for diagnostics; the identifier of the run to score is the job item itself (JobItemRecord.Input) — the same pattern as how the JobKind.Eval job carries a case identifier.

Retention = 4

A retention sweep. TargetName is either a specific RetentionTargets value or "*", which processes all enabled policies.

WebhookDelivery = 3

A single webhook delivery attempt. The payload carries the delivery record’s identifier; the body is read from the webhook_deliveries table.

Workflow = 1

Runs a workflow, or responds to a pending workflow.

Written as a name in JSON, stored as smallint in the database. The value order must not change — only append; existing rows reference the numeric value.