Skip to content

Commit d13fcb5

Browse files
committed
chore: cerberus debug loggin
1 parent ddafb8f commit d13fcb5

File tree

2 files changed

+63
-16
lines changed

2 files changed

+63
-16
lines changed

platforms/cerberus/src/controllers/WebhookController.ts

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -171,13 +171,24 @@ export class WebhookController {
171171
console.log("Charter change detected, notifying Cerberus...");
172172
console.log("Old charter:", oldCharter ? "exists" : "none");
173173
console.log("New charter:", newCharter ? "exists" : "none");
174+
console.log("🔍 About to call processCharterChange...");
174175

175-
await this.cerberusTriggerService.processCharterChange(
176-
group.id,
177-
group.name,
178-
oldCharter,
179-
newCharter
180-
);
176+
try {
177+
await this.cerberusTriggerService.processCharterChange(
178+
group.id,
179+
group.name,
180+
oldCharter,
181+
newCharter
182+
);
183+
console.log("✅ processCharterChange completed successfully");
184+
} catch (error) {
185+
console.error("❌ Error in processCharterChange:", error);
186+
}
187+
} else {
188+
console.log("No charter change detected, skipping Cerberus notification");
189+
console.log("newCharter !== undefined:", newCharter !== undefined);
190+
console.log("newCharter !== null:", newCharter !== null);
191+
console.log("oldCharter !== newCharter:", oldCharter !== newCharter);
181192
}
182193
} else {
183194
console.log("Creating new group");
@@ -203,12 +214,21 @@ export class WebhookController {
203214
// Check if new group has a charter and send Cerberus welcome message
204215
if (group.charter) {
205216
console.log("New group with charter detected, sending Cerberus welcome...");
206-
await this.cerberusTriggerService.processCharterChange(
207-
group.id,
208-
group.name,
209-
undefined, // No old charter for new groups
210-
group.charter
211-
);
217+
console.log("🔍 About to call processCharterChange for new group...");
218+
219+
try {
220+
await this.cerberusTriggerService.processCharterChange(
221+
group.id,
222+
group.name,
223+
undefined, // No old charter for new groups
224+
group.charter
225+
);
226+
console.log("✅ processCharterChange for new group completed successfully");
227+
} catch (error) {
228+
console.error("❌ Error in processCharterChange for new group:", error);
229+
}
230+
} else {
231+
console.log("New group has no charter, skipping Cerberus welcome");
212232
}
213233
}
214234
} else if (mapping.tableName === "messages") {

platforms/cerberus/src/services/CerberusTriggerService.ts

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,30 +51,43 @@ export class CerberusTriggerService {
5151
*/
5252
async isCerberusEnabled(groupId: string): Promise<boolean> {
5353
try {
54+
console.log(`🔍 Checking if Cerberus is enabled for group: ${groupId}`);
5455
const group = await this.groupService.getGroupById(groupId);
5556
if (!group || !group.charter) {
57+
console.log(`🔍 Group or charter not found: group=${!!group}, charter=${!!group?.charter}`);
5658
return false;
5759
}
5860

61+
console.log(`🔍 Group found with charter length: ${group.charter.length}`);
62+
5963
// Check if the watchdog name is specifically set to "Cerberus"
6064
const charterText = group.charter.toLowerCase();
65+
console.log(`🔍 Charter text (first 200 chars): ${charterText.substring(0, 200)}...`);
6166

6267
// Look for "Watchdog Name:" followed by "**Cerberus**" on next line (handles markdown)
6368
const watchdogNameMatch = charterText.match(/watchdog name:\s*\n\s*\*\*([^*]+)\*\*/);
6469
if (watchdogNameMatch) {
6570
const watchdogName = watchdogNameMatch[1].trim();
66-
return watchdogName === 'cerberus';
71+
console.log(`🔍 Found watchdog name (multi-line): "${watchdogName}"`);
72+
const result = watchdogName === 'cerberus';
73+
console.log(`🔍 Multi-line match result: ${result}`);
74+
return result;
6775
}
6876

6977
// Alternative: look for "Watchdog Name: Cerberus" on same line
7078
const sameLineMatch = charterText.match(/watchdog name:\s*([^\n\r]+)/);
7179
if (sameLineMatch) {
7280
const watchdogName = sameLineMatch[1].trim();
73-
return watchdogName === 'cerberus';
81+
console.log(`🔍 Found watchdog name (same-line): "${watchdogName}"`);
82+
const result = watchdogName === 'cerberus';
83+
console.log(`🔍 Same-line match result: ${result}`);
84+
return result;
7485
}
7586

7687
// Fallback: check if "Watchdog Name: Cerberus" appears anywhere
77-
return charterText.includes('watchdog name: cerberus');
88+
const fallbackResult = charterText.includes('watchdog name: cerberus');
89+
console.log(`🔍 Fallback check result: ${fallbackResult}`);
90+
return fallbackResult;
7891
} catch (error) {
7992
console.error("Error checking if Cerberus is enabled for group:", error);
8093
return false;
@@ -124,8 +137,14 @@ export class CerberusTriggerService {
124137
*/
125138
async processCharterChange(groupId: string, groupName: string, oldCharter: string | undefined, newCharter: string): Promise<void> {
126139
try {
140+
console.log(`🔍 Processing charter change for group: ${groupId} (${groupName})`);
141+
console.log(`🔍 Old charter: ${oldCharter ? 'exists' : 'none'}`);
142+
console.log(`🔍 New charter: ${newCharter ? 'exists' : 'none'}`);
143+
127144
// Check if Cerberus is enabled for this group
128145
const cerberusEnabled = await this.isCerberusEnabled(groupId);
146+
console.log(`🔍 Cerberus enabled check result: ${cerberusEnabled}`);
147+
129148
if (!cerberusEnabled) {
130149
console.log(`Cerberus not enabled for group ${groupId} - skipping charter change processing`);
131150
return;
@@ -141,21 +160,28 @@ export class CerberusTriggerService {
141160
changeType = 'updated';
142161
}
143162

163+
console.log(`🔍 Change type determined: ${changeType}`);
164+
144165
// Create a system message about the charter change
145166
const changeMessage = `$$system-message$$ Cerberus: Group charter has been ${changeType}. ${
146167
changeType === 'created' ? 'New charter is now in effect.' :
147168
changeType === 'removed' ? 'Group is now operating without a charter.' :
148169
'Charter has been updated and new rules are now in effect.'
149170
}`;
150171

151-
await this.messageService.createSystemMessageWithoutPrefix({
172+
console.log(`🔍 Creating system message: ${changeMessage.substring(0, 100)}...`);
173+
174+
const systemMessage = await this.messageService.createSystemMessageWithoutPrefix({
152175
text: changeMessage,
153176
groupId: groupId,
154177
});
155178

179+
console.log(`✅ System message created successfully with ID: ${systemMessage.id}`);
180+
156181
// If charter was updated, also handle signature invalidation and detailed analysis
157182
if (changeType === 'updated' && oldCharter && newCharter) {
158183
try {
184+
console.log(`🔍 Handling charter update with signature invalidation...`);
159185
// Import CharterSignatureService dynamically to avoid circular dependencies
160186
const { CharterSignatureService } = await import('./CharterSignatureService');
161187
const charterSignatureService = new CharterSignatureService();
@@ -166,6 +192,7 @@ export class CerberusTriggerService {
166192
newCharter,
167193
this.messageService
168194
);
195+
console.log(`✅ Charter signature invalidation completed`);
169196
} catch (error) {
170197
console.error("Error handling charter signature invalidation:", error);
171198
}

0 commit comments

Comments
 (0)