Class: ActiveHarness::Memory::JsonFile
- Inherits:
-
ActiveHarness::Memory
- Object
- ActiveHarness::Memory
- ActiveHarness::Memory::JsonFile
- Defined in:
- lib/active_harness/memory/adapter/json_file.rb
Overview
Convenience Memory subclass for file-backed storage.
file_name: replaces session_id — may contain slashes to create
subdirectories under storage_path, e.g. "users/42/chat"
Final file is always <storage_path>/<file_name>.json
storage_path: base directory (default: "storage/ai/memory")
Path traversal is rejected: segments equal to “.” or “..” or containing null bytes raise ArgumentError before any file I/O happens. Missing directories are created automatically on the first write.
Direct Known Subclasses
Constant Summary
Constants inherited from ActiveHarness::Memory
Instance Attribute Summary
Attributes inherited from ActiveHarness::Memory
Instance Method Summary collapse
-
#initialize(file_name:, storage_path: Adapter::JsonFile::DEFAULT_PATH, **opts) ⇒ JsonFile
constructor
A new instance of JsonFile.
Methods inherited from ActiveHarness::Memory
#clear, #close, #delete, #load, #record, #size, #to_messages, #turns
Constructor Details
#initialize(file_name:, storage_path: Adapter::JsonFile::DEFAULT_PATH, **opts) ⇒ JsonFile
Returns a new instance of JsonFile.
148 149 150 151 152 153 154 |
# File 'lib/active_harness/memory/adapter/json_file.rb', line 148 def initialize(file_name:, storage_path: Adapter::JsonFile::DEFAULT_PATH, **opts) super( session_id: sanitize!(file_name), adapter: Adapter::JsonFile.new(opts.merge(path: storage_path)), **opts ) end |