- PreferencesService: platform defaults, user overrides, IMMUTABLE_KEYS enforcement - PreferencesController: GET /api/preferences, POST /api/preferences, DELETE /api/preferences/:key - PreferencesModule: global module exporting PreferencesService and SystemOverrideService - SystemOverrideService: Valkey-backed session-scoped system prompt override with 5-min TTL + renew - CommandRegistryService: register /system command (socket execution) - CommandExecutorService: handle /system command via SystemOverrideService - AgentService: inject system override before each prompt turn, renew TTL; store userId in session - ChatGateway: pass userId when creating agent sessions - PreferencesService unit tests: 11 tests covering defaults, overrides, enforcement wins, immutable key errors Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
13 lines
463 B
TypeScript
13 lines
463 B
TypeScript
import { Global, Module } from '@nestjs/common';
|
|
import { PreferencesService } from './preferences.service.js';
|
|
import { PreferencesController } from './preferences.controller.js';
|
|
import { SystemOverrideService } from './system-override.service.js';
|
|
|
|
@Global()
|
|
@Module({
|
|
controllers: [PreferencesController],
|
|
providers: [PreferencesService, SystemOverrideService],
|
|
exports: [PreferencesService, SystemOverrideService],
|
|
})
|
|
export class PreferencesModule {}
|