feat(agent): 创作助手 - 完成第一期交互与执行基线

This commit is contained in:
王志伟
2026-09-08 18:09:24 +08:00
parent 83d9622fd0
commit e782009db5
54 changed files with 6953 additions and 323 deletions

View 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:"-"`
}

View File

@@ -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"`