feat: complete multimodal ticket intake
This commit is contained in:
@@ -49,6 +49,7 @@ class AgentVersion(models.Model):
|
||||
system_prompt = models.TextField(blank=True)
|
||||
input_schema = models.JSONField(default=dict)
|
||||
example_input = models.JSONField(default=dict, blank=True)
|
||||
allowed_actions = models.JSONField(default=list, blank=True)
|
||||
temperature_override = models.FloatField(null=True, blank=True)
|
||||
max_output_tokens_override = models.PositiveIntegerField(null=True, blank=True)
|
||||
created_by = models.ForeignKey(
|
||||
@@ -97,6 +98,13 @@ class AgentStepBinding(models.Model):
|
||||
on_delete=models.PROTECT,
|
||||
related_name="agent_bindings",
|
||||
)
|
||||
model_deployment = models.ForeignKey(
|
||||
ModelDeployment,
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.PROTECT,
|
||||
related_name="agent_step_bindings",
|
||||
)
|
||||
input_mapping = models.JSONField(default=dict)
|
||||
|
||||
class Meta:
|
||||
@@ -131,6 +139,9 @@ class AgentRun(models.Model):
|
||||
final_output = models.JSONField(null=True, blank=True)
|
||||
config_snapshot = models.JSONField(default=dict)
|
||||
current_step = models.CharField(max_length=80, blank=True)
|
||||
progress_stage = models.CharField(max_length=40, default="queued")
|
||||
progress_message = models.CharField(max_length=160, blank=True)
|
||||
retry_count = models.PositiveSmallIntegerField(default=0)
|
||||
total_steps = models.PositiveIntegerField(default=0)
|
||||
input_tokens = models.PositiveIntegerField(default=0)
|
||||
output_tokens = models.PositiveIntegerField(default=0)
|
||||
@@ -158,6 +169,24 @@ class AgentRun(models.Model):
|
||||
]
|
||||
|
||||
|
||||
class AgentRunEvent(models.Model):
|
||||
run = models.ForeignKey(AgentRun, on_delete=models.CASCADE, related_name="events")
|
||||
sequence = models.PositiveBigIntegerField()
|
||||
event_type = models.CharField(max_length=48)
|
||||
payload = models.JSONField(default=dict, blank=True)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
class Meta:
|
||||
ordering = ["sequence"]
|
||||
constraints = [
|
||||
models.UniqueConstraint(
|
||||
fields=["run", "sequence"],
|
||||
name="unique_agent_run_event_sequence",
|
||||
)
|
||||
]
|
||||
indexes = [models.Index(fields=["run", "sequence"])]
|
||||
|
||||
|
||||
class AgentArtifact(models.Model):
|
||||
public_id = models.UUIDField(default=uuid.uuid4, unique=True, editable=False)
|
||||
run = models.ForeignKey(
|
||||
@@ -194,6 +223,13 @@ class AgentRunStep(models.Model):
|
||||
on_delete=models.PROTECT,
|
||||
related_name="run_steps",
|
||||
)
|
||||
model_deployment = models.ForeignKey(
|
||||
ModelDeployment,
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.PROTECT,
|
||||
related_name="agent_run_steps",
|
||||
)
|
||||
status = models.CharField(max_length=24, default="queued")
|
||||
input_payload = models.JSONField(default=dict)
|
||||
output_payload = models.JSONField(null=True, blank=True)
|
||||
|
||||
Reference in New Issue
Block a user