This commit implements two main changes based on your feedback:
1. Refactors all Model Context Protocol (MCP) resources into tools:
- In `whatsappIntegration.js`:
- `whatsapp.chat` (resource) -> `whatsapp.list-chats` (tool) & `whatsapp.get-chat-details` (tool)
- `whatsapp.contact` (resource) -> `whatsapp.get-contact-details` (tool)
- `whatsapp.blocklist` (resource) -> `whatsapp.get-blocklist` (tool)
- In `conversationIntegration.js`:
- `conversation` (resource) -> `conversation.list-conversations` (tool) & `conversation.get-conversation-details` (tool)
This change aligns with current Gemini SDK capabilities for MCP.
2. Implements chat deletion functionality:
- In `whatsapp-router`:
- Added `deleteChat` function to `whatsappClient.ts`. This function calls an assumed OpenWA endpoint (`POST /deleteChat`) and will require verification against the actual OpenWA API.
- Added a `DELETE /chats/:chatId` route to `whatsappActions.ts` that utilizes the new `deleteChat` client function.
- In `conversation-layer-mcp`:
- Added a new `whatsapp.delete-chat` tool to `whatsappIntegration.js`. This tool calls the new `DELETE /chats/:chatId` endpoint in `whatsapp-router`.
Additionally, the existing `conversation.delete` MCP tool was verified to be correctly implemented.
21 lines
612 B
JavaScript
21 lines
612 B
JavaScript
export const API_BASE_URL = process.env.WHATSAPP_ROUTER_URL;
|
|
|
|
if (!API_BASE_URL) {
|
|
console.error("FATAL: WHATSAPP_ROUTER_URL environment variable is not set.");
|
|
process.exit(1);
|
|
}
|
|
|
|
export async function fetchJSON(path, options = {}) {
|
|
const method = options.method || "GET";
|
|
console.log(`[API] ${method} ${API_BASE_URL}${path}`);
|
|
const res = await fetch(`${API_BASE_URL}${path}`, {
|
|
headers: { "Content-Type": "application/json" },
|
|
...options,
|
|
});
|
|
if (!res.ok) {
|
|
const txt = await res.text();
|
|
throw new Error(`API request failed (${res.status}): ${txt}`);
|
|
}
|
|
return res.json();
|
|
}
|