feat(ai): add ADR-036 unified OCR architecture and frontend test coverage
- Add ADR-036 unified OCR architecture (typhoon-ocr via Ollama) - Extend AI execution profiles for OCR sandbox configuration - Add comprehensive frontend test coverage (components, hooks, services) - Add backend test coverage for document-numbering services - Update OCR sidecar with typhoon-ocr integration - Add AI policy service and execution profile management - Update AGENTS.md and architecture documentation
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
// File: backend/src/modules/ai/dto/apply-profile.dto.ts
|
||||
// Change Log:
|
||||
// - 2026-06-13: ADR-036 — DTO สำหรับ apply sandbox draft ไป production
|
||||
|
||||
import { ApiPropertyOptional } from '@nestjs/swagger';
|
||||
import { IsEnum, IsOptional, IsString, MaxLength } from 'class-validator';
|
||||
|
||||
/**
|
||||
* DTO สำหรับคำสั่ง Apply to Production
|
||||
*/
|
||||
export class ApplyProfileDto {
|
||||
@ApiPropertyOptional({
|
||||
enum: ['np-dms-ai', 'np-dms-ocr'],
|
||||
description: 'Canonical model ที่ต้องการ apply',
|
||||
})
|
||||
@IsOptional()
|
||||
@IsEnum(['np-dms-ai', 'np-dms-ocr'])
|
||||
canonicalModel?: 'np-dms-ai' | 'np-dms-ocr';
|
||||
|
||||
@ApiPropertyOptional({
|
||||
description: 'เหตุผลในการ apply สำหรับ audit trail',
|
||||
maxLength: 500,
|
||||
})
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
@MaxLength(500)
|
||||
reason?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user