From 751999a82b8854ef5231e0ded5fe022b1ea5d8ff Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Sat, 4 Jul 2026 18:44:17 +0900 Subject: Harden backup import and restore coverage --- src/storage/store.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/storage/store.c') diff --git a/src/storage/store.c b/src/storage/store.c index 060c6f6..e7ade28 100644 --- a/src/storage/store.c +++ b/src/storage/store.c @@ -1963,6 +1963,29 @@ tiny_store_health(const tiny_store_t *store, tiny_store_health_t *health) } for (index = 0; index < store->entry_count; ++index) { + const tiny_message_t *message = &store->entries[index].message; + size_t item; + health->memory_entry_bytes += sizeof(store->entries[index]); + health->memory_body_bytes += message->session_id ? strlen(message->session_id) + 1U : 0; + health->memory_body_bytes += message->content ? strlen(message->content) + 1U : 0; + health->memory_metadata_bytes + += message->metadata.tool_call_id ? strlen(message->metadata.tool_call_id) + 1U : 0; + health->memory_metadata_bytes + += message->metadata.summary ? strlen(message->metadata.summary) + 1U : 0; + health->memory_metadata_bytes + += message->metadata.relation_count * sizeof(*message->metadata.relations); + for (item = 0; item < message->metadata.tag_count; ++item) + { + health->memory_metadata_bytes += strlen(message->metadata.tags[item]) + 1U; + } + health->memory_metadata_bytes + += message->metadata.tag_count * sizeof(*message->metadata.tags); + health->memory_metadata_bytes + += message->metadata.source_count * sizeof(*message->metadata.source_message_ids); + for (item = 0; item < message->metadata.source_count; ++item) + { + health->memory_metadata_bytes += strlen(message->metadata.source_message_ids[item]) + 1U; + } if (store->entries[index].deleted) { health->deleted_messages++; -- cgit v1.2.3