- JobDefinition 接口冻结(job-definition.types.ts):对齐 ADR-003 §2.1, 涵盖 queue/execution/input/output/prompt/model/credential/security - JobDefinitionRegistry:启动时注册、运行时只读、Object.freeze 防篡改 - 10 类校验错误:DuplicateJobType/UnknownJobType/InvalidJobType/ InvalidQueueName/MissingSchema/InvalidTimeout/InvalidRetries/ InvalidCredentialMode/InvalidPromptKey/MissingBackoff - 43 个单元测试覆盖所有校验路径 + 顺序稳定性 + 禁止覆盖 - 更新 AiJobModule 注册新 Provider Co-Authored-By: Claude <noreply@anthropic.com>
23 lines
841 B
TypeScript
23 lines
841 B
TypeScript
import { Module } from '@nestjs/common';
|
||
import { PrismaModule } from '../../infrastructure/database/prisma.module';
|
||
import { AiJobStateMachine } from './ai-job-state-machine';
|
||
import { AiJobLifecycleRepository } from './ai-job-lifecycle.repository';
|
||
import { JobDefinitionRegistry } from './job-definition-registry';
|
||
|
||
/**
|
||
* M-AI-03: AiJob 统一 Job Engine 模块
|
||
*
|
||
* 当前包含:状态机、生命周期仓储、Job Definition Registry。
|
||
* 后续 Issue(#288–#293)在此模块中逐步新增:
|
||
* - AiJobService
|
||
* - AiJobExecutionEngine
|
||
* - OutboxDispatcher
|
||
* - ResultProjector
|
||
*/
|
||
@Module({
|
||
imports: [PrismaModule],
|
||
providers: [AiJobStateMachine, AiJobLifecycleRepository, JobDefinitionRegistry],
|
||
exports: [AiJobStateMachine, AiJobLifecycleRepository, JobDefinitionRegistry],
|
||
})
|
||
export class AiJobModule {}
|