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,33 @@
package database
import (
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"testing"
)
func TestCreationMigrationKeepsLegacyTasksNullableAndEnforcesSubmissionUnique(t *testing.T) {
db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
if err != nil {
t.Fatal(err)
}
if err = migrateSchemaV9(db); err != nil {
t.Fatal(err)
}
for _, id := range []string{"manual-one", "manual-two"} {
if err = db.Create(&model.Task{ID: id}).Error; err != nil {
t.Fatal(err)
}
}
sid := "submission"
if err = db.Create(&model.Task{ID: "creation-one", CreationSubmissionID: &sid}).Error; err != nil {
t.Fatal(err)
}
if err = db.Create(&model.Task{ID: "creation-two", CreationSubmissionID: &sid}).Error; err == nil {
t.Fatal("duplicate execution admitted")
}
if !db.Migrator().HasTable(&model.CreationRun{}) || !db.Migrator().HasTable(&model.CreationSubmission{}) {
t.Fatal("creation tables missing")
}
}

View File

@@ -87,6 +87,8 @@ func Models() []any {
&model.Announcement{},
&model.UserAnnouncementRead{},
&model.Task{},
&model.CreationRun{},
&model.CreationSubmission{},
&model.TaskTextDelta{},
&model.Session{},
&model.Message{},