Entropic 2.3.8
Local-first agentic inference engine
Loading...
Searching...
No Matches
permission_persister.cpp File Reference

PermissionPersister implementation using string-based YAML editing. More...

#include <entropic/storage/permission_persister.h>
#include <entropic/types/logging.h>
#include <algorithm>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
Include dependency graph for permission_persister.cpp:

Go to the source code of this file.

Namespaces

namespace  entropic
 Activate model on GPU (WARM → ACTIVE).
 

Functions

static std::string entropic::read_file (const std::filesystem::path &path)
 Read file contents as string.
 
static bool entropic::write_file (const std::filesystem::path &path, const std::string &content)
 Write string to file.
 
static std::vector< std::string > entropic::split_lines (const std::string &content)
 Split string into lines.
 
static bool entropic::list_contains (const std::vector< std::string > &lines, size_t start, std::string_view pattern)
 Check if a YAML sequence already contains a pattern.
 
static auto entropic::find_list_end (std::vector< std::string > &lines, size_t list_start)
 Find the end of a YAML sequence (last "- " item).
 
static auto entropic::find_section_end (std::vector< std::string > &lines, std::vector< std::string >::iterator start)
 Find the end of a YAML section (indented block).
 
static std::string entropic::join_lines (const std::vector< std::string > &lines)
 Join lines back into a string with trailing newline.
 
static bool entropic::insert_permission_item (std::vector< std::string > &lines, std::string_view pattern, const std::string &perms_key, const std::string &list_line, const std::string &item)
 Insert a permission item into the parsed YAML lines.
 

Detailed Description

PermissionPersister implementation using string-based YAML editing.

Uses simple line-based YAML parsing for the narrow use case of appending patterns to permissions.allow/deny lists.

Version
1.8.8

Definition in file permission_persister.cpp.