pub fn transform_path_for_private(path: &str) -> StringExpand description
Transforms an installation path for private dependencies.
Private dependencies are installed to a private/ subdirectory within their
resource type directory. For example:
.claude/agents/helper.mdbecomes.claude/agents/private/helper.md.agpm/snippets/utils.mdbecomes.agpm/snippets/private/utils.md
This function intelligently inserts private/ after the resource type directory
by detecting common path patterns.
§Arguments
path- The original installation path
§Returns
The transformed path with private/ inserted before the filename.
§Examples
use agpm_cli::resolver::path_resolver::transform_path_for_private;
// Without tool namespace
let path = transform_path_for_private(".claude/agents/helper.md");
assert_eq!(path, ".claude/agents/private/helper.md");
// With tool namespace (the common case)
let path = transform_path_for_private(".claude/agents/agpm/helper.md");
assert_eq!(path, ".claude/agents/agpm/private/helper.md");
let path = transform_path_for_private(".agpm/snippets/utils.md");
assert_eq!(path, ".agpm/snippets/private/utils.md");
// OpenCode paths (singular directory names)
let path = transform_path_for_private(".opencode/agent/agpm/test.md");
assert_eq!(path, ".opencode/agent/agpm/private/test.md");