diff options
| author | Fuwn <[email protected]> | 2025-09-30 01:48:15 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-09-30 01:48:15 -0700 |
| commit | b36ed5288369067d14bb35dfba33542c1a40d3f3 (patch) | |
| tree | f37187debc1a180bf7060e8e74063bffc7724403 /packages/gateway | |
| parent | feat(commands:pin): Add channel ID parameter (diff) | |
| download | umabotdiscord-b36ed5288369067d14bb35dfba33542c1a40d3f3.tar.xz umabotdiscord-b36ed5288369067d14bb35dfba33542c1a40d3f3.zip | |
fix(gateway:moderationAgent): Update model response handling
Diffstat (limited to 'packages/gateway')
| -rw-r--r-- | packages/gateway/src/listeners/moderationAgent/utilities.ts | 24 |
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; |