vxcontrol/pentagi · error

relative path: %w

Error message

relative path: %w

What it means

Error "relative path: %w" thrown in vxcontrol/pentagi.

Source

Thrown at backend/pkg/server/services/flow_files.go:1890

		if src.isDir {
			topLevelDirs = append(topLevelDirs, src.destPath)
		}

		walkErr := filepath.Walk(src.absPath, func(filePath string, fi os.FileInfo, err error) error {
			if err != nil {
				return err
			}
			// filepath.Walk uses Lstat → symlinks and special files are NOT
			// regular and are skipped here (defense-in-depth).
			if !fi.Mode().IsRegular() {
				return nil
			}

			var virtPath string
			if src.isDir {
				rel, relErr := filepath.Rel(src.absPath, filePath)
				if relErr != nil {
					return fmt.Errorf("relative path: %w", relErr)
				}
				sanitized, sanitizeErr := resources.SanitizeResourcePath(
					src.destPath + "/" + filepath.ToSlash(rel),
				)
				if sanitizeErr != nil {
					log.WithError(sanitizeErr).Warnf("skipping unsafe file name %q", rel)
					return nil
				}
				virtPath = sanitized
			} else {
				virtPath = src.destPath
			}

			// Within-batch collision check: two sources mapping to the same
			// virtual destination path is always an error.
			if seenVPaths[virtPath] {
				return fmt.Errorf("%w: two sources both target %q", errResourceConflict, virtPath)
			}

View on GitHub (pinned to ea665308ba)

When it happens

Trigger: Thrown at backend/pkg/server/services/flow_files.go:1890 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of vxcontrol/pentagi@ea665308ba (2026-09-01). Data as JSON: /api/errors/5c399b4fa8c10643. Report an issue: GitHub.