mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/1Panel-dev/1Panel.git
synced 2026-09-20 08:03:55 +08:00
chore: update dependencies (#12979)
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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 {
|
||||
|
||||
11
agent/go.mod
11
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
|
||||
|
||||
33
agent/go.sum
33
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=
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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": {
|
||||
|
||||
16
core/go.mod
16
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
|
||||
|
||||
42
core/go.sum
42
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=
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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: "エージェントの一括停止"
|
||||
|
||||
@@ -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: "에이전트 일괄 중지"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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: "Пакетная остановка агентов"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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: "批量停止智能體"
|
||||
|
||||
@@ -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: "批量停止智能体"
|
||||
|
||||
@@ -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', // 防止<script setup>使用的变量<template>被标记为未使用,此规则仅在启用该no-unused-vars规则时有效。
|
||||
'vue/v-slot-style': 'error', // 强制执行 v-slot 指令样式
|
||||
'vue/no-mutating-props': 'off', // 不允许组件 prop的改变(明天找原因)
|
||||
'vue/custom-event-name-casing': 'off', // 为自定义事件名称强制使用特定大小写
|
||||
|
||||
1079
frontend/package-lock.json
generated
1079
frontend/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -32,7 +32,7 @@
|
||||
"@xterm/addon-fit": "^0.10.0",
|
||||
"@xterm/xterm": "^5.5.0",
|
||||
"anser": "^2.3.2",
|
||||
"axios": "^1.16.1",
|
||||
"axios": "^1.17.0",
|
||||
"codemirror": "^6.0.2",
|
||||
"crypto-js": "^4.2.0",
|
||||
"dompurify": "^3.4.2",
|
||||
@@ -59,19 +59,20 @@
|
||||
"vue-router": "^4.5.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/postcss": "^4.3.0",
|
||||
"@types/node": "^25.9.1",
|
||||
"@types/uuid": "^11.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.58.1",
|
||||
"@typescript-eslint/parser": "^8.58.1",
|
||||
"@vitejs/plugin-vue": "^6.0.7",
|
||||
"@vitejs/plugin-vue-jsx": "^5.1.5",
|
||||
"@vue/compiler-sfc": "^3.5.34",
|
||||
"@vue/compiler-sfc": "^3.5.35",
|
||||
"autoprefixer": "^10.4.7",
|
||||
"esbuild": "^0.28.0",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-plugin-prettier": "^5.5.5",
|
||||
"eslint-plugin-vue": "^9.33.0",
|
||||
"eslint-plugin-vue": "^10.9.2",
|
||||
"lint-staged": "^17.0.5",
|
||||
"postcss": "^8.5.14",
|
||||
"postcss-html": "^1.8.1",
|
||||
@@ -79,14 +80,15 @@
|
||||
"rollup-plugin-visualizer": "^5.5.4",
|
||||
"sass": "^1.100.0",
|
||||
"standard-version": "^9.5.0",
|
||||
"tailwindcss": "^3.4.1",
|
||||
"tailwindcss": "^4.3.0",
|
||||
"typescript": "^6.0.3",
|
||||
"unplugin-auto-import": "^0.16.7",
|
||||
"unplugin-vue-components": "^32.1.0",
|
||||
"vite": "^8.0.13",
|
||||
"vite": "^8.0.16",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vite-plugin-eslint2": "^5.0.3",
|
||||
"vite-svg-loader": "^5.1.1",
|
||||
"vue-eslint-parser": "^10.4.1",
|
||||
"vue-tsc": "^3.3.1"
|
||||
},
|
||||
"trustedDependencies": [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
'@tailwindcss/postcss': {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -706,6 +706,9 @@ const message = {
|
||||
allNodes: 'All Nodes',
|
||||
targetVersion: 'Target Version',
|
||||
skill: 'Skill',
|
||||
skillSource: 'Skill Source',
|
||||
skillKeyword: 'Skill Keyword',
|
||||
clawHubSkillPlaceholder: 'Search and select a Skill first',
|
||||
batchInstallTaskSubmitted: 'Batch install task has been submitted',
|
||||
batchUpgradeTaskSubmitted: 'Batch upgrade task has been submitted',
|
||||
batchSkillInstallTaskSubmitted: 'Batch Skill distribution task has been submitted',
|
||||
@@ -1013,6 +1016,10 @@ const message = {
|
||||
responseBodySize: 'Response Body Size',
|
||||
responseBodyTruncated: 'Response Body Truncated',
|
||||
responseBodyHash: 'Response Body Hash',
|
||||
readableContent: 'Readable Content',
|
||||
rawResponse: 'Raw Response',
|
||||
replyContent: 'Reply Content',
|
||||
reasoningContent: 'Reasoning Content',
|
||||
statusTitle: 'AI Gateway Status',
|
||||
serviceEnabled: 'Service Auto-start',
|
||||
proxyEnabled: 'Gateway Enabled',
|
||||
|
||||
@@ -712,6 +712,9 @@ const message = {
|
||||
allNodes: 'Todos los nodos',
|
||||
targetVersion: 'Versión de destino',
|
||||
skill: 'Skill',
|
||||
skillSource: 'Origen de Skill',
|
||||
skillKeyword: 'Palabra clave de Skill',
|
||||
clawHubSkillPlaceholder: 'Busque y seleccione una Skill primero',
|
||||
batchInstallTaskSubmitted: 'Tarea de instalación por lotes enviada',
|
||||
batchUpgradeTaskSubmitted: 'Tarea de actualización por lotes enviada',
|
||||
batchSkillInstallTaskSubmitted: 'Tarea de distribución de Skill por lotes enviada',
|
||||
@@ -1028,6 +1031,10 @@ const message = {
|
||||
responseBodySize: 'Tamaño del cuerpo de respuesta',
|
||||
responseBodyTruncated: 'Cuerpo de respuesta truncado',
|
||||
responseBodyHash: 'Hash del cuerpo de respuesta',
|
||||
readableContent: 'Contenido legible',
|
||||
rawResponse: 'Respuesta original',
|
||||
replyContent: 'Contenido de respuesta',
|
||||
reasoningContent: 'Contenido de razonamiento',
|
||||
statusTitle: 'Estado del gateway de IA',
|
||||
serviceEnabled: 'Inicio automático del servicio',
|
||||
proxyEnabled: 'Gateway habilitado',
|
||||
|
||||
@@ -707,6 +707,9 @@ const message = {
|
||||
allNodes: 'すべてのノード',
|
||||
targetVersion: 'ターゲットバージョン',
|
||||
skill: 'Skill',
|
||||
skillSource: 'Skill ソース',
|
||||
skillKeyword: 'Skill キーワード',
|
||||
clawHubSkillPlaceholder: '先に Skill を検索して選択してください',
|
||||
batchInstallTaskSubmitted: '一括インストールタスクを送信しました',
|
||||
batchUpgradeTaskSubmitted: '一括アップグレードタスクを送信しました',
|
||||
batchSkillInstallTaskSubmitted: 'Skill 一括配布タスクを送信しました',
|
||||
@@ -1018,6 +1021,10 @@ const message = {
|
||||
responseBodySize: 'レスポンス本文サイズ',
|
||||
responseBodyTruncated: 'レスポンス本文の切り詰め',
|
||||
responseBodyHash: 'レスポンス本文 Hash',
|
||||
readableContent: '読みやすい内容',
|
||||
rawResponse: '生レスポンス',
|
||||
replyContent: '返信内容',
|
||||
reasoningContent: '思考内容',
|
||||
statusTitle: 'AI ゲートウェイ状態',
|
||||
serviceEnabled: 'サービス自動起動',
|
||||
proxyEnabled: 'ゲートウェイ有効',
|
||||
|
||||
@@ -699,6 +699,9 @@ const message = {
|
||||
allNodes: '모든 노드',
|
||||
targetVersion: '대상 버전',
|
||||
skill: 'Skill',
|
||||
skillSource: 'Skill 소스',
|
||||
skillKeyword: 'Skill 키워드',
|
||||
clawHubSkillPlaceholder: '먼저 Skill을 검색하고 선택하세요',
|
||||
batchInstallTaskSubmitted: '일괄 설치 작업이 전송되었습니다',
|
||||
batchUpgradeTaskSubmitted: '일괄 업그레이드 작업이 전송되었습니다',
|
||||
batchSkillInstallTaskSubmitted: 'Skill 일괄 배포 작업이 전송되었습니다',
|
||||
@@ -1002,6 +1005,10 @@ const message = {
|
||||
responseBodySize: '응답 본문 크기',
|
||||
responseBodyTruncated: '응답 본문 잘림 여부',
|
||||
responseBodyHash: '응답 본문 Hash',
|
||||
readableContent: '읽기 쉬운 내용',
|
||||
rawResponse: '원본 응답',
|
||||
replyContent: '응답 내용',
|
||||
reasoningContent: '추론 내용',
|
||||
statusTitle: 'AI 게이트웨이 상태',
|
||||
serviceEnabled: '서비스 자동 시작',
|
||||
proxyEnabled: '게이트웨이 활성화',
|
||||
|
||||
@@ -714,6 +714,9 @@ const message = {
|
||||
allNodes: 'Semua nod',
|
||||
targetVersion: 'Versi sasaran',
|
||||
skill: 'Skill',
|
||||
skillSource: 'Sumber Skill',
|
||||
skillKeyword: 'Kata kunci Skill',
|
||||
clawHubSkillPlaceholder: 'Cari dan pilih Skill dahulu',
|
||||
batchInstallTaskSubmitted: 'Tugas pemasangan pukal telah dihantar',
|
||||
batchUpgradeTaskSubmitted: 'Tugas naik taraf pukal telah dihantar',
|
||||
batchSkillInstallTaskSubmitted: 'Tugas penghantaran Skill pukal telah dihantar',
|
||||
@@ -1027,6 +1030,10 @@ const message = {
|
||||
responseBodySize: 'Saiz Badan Respons',
|
||||
responseBodyTruncated: 'Badan Respons Dipotong',
|
||||
responseBodyHash: 'Hash Badan Respons',
|
||||
readableContent: 'Kandungan Boleh Dibaca',
|
||||
rawResponse: 'Respons Asal',
|
||||
replyContent: 'Kandungan Balasan',
|
||||
reasoningContent: 'Kandungan Penaakulan',
|
||||
statusTitle: 'Status gateway AI',
|
||||
serviceEnabled: 'Auto mula perkhidmatan',
|
||||
proxyEnabled: 'Gateway diaktifkan',
|
||||
|
||||
@@ -708,6 +708,9 @@ const message = {
|
||||
allNodes: 'Todos os nós',
|
||||
targetVersion: 'Versão de destino',
|
||||
skill: 'Skill',
|
||||
skillSource: 'Origem da Skill',
|
||||
skillKeyword: 'Palavra-chave da Skill',
|
||||
clawHubSkillPlaceholder: 'Pesquise e selecione uma Skill primeiro',
|
||||
batchInstallTaskSubmitted: 'Tarefa de instalação em lote enviada',
|
||||
batchUpgradeTaskSubmitted: 'Tarefa de atualização em lote enviada',
|
||||
batchSkillInstallTaskSubmitted: 'Tarefa de distribuição de Skill enviada',
|
||||
@@ -1023,6 +1026,10 @@ const message = {
|
||||
responseBodySize: 'Tamanho do corpo da resposta',
|
||||
responseBodyTruncated: 'Corpo da resposta truncado',
|
||||
responseBodyHash: 'Hash do corpo da resposta',
|
||||
readableContent: 'Conteúdo legível',
|
||||
rawResponse: 'Resposta bruta',
|
||||
replyContent: 'Conteúdo da resposta',
|
||||
reasoningContent: 'Conteúdo de raciocínio',
|
||||
statusTitle: 'Status do gateway de IA',
|
||||
serviceEnabled: 'Inicialização automática do serviço',
|
||||
proxyEnabled: 'Gateway habilitado',
|
||||
|
||||
@@ -706,6 +706,9 @@ const message = {
|
||||
allNodes: 'Все узлы',
|
||||
targetVersion: 'Целевая версия',
|
||||
skill: 'Skill',
|
||||
skillSource: 'Источник Skill',
|
||||
skillKeyword: 'Ключевое слово Skill',
|
||||
clawHubSkillPlaceholder: 'Сначала найдите и выберите Skill',
|
||||
batchInstallTaskSubmitted: 'Задача пакетной установки отправлена',
|
||||
batchUpgradeTaskSubmitted: 'Задача пакетного обновления отправлена',
|
||||
batchSkillInstallTaskSubmitted: 'Задача пакетной отправки Skill отправлена',
|
||||
@@ -1017,6 +1020,10 @@ const message = {
|
||||
responseBodySize: 'Размер тела ответа',
|
||||
responseBodyTruncated: 'Тело ответа обрезано',
|
||||
responseBodyHash: 'Hash тела ответа',
|
||||
readableContent: 'Читаемое содержимое',
|
||||
rawResponse: 'Исходный ответ',
|
||||
replyContent: 'Содержимое ответа',
|
||||
reasoningContent: 'Содержимое рассуждений',
|
||||
statusTitle: 'Статус AI-шлюза',
|
||||
serviceEnabled: 'Автозапуск сервиса',
|
||||
proxyEnabled: 'Шлюз включен',
|
||||
|
||||
@@ -710,6 +710,9 @@ const message = {
|
||||
allNodes: 'Tüm düğümler',
|
||||
targetVersion: 'Hedef sürüm',
|
||||
skill: 'Skill',
|
||||
skillSource: 'Skill Kaynağı',
|
||||
skillKeyword: 'Skill Anahtar Kelimesi',
|
||||
clawHubSkillPlaceholder: 'Önce bir Skill arayın ve seçin',
|
||||
batchInstallTaskSubmitted: 'Toplu kurulum görevi gönderildi',
|
||||
batchUpgradeTaskSubmitted: 'Toplu yükseltme görevi gönderildi',
|
||||
batchSkillInstallTaskSubmitted: 'Skill toplu dağıtım görevi gönderildi',
|
||||
@@ -1025,6 +1028,10 @@ const message = {
|
||||
responseBodySize: 'Yanıt Gövdesi Boyutu',
|
||||
responseBodyTruncated: 'Yanıt Gövdesi Kısaltıldı',
|
||||
responseBodyHash: 'Yanıt Gövdesi Hash',
|
||||
readableContent: 'Okunabilir İçerik',
|
||||
rawResponse: 'Ham Yanıt',
|
||||
replyContent: 'Yanıt İçeriği',
|
||||
reasoningContent: 'Akıl Yürütme İçeriği',
|
||||
statusTitle: 'AI Ağ Geçidi durumu',
|
||||
serviceEnabled: 'Servis otomatik başlatma',
|
||||
proxyEnabled: 'Ağ geçidi etkin',
|
||||
|
||||
@@ -676,6 +676,9 @@ const message = {
|
||||
allNodes: '所有節點',
|
||||
targetVersion: '目標版本',
|
||||
skill: 'Skill',
|
||||
skillSource: 'Skill 來源',
|
||||
skillKeyword: 'Skill 關鍵詞',
|
||||
clawHubSkillPlaceholder: '請先搜尋並選擇 Skill',
|
||||
batchInstallTaskSubmitted: '批量安裝任務已下發',
|
||||
batchUpgradeTaskSubmitted: '批量升級任務已下發',
|
||||
batchSkillInstallTaskSubmitted: '批量下發 Skill 任務已下發',
|
||||
@@ -964,6 +967,10 @@ const message = {
|
||||
responseBodySize: '響應體大小',
|
||||
responseBodyTruncated: '響應體是否截斷',
|
||||
responseBodyHash: '響應體 Hash',
|
||||
readableContent: '可讀內容',
|
||||
rawResponse: '原始響應',
|
||||
replyContent: '回覆內容',
|
||||
reasoningContent: '思考內容',
|
||||
statusTitle: 'AI 閘道狀態',
|
||||
serviceEnabled: '服務自啟',
|
||||
proxyEnabled: '閘道啟用',
|
||||
|
||||
@@ -673,6 +673,9 @@ const message = {
|
||||
allNodes: '所有节点',
|
||||
targetVersion: '目标版本',
|
||||
skill: 'Skill',
|
||||
skillSource: 'Skill 来源',
|
||||
skillKeyword: 'Skill 关键词',
|
||||
clawHubSkillPlaceholder: '请先搜索并选择 Skill',
|
||||
batchInstallTaskSubmitted: '批量安装任务已下发',
|
||||
batchUpgradeTaskSubmitted: '批量升级任务已下发',
|
||||
batchSkillInstallTaskSubmitted: '批量下发 Skill 任务已下发',
|
||||
@@ -955,6 +958,10 @@ const message = {
|
||||
responseBodySize: '响应体大小',
|
||||
responseBodyTruncated: '响应体是否截断',
|
||||
responseBodyHash: '响应体 Hash',
|
||||
readableContent: '可读内容',
|
||||
rawResponse: '原始响应',
|
||||
replyContent: '回复内容',
|
||||
reasoningContent: '思考内容',
|
||||
statusTitle: 'AI 网关状态',
|
||||
serviceEnabled: '服务自启',
|
||||
proxyEnabled: '网关启用',
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
@import "tailwindcss/theme.css" layer(theme);
|
||||
@import "tailwindcss/utilities.css" layer(utilities) source(none);
|
||||
|
||||
@config "../../tailwind.config.js";
|
||||
@source "../**/*.{vue,js,ts,jsx,tsx}";
|
||||
@source not inline("[-:T]");
|
||||
@source not inline("[a-z:@A-Z0-9_/.-]");
|
||||
|
||||
@theme {
|
||||
--default-ring-width: 3px;
|
||||
--default-ring-color: var(--color-blue-500);
|
||||
}
|
||||
|
||||
@layer base {
|
||||
*,
|
||||
::after,
|
||||
::before,
|
||||
::backdrop,
|
||||
::file-selector-button {
|
||||
border-color: var(--color-gray-200, currentColor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -207,16 +207,20 @@ defineExpose({ acceptParams });
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.download-item.completed {
|
||||
@apply bg-green-50/50;
|
||||
background-color: rgb(240 253 244 / 0.5);
|
||||
}
|
||||
|
||||
.progress-bar {
|
||||
:deep(.el-progress-bar__outer) {
|
||||
@apply rounded-full bg-gray-100;
|
||||
border-radius: 9999px;
|
||||
background-color: rgb(243 244 246);
|
||||
}
|
||||
|
||||
:deep(.el-progress-bar__inner) {
|
||||
@apply rounded-full transition-all duration-300;
|
||||
border-radius: 9999px;
|
||||
transition-property: all;
|
||||
transition-duration: 300ms;
|
||||
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user