feat(#82): add prompt formatter service to personality module

- Add PromptFormatterService for formatting system prompts based on personality
- Support context variable interpolation (userName, workspaceName, etc.)
- Add formality level modifiers (VERY_CASUAL to VERY_FORMAL)
- Add template validation for custom variables
- Add preview endpoint for formatted prompts
- Fix UpdatePersonalityDto to avoid @nestjs/mapped-types dependency
- Update PersonalitiesController with new endpoints
- Add comprehensive tests (33 passing tests)

Closes #82
This commit is contained in:
Jason Woltje
2026-01-29 19:38:18 -06:00
parent 1cb54b56b0
commit 8383a98070
7 changed files with 374 additions and 99 deletions

View File

@@ -3,11 +3,12 @@ import { PrismaModule } from "../prisma/prisma.module";
import { AuthModule } from "../auth/auth.module";
import { PersonalitiesService } from "./personalities.service";
import { PersonalitiesController } from "./personalities.controller";
import { PromptFormatterService } from "./services/prompt-formatter.service";
@Module({
imports: [PrismaModule, AuthModule],
controllers: [PersonalitiesController],
providers: [PersonalitiesService],
exports: [PersonalitiesService],
providers: [PersonalitiesService, PromptFormatterService],
exports: [PersonalitiesService, PromptFormatterService],
})
export class PersonalitiesModule {}