* Execute validation using TypeScript validators
(
validationType: string,
inputStr: string,
regex: string | undefined,
knowledgeBaseId: string | undefined,
threshold: string | undefined,
topK: string | undefined,
model: string | undefined,
apiKey: string | undefined,
providerCredentials: {
azureEndpoint?: string
azureApiVersion?: string
vertexProject?: string
vertexLocation?: string
vertexCredential?: string
bedrockAccessKeyId?: string
bedrockSecretKey?: string
bedrockRegion?: string
},
workflowId: string | undefined,
workspaceId: string | undefined,
piiEntityTypes: string[] | undefined,
piiMode: string | undefined,
piiLanguage: string | undefined,
authHeaders: { cookie?: string; authorization?: string } | undefined,
requestId: string
)
| 308 | * Execute validation using TypeScript validators |
| 309 | */ |
| 310 | async function executeValidation( |
| 311 | validationType: string, |
| 312 | inputStr: string, |
| 313 | regex: string | undefined, |
| 314 | knowledgeBaseId: string | undefined, |
| 315 | threshold: string | undefined, |
| 316 | topK: string | undefined, |
| 317 | model: string | undefined, |
| 318 | apiKey: string | undefined, |
| 319 | providerCredentials: { |
| 320 | azureEndpoint?: string |
| 321 | azureApiVersion?: string |
| 322 | vertexProject?: string |
| 323 | vertexLocation?: string |
| 324 | vertexCredential?: string |
| 325 | bedrockAccessKeyId?: string |
| 326 | bedrockSecretKey?: string |
| 327 | bedrockRegion?: string |
| 328 | }, |
| 329 | workflowId: string | undefined, |
| 330 | workspaceId: string | undefined, |
| 331 | piiEntityTypes: string[] | undefined, |
| 332 | piiMode: string | undefined, |
| 333 | piiLanguage: string | undefined, |
| 334 | authHeaders: { cookie?: string; authorization?: string } | undefined, |
| 335 | requestId: string |
| 336 | ): Promise<{ |
| 337 | passed: boolean |
| 338 | error?: string |
| 339 | score?: number |
| 340 | reasoning?: string |
| 341 | detectedEntities?: any[] |
| 342 | maskedText?: string |
| 343 | cost?: number |
| 344 | }> { |
| 345 | // Use TypeScript validators for all validation types |
| 346 | if (validationType === 'json') { |
| 347 | return validateJson(inputStr) |
| 348 | } |
| 349 | if (validationType === 'regex') { |
| 350 | if (!regex) { |
| 351 | return { |
| 352 | passed: false, |
| 353 | error: 'Regex pattern is required', |
| 354 | } |
| 355 | } |
| 356 | return validateRegex(inputStr, regex) |
| 357 | } |
| 358 | if (validationType === 'hallucination') { |
| 359 | if (!knowledgeBaseId) { |
| 360 | return { |
| 361 | passed: false, |
| 362 | error: 'Knowledge base ID is required for hallucination check', |
| 363 | } |
| 364 | } |
| 365 | if (!model) { |
| 366 | return { |
| 367 | passed: false, |
no test coverage detected