refactor(*): 代码质量 - 优化前后端实现并完善协议与画布验证

This commit is contained in:
ddcat666 committed 2026-10-08 19:38:57 +08:00
1 parent 9be3aa8235
commit 87ecb3000c
724 files changed
+3045 -3884

No files matched your search

+2 -2
View File
@@ -5,8 +5,8 @@ import (
"strings"
"time"
"infinite-canvas/backend/internal/kernel"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/kernel"
"yingce/backend/internal/model"
)
type CreateAdminUserRequest struct {
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"time"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func (s *Service) LogAPICall(log model.ApiCallLog) error {
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"strings"
"time"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
type AdminUserDetail struct {
+2 -2
View File
@@ -3,8 +3,8 @@ package app
import (
"testing"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"golang.org/x/crypto/bcrypt"
"gorm.io/driver/sqlite"
+3 -3
View File
@@ -9,9 +9,9 @@ import (
"strconv"
"testing"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/outbound/outboundtest"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/outbound/outboundtest"
"yingce/backend/internal/repository"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"time"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func (s *Service) PublicSystemChannels() ([]PublicModelChannel, error) {
+3 -3
View File
@@ -5,9 +5,9 @@ import (
"strings"
"time"
"infinite-canvas/backend/internal/assets"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/assets"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/gorm"
)
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"sort"
"strings"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
const maxAdminResourceDeleteCount = 100
@@ -6,9 +6,9 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/database"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/database"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/gorm"
)
+2 -2
View File
@@ -8,8 +8,8 @@ import (
"testing"
"time"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
@@ -10,12 +10,12 @@ import (
"strings"
"time"
agentruntime "infinite-canvas/backend/internal/agent/runtime"
"infinite-canvas/backend/internal/agent/yingceagent"
"infinite-canvas/backend/internal/buildinfo"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/platform"
"infinite-canvas/backend/internal/repository"
agentruntime "yingce/backend/internal/agent/runtime"
"yingce/backend/internal/agent/yingceagent"
"yingce/backend/internal/buildinfo"
"yingce/backend/internal/model"
"yingce/backend/internal/platform"
"yingce/backend/internal/repository"
"github.com/redis/go-redis/v9"
)
@@ -9,10 +9,10 @@ import (
"testing"
"time"
"infinite-canvas/backend/internal/database"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/platform"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/database"
"yingce/backend/internal/model"
"yingce/backend/internal/platform"
"yingce/backend/internal/repository"
"github.com/redis/go-redis/v9"
"gorm.io/driver/sqlite"
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"net/http"
"strings"
"infinite-canvas/backend/internal/hostupdate"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/hostupdate"
"yingce/backend/internal/model"
)
type UpdateManager interface {
@@ -4,8 +4,8 @@ import (
"testing"
"time"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
+2 -2
View File
@@ -10,8 +10,8 @@ import (
"time"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
func (s *Service) RequireAdmin(user *model.User) error {
@@ -6,9 +6,9 @@ import (
"reflect"
"testing"
"infinite-canvas/backend/internal/database"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/database"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
@@ -3,7 +3,7 @@ package app
import (
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestAllVideoProtocolsQuoteReserveAndSettleWithoutProviderUsage(t *testing.T) {
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"strings"
"time"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
type AnalyticsQuery struct {
+3 -3
View File
@@ -11,9 +11,9 @@ import (
"strings"
"time"
"infinite-canvas/backend/internal/assets"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/assets"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
func (s *Service) AdminAPICallLogs(actor *model.User, query APICallLogQuery) (*APICallLogPage, error) {
+2 -2
View File
@@ -9,8 +9,8 @@ import (
"strings"
"time"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
func normalizeAnalyticsFilter(query AnalyticsQuery) repository.AnalyticsFilter {
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"strings"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func (s *Service) estimateCallCost(log *model.ApiCallLog) {
+1 -1
View File
@@ -1,6 +1,6 @@
package app
import "infinite-canvas/backend/internal/model"
import "yingce/backend/internal/model"
type AnalyticsFinance struct {
SettledOrders int `json:"settledOrders"`
@@ -7,8 +7,8 @@ import (
"testing"
"time"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
+3 -3
View File
@@ -10,9 +10,9 @@ import (
"time"
"unicode/utf8"
"infinite-canvas/backend/internal/assets"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/assets"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/gorm"
)
+3 -3
View File
@@ -4,9 +4,9 @@ import (
"testing"
"time"
"infinite-canvas/backend/internal/database"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/database"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
+2 -2
View File
@@ -3,8 +3,8 @@ package app
import (
"testing"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
+2 -2
View File
@@ -16,8 +16,8 @@ import (
"unicode"
"unicode/utf8"
"infinite-canvas/backend/internal/assets"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/assets"
"yingce/backend/internal/model"
"gorm.io/gorm"
)
@@ -4,7 +4,7 @@ import (
"encoding/json"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestAppearanceButtonFillRoundTripAndValidation(t *testing.T) {
+1 -1
View File
@@ -11,7 +11,7 @@ import (
"strings"
"unicode"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
const Live2DMaxBytes int64 = 128 << 20
@@ -8,7 +8,7 @@ import (
"os"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func live2DTestFiles(t *testing.T) map[string][]byte {
+3 -3
View File
@@ -14,9 +14,9 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/database"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/database"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"strings"
"time"
"infinite-canvas/backend/internal/assets"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/assets"
"yingce/backend/internal/model"
)
type UpdateAnnouncement struct {
@@ -5,7 +5,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func updateTestValue() UpdateAnnouncement {
+2 -2
View File
@@ -7,8 +7,8 @@ import (
"time"
"unicode/utf8"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/gorm"
)
+2 -2
View File
@@ -4,8 +4,8 @@ import (
"context"
"time"
"infinite-canvas/backend/internal/auth"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/auth"
"yingce/backend/internal/model"
)
const SessionCookieName = auth.SessionCookieName
+4 -4
View File
@@ -6,10 +6,10 @@ import (
"io"
"time"
"infinite-canvas/backend/internal/assets"
"infinite-canvas/backend/internal/canvas"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/assets"
"yingce/backend/internal/canvas"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
type (
@@ -2,7 +2,7 @@ package app
import (
"errors"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
"os"
"path/filepath"
"strings"
@@ -8,7 +8,7 @@ import (
"sort"
"strings"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
type ChannelModelsRequest struct {
@@ -7,8 +7,8 @@ import (
"strings"
"sync"
"infinite-canvas/backend/internal/provider"
"infinite-canvas/backend/internal/provider/bailian"
"yingce/backend/internal/provider"
"yingce/backend/internal/provider/bailian"
)
var pluginsInitOnce sync.Once
@@ -4,7 +4,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestChannelModelLabelSaveAndCatalogPreserveChannelIdentity(t *testing.T) {
@@ -6,8 +6,8 @@ import (
"sort"
"strings"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
type ChannelModelRepriceRequest struct {
@@ -4,8 +4,8 @@ import (
"errors"
"testing"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/gorm"
)
+1 -1
View File
@@ -3,7 +3,7 @@ package app
import (
"strings"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func normalizeChannelModelTags(input []model.ChannelModelTag) ([]model.ChannelModelTag, error) {
@@ -4,7 +4,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestChannelModelTagsValidation(t *testing.T) {
@@ -3,7 +3,7 @@ package app
import (
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
// 模型级上游键重命名后,任务请求必须使用新键;价格档中与旧值相同的上游键属于
+3 -3
View File
@@ -7,9 +7,9 @@ import (
"time"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/protocol"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/protocol"
"yingce/backend/internal/repository"
)
type ChannelModelRequest struct {
@@ -6,7 +6,7 @@ import (
"context"
"strings"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func (s *Service) FetchAdminChannelModels(ctx context.Context, actor *model.User, channelID string) (*AdminChannelModelFetchResult, error) {
@@ -7,7 +7,7 @@ import (
"strconv"
"strings"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func validateChannelModelTierCapabilities(tiers []model.ChannelModelPriceTier, rawCapabilityConfig string, capability string) error {
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"encoding/json"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func mustEncodeModelCapabilityConfig(t *testing.T, config *ModelCapabilityConfig) string {
@@ -9,7 +9,7 @@ import (
"strings"
"time"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func (s *Service) TestAdminChannelModel(ctx context.Context, actor *model.User, channelID string, req ChannelModelRequest) (*AdminChannelModelTestResult, error) {
+2 -2
View File
@@ -2,8 +2,8 @@ package app
import (
"errors"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"net/http"
)
+1 -1
View File
@@ -1,7 +1,7 @@
package app
import (
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
"testing"
)
+1 -1
View File
@@ -3,7 +3,7 @@ package app
import (
"time"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func (req ChannelRequest) presentationOnly() bool {
@@ -7,7 +7,7 @@ import (
"testing"
"time"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestChannelPresentationUsesModelLabelsAndPublicOrder(t *testing.T) {
@@ -4,7 +4,7 @@ import (
"encoding/json"
"testing"
"infinite-canvas/backend/internal/prompts"
"yingce/backend/internal/prompts"
)
func TestChapterAssetsPromptContract(t *testing.T) {
+2 -2
View File
@@ -13,8 +13,8 @@ import (
"unicode/utf8"
"gorm.io/gorm"
"infinite-canvas/backend/internal/kernel"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/kernel"
"yingce/backend/internal/model"
)
const cloudAgentOperation = "cloud_agent"
+2 -2
View File
@@ -3,8 +3,8 @@ package app
import (
"strings"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// The anchor records the current request and observable reference candidates.
@@ -9,10 +9,10 @@ import (
"strings"
"unicode/utf8"
"infinite-canvas/backend/internal/canvas/capability"
"infinite-canvas/backend/internal/canvas/layout"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/canvas/capability"
"yingce/backend/internal/canvas/layout"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// cloudAgentApprovalPreview is server-authored explanatory data. It never
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestCloudAgentMediaReadHashSurvivesMoveBeforeDraft(t *testing.T) {
@@ -6,8 +6,8 @@ import (
"testing"
"time"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// 停机时审批后的媒体等待会被取消。此时不能继续回写结果、也不能恢复运行时:
@@ -6,8 +6,8 @@ import (
"strings"
"unicode/utf8"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
const (
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestCloudAgentBatchTableReferenceLimit(t *testing.T) {
@@ -3,7 +3,7 @@ package app
import (
"reflect"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/repository"
)
// Persist the delta in the same transaction as the canvas and run checkpoint.
@@ -6,8 +6,8 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/prompts"
"yingce/backend/internal/model"
"yingce/backend/internal/prompts"
)
func agentCanvasPatchForOperation(t *testing.T, state cloudAgentRuntime, operation string) map[string]any {
@@ -5,8 +5,8 @@ import (
"fmt"
"strings"
"infinite-canvas/backend/internal/canvas/capability"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/canvas/capability"
"yingce/backend/internal/repository"
)
type cloudAgentStructuredProjector func(value any, offset int, precise bool) (any, error)
@@ -4,8 +4,8 @@ import (
"fmt"
"strings"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
type cloudAgentCharacter struct {
@@ -5,8 +5,8 @@ import (
"strings"
"unicode/utf8"
"infinite-canvas/backend/internal/canvas/layout"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/canvas/layout"
"yingce/backend/internal/repository"
)
const (
@@ -5,7 +5,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestCloudAgentCreatesCharacterCardFromCanvasMedia(t *testing.T) {
@@ -7,7 +7,7 @@ import (
"time"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func seedCloudAgentCharacter(t *testing.T, db *gorm.DB, canvasID string) map[string]any {
@@ -5,8 +5,8 @@ import (
"testing"
"time"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
func TestCloudAgentContextBudgetKeepsModelWindowAndOutputSeparate(t *testing.T) {
@@ -7,9 +7,9 @@ import (
"sort"
"strings"
"infinite-canvas/backend/internal/agentcontext"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/agentcontext"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// cloudAgentContextCompactionOperation 是"压缩历史"这次独立模型调用的任务操作名。
@@ -9,9 +9,9 @@ import (
"testing"
"gorm.io/gorm"
"infinite-canvas/backend/internal/agentcontext"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/agentcontext"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// saveCloudAgentCompactionState 用真实保存路径持久化运行状态(消息、事件与检查点同事务),
@@ -7,7 +7,7 @@ import (
"time"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
// ContextFrame is a fresh projection of durable task facts, never authorization.
@@ -4,7 +4,7 @@ import (
"encoding/json"
"strings"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
const (
@@ -5,7 +5,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestCloudAgentContinuationReplySplitsFactsFromAssistantText(t *testing.T) {
@@ -5,7 +5,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
// 自研(2026-09-15):部署改了策略或能力集后,旧轮次的 policy 快照与当前二进制不一致,
@@ -7,8 +7,8 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/canvas/capability"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/canvas/capability"
"yingce/backend/internal/model"
)
func TestCloudAgentMixedCanvasReadsUnsupportedNodesWithoutGrantingCapabilities(t *testing.T) {
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestCloudAgentCanvasArgumentFeedbackIdentifiesFailingOperation(t *testing.T) {
@@ -3,8 +3,8 @@ package app
import (
"strings"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
const cloudAgentMaxEmptyOutputNudges = 2
@@ -3,7 +3,7 @@ package app
import (
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestCloudAgentEmptyModelOutputDetection(t *testing.T) {
@@ -5,8 +5,8 @@ import (
"fmt"
"log"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
const (
@@ -5,8 +5,8 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/gorm"
)
@@ -1,7 +1,7 @@
package app
import (
"infinite-canvas/backend/internal/canvas/contract"
"yingce/backend/internal/canvas/contract"
"strings"
)
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestCloudAgentIdentityUsesSavedNameAcrossConversationTurns(t *testing.T) {
@@ -6,8 +6,8 @@ import (
"time"
"unicode/utf8"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// 自研(2026-09-17):运行中插话。
@@ -25,8 +25,8 @@ import (
"strings"
"time"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// cloudAgentInterjectionContent 插话进入对话的正文格式:前缀是给模型看的结构
@@ -10,8 +10,8 @@ import (
"time"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// interjectionPiRoot 建立 Pi 模式的运行(root 任务不占活动任务位,插话送达发生在 /model 桥)。
@@ -5,7 +5,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
// agentInterjectionState 取回并解码某个运行的运行态。
@@ -5,8 +5,8 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// 回归(线上 run ag3580aca,2026-10-07):用户发整份剧本,模型把大纲塞进 canvas_apply_ops
+3 -3
View File
@@ -5,9 +5,9 @@ import (
"math"
"strings"
"infinite-canvas/backend/internal/canvas/layout"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/canvas/layout"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// 云端 Agent 的节点整理:模型只决定"整理哪些节点 / 怎么归类",几何一律由服务端算。
@@ -6,8 +6,8 @@ import (
"fmt"
"testing"
"infinite-canvas/backend/internal/canvas/layout"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/canvas/layout"
"yingce/backend/internal/model"
)
// layoutFixture 造一张用于整理测试的画布:文本 / 图片 / 视频三类节点挤在同一个角落。
+3 -3
View File
@@ -11,9 +11,9 @@ import (
"unicode"
"unicode/utf8"
"infinite-canvas/backend/internal/kernel"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/kernel"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
"gorm.io/gorm"
)
@@ -6,8 +6,8 @@ import (
"testing"
"time"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
func agentLessonTestRepo(t *testing.T) *repository.Repository {
+2 -2
View File
@@ -11,8 +11,8 @@ import (
"unicode/utf8"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// The Agent uses the same public catalog as the composer, never a second routing policy.
@@ -4,8 +4,8 @@ import (
"encoding/json"
"strings"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
// Only user-editable image options cross the approval boundary. Targets,
@@ -8,8 +8,8 @@ import (
"testing"
"gorm.io/gorm"
"infinite-canvas/backend/internal/model"
"infinite-canvas/backend/internal/repository"
"yingce/backend/internal/model"
"yingce/backend/internal/repository"
)
func agentMediaFixture(t *testing.T) (*Service, *gorm.DB, cloudAgentMediaArgs) {
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestCloudAgentMediaCleanupUsesPersistedTaskTarget(t *testing.T) {
@@ -8,8 +8,8 @@ import (
"strings"
"time"
"infinite-canvas/backend/internal/kernel"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/kernel"
"yingce/backend/internal/model"
"gorm.io/gorm"
)
@@ -4,7 +4,7 @@ import (
"testing"
"time"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestAgentMemoryCompactMergesAndRewritesOwnedLessons(t *testing.T) {
@@ -7,7 +7,7 @@ import (
"strings"
"testing"
"infinite-canvas/backend/internal/model"
"yingce/backend/internal/model"
)
func TestCloudAgentModelSelectionRejectsBeforeCanvasRead(t *testing.T) {
Loaded 100 of 724 files, more files were not shown because too many files have changed in this diff. Show more