Compare commits
6 Commits
feat/profi
...
feat/llm-s
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
16b5af3365 | ||
|
|
39721e37ff | ||
|
|
0baeb1104a | ||
|
|
04ad02be5e | ||
|
|
0172b4518d | ||
|
|
f7e865721a |
@@ -7,7 +7,6 @@ import rateLimitPlugin from './plugins/rateLimit.js';
|
|||||||
import authPlugin from './plugins/auth.js';
|
import authPlugin from './plugins/auth.js';
|
||||||
import subscriptionPlugin from './plugins/subscription.js';
|
import subscriptionPlugin from './plugins/subscription.js';
|
||||||
import { authRoutes } from './routes/auth.js';
|
import { authRoutes } from './routes/auth.js';
|
||||||
import { profileRoutes } from './routes/profile.js';
|
|
||||||
import { env } from './config/env.js';
|
import { env } from './config/env.js';
|
||||||
import { randomUUID } from 'node:crypto';
|
import { randomUUID } from 'node:crypto';
|
||||||
|
|
||||||
@@ -76,7 +75,6 @@ export async function buildApp(): Promise<FastifyInstance> {
|
|||||||
await app.register(authPlugin);
|
await app.register(authPlugin);
|
||||||
await app.register(subscriptionPlugin);
|
await app.register(subscriptionPlugin);
|
||||||
await app.register(authRoutes, { prefix: '/auth' });
|
await app.register(authRoutes, { prefix: '/auth' });
|
||||||
await app.register(profileRoutes, { prefix: '/profile' });
|
|
||||||
|
|
||||||
app.get('/health', async () => ({ status: 'ok', timestamp: new Date().toISOString() }));
|
app.get('/health', async () => ({ status: 'ok', timestamp: new Date().toISOString() }));
|
||||||
|
|
||||||
|
|||||||
9
src/services/llm/index.ts
Normal file
9
src/services/llm/index.ts
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
export {
|
||||||
|
LlmService,
|
||||||
|
type ILlmService,
|
||||||
|
type LlmConfig,
|
||||||
|
type LlmGenerationMeta,
|
||||||
|
type GenerateQuestionsInput,
|
||||||
|
type GenerateQuestionsResult,
|
||||||
|
type GeneratedQuestion,
|
||||||
|
} from './llm.service.js';
|
||||||
@@ -71,7 +71,12 @@ export interface GenerateQuestionsResult {
|
|||||||
meta: LlmGenerationMeta;
|
meta: LlmGenerationMeta;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class LlmService {
|
/** Interface for QuestionService dependency injection and testing */
|
||||||
|
export interface ILlmService {
|
||||||
|
generateQuestions(input: GenerateQuestionsInput): Promise<GenerateQuestionsResult>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class LlmService implements ILlmService {
|
||||||
private readonly config: LlmConfig;
|
private readonly config: LlmConfig;
|
||||||
|
|
||||||
constructor(config?: Partial<LlmConfig>) {
|
constructor(config?: Partial<LlmConfig>) {
|
||||||
|
|||||||
Reference in New Issue
Block a user