@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
106 lines • 3.84 kB
JavaScript
import { AIProviderName } from "../../lib/constants/enums.js";
/**
* Master schema for all text generation options.
* This object provides metadata for validation and help text in the CLI loop.
* It is derived from the main TextGenerationOptions interface to ensure consistency.
*/
export const textGenerationOptionsSchema = {
provider: {
type: "string",
description: "The AI provider to use.",
allowedValues: Object.values(AIProviderName)
.filter((p) => typeof p === "string")
.filter((p) => p !== AIProviderName.AUTO),
},
model: {
type: "string",
description: "The specific model to use from the provider.",
},
temperature: {
type: "number",
description: "Controls randomness of the output (e.g., 0.2, 0.8).",
},
maxTokens: {
type: "number",
description: "The maximum number of tokens to generate.",
},
topP: {
type: "number",
description: "Top-p (nucleus) sampling parameter. Controls diversity of generated tokens (0.0-1.0).",
},
topK: {
type: "number",
description: "Top-k sampling parameter. Limits the number of tokens considered (Google/Gemini models only).",
},
stopSequences: {
type: "string",
description: "Stop sequences that will halt generation when encountered (comma-separated).",
},
output: {
type: "string",
description: "AI response format - specify just the format value (e.g., 'json', 'structured'). Note: This is automatically transformed to { format: value } for the API.",
allowedValues: ["text", "json", "structured", "none"],
},
systemPrompt: {
type: "string",
description: "The system prompt to guide the AI's behavior.",
},
timeout: {
type: "number",
description: "Timeout for the generation request in milliseconds.",
},
disableTools: {
type: "boolean",
description: "Disable all tool usage for the AI.",
},
enabledToolNames: {
type: "string",
description: 'Comma-separated list of tool names to enable (e.g., "read,write,search").',
},
maxSteps: {
type: "number",
description: "Maximum number of tool execution steps.",
},
enableAnalytics: {
type: "boolean",
description: "Enable or disable analytics for responses.",
},
enableEvaluation: {
type: "boolean",
description: "Enable or disable AI-powered evaluation of responses.",
},
evaluationDomain: {
type: "string",
description: 'Domain expertise for evaluation (e.g., "general AI assistant").',
},
toolUsageContext: {
type: "string",
description: "Context about tools/MCPs used in the interaction.",
},
enableSummarization: {
type: "boolean",
description: "Enable or disable automatic conversation summarization for this request.",
},
thinking: {
type: "boolean",
description: "Enable extended thinking/reasoning capability.",
},
thinkingBudget: {
type: "number",
description: "Token budget for thinking (Anthropic models: 5000-100000).",
},
thinkingLevel: {
type: "string",
description: "Thinking level for Gemini 3 models: minimal, low, medium, high.",
allowedValues: ["minimal", "low", "medium", "high"],
},
skipToolPromptInjection: {
type: "boolean",
description: "Skip injecting tool descriptions into the system prompt. Useful when tool info is already provided.",
},
disableToolCache: {
type: "boolean",
description: "Disable tool result caching for this request (overrides global mcp.cache.enabled).",
},
};
//# sourceMappingURL=optionsSchema.js.map