- Core infrastructure: module interface, Telegram wrapper, OAuth token manager, state store - Migrate Discord forwarder to modules/discord-forwarder/ - Add Hytale update trackers: launcher, patches, downloader, server - Support multiple Telegram chats with per-chat topic IDs - Unified config with legacy migration and env var fallbacks - Auto-refresh OAuth tokens (5min buffer) Co-Authored-By: Claude <noreply@anthropic.com>
23 lines
616 B
TypeScript
23 lines
616 B
TypeScript
import type { StateStore } from './state-store.js'
|
|
import type { TelegramClient } from './telegram-client.js'
|
|
import type { TokenManager } from './token-manager.js'
|
|
|
|
export interface Module {
|
|
readonly name: string
|
|
start: () => Promise<void>
|
|
stop: () => Promise<void>
|
|
isRunning: () => boolean
|
|
}
|
|
|
|
export interface ModuleFactory {
|
|
(config: unknown, deps: ModuleDependencies): Module
|
|
}
|
|
|
|
export interface ModuleDependencies {
|
|
telegram: TelegramClient
|
|
tokenManager?: TokenManager
|
|
stateStore: StateStore
|
|
logger: Logger
|
|
}
|
|
|
|
export type Logger = (module: string, message: string, ...args: unknown[]) => void
|