fix: expose WhatsApp sender ids in group context

This commit is contained in:
Peter Steinberger
2026-01-10 21:02:48 +01:00
parent 914216eca4
commit 686b3f884c
3 changed files with 7 additions and 1 deletions

View File

@@ -1517,7 +1517,7 @@ describe("group intro prompts", () => {
vi.mocked(runEmbeddedPiAgent).mock.calls.at(-1)?.[0]
?.extraSystemPrompt ?? "";
expect(extraSystemPrompt).toBe(
`You are replying inside the WhatsApp group "Ops". Activation: trigger-only (you are invoked only when explicitly mentioned; recent context may be included). ${groupParticipationNote} Address the specific sender noted in the message context.`,
`You are replying inside the WhatsApp group "Ops". Activation: trigger-only (you are invoked only when explicitly mentioned; recent context may be included). WhatsApp IDs: SenderId is the participant JID; [message_id: ...] is the message id for reactions (use SenderId as participant). ${groupParticipationNote} Address the specific sender noted in the message context.`,
);
});
});

View File

@@ -213,6 +213,10 @@ export function buildGroupIntro(params: {
activation === "always"
? "Activation: always-on (you receive every group message)."
: "Activation: trigger-only (you are invoked only when explicitly mentioned; recent context may be included).";
const whatsappIdsLine =
provider === "whatsapp"
? "WhatsApp IDs: SenderId is the participant JID; [message_id: ...] is the message id for reactions (use SenderId as participant)."
: undefined;
const silenceLine =
activation === "always"
? `If no response is needed, reply with exactly "${params.silentToken}" (and nothing else) so Clawdbot stays silent. Do not add any other words, punctuation, tags, markdown/code blocks, or explanations.`
@@ -227,6 +231,7 @@ export function buildGroupIntro(params: {
subjectLine,
membersLine,
activationLine,
whatsappIdsLine,
silenceLine,
cautionLine,
lurkLine,

View File

@@ -1261,6 +1261,7 @@ export async function monitorWebProvider(
msg.senderE164,
),
SenderName: msg.senderName,
SenderId: msg.senderJid ?? msg.senderE164,
SenderE164: msg.senderE164,
WasMentioned: msg.wasMentioned,
...(msg.location ? toLocationContext(msg.location) : {}),