feat(agent): 创作助手 - 完成第一期交互与执行基线
This commit is contained in:
44
backend/internal/model/models_creation.go
Normal file
44
backend/internal/model/models_creation.go
Normal file
@@ -0,0 +1,44 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
// CreationRun keeps execution authority separate from untrusted conversation state.
|
||||
type CreationRun struct {
|
||||
ID string `json:"id" gorm:"primaryKey;size:36"`
|
||||
UserID string `json:"userId" gorm:"size:36;index;uniqueIndex:idx_creation_client,priority:1"`
|
||||
ClientKey string `json:"-" gorm:"size:120;uniqueIndex:idx_creation_client,priority:2"`
|
||||
CreateHash string `json:"-" gorm:"size:64"`
|
||||
CanvasID string `json:"canvasId,omitempty" gorm:"size:80"`
|
||||
Revision int64 `json:"revision"`
|
||||
ExecutionEpoch int64 `json:"executionEpoch"`
|
||||
ExecutionOwner string `json:"executionOwner" gorm:"size:120"`
|
||||
LeaseExpiresAt *time.Time `json:"leaseExpiresAt,omitempty"`
|
||||
Status string `json:"status" gorm:"size:32"`
|
||||
StateJSON string `json:"-" gorm:"type:text"`
|
||||
ApprovedProposalVersion int64 `json:"approvedProposalVersion,omitempty"`
|
||||
ApprovedProposalHash string `json:"approvedProposalHash,omitempty" gorm:"size:64"`
|
||||
ApprovedOperationsJSON string `json:"-" gorm:"type:text"`
|
||||
ApprovedCanvasJSON string `json:"-" gorm:"type:text"`
|
||||
ApprovedAt *time.Time `json:"-"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
type CreationSubmission struct {
|
||||
ID string `json:"id" gorm:"primaryKey;size:36"`
|
||||
UserID string `json:"-" gorm:"size:36;index"`
|
||||
RunID string `json:"runId" gorm:"size:36;uniqueIndex:idx_creation_item,priority:1"`
|
||||
ItemKey string `json:"itemKey" gorm:"size:160;uniqueIndex:idx_creation_item,priority:2"`
|
||||
ProposalVersion int64 `json:"-"`
|
||||
ProposalHash string `json:"-" gorm:"size:64"`
|
||||
RequestJSON string `json:"-" gorm:"type:text"`
|
||||
RequestHash string `json:"requestHash" gorm:"size:64"`
|
||||
QuoteJSON string `json:"-" gorm:"type:text"`
|
||||
PriceSignature string `json:"-" gorm:"type:text"`
|
||||
ExpiresAt time.Time `json:"-"`
|
||||
ApprovedAt *time.Time `json:"approvedAt,omitempty"`
|
||||
RevokedAt *time.Time `json:"revokedAt,omitempty"`
|
||||
TaskID *string `json:"taskId,omitempty" gorm:"size:36;uniqueIndex"`
|
||||
CreatedAt time.Time `json:"-"`
|
||||
UpdatedAt time.Time `json:"-"`
|
||||
}
|
||||
@@ -3,6 +3,7 @@ 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"`
|
||||
|
||||
Reference in New Issue
Block a user