From 88b0b793954dcac89cd2cd6ade99980dd5c6299a Mon Sep 17 00:00:00 2001 From: Gabriel Grinberg Date: Sun, 21 Sep 2025 08:30:43 +0300 Subject: [PATCH] change whatsapp sdk method --- src/client.ts | 4 ++++ src/modules/agents.ts | 19 ++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/client.ts b/src/client.ts index 3a035f8..67d4dcf 100644 --- a/src/client.ts +++ b/src/client.ts @@ -126,6 +126,8 @@ export function createClient(config: { axios: axiosClient, socket, appId, + serverUrl, + token, }), cleanup: () => { socket.disconnect(); @@ -141,6 +143,8 @@ export function createClient(config: { axios: serviceRoleAxiosClient, socket, appId, + serverUrl, + token }), cleanup: () => { socket.disconnect(); diff --git a/src/modules/agents.ts b/src/modules/agents.ts index eef9ef0..d7f8a9a 100644 --- a/src/modules/agents.ts +++ b/src/modules/agents.ts @@ -2,17 +2,22 @@ import { RoomsSocket } from "../utils/socket-utils.js"; import { AgentConversation, AgentMessage } from "./agents.types.js"; import { AxiosInstance } from "axios"; import { ModelFilterParams } from "../types.js"; +import { getAccessToken } from "../utils/auth-utils.js"; export type AgentsModuleConfig = { axios: AxiosInstance; socket: ReturnType; appId: string; + serverUrl?: string; + token?: string; }; export function createAgentsModule({ axios, socket, appId, + serverUrl, + token, }: AgentsModuleConfig) { const baseURL = `/apps/${appId}/agents`; @@ -74,8 +79,16 @@ export function createAgentsModule({ }); }; - const generateUserWhatsAppLink = (agentName: string) => { - return axios.post(`/whatsapp/generate-user-link`, { agent_name: agentName }); + const getWhatsAppConnectURL = (agentName: string) => { + const baseUrl = `${serverUrl}/whatsapp/${appId}/${encodeURIComponent(agentName)}`; + const accessToken = token ?? getAccessToken(); + + if (accessToken) { + return `${baseUrl}?token=${accessToken}`; + } else { + // No token - URL will redirect to login automatically + return baseUrl; + } }; return { @@ -85,6 +98,6 @@ export function createAgentsModule({ createConversation, addMessage, subscribeToConversation, - generateUserWhatsAppLink, + getWhatsAppConnectURL, }; }