summaryrefslogtreecommitdiff
path: root/src/mcp/tools/delete_message.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mcp/tools/delete_message.c')
-rw-r--r--src/mcp/tools/delete_message.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mcp/tools/delete_message.c b/src/mcp/tools/delete_message.c
index ae924d7..8b6e8f9 100644
--- a/src/mcp/tools/delete_message.c
+++ b/src/mcp/tools/delete_message.c
@@ -14,14 +14,15 @@ call_delete_message(const mcpc_tool_t *tool, mcpc_ucbr_t *result)
char *message_id = tiny_mcp_tool_get_string(tool, "message_id", TINY_MESSAGE_ID_LENGTH);
char *session = tiny_mcp_tool_get_string(tool, "session_id", TINY_SESSION_ID_MAX);
tiny_store_status_t status;
- if (!context || !message_id || !session || !tiny_message_id_valid(message_id))
+ if (!context || !message_id || !tiny_message_id_valid(message_id))
{
tiny_mcp_tool_add_error(
result, "VALIDATION_ERROR", "message_id must be a canonical 26-character ULID");
}
else
{
- status = tiny_store_delete(context->store, message_id, session[0] ? session : NULL);
+ status
+ = tiny_store_delete(context->store, message_id, session && session[0] ? session : NULL);
if (status != TINY_STORE_OK && status != TINY_STORE_NOT_FOUND)
{
tiny_mcp_tool_add_error(
@@ -43,8 +44,7 @@ bool
tiny_mcp_register_delete_message(mcpc_server_t *server)
{
mcpc_tool_t *tool = tiny_mcp_tool_new("delete_message", "Delete a message", call_delete_message);
- return tool && tiny_mcp_tool_add_property(tool, "message_id", "Message ULID", MCPC_U8STR)
- && tiny_mcp_tool_add_property(
- tool, "session_id", "Session ID; empty if omitted", MCPC_U8STR)
+ return tool && tiny_mcp_tool_add_property(tool, "message_id", "Message ULID", MCPC_U8STR, true)
+ && tiny_mcp_tool_add_property(tool, "session_id", "Optional session ID", MCPC_U8STR, false)
&& mcpc_server_add_tool(server, tool) == MCPC_EC_0;
}