Module private_lock

Module private_lock 

Source
Expand description

Private lockfile management for user-level patches.

The private lockfile (agpm.private.lock) tracks patches from agpm.private.toml separately from the project lockfile. This allows team members to have different private patches without causing lockfile conflicts.

§Structure

The private lockfile uses the same array-based format as agpm.lock, storing only resources that have private patches applied:

version = 1

[[agents]]
name = "my-agent"
applied_patches = { temperature = "0.9", custom_field = "value" }

[[commands]]
name = "deploy"
applied_patches = { timeout = "300" }

§Usage

use agpm_cli::lockfile::private_lock::PrivateLockFile;
use std::path::Path;

let project_dir = Path::new(".");
let mut private_lock = PrivateLockFile::new();

// Add private patches for a resource
let patches = std::collections::HashMap::from([
    ("temperature".to_string(), toml::Value::String("0.9".into())),
]);
private_lock.add_private_patches("agents", "my-agent", patches);

// Save to disk - creates an array-based lockfile matching agpm.lock format
private_lock.save(project_dir)?;

Structs§

PrivateLockFile
Private lockfile tracking user-level patches.
PrivateLockedResource
A resource entry in the private lockfile.