api-server/src/modules/ai-job/ai-job.module.ts
wangdl e4b922e7e4
All checks were successful
Deploy API Server / build-and-unit (push) Successful in 32s
Deploy API Server / current-integration (push) Successful in 28s
Deploy API Server / backward-compat (push) Successful in 0s
Deploy API Server / deploy (push) Successful in 58s
feat: M-AI-03 Job Definition Registry 与注册校验
- 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>
2026-06-20 17:24:57 +08:00

23 lines
841 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 {}