summaryrefslogtreecommitdiff
path: root/src/mcp/tools/common/history.h
blob: 3b230275bfc427c3be3ba4d6d282df67607e2eda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef TINY_CONVMEM_MCP_TOOLS_HISTORY_H
#define TINY_CONVMEM_MCP_TOOLS_HISTORY_H

#include "storage/store.h"

typedef struct tiny_history_index tiny_history_index_t;

typedef struct tiny_history_index_session_info
{
  const char *session_id;
  int64_t last_message_at;
} tiny_history_index_session_info_t;

tiny_history_index_t *tiny_history_index_build(const tiny_store_t *store);
void tiny_history_index_free(tiny_history_index_t *index);
bool
tiny_history_index_add(tiny_history_index_t *index, const tiny_store_t *store, size_t entry_index);
bool tiny_history_index_session(const tiny_history_index_t *index,
                                const char *session_id,
                                const size_t **entries,
                                size_t *count);
size_t tiny_history_index_session_count(const tiny_history_index_t *index);
bool tiny_history_index_session_at(const tiny_history_index_t *index,
                                   size_t position,
                                   const char **session_id,
                                   const size_t **entries,
                                   size_t *count);

#endif