UNPKG

@ovotech/genesys-web-messaging-tester-cli

Version:
65 lines (64 loc) 3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.schema = void 0; const joi_1 = __importDefault(require("joi")); const modelTypes_1 = require("./modelTypes"); exports.schema = joi_1.default.object({ config: joi_1.default.object({ deploymentId: joi_1.default.string(), region: joi_1.default.string(), origin: joi_1.default.string(), ai: joi_1.default.object({ provider: joi_1.default.string() .valid(modelTypes_1.SupportedAiProviders.GoogleVertexAi, modelTypes_1.SupportedAiProviders.ChatGpt) .required(), config: joi_1.default.when('provider', { is: modelTypes_1.SupportedAiProviders.GoogleVertexAi, then: joi_1.default.object({ location: joi_1.default.string(), project: joi_1.default.string(), temperature: joi_1.default.number(), topK: joi_1.default.number(), topP: joi_1.default.number(), seed: joi_1.default.number(), modelVersion: joi_1.default.string().regex(/\d{3}/), examples: joi_1.default.array().items(joi_1.default.object({ input: joi_1.default.string().required(), output: joi_1.default.string().required(), }).required()), }), }).when('provider', { is: modelTypes_1.SupportedAiProviders.ChatGpt, then: joi_1.default.object({ model: joi_1.default.string(), temperature: joi_1.default.number(), }), }), }).required(), }).required(), scenarios: joi_1.default.object() .min(1) .pattern(/./, joi_1.default.object({ setup: joi_1.default.object({ placeholders: joi_1.default.object() .min(1) .pattern(/./, joi_1.default.array().items(joi_1.default.string()).required()), prompt: joi_1.default.string().required(), terminatingPhrases: joi_1.default.object({ pass: joi_1.default.array().items(joi_1.default.string()).min(1).required(), fail: joi_1.default.array().items(joi_1.default.string()).min(1).required(), }).required(), }).required(), followUp: joi_1.default.object({ prompt: joi_1.default.string().required(), terminatingPhrases: joi_1.default.object({ pass: joi_1.default.array().items(joi_1.default.string()).min(1).required(), fail: joi_1.default.array().items(joi_1.default.string()).min(1).required(), }).required(), }).optional(), }).required()) .required(), });