MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / UpgradePlugin

Method UpgradePlugin

agent/app/service/agents_channels.go:400–438  ·  view source on GitHub ↗
(req dto.AgentPluginUpgradeReq)

Source from the content-addressed store, hash-verified

398}
399
400func (a AgentService) UpgradePlugin(req dto.AgentPluginUpgradeReq) error {
401 agent, install, err := a.loadAgentAndInstall(req.AgentID)
402 if err != nil {
403 return err
404 }
405 if err := task.CheckScopeTaskIsExecuting(task.TaskScopeAI, req.AgentID); err != nil {
406 return err
407 }
408 spec, pluginID, err := resolvePluginMeta(req.Type)
409 if err != nil {
410 return err
411 }
412 upgradeTask, err := task.NewTaskWithOps(req.Type, task.TaskUpgrade, task.TaskScopeAI, req.TaskID, req.AgentID)
413 if err != nil {
414 return err
415 }
416 upgradeTask.AddSubTask("Upgrade OpenClaw plugin", func(t *task.Task) error {
417 mgr := cmd.NewCommandMgr(cmd.WithTask(*t), cmd.WithContext(t.TaskCtx), cmd.WithTimeout(10*time.Minute))
418 if err := uninstallOpenclawPlugin(mgr, install.ContainerName, pluginID); err != nil {
419 return err
420 }
421 time.Sleep(2 * time.Second)
422 if err := installOpenclawPlugin(mgr, install.ContainerName, spec, pluginID); err != nil {
423 return err
424 }
425 conf, err := readOpenclawConfig(agent.ConfigPath)
426 if err != nil {
427 return err
428 }
429 appendPluginAllow(conf, pluginID)
430 return writeOpenclawConfigRaw(agent.ConfigPath, conf)
431 }, nil)
432 go func() {
433 if err := upgradeTask.Execute(); err != nil {
434 global.LOG.Errorf("upgrade openclaw plugin failed: %v", err)
435 }
436 }()
437 return nil
438}
439
440func (a AgentService) UninstallPlugin(req dto.AgentPluginUninstallReq) error {
441 agent, install, err := a.loadAgentAndInstall(req.AgentID)

Callers

nothing calls this directly

Calls 9

loadAgentAndInstallMethod · 0.95
resolvePluginMetaFunction · 0.85
uninstallOpenclawPluginFunction · 0.85
installOpenclawPluginFunction · 0.85
readOpenclawConfigFunction · 0.85
appendPluginAllowFunction · 0.85
writeOpenclawConfigRawFunction · 0.85
AddSubTaskMethod · 0.45
ExecuteMethod · 0.45

Tested by

no test coverage detected