summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-09-30 01:48:15 -0700
committerFuwn <[email protected]>2025-09-30 01:48:15 -0700
commitb36ed5288369067d14bb35dfba33542c1a40d3f3 (patch)
treef37187debc1a180bf7060e8e74063bffc7724403
parentfeat(commands:pin): Add channel ID parameter (diff)
downloadumabotdiscord-b36ed5288369067d14bb35dfba33542c1a40d3f3.tar.xz
umabotdiscord-b36ed5288369067d14bb35dfba33542c1a40d3f3.zip
fix(gateway:moderationAgent): Update model response handling
-rw-r--r--packages/gateway/src/listeners/moderationAgent/utilities.ts24
1 files changed, 22 insertions, 2 deletions
diff --git a/packages/gateway/src/listeners/moderationAgent/utilities.ts b/packages/gateway/src/listeners/moderationAgent/utilities.ts
index 0f9e2a8..7611cab 100644
--- a/packages/gateway/src/listeners/moderationAgent/utilities.ts
+++ b/packages/gateway/src/listeners/moderationAgent/utilities.ts
@@ -369,7 +369,17 @@ Remember: Only enforce the exact rules provided. Do not make assumptions or inte
jsonContent = jsonContent.replace(/\\'/g, "'");
}
- return JSON.parse(jsonContent);
+ try {
+ const fixedJson = jsonContent
+ .replace(/"([^"]*):([^"]*)":/g, '"$1:$2":')
+ .replace(/: "([^"]*):([^"]*)"/g, ': "$1:$2"')
+ .replace(/: "([^"]*)"([^",}])/g, ': "$1"$2')
+ .replace(/"([^"]*)"([^",}:])/g, '"$1"$2');
+
+ return JSON.parse(fixedJson);
+ } catch (e) {
+ return JSON.parse(jsonContent);
+ }
} catch (parseError) {
console.error("Failed to parse OpenRouter response as JSON:", content);
console.error("Parse error:", parseError);
@@ -398,7 +408,17 @@ Remember: Only enforce the exact rules provided. Do not make assumptions or inte
.replace(/'/g, '"')
.replace(/\\"/g, '"');
- return JSON.parse(fallbackContent);
+ try {
+ const fixedJson = fallbackContent
+ .replace(/"([^"]*):([^"]*)":/g, '"$1:$2":')
+ .replace(/: "([^"]*):([^"]*)"/g, ': "$1:$2"')
+ .replace(/: "([^"]*)"([^",}])/g, ': "$1"$2')
+ .replace(/"([^"]*)"([^",}:])/g, '"$1"$2');
+
+ return JSON.parse(fixedJson);
+ } catch (e) {
+ return JSON.parse(fallbackContent);
+ }
} catch (fallbackError) {
console.error("Fallback parsing also failed:", fallbackError);
return null;