Andrew Phillips 8a8a6e1c4b fix: correct critical bugs and improve pipe streaming performance
Critical bug fixes:
- save_item now returns real Item from database, not a hardcoded fake
- AsyncDataService::save() reuses self.sync_service instead of creating redundant instance
- GenerateStatus trait signature mismatch fixed (CLI/API decoupling)

Performance improvements (pipe path untouched):
- CompressionEngine::open() returns Box<dyn Read + Send> enabling true streaming
- mode_get eliminates triple full-file read (was sampling then re-reading entire file)
- FilteringReader adds fast-path bypass when no filters, pre-allocates temp buffer
- text.rs meta plugin processes &[u8] slice directly, eliminates data.to_vec() clone

API correctness:
- Tag parse errors now return 400 instead of being silently discarded
- compute_diff uses similar crate (LCS-based) instead of naive positional comparison

Cleanup:
- Modernize string formatting (format!({x})) across codebase
- Remove redundant DB query in get mode
- Derive Debug/ToSchema on public types
- Delete placeholder test files with no real assertions
- Extract parse_comma_tags utility function
2026-03-11 20:45:05 -03:00
2024-02-26 13:39:34 -04:00
Ugh
2026-02-19 13:57:39 -04:00

Keep - Temporary File Management with Compression and Metadata

Keep is a command-line tool for managing temporary files with automatic compression, metadata generation, and querying capabilities. It supports various compression algorithms and metadata plugins for rich item inspection.

Features

  • Store and Retrieve: Save content with automatic compression and retrieve by ID or tags.
  • Compression Support: Built-in support for LZ4, GZip, and more via external programs (BZip2, XZ, ZStd).
  • Metadata Plugins: Automatic extraction of file type, digests, hostname, user info, and custom metadata.
  • Filtering: Apply filters (head, tail, grep, etc.) when retrieving content.
  • Querying: List, search, and diff items with flexible formatting.
  • REST API Server: Optional HTTP server for programmatic access.
  • Modular Design: Extensible via plugins for compression, metadata, and filtering.

Installation

Description
No description provided
Readme MIT 13 MiB
Languages
Rust 99.5%
Shell 0.3%
Dockerfile 0.2%