fix: resolve architecture disconnects and codebase weaknesses

- Standardize MessageRecord types — single source of truth from @bete/shared
- Clean up config: remove unused GUILD_ID/TEXT_GUILD_ID/TEXT_CHANNEL_ID, fix WEBSERVER_PORT default (3001), remove default admin password
- Move mascot_chat_messages table to Drizzle schema with proper migration
- Remove runtime DDL (CREATE TABLE IF NOT EXISTS) from mascot-chat repository
- Remove phantom analytics/ module from documentation
- Add better-sqlite3 dependency to root devDependencies
- Replace 'as any' casts with proper type assertions across AI moderation
- Add error logging to silent catch blocks in LLM client
- Apply Biome formatting and import organization

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
MythEclipse
2026-06-09 13:07:01 +07:00
co-authored by Claude Opus 4.8
parent 67d66bb5dd
commit 3614d32701
21 changed files with 206 additions and 150 deletions
@@ -1,42 +1,42 @@
import type fs from "node:fs";
import type prism from "prism-media";
import type {
AIStatus,
AISeverity,
AIRecommendedAction,
AISeverity,
AIStatus,
AnalysisQueueStatus,
AttachmentRecord,
BroadcasterClient,
MessageRecord,
ModerationBroadcaster,
RoleMetadata,
UserMetadata,
MessageRecord,
AttachmentRecord,
VoiceRecordingUploadData,
AnalysisQueueStatus,
} from "@bete/shared";
import type prism from "prism-media";
// Re-export all shared types for backward compatibility
export type {
AIStatus,
AISeverity,
AIRecommendedAction,
BroadcasterClient,
ModerationBroadcaster,
RoleMetadata,
UserMetadata,
MessageRecord,
AISeverity,
AIStatus,
AnalysisQueueStatus,
AnalysisResult,
AttachmentRecord,
VoiceSegmentRecord,
BroadcasterClient,
DashboardMessage,
MessageQuery,
PageResult,
AnalysisResult,
VoiceRecordingUploadData,
AnalysisQueueStatus,
MessageRecord,
MessageReview,
ModerationAction,
ModerationActionType,
ModerationBroadcaster,
PageResult,
RetentionPolicy,
ReviewStatus,
ModerationActionType,
RoleMetadata,
UserMetadata,
VoiceRecordingUploadData,
VoiceSegmentRecord,
} from "@bete/shared";
// Types that are LOCAL ONLY (not in shared) — keep here