pub struct FileSnapshot {
pub path: String,
pub checksum: String,
pub size: u64,
pub content: Option<String>,
pub compressed_content: Option<String>,
pub exists: bool,
}Expand description
Snapshot of a file’s state at a point in time.
Fields§
§path: StringPath to the file
checksum: StringSHA-256 checksum of file contents
size: u64File size in bytes
content: Option<String>For small files (< 10KB by default), store full content
compressed_content: Option<String>Compressed content (base64-encoded gzip) for larger key files
exists: boolWhether the file existed
Implementations§
Source§impl FileSnapshot
impl FileSnapshot
Sourcepub fn new(path: &str, checksum: String, size: u64, exists: bool) -> Self
pub fn new(path: &str, checksum: String, size: u64, exists: bool) -> Self
Create a new file snapshot with the default content threshold (10KB).
Sourcepub fn with_max_size(
path: &str,
checksum: String,
size: u64,
exists: bool,
max_size: u64,
) -> Self
pub fn with_max_size( path: &str, checksum: String, size: u64, exists: bool, max_size: u64, ) -> Self
Create a new file snapshot with a custom content threshold.
Files smaller than max_size bytes will have their content stored.
Key files (PROMPT.md, PLAN.md, ISSUES.md) may be compressed if they
are between max_size and MAX_COMPRESS_SIZE.
Sourcepub fn get_content(&self) -> Option<String>
pub fn get_content(&self) -> Option<String>
Get the file content, decompressing if necessary.
Trait Implementations§
Source§impl Clone for FileSnapshot
impl Clone for FileSnapshot
Source§fn clone(&self) -> FileSnapshot
fn clone(&self) -> FileSnapshot
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FileSnapshot
impl Debug for FileSnapshot
Source§impl Default for FileSnapshot
impl Default for FileSnapshot
Source§fn default() -> FileSnapshot
fn default() -> FileSnapshot
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for FileSnapshot
impl<'de> Deserialize<'de> for FileSnapshot
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for FileSnapshot
impl PartialEq for FileSnapshot
Source§impl Serialize for FileSnapshot
impl Serialize for FileSnapshot
impl Eq for FileSnapshot
impl StructuralPartialEq for FileSnapshot
Auto Trait Implementations§
impl Freeze for FileSnapshot
impl RefUnwindSafe for FileSnapshot
impl Send for FileSnapshot
impl Sync for FileSnapshot
impl Unpin for FileSnapshot
impl UnwindSafe for FileSnapshot
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more