From 94cb01459892a349284dffacce70b48701015930 Mon Sep 17 00:00:00 2001 From: CityFun <31820853+zhengkunwang223@users.noreply.github.com> Date: Tue, 9 Jun 2026 18:53:37 +0800 Subject: [PATCH] chore: update dependencies (#12979) --- agent/app/service/agents.go | 106 +- agent/app/service/agents_skills.go | 40 +- agent/go.mod | 11 +- agent/go.sum | 33 +- core/cmd/server/docs/docs.go | 211 +++- core/cmd/server/docs/swagger.json | 209 +++- core/go.mod | 16 +- core/go.sum | 42 +- core/i18n/lang/en.yaml | 15 + core/i18n/lang/es-ES.yaml | 15 + core/i18n/lang/ja.yaml | 15 + core/i18n/lang/ko.yaml | 15 + core/i18n/lang/ms.yaml | 15 + core/i18n/lang/pt-BR.yaml | 15 + core/i18n/lang/ru.yaml | 15 + core/i18n/lang/tr.yaml | 15 + core/i18n/lang/zh-Hant.yaml | 15 + core/i18n/lang/zh.yaml | 15 + frontend/.eslintrc.js | 3 +- frontend/package-lock.json | 1079 ++++++++--------- frontend/package.json | 12 +- frontend/postcss.config.cjs | 2 +- frontend/src/lang/modules/en.ts | 7 + frontend/src/lang/modules/es-es.ts | 7 + frontend/src/lang/modules/ja.ts | 7 + frontend/src/lang/modules/ko.ts | 7 + frontend/src/lang/modules/ms.ts | 7 + frontend/src/lang/modules/pt-br.ts | 7 + frontend/src/lang/modules/ru.ts | 7 + frontend/src/lang/modules/tr.ts | 7 + frontend/src/lang/modules/zh-Hant.ts | 7 + frontend/src/lang/modules/zh.ts | 7 + frontend/src/styles/style.css | 25 +- .../host/file-management/process/index.vue | 10 +- 34 files changed, 1289 insertions(+), 730 deletions(-) diff --git a/agent/app/service/agents.go b/agent/app/service/agents.go index d5c1bdb8f..38d49b160 100644 --- a/agent/app/service/agents.go +++ b/agent/app/service/agents.go @@ -106,8 +106,13 @@ type IAgentService interface { } type batchUpgradePlan struct { - agent model.Agent - req request.AppInstallUpgrade + ctx batchAgentInstallContext + req request.AppInstallUpgrade +} + +type batchAgentInstallContext struct { + agent model.Agent + install model.AppInstall } const ( @@ -333,9 +338,9 @@ func (a AgentService) BatchUpgrade(req dto.AgentBatchUpgradeReq) ([]dto.AgentBat } for _, plan := range plans { result := dto.AgentBatchUpgradeResult{ - AgentID: plan.agent.ID, - AgentName: plan.agent.Name, - AppInstallID: plan.agent.AppInstallID, + AgentID: plan.ctx.agent.ID, + AgentName: plan.ctx.agent.Name, + AppInstallID: plan.ctx.agent.AppInstallID, } if err := upgradeInstall(plan.req); err != nil { result.Message = err.Error() @@ -361,9 +366,7 @@ func (a AgentService) BatchInstallSkill(req dto.AgentBatchSkillInstallReq) ([]dt return nil, fmt.Errorf("only .zip skill packages can be installed") } skillName := sanitizeLocalSkillDirName(req.SkillName, packagePath, req.SkillName) - agents, err := agentRepo.List(func(db *gorm.DB) *gorm.DB { - return db.Where("agent_type = ?", req.AgentType).Order("id ASC") - }) + agents, err := listBatchAgents(req.AgentType) if err != nil { return nil, err } @@ -374,23 +377,14 @@ func (a AgentService) BatchInstallSkill(req dto.AgentBatchSkillInstallReq) ([]dt AgentName: agent.Name, AppInstallID: agent.AppInstallID, } - if agent.AppInstallID == 0 { - result.Message = "agent app install id is empty" - results = append(results, result) - continue - } - install, err := appInstallRepo.GetFirst(repo.WithByID(agent.AppInstallID)) - if err != nil { - result.Message = err.Error() + ctx, message := loadBatchAgentInstall(agent, req.AgentType) + if message != "" { + result.Message = message results = append(results, result) continue } + install := ctx.install result.AppInstallID = install.ID - if install.App.Key != req.AgentType { - result.Message = fmt.Sprintf("app key %s does not match agent type %s", install.App.Key, req.AgentType) - results = append(results, result) - continue - } if install.Status == constant.StatusInstalling || install.Status == constant.StatusUpgrading { result.Message = fmt.Sprintf("agent status is %s", install.Status) results = append(results, result) @@ -407,8 +401,8 @@ func (a AgentService) BatchInstallSkill(req dto.AgentBatchSkillInstallReq) ([]dt results = append(results, result) continue } - currentAgent := agent - currentInstall := install + currentAgent := ctx.agent + currentInstall := ctx.install installTask.AddSubTask("Install local skill", func(t *task.Task) error { mgr := cmd.NewCommandMgr(cmd.WithTask(*t), cmd.WithContext(t.TaskCtx), cmd.WithTimeout(20*time.Minute)) return installLocalSkillPackage(mgr, currentInstall.ContainerName, currentAgent.AgentType, currentAgent.ConfigPath, packagePath, skillName) @@ -429,9 +423,7 @@ func (a AgentService) BatchOperate(req dto.AgentBatchOperateReq) ([]dto.AgentBat if operate != constant.Start && operate != constant.Stop && operate != constant.Restart && operate != constant.Delete { return nil, fmt.Errorf("operate %s is not supported", req.Operate) } - agents, err := agentRepo.List(func(db *gorm.DB) *gorm.DB { - return db.Where("agent_type = ?", req.AgentType).Order("id ASC") - }) + agents, err := listBatchAgents(req.AgentType) if err != nil { return nil, err } @@ -455,23 +447,14 @@ func (a AgentService) BatchOperate(req dto.AgentBatchOperateReq) ([]dto.AgentBat results = append(results, result) continue } - if agent.AppInstallID == 0 { - result.Message = "agent app install id is empty" - results = append(results, result) - continue - } - install, err := appInstallRepo.GetFirst(repo.WithByID(agent.AppInstallID)) - if err != nil { - result.Message = err.Error() + ctx, message := loadBatchAgentInstall(agent, req.AgentType) + if message != "" { + result.Message = message results = append(results, result) continue } + install := ctx.install result.AppInstallID = install.ID - if install.App.Key != req.AgentType { - result.Message = fmt.Sprintf("app key %s does not match agent type %s", install.App.Key, req.AgentType) - results = append(results, result) - continue - } if message := batchOperateSkipMessage(operate, install.Status); message != "" { result.Success = true result.Skipped = true @@ -493,10 +476,30 @@ func (a AgentService) BatchOperate(req dto.AgentBatchOperateReq) ([]dto.AgentBat return results, nil } -func buildBatchUpgradePlans(req dto.AgentBatchUpgradeReq) ([]batchUpgradePlan, []dto.AgentBatchUpgradeResult, error) { - agents, err := agentRepo.List(func(db *gorm.DB) *gorm.DB { - return db.Where("agent_type = ?", req.AgentType).Order("id ASC") +func listBatchAgents(agentType string) ([]model.Agent, error) { + return agentRepo.List(func(db *gorm.DB) *gorm.DB { + return db.Where("agent_type = ?", agentType).Order("id ASC") }) +} + +func loadBatchAgentInstall(agent model.Agent, agentType string) (batchAgentInstallContext, string) { + ctx := batchAgentInstallContext{agent: agent} + if agent.AppInstallID == 0 { + return ctx, "agent app install id is empty" + } + install, err := appInstallRepo.GetFirst(repo.WithByID(agent.AppInstallID)) + if err != nil { + return ctx, err.Error() + } + ctx.install = install + if install.App.Key != agentType { + return ctx, fmt.Sprintf("app key %s does not match agent type %s", install.App.Key, agentType) + } + return ctx, "" +} + +func buildBatchUpgradePlans(req dto.AgentBatchUpgradeReq) ([]batchUpgradePlan, []dto.AgentBatchUpgradeResult, error) { + agents, err := listBatchAgents(req.AgentType) if err != nil { return nil, nil, err } @@ -508,23 +511,14 @@ func buildBatchUpgradePlans(req dto.AgentBatchUpgradeReq) ([]batchUpgradePlan, [ AgentName: agent.Name, AppInstallID: agent.AppInstallID, } - if agent.AppInstallID == 0 { - result.Message = "agent app install id is empty" - results = append(results, result) - continue - } - install, err := appInstallRepo.GetFirst(repo.WithByID(agent.AppInstallID)) - if err != nil { - result.Message = err.Error() + ctx, message := loadBatchAgentInstall(agent, req.AgentType) + if message != "" { + result.Message = message results = append(results, result) continue } + install := ctx.install result.AppInstallID = install.ID - if install.App.Key != req.AgentType { - result.Message = fmt.Sprintf("app key %s does not match agent type %s", install.App.Key, req.AgentType) - results = append(results, result) - continue - } if install.Status == constant.StatusInstalling || install.Status == constant.StatusUpgrading { result.Message = fmt.Sprintf("agent status is %s", install.Status) results = append(results, result) @@ -549,7 +543,7 @@ func buildBatchUpgradePlans(req dto.AgentBatchUpgradeReq) ([]batchUpgradePlan, [ continue } plans = append(plans, batchUpgradePlan{ - agent: agent, + ctx: ctx, req: request.AppInstallUpgrade{ InstallID: install.ID, DetailID: detail.ID, diff --git a/agent/app/service/agents_skills.go b/agent/app/service/agents_skills.go index b44e14c72..1a02ed6bc 100644 --- a/agent/app/service/agents_skills.go +++ b/agent/app/service/agents_skills.go @@ -28,6 +28,7 @@ const clawhubGlobalRegistry = "https://clawhub.com" const clawhubChinaRegistry = "https://mirror-cn.clawhub.com" const localSkillHubSource = "local-hub" const localSkillHubPublishedStatus = "published" +const clawHubSkillTmpSubDir = "1panel/tmp/clawhub-skills" const hermesManagedSkillsDir = "/opt/data/skills" type openclawSkillsList struct { @@ -337,18 +338,7 @@ func validateLocalSkillPackagePath(packagePath string) (string, error) { if err != nil { return "", err } - root := filepath.Join(global.CONF.Base.InstallDir, "1panel", "uploads", "skills-hub") - absRoot, err := filepath.Abs(root) - if err != nil { - return "", err - } - resolvedRoot, err := filepath.EvalSymlinks(absRoot) - if err != nil { - // upload directory may not exist yet on agent host; treat as invalid - return "", fmt.Errorf("invalid local skill package path") - } - rel, err := filepath.Rel(resolvedRoot, resolvedPath) - if err != nil || rel == "." || strings.HasPrefix(rel, ".."+string(os.PathSeparator)) || rel == ".." { + if !isLocalSkillPackageAllowedPath(resolvedPath) { return "", fmt.Errorf("invalid local skill package path") } info, err := os.Stat(resolvedPath) @@ -361,6 +351,32 @@ func validateLocalSkillPackagePath(packagePath string) (string, error) { return resolvedPath, nil } +func isLocalSkillPackageAllowedPath(resolvedPath string) bool { + roots := []string{ + filepath.Join(global.CONF.Base.InstallDir, "1panel", "uploads", "skills-hub"), + filepath.Join(global.CONF.Base.InstallDir, filepath.FromSlash(clawHubSkillTmpSubDir)), + } + for _, root := range roots { + if isPathInsideResolvedRoot(resolvedPath, root) { + return true + } + } + return false +} + +func isPathInsideResolvedRoot(resolvedPath, root string) bool { + absRoot, err := filepath.Abs(root) + if err != nil { + return false + } + resolvedRoot, err := filepath.EvalSymlinks(absRoot) + if err != nil { + return false + } + rel, err := filepath.Rel(resolvedRoot, resolvedPath) + return err == nil && rel != "." && rel != ".." && !strings.HasPrefix(rel, ".."+string(os.PathSeparator)) +} + func normalizeLocalSkillInstallRoot(extractRoot, installRoot, skillName string) (string, string, error) { entries, err := os.ReadDir(extractRoot) if err != nil { diff --git a/agent/go.mod b/agent/go.mod index bcbb7c228..e5d66b0bb 100644 --- a/agent/go.mod +++ b/agent/go.mod @@ -16,7 +16,7 @@ require ( github.com/glebarez/sqlite v1.11.0 github.com/go-acme/lego/v5 v5.2.2 github.com/go-gormigrate/gormigrate/v2 v2.1.6 - github.com/go-playground/validator/v10 v10.30.2 + github.com/go-playground/validator/v10 v10.30.3 github.com/go-redis/redis v6.15.9+incompatible github.com/go-resty/resty/v2 v2.17.2 github.com/go-sql-driver/mysql v1.10.0 @@ -50,12 +50,12 @@ require ( github.com/tomasen/fcgi_client v0.0.0-20180423082037-2bb3d819fd19 github.com/upyun/go-sdk v2.1.0+incompatible go.mongodb.org/mongo-driver/v2 v2.6.0 - golang.org/x/crypto v0.52.0 + golang.org/x/crypto v0.53.0 golang.org/x/net v0.55.0 golang.org/x/oauth2 v0.36.0 - golang.org/x/sync v0.20.0 - golang.org/x/sys v0.45.0 - golang.org/x/text v0.37.0 + golang.org/x/sync v0.21.0 + golang.org/x/sys v0.46.0 + golang.org/x/text v0.38.0 golang.org/x/time v0.15.0 google.golang.org/genproto v0.0.0-20260414002931-afd174a4e478 gopkg.in/ini.v1 v1.67.2 @@ -121,7 +121,6 @@ require ( github.com/go-acme/alidns-20150109/v5 v5.4.1 // indirect github.com/go-acme/esa-20240910/v3 v3.2.2 // indirect github.com/go-acme/tencentclouddnspod v1.3.24 // indirect - github.com/go-ini/ini v1.67.0 // indirect github.com/go-jose/go-jose/v4 v4.1.4 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect diff --git a/agent/go.sum b/agent/go.sum index ec7551e51..f27247d13 100644 --- a/agent/go.sum +++ b/agent/go.sum @@ -228,9 +228,8 @@ github.com/denisenkom/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73 h1:OGNva6Whs github.com/denisenkom/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= -github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/dlclark/regexp2 v1.12.0 h1:0j4c5qQmnC6XOWNjP3PIXURXN2gWx76rd3KvgdPkCz8= +github.com/dlclark/regexp2 v1.12.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/docker/cli v29.5.2+incompatible h1:ubykJ1Y8LmNRGJ2BuMQ0kHOt/RO1YzGNswqWMJgivuQ= github.com/docker/cli v29.5.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= @@ -304,12 +303,8 @@ github.com/go-acme/tencentclouddnspod v1.3.24/go.mod h1:RKcB2wSoZncjBA0OEFj59s1k github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gormigrate/gormigrate/v2 v2.1.5 h1:1OyorA5LtdQw12cyJDEHuTrEV3GiXiIhS4/QTTa/SM8= -github.com/go-gormigrate/gormigrate/v2 v2.1.5/go.mod h1:mj9ekk/7CPF3VjopaFvWKN2v7fN3D9d3eEOAXRhi/+M= github.com/go-gormigrate/gormigrate/v2 v2.1.6 h1:VtX+l1Stj2v5RGubVQk0LS/8EPGXR+ldcOyCmlmKoyg= github.com/go-gormigrate/gormigrate/v2 v2.1.6/go.mod h1:PZpedQc4tWaxn6kvXicwhinh3L0seLpMc5ReKRX5id4= -github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= -github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-jose/go-jose/v4 v4.1.4 h1:moDMcTHmvE6Groj34emNPLs/qtYXRVcd6S7NHbHz3kA= github.com/go-jose/go-jose/v4 v4.1.4/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= @@ -339,8 +334,8 @@ github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= -github.com/go-playground/validator/v10 v10.30.2 h1:JiFIMtSSHb2/XBUbWM4i/MpeQm9ZK2xqPNk8vgvu5JQ= -github.com/go-playground/validator/v10 v10.30.2/go.mod h1:mAf2pIOVXjTEBrwUMGKkCWKKPs9NheYGabeB04txQSc= +github.com/go-playground/validator/v10 v10.30.3 h1:4MU6YkEwx7GbcPJOZxrtbu+QfF3pJLJuaYTeAH0DYy8= +github.com/go-playground/validator/v10 v10.30.3/go.mod h1:4Axh7oCNGcoGkqLoE4YWt6n20mcEIsPRlB7vPk3lpyc= github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-resty/resty/v2 v2.17.2 h1:FQW5oHYcIlkCNrMD2lloGScxcHJ0gkjshV3qcQAyHQk= @@ -613,8 +608,6 @@ github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLT github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= -github.com/minio/minio-go/v7 v7.1.0 h1:QEt5IStDpxgGjEdtOgpiZ5QhmSl3ax7qy61vi2SwHO8= -github.com/minio/minio-go/v7 v7.1.0/go.mod h1:Dm7WS1AgLmBa0NcQD6SeJnJf+K/EUW3GR7Ks6olB3OA= github.com/minio/minio-go/v7 v7.2.0 h1:RCJM0R1XOsRs+A3x3UCaf3ZYbByDaLjFeAi+YCQEPhs= github.com/minio/minio-go/v7 v7.2.0/go.mod h1:EU9hENAStx/xXduNdrGO5e4X5vk19NtgB+RIPjZO8o0= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= @@ -980,8 +973,8 @@ golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDf golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= -golang.org/x/crypto v0.52.0 h1:RMs7fP2rXdep0CftQlK8Uf+kibLm7qkCcradZWYz988= -golang.org/x/crypto v0.52.0/go.mod h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc= +golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= +golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1107,8 +1100,8 @@ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= -golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= +golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1184,8 +1177,8 @@ golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= -golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= +golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1199,8 +1192,8 @@ golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= -golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4= -golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk= +golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= +golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1217,8 +1210,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= -golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= -golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= +golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= +golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/core/cmd/server/docs/docs.go b/core/cmd/server/docs/docs.go index ebefbcf48..3e1c19d99 100644 --- a/core/cmd/server/docs/docs.go +++ b/core/cmd/server/docs/docs.go @@ -74,7 +74,6 @@ const docTemplate = `{ "description": "OK", "schema": { "additionalProperties": { - "format": "int64", "type": "integer" }, "type": "object" @@ -911,6 +910,167 @@ const docTemplate = `{ ] } }, + "/ai/agents/batch/install": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.AgentBatchInstallReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.AgentItem" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Batch install Agent", + "tags": [ + "AI" + ] + } + }, + "/ai/agents/batch/operate": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.AgentBatchOperateReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AgentBatchOperateResult" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Batch operate Agent", + "tags": [ + "AI" + ] + } + }, + "/ai/agents/batch/skill/install": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.AgentBatchSkillInstallReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AgentBatchSkillInstallResult" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Batch install Agent Skill", + "tags": [ + "AI" + ] + } + }, + "/ai/agents/batch/upgrade": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.AgentBatchUpgradeReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AgentBatchUpgradeResult" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Batch upgrade Agent", + "tags": [ + "AI" + ] + } + }, "/ai/agents/channel/delete": { "post": { "consumes": [ @@ -28131,6 +28291,53 @@ const docTemplate = `{ }, "type": "object" }, + "dto.AgentAccountInfo": { + "properties": { + "apiKey": { + "type": "string" + }, + "apiType": { + "type": "string" + }, + "baseUrl": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "masterAccountId": { + "type": "integer" + }, + "models": { + "items": { + "$ref": "#/definitions/dto.AgentAccountModel" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "providerName": { + "type": "string" + }, + "remark": { + "type": "string" + }, + "rememberApiKey": { + "type": "boolean" + }, + "verified": { + "type": "boolean" + } + }, + "type": "object" + }, "dto.AgentAccountModel": { "properties": { "contextWindow": { @@ -45142,4 +45349,4 @@ var SwaggerInfo = &swag.Spec{ func init() { swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) -} \ No newline at end of file +} diff --git a/core/cmd/server/docs/swagger.json b/core/cmd/server/docs/swagger.json index 72ffba00d..14c4b4232 100644 --- a/core/cmd/server/docs/swagger.json +++ b/core/cmd/server/docs/swagger.json @@ -70,7 +70,6 @@ "description": "OK", "schema": { "additionalProperties": { - "format": "int64", "type": "integer" }, "type": "object" @@ -907,6 +906,167 @@ ] } }, + "/ai/agents/batch/install": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.AgentBatchInstallReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.AgentItem" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Batch install Agent", + "tags": [ + "AI" + ] + } + }, + "/ai/agents/batch/operate": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.AgentBatchOperateReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AgentBatchOperateResult" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Batch operate Agent", + "tags": [ + "AI" + ] + } + }, + "/ai/agents/batch/skill/install": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.AgentBatchSkillInstallReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AgentBatchSkillInstallResult" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Batch install Agent Skill", + "tags": [ + "AI" + ] + } + }, + "/ai/agents/batch/upgrade": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.AgentBatchUpgradeReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AgentBatchUpgradeResult" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Batch upgrade Agent", + "tags": [ + "AI" + ] + } + }, "/ai/agents/channel/delete": { "post": { "consumes": [ @@ -28127,6 +28287,53 @@ }, "type": "object" }, + "dto.AgentAccountInfo": { + "properties": { + "apiKey": { + "type": "string" + }, + "apiType": { + "type": "string" + }, + "baseUrl": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "masterAccountId": { + "type": "integer" + }, + "models": { + "items": { + "$ref": "#/definitions/dto.AgentAccountModel" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "providerName": { + "type": "string" + }, + "remark": { + "type": "string" + }, + "rememberApiKey": { + "type": "boolean" + }, + "verified": { + "type": "boolean" + } + }, + "type": "object" + }, "dto.AgentAccountModel": { "properties": { "contextWindow": { diff --git a/core/go.mod b/core/go.mod index df41ad6f1..151e481ef 100644 --- a/core/go.mod +++ b/core/go.mod @@ -10,7 +10,7 @@ require ( github.com/gin-gonic/gin v1.12.0 github.com/glebarez/sqlite v1.11.0 github.com/go-gormigrate/gormigrate/v2 v2.1.6 - github.com/go-playground/validator/v10 v10.30.2 + github.com/go-playground/validator/v10 v10.30.3 github.com/go-resty/resty/v2 v2.17.2 github.com/go-webauthn/webauthn v0.17.4 github.com/google/uuid v1.6.0 @@ -31,11 +31,11 @@ require ( github.com/swaggo/files/v2 v2.0.2 github.com/swaggo/swag v1.16.6 github.com/xlzd/gotp v0.1.0 - golang.org/x/crypto v0.52.0 + golang.org/x/crypto v0.53.0 golang.org/x/net v0.55.0 - golang.org/x/sys v0.45.0 - golang.org/x/term v0.43.0 - golang.org/x/text v0.37.0 + golang.org/x/sys v0.46.0 + golang.org/x/term v0.44.0 + golang.org/x/text v0.38.0 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 gorm.io/gorm v1.31.1 @@ -101,9 +101,9 @@ require ( go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/arch v0.26.0 // indirect golang.org/x/image v0.39.0 // indirect - golang.org/x/mod v0.35.0 // indirect - golang.org/x/sync v0.20.0 // indirect - golang.org/x/tools v0.44.0 // indirect + golang.org/x/mod v0.36.0 // indirect + golang.org/x/sync v0.21.0 // indirect + golang.org/x/tools v0.45.0 // indirect google.golang.org/protobuf v1.36.11 // indirect modernc.org/libc v1.72.0 // indirect modernc.org/mathutil v1.7.1 // indirect diff --git a/core/go.sum b/core/go.sum index 2f356a29f..c1c7f5cd6 100644 --- a/core/go.sum +++ b/core/go.sum @@ -22,12 +22,8 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fsnotify/fsnotify v1.10.1 h1:b0/UzAf9yR5rhf3RPm9gf3ehBPpf0oZKIjtpKrx59Ho= github.com/fsnotify/fsnotify v1.10.1/go.mod h1:TLheqan6HD6GBK6PrDWyDPBaEV8LspOxvPSjC+bVfgo= -github.com/fxamacker/cbor/v2 v2.9.1 h1:2rWm8B193Ll4VdjsJY28jxs70IdDsHRWgQYAI80+rMQ= -github.com/fxamacker/cbor/v2 v2.9.1/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/fxamacker/cbor/v2 v2.9.2 h1:X4Ksno9+x3cz0TZv69ec1hxP/+tymuR8PXQJyDwfh78= github.com/fxamacker/cbor/v2 v2.9.2/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9Ufpk2AcUM= @@ -42,8 +38,6 @@ github.com/glebarez/go-sqlite v1.22.0 h1:uAcMJhaA6r3LHMTFgP0SifzgXg46yJkgxqyuyec github.com/glebarez/go-sqlite v1.22.0/go.mod h1:PlBIdHe0+aUEFn+r2/uthrWq4FxbzugL0L8Li6yQJbc= github.com/glebarez/sqlite v1.11.0 h1:wSG0irqzP6VurnMEpFGer5Li19RpIRi2qvQz++w0GMw= github.com/glebarez/sqlite v1.11.0/go.mod h1:h8/o8j5wiAsqSPoWELDUdJXhjAhsVliSn7bWZjOhrgQ= -github.com/go-gormigrate/gormigrate/v2 v2.1.5 h1:1OyorA5LtdQw12cyJDEHuTrEV3GiXiIhS4/QTTa/SM8= -github.com/go-gormigrate/gormigrate/v2 v2.1.5/go.mod h1:mj9ekk/7CPF3VjopaFvWKN2v7fN3D9d3eEOAXRhi/+M= github.com/go-gormigrate/gormigrate/v2 v2.1.6 h1:VtX+l1Stj2v5RGubVQk0LS/8EPGXR+ldcOyCmlmKoyg= github.com/go-gormigrate/gormigrate/v2 v2.1.6/go.mod h1:PZpedQc4tWaxn6kvXicwhinh3L0seLpMc5ReKRX5id4= github.com/go-openapi/jsonpointer v0.23.0 h1:c25HFTJ6uWGmoe5BQI6p72p4o7KnlWYsy1MeFlAumsw= @@ -79,18 +73,14 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.30.2 h1:JiFIMtSSHb2/XBUbWM4i/MpeQm9ZK2xqPNk8vgvu5JQ= -github.com/go-playground/validator/v10 v10.30.2/go.mod h1:mAf2pIOVXjTEBrwUMGKkCWKKPs9NheYGabeB04txQSc= +github.com/go-playground/validator/v10 v10.30.3 h1:4MU6YkEwx7GbcPJOZxrtbu+QfF3pJLJuaYTeAH0DYy8= +github.com/go-playground/validator/v10 v10.30.3/go.mod h1:4Axh7oCNGcoGkqLoE4YWt6n20mcEIsPRlB7vPk3lpyc= github.com/go-resty/resty/v2 v2.17.2 h1:FQW5oHYcIlkCNrMD2lloGScxcHJ0gkjshV3qcQAyHQk= github.com/go-resty/resty/v2 v2.17.2/go.mod h1:kCKZ3wWmwJaNc7S29BRtUhJwy7iqmn+2mLtQrOyQlVA= github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/go-webauthn/webauthn v0.16.4 h1:R9jqR/cYZa7hRquFF7Za/8qoH/K/TIs1/Q/4CyGN+1Q= -github.com/go-webauthn/webauthn v0.16.4/go.mod h1:SU2ljAgToTV/YLPI0C05QS4qn+e04WpB5g1RMfcZfS4= github.com/go-webauthn/webauthn v0.17.4 h1:KFTSz3R2RYDiUn/0cDi3XTJgFenSG74eKTTHlqWhlxk= github.com/go-webauthn/webauthn v0.17.4/go.mod h1:pZk63EE/BdztlmyS4Yc+9H5g4a8blNlbtGmdHQHbZX8= -github.com/go-webauthn/x v0.2.3 h1:8oArS+Rc1SWFLXhE17KZNx258Z4kUSyaDgsSncCO5RA= -github.com/go-webauthn/x v0.2.3/go.mod h1:tM04GF3V6VYq79AZMl7vbj4q6pz9r7L2criWRzbWhPk= github.com/go-webauthn/x v0.2.6 h1:TEyDuQAIiEgYpx60nKiBJIX/5nSUC8LxNbH+uf5U9uk= github.com/go-webauthn/x v0.2.6/go.mod h1:45bA7YEqyQhRcQJ/TiBb46Ww8yqHBGvgEhQ3WWF0aDo= github.com/goccy/go-json v0.10.6 h1:p8HrPJzOakx/mn/bQtjgNjdTcN+/S6FcG2CTtQOrHVU= @@ -233,34 +223,34 @@ golang.org/x/arch v0.26.0 h1:jZ6dpec5haP/fUv1kLCbuJy6dnRrfX6iVK08lZBFpk4= golang.org/x/arch v0.26.0/go.mod h1:0X+GdSIP+kL5wPmpK7sdkEVTt2XoYP0cSjQSbZBwOi8= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.52.0 h1:RMs7fP2rXdep0CftQlK8Uf+kibLm7qkCcradZWYz988= -golang.org/x/crypto v0.52.0/go.mod h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc= +golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= +golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= golang.org/x/image v0.39.0 h1:skVYidAEVKgn8lZ602XO75asgXBgLj9G/FE3RbuPFww= golang.org/x/image v0.39.0/go.mod h1:sIbmppfU+xFLPIG0FoVUTvyBMmgng1/XAMhQ2ft0hpA= -golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM= -golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU= +golang.org/x/mod v0.36.0 h1:JJjpVx6myfUsUdAzZuOSTTmRE0PfZeNWzzvKrP7amb4= +golang.org/x/mod v0.36.0/go.mod h1:moc6ELqsWcOw5Ef3xVprK5ul/MvtVvkIXLziUOICjUQ= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= -golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= -golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= +golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= -golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4= -golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk= +golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= +golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= +golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= -golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= +golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= +golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE= golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c= -golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI= +golang.org/x/tools v0.45.0 h1:18qN3FAooORvApf5XjCXgsuayZOEtXf6JK18I3+ONa8= +golang.org/x/tools v0.45.0/go.mod h1:LuUGqqaXcXMEFEruIVJVm5mgDD8vww/z/SR1gQ4uE/0= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/core/i18n/lang/en.yaml b/core/i18n/lang/en.yaml index fd9ae5d99..58be44027 100644 --- a/core/i18n/lang/en.yaml +++ b/core/i18n/lang/en.yaml @@ -140,8 +140,23 @@ BatchInstallAgent: "Batch install agent" DispatchAgentInstallTasks: "Dispatch agent install tasks" BatchUpgradeAgent: "Batch upgrade agent" DispatchAgentUpgradeTasks: "Dispatch agent upgrade tasks" +BatchAgentInstallDispatchFailed: "Node {{ .node }} failed to dispatch {{ .agentType }} install task Message: {{ .err }}" +BatchAgentInstallSubmitted: "Node {{ .node }} dispatched {{ .agentType }} install task successfully!" +BatchAgentUpgradeDispatchFailed: "Node {{ .node }} failed to dispatch {{ .agentType }} upgrade task Message: {{ .err }}" +BatchAgentUpgradeAlreadyLatest: "Node {{ .node }} {{ .agent }} is already at the target version, skipped" +BatchAgentUpgradeSubmitted: "Node {{ .node }} dispatched {{ .agent }} upgrade task successfully!" +BatchAgentUpgradeFailed: "Node {{ .node }} failed to dispatch {{ .agent }} upgrade task Message: {{ .err }}" BatchInstallAgentSkill: "Batch distribute Skill" DispatchAgentSkillInstallTasks: "Dispatch Skill install tasks" +BatchAgentSkillDispatchFailed: "Node {{ .node }} failed to dispatch {{ .skill }} to {{ .target }} Message: {{ .err }}" +BatchAgentNoAgentsFound: "Node {{ .node }} found no {{ .agentType }} agents, skipped" +BatchAgentSkillSkipped: "Node {{ .node }} {{ .agent }} skipped Message: {{ .msg }}" +BatchAgentSkillInstallSubmitted: "Node {{ .node }} dispatched {{ .skill }} install task to {{ .agent }} successfully!" +BatchAgentSkillInstallFailed: "Node {{ .node }} failed to dispatch {{ .skill }} install task to {{ .agent }} Message: {{ .err }}" +BatchAgentOperateDispatchFailed: "Node {{ .node }} failed to dispatch {{ .agentType }} {{ .operate }} task Message: {{ .err }}" +BatchAgentOperateSkipped: "Node {{ .node }} {{ .agent }} skipped Message: {{ .msg }}" +BatchAgentOperateSubmitted: "Node {{ .node }} dispatched {{ .agent }} {{ .operate }} task successfully!" +BatchAgentOperateFailed: "Node {{ .node }} failed to dispatch {{ .agent }} {{ .operate }} task Message: {{ .err }}" BatchStartAgent: "Batch start agent" DispatchAgentStartTasks: "Dispatch agent start tasks" BatchStopAgent: "Batch stop agent" diff --git a/core/i18n/lang/es-ES.yaml b/core/i18n/lang/es-ES.yaml index dc787468a..16d6f1965 100644 --- a/core/i18n/lang/es-ES.yaml +++ b/core/i18n/lang/es-ES.yaml @@ -140,8 +140,23 @@ BatchInstallAgent: "Instalación masiva de agentes" DispatchAgentInstallTasks: "Enviar tareas de instalación de agentes" BatchUpgradeAgent: "Actualización masiva de agentes" DispatchAgentUpgradeTasks: "Enviar tareas de actualización de agentes" +BatchAgentInstallDispatchFailed: "Nodo {{ .node }} no pudo distribuir la tarea de instalación de {{ .agentType }} Message: {{ .err }}" +BatchAgentInstallSubmitted: "Nodo {{ .node }} distribuyó la tarea de instalación de {{ .agentType }} correctamente!" +BatchAgentUpgradeDispatchFailed: "Nodo {{ .node }} no pudo distribuir la tarea de actualización de {{ .agentType }} Message: {{ .err }}" +BatchAgentUpgradeAlreadyLatest: "Nodo {{ .node }} {{ .agent }} ya está en la versión objetivo, omitido" +BatchAgentUpgradeSubmitted: "Nodo {{ .node }} distribuyó la tarea de actualización de {{ .agent }} correctamente!" +BatchAgentUpgradeFailed: "Nodo {{ .node }} no pudo distribuir la tarea de actualización de {{ .agent }} Message: {{ .err }}" BatchInstallAgentSkill: "Distribuir Skill por lotes" DispatchAgentSkillInstallTasks: "Enviar tareas de instalación de Skill" +BatchAgentSkillDispatchFailed: "Nodo {{ .node }} no pudo distribuir {{ .skill }} a {{ .target }} Message: {{ .err }}" +BatchAgentNoAgentsFound: "Nodo {{ .node }} no encontró agentes {{ .agentType }}, omitido" +BatchAgentSkillSkipped: "Nodo {{ .node }} {{ .agent }} omitido Message: {{ .msg }}" +BatchAgentSkillInstallSubmitted: "Nodo {{ .node }} distribuyó la tarea de instalación de {{ .skill }} a {{ .agent }} correctamente!" +BatchAgentSkillInstallFailed: "Nodo {{ .node }} no pudo distribuir la tarea de instalación de {{ .skill }} a {{ .agent }} Message: {{ .err }}" +BatchAgentOperateDispatchFailed: "Nodo {{ .node }} no pudo distribuir la tarea {{ .operate }} de {{ .agentType }} Message: {{ .err }}" +BatchAgentOperateSkipped: "Nodo {{ .node }} {{ .agent }} omitido Message: {{ .msg }}" +BatchAgentOperateSubmitted: "Nodo {{ .node }} distribuyó la tarea {{ .operate }} de {{ .agent }} correctamente!" +BatchAgentOperateFailed: "Nodo {{ .node }} no pudo distribuir la tarea {{ .operate }} de {{ .agent }} Message: {{ .err }}" BatchStartAgent: "Inicio masivo de agentes" DispatchAgentStartTasks: "Enviar tareas de inicio de agentes" BatchStopAgent: "Detención masiva de agentes" diff --git a/core/i18n/lang/ja.yaml b/core/i18n/lang/ja.yaml index ea6f03113..dc1034785 100644 --- a/core/i18n/lang/ja.yaml +++ b/core/i18n/lang/ja.yaml @@ -135,8 +135,23 @@ BatchInstallAgent: "エージェントの一括インストール" DispatchAgentInstallTasks: "エージェントインストールタスクを配信" BatchUpgradeAgent: "エージェントの一括アップグレード" DispatchAgentUpgradeTasks: "エージェントアップグレードタスクを配信" +BatchAgentInstallDispatchFailed: "ノード {{ .node }} で {{ .agentType }} のインストールタスクを配信できませんでした Message: {{ .err }}" +BatchAgentInstallSubmitted: "ノード {{ .node }} で {{ .agentType }} のインストールタスクを配信しました!" +BatchAgentUpgradeDispatchFailed: "ノード {{ .node }} で {{ .agentType }} のアップグレードタスクを配信できませんでした Message: {{ .err }}" +BatchAgentUpgradeAlreadyLatest: "ノード {{ .node }} の {{ .agent }} は既にターゲットバージョンです。スキップしました" +BatchAgentUpgradeSubmitted: "ノード {{ .node }} で {{ .agent }} のアップグレードタスクを配信しました!" +BatchAgentUpgradeFailed: "ノード {{ .node }} で {{ .agent }} のアップグレードタスクを配信できませんでした Message: {{ .err }}" BatchInstallAgentSkill: "Skill 一括配布" DispatchAgentSkillInstallTasks: "Skill インストールタスクを配信" +BatchAgentSkillDispatchFailed: "ノード {{ .node }} で {{ .skill }} を {{ .target }} に配信できませんでした Message: {{ .err }}" +BatchAgentNoAgentsFound: "ノード {{ .node }} に {{ .agentType }} エージェントが見つかりません。スキップしました" +BatchAgentSkillSkipped: "ノード {{ .node }} の {{ .agent }} をスキップしました Message: {{ .msg }}" +BatchAgentSkillInstallSubmitted: "ノード {{ .node }} で {{ .skill }} のインストールタスクを {{ .agent }} に配信しました!" +BatchAgentSkillInstallFailed: "ノード {{ .node }} で {{ .skill }} のインストールタスクを {{ .agent }} に配信できませんでした Message: {{ .err }}" +BatchAgentOperateDispatchFailed: "ノード {{ .node }} で {{ .agentType }} の{{ .operate }}タスクを配信できませんでした Message: {{ .err }}" +BatchAgentOperateSkipped: "ノード {{ .node }} の {{ .agent }} をスキップしました Message: {{ .msg }}" +BatchAgentOperateSubmitted: "ノード {{ .node }} で {{ .agent }} の{{ .operate }}タスクを配信しました!" +BatchAgentOperateFailed: "ノード {{ .node }} で {{ .agent }} の{{ .operate }}タスクを配信できませんでした Message: {{ .err }}" BatchStartAgent: "エージェントの一括起動" DispatchAgentStartTasks: "エージェント起動タスクを配信" BatchStopAgent: "エージェントの一括停止" diff --git a/core/i18n/lang/ko.yaml b/core/i18n/lang/ko.yaml index 6dbf775e5..b1bde0cdc 100644 --- a/core/i18n/lang/ko.yaml +++ b/core/i18n/lang/ko.yaml @@ -134,8 +134,23 @@ BatchInstallAgent: "에이전트 일괄 설치" DispatchAgentInstallTasks: "에이전트 설치 작업 배포" BatchUpgradeAgent: "에이전트 일괄 업그레이드" DispatchAgentUpgradeTasks: "에이전트 업그레이드 작업 배포" +BatchAgentInstallDispatchFailed: "{{ .node }} 노드에서 {{ .agentType }} 설치 작업을 배포하지 못했습니다 Message: {{ .err }}" +BatchAgentInstallSubmitted: "{{ .node }} 노드에서 {{ .agentType }} 설치 작업을 배포했습니다!" +BatchAgentUpgradeDispatchFailed: "{{ .node }} 노드에서 {{ .agentType }} 업그레이드 작업을 배포하지 못했습니다 Message: {{ .err }}" +BatchAgentUpgradeAlreadyLatest: "{{ .node }} 노드 {{ .agent }}은(는) 이미 대상 버전이라 건너뜁니다" +BatchAgentUpgradeSubmitted: "{{ .node }} 노드에서 {{ .agent }} 업그레이드 작업을 배포했습니다!" +BatchAgentUpgradeFailed: "{{ .node }} 노드에서 {{ .agent }} 업그레이드 작업을 배포하지 못했습니다 Message: {{ .err }}" BatchInstallAgentSkill: "Skill 일괄 배포" DispatchAgentSkillInstallTasks: "Skill 설치 작업 배포" +BatchAgentSkillDispatchFailed: "{{ .node }} 노드에서 {{ .skill }}을(를) {{ .target }}에 배포하지 못했습니다 Message: {{ .err }}" +BatchAgentNoAgentsFound: "{{ .node }} 노드에서 {{ .agentType }} 에이전트를 찾지 못해 건너뜁니다" +BatchAgentSkillSkipped: "{{ .node }} 노드 {{ .agent }} 건너뜀 Message: {{ .msg }}" +BatchAgentSkillInstallSubmitted: "{{ .node }} 노드에서 {{ .skill }} 설치 작업을 {{ .agent }}에 배포했습니다!" +BatchAgentSkillInstallFailed: "{{ .node }} 노드에서 {{ .skill }} 설치 작업을 {{ .agent }}에 배포하지 못했습니다 Message: {{ .err }}" +BatchAgentOperateDispatchFailed: "{{ .node }} 노드에서 {{ .agentType }} {{ .operate }} 작업을 배포하지 못했습니다 Message: {{ .err }}" +BatchAgentOperateSkipped: "{{ .node }} 노드 {{ .agent }} 건너뜀 Message: {{ .msg }}" +BatchAgentOperateSubmitted: "{{ .node }} 노드에서 {{ .agent }} {{ .operate }} 작업을 배포했습니다!" +BatchAgentOperateFailed: "{{ .node }} 노드에서 {{ .agent }} {{ .operate }} 작업을 배포하지 못했습니다 Message: {{ .err }}" BatchStartAgent: "에이전트 일괄 시작" DispatchAgentStartTasks: "에이전트 시작 작업 배포" BatchStopAgent: "에이전트 일괄 중지" diff --git a/core/i18n/lang/ms.yaml b/core/i18n/lang/ms.yaml index 4f23f12fc..2d2796328 100644 --- a/core/i18n/lang/ms.yaml +++ b/core/i18n/lang/ms.yaml @@ -129,8 +129,23 @@ BatchInstallAgent: "Pasang ejen secara pukal" DispatchAgentInstallTasks: "Hantar tugas pemasangan ejen" BatchUpgradeAgent: "Naik taraf ejen secara pukal" DispatchAgentUpgradeTasks: "Hantar tugas naik taraf ejen" +BatchAgentInstallDispatchFailed: "Nod {{ .node }} gagal menghantar tugas pemasangan {{ .agentType }} Message: {{ .err }}" +BatchAgentInstallSubmitted: "Nod {{ .node }} berjaya menghantar tugas pemasangan {{ .agentType }}!" +BatchAgentUpgradeDispatchFailed: "Nod {{ .node }} gagal menghantar tugas naik taraf {{ .agentType }} Message: {{ .err }}" +BatchAgentUpgradeAlreadyLatest: "Nod {{ .node }} {{ .agent }} sudah pada versi sasaran, dilangkau" +BatchAgentUpgradeSubmitted: "Nod {{ .node }} berjaya menghantar tugas naik taraf {{ .agent }}!" +BatchAgentUpgradeFailed: "Nod {{ .node }} gagal menghantar tugas naik taraf {{ .agent }} Message: {{ .err }}" BatchInstallAgentSkill: "Hantar Skill secara pukal" DispatchAgentSkillInstallTasks: "Hantar tugas pemasangan Skill" +BatchAgentSkillDispatchFailed: "Nod {{ .node }} gagal menghantar {{ .skill }} ke {{ .target }} Message: {{ .err }}" +BatchAgentNoAgentsFound: "Nod {{ .node }} tidak menemui ejen {{ .agentType }}, dilangkau" +BatchAgentSkillSkipped: "Nod {{ .node }} {{ .agent }} dilangkau Message: {{ .msg }}" +BatchAgentSkillInstallSubmitted: "Nod {{ .node }} berjaya menghantar tugas pemasangan {{ .skill }} ke {{ .agent }}!" +BatchAgentSkillInstallFailed: "Nod {{ .node }} gagal menghantar tugas pemasangan {{ .skill }} ke {{ .agent }} Message: {{ .err }}" +BatchAgentOperateDispatchFailed: "Nod {{ .node }} gagal menghantar tugas {{ .operate }} {{ .agentType }} Message: {{ .err }}" +BatchAgentOperateSkipped: "Nod {{ .node }} {{ .agent }} dilangkau Message: {{ .msg }}" +BatchAgentOperateSubmitted: "Nod {{ .node }} berjaya menghantar tugas {{ .operate }} {{ .agent }}!" +BatchAgentOperateFailed: "Nod {{ .node }} gagal menghantar tugas {{ .operate }} {{ .agent }} Message: {{ .err }}" BatchStartAgent: "Mula ejen secara pukal" DispatchAgentStartTasks: "Hantar tugas mula ejen" BatchStopAgent: "Henti ejen secara pukal" diff --git a/core/i18n/lang/pt-BR.yaml b/core/i18n/lang/pt-BR.yaml index 80442aba9..7a085f9dd 100644 --- a/core/i18n/lang/pt-BR.yaml +++ b/core/i18n/lang/pt-BR.yaml @@ -134,8 +134,23 @@ BatchInstallAgent: "Instalar agentes em lote" DispatchAgentInstallTasks: "Distribuir tarefas de instalação de agentes" BatchUpgradeAgent: "Atualizar agentes em lote" DispatchAgentUpgradeTasks: "Distribuir tarefas de atualização de agentes" +BatchAgentInstallDispatchFailed: "Nó {{ .node }} falhou ao distribuir a tarefa de instalação de {{ .agentType }} Message: {{ .err }}" +BatchAgentInstallSubmitted: "Nó {{ .node }} distribuiu a tarefa de instalação de {{ .agentType }} com sucesso!" +BatchAgentUpgradeDispatchFailed: "Nó {{ .node }} falhou ao distribuir a tarefa de atualização de {{ .agentType }} Message: {{ .err }}" +BatchAgentUpgradeAlreadyLatest: "Nó {{ .node }} {{ .agent }} já está na versão de destino, ignorado" +BatchAgentUpgradeSubmitted: "Nó {{ .node }} distribuiu a tarefa de atualização de {{ .agent }} com sucesso!" +BatchAgentUpgradeFailed: "Nó {{ .node }} falhou ao distribuir a tarefa de atualização de {{ .agent }} Message: {{ .err }}" BatchInstallAgentSkill: "Distribuir Skill em lote" DispatchAgentSkillInstallTasks: "Distribuir tarefas de instalação de Skill" +BatchAgentSkillDispatchFailed: "Nó {{ .node }} falhou ao distribuir {{ .skill }} para {{ .target }} Message: {{ .err }}" +BatchAgentNoAgentsFound: "Nó {{ .node }} não encontrou agentes {{ .agentType }}, ignorado" +BatchAgentSkillSkipped: "Nó {{ .node }} {{ .agent }} ignorado Message: {{ .msg }}" +BatchAgentSkillInstallSubmitted: "Nó {{ .node }} distribuiu a tarefa de instalação de {{ .skill }} para {{ .agent }} com sucesso!" +BatchAgentSkillInstallFailed: "Nó {{ .node }} falhou ao distribuir a tarefa de instalação de {{ .skill }} para {{ .agent }} Message: {{ .err }}" +BatchAgentOperateDispatchFailed: "Nó {{ .node }} falhou ao distribuir a tarefa {{ .operate }} de {{ .agentType }} Message: {{ .err }}" +BatchAgentOperateSkipped: "Nó {{ .node }} {{ .agent }} ignorado Message: {{ .msg }}" +BatchAgentOperateSubmitted: "Nó {{ .node }} distribuiu a tarefa {{ .operate }} de {{ .agent }} com sucesso!" +BatchAgentOperateFailed: "Nó {{ .node }} falhou ao distribuir a tarefa {{ .operate }} de {{ .agent }} Message: {{ .err }}" BatchStartAgent: "Iniciar agentes em lote" DispatchAgentStartTasks: "Distribuir tarefas de início de agentes" BatchStopAgent: "Parar agentes em lote" diff --git a/core/i18n/lang/ru.yaml b/core/i18n/lang/ru.yaml index 250e794fc..9ec51bc9c 100644 --- a/core/i18n/lang/ru.yaml +++ b/core/i18n/lang/ru.yaml @@ -134,8 +134,23 @@ BatchInstallAgent: "Пакетная установка агентов" DispatchAgentInstallTasks: "Отправить задачи установки агентов" BatchUpgradeAgent: "Пакетное обновление агентов" DispatchAgentUpgradeTasks: "Отправить задачи обновления агентов" +BatchAgentInstallDispatchFailed: "Узел {{ .node }} не смог отправить задачу установки {{ .agentType }} Message: {{ .err }}" +BatchAgentInstallSubmitted: "Узел {{ .node }} успешно отправил задачу установки {{ .agentType }}!" +BatchAgentUpgradeDispatchFailed: "Узел {{ .node }} не смог отправить задачу обновления {{ .agentType }} Message: {{ .err }}" +BatchAgentUpgradeAlreadyLatest: "Узел {{ .node }} {{ .agent }} уже на целевой версии, пропущено" +BatchAgentUpgradeSubmitted: "Узел {{ .node }} успешно отправил задачу обновления {{ .agent }}!" +BatchAgentUpgradeFailed: "Узел {{ .node }} не смог отправить задачу обновления {{ .agent }} Message: {{ .err }}" BatchInstallAgentSkill: "Пакетная отправка Skill" DispatchAgentSkillInstallTasks: "Отправить задачи установки Skill" +BatchAgentSkillDispatchFailed: "Узел {{ .node }} не смог отправить {{ .skill }} в {{ .target }} Message: {{ .err }}" +BatchAgentNoAgentsFound: "Узел {{ .node }} не нашел агентов {{ .agentType }}, пропущено" +BatchAgentSkillSkipped: "Узел {{ .node }} {{ .agent }} пропущен Message: {{ .msg }}" +BatchAgentSkillInstallSubmitted: "Узел {{ .node }} успешно отправил задачу установки {{ .skill }} в {{ .agent }}!" +BatchAgentSkillInstallFailed: "Узел {{ .node }} не смог отправить задачу установки {{ .skill }} в {{ .agent }} Message: {{ .err }}" +BatchAgentOperateDispatchFailed: "Узел {{ .node }} не смог отправить задачу {{ .operate }} для {{ .agentType }} Message: {{ .err }}" +BatchAgentOperateSkipped: "Узел {{ .node }} {{ .agent }} пропущен Message: {{ .msg }}" +BatchAgentOperateSubmitted: "Узел {{ .node }} успешно отправил задачу {{ .operate }} для {{ .agent }}!" +BatchAgentOperateFailed: "Узел {{ .node }} не смог отправить задачу {{ .operate }} для {{ .agent }} Message: {{ .err }}" BatchStartAgent: "Пакетный запуск агентов" DispatchAgentStartTasks: "Отправить задачи запуска агентов" BatchStopAgent: "Пакетная остановка агентов" diff --git a/core/i18n/lang/tr.yaml b/core/i18n/lang/tr.yaml index 870e20b11..87c50d92d 100644 --- a/core/i18n/lang/tr.yaml +++ b/core/i18n/lang/tr.yaml @@ -133,8 +133,23 @@ BatchInstallAgent: "Aracıları toplu kur" DispatchAgentInstallTasks: "Aracı kurulum görevlerini gönder" BatchUpgradeAgent: "Aracıları toplu yükselt" DispatchAgentUpgradeTasks: "Aracı yükseltme görevlerini gönder" +BatchAgentInstallDispatchFailed: "{{ .node }} düğümü {{ .agentType }} kurulum görevini gönderemedi Message: {{ .err }}" +BatchAgentInstallSubmitted: "{{ .node }} düğümü {{ .agentType }} kurulum görevini başarıyla gönderdi!" +BatchAgentUpgradeDispatchFailed: "{{ .node }} düğümü {{ .agentType }} yükseltme görevini gönderemedi Message: {{ .err }}" +BatchAgentUpgradeAlreadyLatest: "{{ .node }} düğümü {{ .agent }} zaten hedef sürümde, atlandı" +BatchAgentUpgradeSubmitted: "{{ .node }} düğümü {{ .agent }} yükseltme görevini başarıyla gönderdi!" +BatchAgentUpgradeFailed: "{{ .node }} düğümü {{ .agent }} yükseltme görevini gönderemedi Message: {{ .err }}" BatchInstallAgentSkill: "Skill toplu dağıt" DispatchAgentSkillInstallTasks: "Skill kurulum görevlerini gönder" +BatchAgentSkillDispatchFailed: "{{ .node }} düğümü {{ .skill }} öğesini {{ .target }} hedefine gönderemedi Message: {{ .err }}" +BatchAgentNoAgentsFound: "{{ .node }} düğümünde {{ .agentType }} aracısı bulunamadı, atlandı" +BatchAgentSkillSkipped: "{{ .node }} düğümü {{ .agent }} atlandı Message: {{ .msg }}" +BatchAgentSkillInstallSubmitted: "{{ .node }} düğümü {{ .skill }} kurulum görevini {{ .agent }} hedefine başarıyla gönderdi!" +BatchAgentSkillInstallFailed: "{{ .node }} düğümü {{ .skill }} kurulum görevini {{ .agent }} hedefine gönderemedi Message: {{ .err }}" +BatchAgentOperateDispatchFailed: "{{ .node }} düğümü {{ .agentType }} {{ .operate }} görevini gönderemedi Message: {{ .err }}" +BatchAgentOperateSkipped: "{{ .node }} düğümü {{ .agent }} atlandı Message: {{ .msg }}" +BatchAgentOperateSubmitted: "{{ .node }} düğümü {{ .agent }} {{ .operate }} görevini başarıyla gönderdi!" +BatchAgentOperateFailed: "{{ .node }} düğümü {{ .agent }} {{ .operate }} görevini gönderemedi Message: {{ .err }}" BatchStartAgent: "Aracıları toplu başlat" DispatchAgentStartTasks: "Aracı başlatma görevlerini gönder" BatchStopAgent: "Aracıları toplu durdur" diff --git a/core/i18n/lang/zh-Hant.yaml b/core/i18n/lang/zh-Hant.yaml index a8ead9100..78ca382a9 100644 --- a/core/i18n/lang/zh-Hant.yaml +++ b/core/i18n/lang/zh-Hant.yaml @@ -134,8 +134,23 @@ BatchInstallAgent: "批量安裝智能體" DispatchAgentInstallTasks: "下發智能體安裝任務" BatchUpgradeAgent: "批量升級智能體" DispatchAgentUpgradeTasks: "下發智能體升級任務" +BatchAgentInstallDispatchFailed: "{{ .node }} 節點下發 {{ .agentType }} 安裝任務失敗 Message: {{ .err }}" +BatchAgentInstallSubmitted: "{{ .node }} 節點下發 {{ .agentType }} 安裝任務成功!" +BatchAgentUpgradeDispatchFailed: "{{ .node }} 節點下發 {{ .agentType }} 升級任務失敗 Message: {{ .err }}" +BatchAgentUpgradeAlreadyLatest: "{{ .node }} 節點 {{ .agent }} 已是目標版本,跳過" +BatchAgentUpgradeSubmitted: "{{ .node }} 節點下發 {{ .agent }} 升級任務成功!" +BatchAgentUpgradeFailed: "{{ .node }} 節點下發 {{ .agent }} 升級任務失敗 Message: {{ .err }}" BatchInstallAgentSkill: "批量下發 Skill" DispatchAgentSkillInstallTasks: "下發 Skill 安裝任務" +BatchAgentSkillDispatchFailed: "{{ .node }} 節點下發 {{ .skill }} 到 {{ .target }} 失敗 Message: {{ .err }}" +BatchAgentNoAgentsFound: "{{ .node }} 節點未發現 {{ .agentType }} 智能體,跳過" +BatchAgentSkillSkipped: "{{ .node }} 節點 {{ .agent }} 跳過 Message: {{ .msg }}" +BatchAgentSkillInstallSubmitted: "{{ .node }} 節點下發 {{ .skill }} 到 {{ .agent }} 安裝任務成功!" +BatchAgentSkillInstallFailed: "{{ .node }} 節點下發 {{ .skill }} 到 {{ .agent }} 安裝任務失敗 Message: {{ .err }}" +BatchAgentOperateDispatchFailed: "{{ .node }} 節點下發 {{ .agentType }} {{ .operate }}任務失敗 Message: {{ .err }}" +BatchAgentOperateSkipped: "{{ .node }} 節點 {{ .agent }} 跳過 Message: {{ .msg }}" +BatchAgentOperateSubmitted: "{{ .node }} 節點下發 {{ .agent }} {{ .operate }}任務成功!" +BatchAgentOperateFailed: "{{ .node }} 節點下發 {{ .agent }} {{ .operate }}任務失敗 Message: {{ .err }}" BatchStartAgent: "批量啟動智能體" DispatchAgentStartTasks: "下發智能體啟動任務" BatchStopAgent: "批量停止智能體" diff --git a/core/i18n/lang/zh.yaml b/core/i18n/lang/zh.yaml index bb26a2e34..f44d8d7c9 100644 --- a/core/i18n/lang/zh.yaml +++ b/core/i18n/lang/zh.yaml @@ -140,8 +140,23 @@ BatchInstallAgent: "批量安装智能体" DispatchAgentInstallTasks: "下发智能体安装任务" BatchUpgradeAgent: "批量升级智能体" DispatchAgentUpgradeTasks: "下发智能体升级任务" +BatchAgentInstallDispatchFailed: "{{ .node }} 节点下发 {{ .agentType }} 安装任务失败 Message: {{ .err }}" +BatchAgentInstallSubmitted: "{{ .node }} 节点下发 {{ .agentType }} 安装任务成功!" +BatchAgentUpgradeDispatchFailed: "{{ .node }} 节点下发 {{ .agentType }} 升级任务失败 Message: {{ .err }}" +BatchAgentUpgradeAlreadyLatest: "{{ .node }} 节点 {{ .agent }} 已是目标版本,跳过" +BatchAgentUpgradeSubmitted: "{{ .node }} 节点下发 {{ .agent }} 升级任务成功!" +BatchAgentUpgradeFailed: "{{ .node }} 节点下发 {{ .agent }} 升级任务失败 Message: {{ .err }}" BatchInstallAgentSkill: "批量下发 Skill" DispatchAgentSkillInstallTasks: "下发 Skill 安装任务" +BatchAgentSkillDispatchFailed: "{{ .node }} 节点下发 {{ .skill }} 到 {{ .target }} 失败 Message: {{ .err }}" +BatchAgentNoAgentsFound: "{{ .node }} 节点未发现 {{ .agentType }} 智能体,跳过" +BatchAgentSkillSkipped: "{{ .node }} 节点 {{ .agent }} 跳过 Message: {{ .msg }}" +BatchAgentSkillInstallSubmitted: "{{ .node }} 节点下发 {{ .skill }} 到 {{ .agent }} 安装任务成功!" +BatchAgentSkillInstallFailed: "{{ .node }} 节点下发 {{ .skill }} 到 {{ .agent }} 安装任务失败 Message: {{ .err }}" +BatchAgentOperateDispatchFailed: "{{ .node }} 节点下发 {{ .agentType }} {{ .operate }}任务失败 Message: {{ .err }}" +BatchAgentOperateSkipped: "{{ .node }} 节点 {{ .agent }} 跳过 Message: {{ .msg }}" +BatchAgentOperateSubmitted: "{{ .node }} 节点下发 {{ .agent }} {{ .operate }}任务成功!" +BatchAgentOperateFailed: "{{ .node }} 节点下发 {{ .agent }} {{ .operate }}任务失败 Message: {{ .err }}" BatchStartAgent: "批量启动智能体" DispatchAgentStartTasks: "下发智能体启动任务" BatchStopAgent: "批量停止智能体" diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js index f42e64604..fd8b71b8e 100644 --- a/frontend/.eslintrc.js +++ b/frontend/.eslintrc.js @@ -21,7 +21,7 @@ module.exports = { }, /* 继承某些已有的规则 */ extends: [ - 'plugin:vue/vue3-recommended', + 'plugin:vue/recommended', 'plugin:@typescript-eslint/recommended', 'prettier', 'plugin:prettier/recommended', @@ -59,7 +59,6 @@ module.exports = { // vue (https://eslint.vuejs.org/rules) 'vue/no-v-html': 'off', // 禁止使用 v-html - 'vue/script-setup-uses-vars': 'error', // 防止