2026-01-28 19:34:39 +01:00
|
|
|
// retoor <retoor@molodetz.nl>
|
|
|
|
|
|
|
|
|
|
#ifndef R_MESSAGES_H
|
|
|
|
|
#define R_MESSAGES_H
|
|
|
|
|
|
|
|
|
|
#include "r_error.h"
|
|
|
|
|
#include <json-c/json.h>
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
|
|
typedef struct messages_t *messages_handle;
|
|
|
|
|
|
|
|
|
|
messages_handle messages_create(const char *session_id);
|
|
|
|
|
void messages_destroy(messages_handle msgs);
|
|
|
|
|
|
|
|
|
|
r_status_t messages_set_session_id(messages_handle msgs, const char *session_id);
|
|
|
|
|
const char *messages_get_session_id(messages_handle msgs);
|
|
|
|
|
|
|
|
|
|
r_status_t messages_add(messages_handle msgs, const char *role, const char *content);
|
|
|
|
|
r_status_t messages_add_object(messages_handle msgs, struct json_object *message);
|
|
|
|
|
r_status_t messages_add_tool_call(messages_handle msgs, struct json_object *message);
|
|
|
|
|
r_status_t messages_add_tool_result(messages_handle msgs, const char *tool_call_id, const char *result);
|
|
|
|
|
|
|
|
|
|
r_status_t messages_remove_last(messages_handle msgs);
|
2026-01-28 20:15:02 +01:00
|
|
|
r_status_t messages_remove_range(messages_handle msgs, int start, int count);
|
2026-01-28 19:34:39 +01:00
|
|
|
r_status_t messages_clear(messages_handle msgs);
|
|
|
|
|
|
|
|
|
|
r_status_t messages_save(messages_handle msgs);
|
|
|
|
|
r_status_t messages_load(messages_handle msgs);
|
|
|
|
|
|
2026-01-28 20:15:02 +01:00
|
|
|
struct json_object *messages_get_object(messages_handle msgs, int index);
|
|
|
|
|
r_status_t messages_replace_at(messages_handle msgs, int index, struct json_object *message);
|
|
|
|
|
|
2026-01-28 19:34:39 +01:00
|
|
|
struct json_object *messages_to_json(messages_handle msgs);
|
|
|
|
|
char *messages_to_string(messages_handle msgs);
|
2026-01-29 06:01:05 +01:00
|
|
|
char *messages_to_json_string(messages_handle msgs);
|
2026-01-28 19:34:39 +01:00
|
|
|
int messages_count(messages_handle msgs);
|
|
|
|
|
|
|
|
|
|
#endif
|