diff --git a/src/modules/ai-job/job-definition-registry.ts b/src/modules/ai-job/job-definition-registry.ts index 5760354..38d05b4 100644 --- a/src/modules/ai-job/job-definition-registry.ts +++ b/src/modules/ai-job/job-definition-registry.ts @@ -2,7 +2,7 @@ import { Injectable, Logger, OnModuleInit } from '@nestjs/common'; import { JobDefinition, ALLOWED_QUEUE_NAMES, - AllowedCredentialMode, + ALLOWED_CREDENTIAL_MODES, } from './job-definition.types'; // ── Registry 专用错误 ── @@ -265,11 +265,7 @@ export class JobDefinitionRegistry implements OnModuleInit { throw new MissingBackoffError(def.jobType); } - // credential: allowedModes 非空且值合法 - const ALLOWED_CREDENTIAL_MODES: readonly string[] = [ - 'platform_key', - 'user_deepseek_key', - ]; + // credential: allowedModes 非空且值合法(校验数组引用自 job-definition.types.ts) if ( !def.credential.allowedModes || def.credential.allowedModes.length === 0 diff --git a/src/modules/ai-job/job-definition.types.ts b/src/modules/ai-job/job-definition.types.ts index 40bb8ed..cbb50d1 100644 --- a/src/modules/ai-job/job-definition.types.ts +++ b/src/modules/ai-job/job-definition.types.ts @@ -9,7 +9,12 @@ export const ALLOWED_QUEUE_NAMES = ['ai-interactive', 'ai-background'] as const; export type AllowedQueueName = (typeof ALLOWED_QUEUE_NAMES)[number]; /** 允许的凭据模式 */ -export type AllowedCredentialMode = 'platform_key' | 'user_deepseek_key'; +export const ALLOWED_CREDENTIAL_MODES = [ + 'platform_key', + 'user_deepseek_key', +] as const; + +export type AllowedCredentialMode = (typeof ALLOWED_CREDENTIAL_MODES)[number]; export interface JobDefinition { /** 全局唯一 jobType,与 AiJob.jobType 对应。必须匹配 /^[a-z][a-z0-9_]{1,63}$/ */