后端: 1.收口阶段 6 agent 结构迁移,将 newAgent 内核与 agentsvc 编排层迁入 services/agent - 切换 Agent 启动装配与 HTTP handler 直连 agent sv,移除旧 service agent bridge - 补齐 Agent 对 memory、task、task-class、schedule 的 RPC 适配与契约字段 - 扩展 schedule、task、task-class RPC/contract 支撑 Agent 查询、写入与 provider 切流 - 更新迁移文档、README 与相关注释,明确 agent 当前切流点和剩余 memory 迁移面
81 lines
1.6 KiB
Go
81 lines
1.6 KiB
Go
package agentshared
|
|
|
|
import "github.com/LoveLosita/smartflow/backend/model"
|
|
|
|
func CloneWeekSchedules(src []model.UserWeekSchedule) []model.UserWeekSchedule {
|
|
if len(src) == 0 {
|
|
return nil
|
|
}
|
|
|
|
dst := make([]model.UserWeekSchedule, 0, len(src))
|
|
for _, week := range src {
|
|
eventsCopy := make([]model.WeeklyEventBrief, len(week.Events))
|
|
copy(eventsCopy, week.Events)
|
|
dst = append(dst, model.UserWeekSchedule{
|
|
Week: week.Week,
|
|
Events: eventsCopy,
|
|
})
|
|
}
|
|
return dst
|
|
}
|
|
|
|
func CloneHybridEntries(src []model.HybridScheduleEntry) []model.HybridScheduleEntry {
|
|
if len(src) == 0 {
|
|
return nil
|
|
}
|
|
dst := make([]model.HybridScheduleEntry, len(src))
|
|
copy(dst, src)
|
|
return dst
|
|
}
|
|
|
|
func CloneTaskClassItems(src []model.TaskClassItem) []model.TaskClassItem {
|
|
if len(src) == 0 {
|
|
return nil
|
|
}
|
|
|
|
dst := make([]model.TaskClassItem, 0, len(src))
|
|
for _, item := range src {
|
|
copied := item
|
|
if item.CategoryID != nil {
|
|
v := *item.CategoryID
|
|
copied.CategoryID = &v
|
|
}
|
|
if item.Order != nil {
|
|
v := *item.Order
|
|
copied.Order = &v
|
|
}
|
|
if item.Content != nil {
|
|
v := *item.Content
|
|
copied.Content = &v
|
|
}
|
|
if item.Status != nil {
|
|
v := *item.Status
|
|
copied.Status = &v
|
|
}
|
|
if item.EmbeddedTime != nil {
|
|
t := *item.EmbeddedTime
|
|
copied.EmbeddedTime = &t
|
|
}
|
|
dst = append(dst, copied)
|
|
}
|
|
return dst
|
|
}
|
|
|
|
func CloneInts(src []int) []int {
|
|
if len(src) == 0 {
|
|
return nil
|
|
}
|
|
dst := make([]int, len(src))
|
|
copy(dst, src)
|
|
return dst
|
|
}
|
|
|
|
func CloneStrings(src []string) []string {
|
|
if len(src) == 0 {
|
|
return nil
|
|
}
|
|
dst := make([]string, len(src))
|
|
copy(dst, src)
|
|
return dst
|
|
}
|