feat(ai): support approved agent commands

This commit is contained in:
2026-10-14 16:23:20 +09:00
parent 4bdae4b24a
commit 767a6b40c7
5 changed files with 162 additions and 5 deletions
+14 -1
View File
@@ -1,15 +1,17 @@
import 'reflect-metadata';
import { plainToInstance } from 'class-transformer';
import { validate } from 'class-validator';
import { CreateAgentPlanDto } from './create-agent-plan.dto';
describe('CreateAgentPlanDto', () => {
const createDto = (request: string): CreateAgentPlanDto => Object.assign(new CreateAgentPlanDto(), {
const createDto = (request: string): CreateAgentPlanDto => plainToInstance(CreateAgentPlanDto, {
courseId: '019f3689-4fe2-7b93-a7c4-72e51fe3ec17',
week: 1,
request,
modules: [],
runtimeLogs: [],
});
it('accepts a non-empty agent request', async () => {
@@ -23,4 +25,15 @@ describe('CreateAgentPlanDto', () => {
expect(errors.some((error) => error.property === 'request')).toBe(true);
});
it('accepts bounded runtime log context', async () => {
const dto = createDto('현재 모듈 로그를 봐줘');
dto.runtimeLogs = plainToInstance(CreateAgentPlanDto, {
runtimeLogs: [{ moduleName: 'NAV2-Control', state: 'running', content: 'controller ready' }],
}).runtimeLogs;
const errors = await validate(dto);
expect(errors).toHaveLength(0);
});
});