feat(agent): 云端 Agent - 增加上下文预算、任务事实与终态恢复保障

This commit is contained in:
ddCat
2026-09-19 20:43:20 +08:00
parent 3bf21d79af
commit b52bc9d5f2
61 changed files with 3512 additions and 309 deletions

View File

@@ -3,24 +3,33 @@ package model
import "time"
type Task struct {
CreationSubmissionID *string `json:"creationSubmissionId,omitempty" gorm:"size:36;uniqueIndex"`
ID string `json:"id" gorm:"primaryKey;size:36"`
UserID string `json:"userId" gorm:"index;size:36;index:idx_tasks_user_created,priority:1;index:idx_tasks_user_project_created,priority:1"`
TraceID string `json:"-" gorm:"index;size:96"`
RequestID string `json:"-" gorm:"index;size:96"`
ProjectID string `json:"projectId" gorm:"index;size:80;index:idx_tasks_user_project_created,priority:2"`
Type string `json:"type" gorm:"index;size:64"`
Status TaskStatus `json:"status" gorm:"index;size:24;index:idx_tasks_status_created,priority:1;index:idx_tasks_claim,priority:1;index:idx_tasks_provider_cancel,priority:1"`
Stage string `json:"stage" gorm:"size:80"`
Progress int `json:"progress"`
Prompt string `json:"prompt"`
Operation string `json:"operation" gorm:"size:64"`
Provider string `json:"provider" gorm:"size:64"`
Model string `json:"model" gorm:"size:120"`
LogicalModelID string `json:"logicalModelId,omitempty" gorm:"size:36;index"`
LogicalModelRevisionID string `json:"logicalModelRevisionId,omitempty" gorm:"size:36;index"`
RouteID string `json:"routeId,omitempty" gorm:"size:36;index"`
ChannelModelID string `json:"channelModelId,omitempty" gorm:"size:36;index"`
AgentRunID string `json:"agentRunId,omitempty" gorm:"size:36;index"`
GenerationID string `json:"generationId,omitempty" gorm:"size:36;index"`
ApprovalID string `json:"approvalId,omitempty" gorm:"size:160"`
AuthorizedChargeMicrocredits int64 `json:"authorizedChargeMicrocredits,omitempty"`
ExecutionDiagnosticJSON string `json:"-" gorm:"type:text"`
Diagnostic *TaskExecutionDiagnostic `json:"diagnostic,omitempty" gorm:"-"`
CancellationSource string `json:"cancellationSource,omitempty" gorm:"size:40"`
CancellationActorID string `json:"cancellationActorId,omitempty" gorm:"size:36"`
CancellationRequestedAt *time.Time `json:"cancellationRequestedAt,omitempty"`
CreationSubmissionID *string `json:"creationSubmissionId,omitempty" gorm:"size:36;uniqueIndex"`
ID string `json:"id" gorm:"primaryKey;size:36"`
UserID string `json:"userId" gorm:"index;size:36;index:idx_tasks_user_created,priority:1;index:idx_tasks_user_project_created,priority:1"`
TraceID string `json:"-" gorm:"index;size:96"`
RequestID string `json:"-" gorm:"index;size:96"`
ProjectID string `json:"projectId" gorm:"index;size:80;index:idx_tasks_user_project_created,priority:2"`
Type string `json:"type" gorm:"index;size:64"`
Status TaskStatus `json:"status" gorm:"index;size:24;index:idx_tasks_status_created,priority:1;index:idx_tasks_claim,priority:1;index:idx_tasks_provider_cancel,priority:1"`
Stage string `json:"stage" gorm:"size:80"`
Progress int `json:"progress"`
Prompt string `json:"prompt"`
Operation string `json:"operation" gorm:"size:64"`
Provider string `json:"provider" gorm:"size:64"`
Model string `json:"model" gorm:"size:120"`
LogicalModelID string `json:"logicalModelId,omitempty" gorm:"size:36;index"`
LogicalModelRevisionID string `json:"logicalModelRevisionId,omitempty" gorm:"size:36;index"`
RouteID string `json:"routeId,omitempty" gorm:"size:36;index"`
ChannelModelID string `json:"channelModelId,omitempty" gorm:"size:36;index"`
// RouteRun 只在用户主动重试时递增;worker 租约恢复不应创建新的路由选择世代。
RouteRun int `json:"-" gorm:"index"`
BillingOrderID string `json:"billingOrderId,omitempty" gorm:"index;size:36"`