personal memory agent
1# SPDX-License-Identifier: AGPL-3.0-only
2# Copyright (c) 2026 sol pbc
3
4import importlib
5
6from solstone.think.utils import day_path
7
8
9def test_get_raw_file(tmp_path, monkeypatch):
10 utils = importlib.import_module("solstone.think.utils")
11 monkeypatch.setenv("SOLSTONE_JOURNAL", str(tmp_path))
12 day_dir = day_path("20240101")
13
14 # Create segments under default stream
15 segment_123000 = day_dir / "default" / "123000_300"
16 segment_123000.mkdir(parents=True)
17 segment_090000 = day_dir / "default" / "090000_300"
18 segment_090000.mkdir(parents=True)
19
20 (segment_123000 / "monitor_1_diff.png").write_bytes(b"data")
21 (segment_123000 / "monitor_1_diff.json").write_text(
22 '{"visual_description": "screen", "raw": "monitor_1_diff.png"}'
23 )
24
25 (segment_090000 / "raw.flac").write_bytes(b"data")
26 # Write JSONL format: metadata first, then entry
27 (segment_090000 / "audio.jsonl").write_text(
28 '{"raw": "raw.flac"}\n{"text": "hello"}\n'
29 )
30
31 path, mime, meta = utils.get_raw_file(
32 "20240101", "default/123000_300/monitor_1_diff.json"
33 )
34 assert path == "monitor_1_diff.png"
35 assert mime == "image/png"
36 assert meta["visual_description"] == "screen"
37
38 path, mime, meta = utils.get_raw_file("20240101", "default/090000_300/audio.jsonl")
39 assert path == "raw.flac"
40 assert mime == "audio/flac"
41 # JSONL format returns a list: [entry1_dict, ...]
42 assert isinstance(meta, list) and len(meta) == 1
43 assert meta[0]["text"] == "hello"