UNPKG

@juspay/neurolink

Version:

Universal AI Development Platform with working MCP integration, multi-provider support, and professional CLI. Built-in tools operational, 58+ external MCP servers discoverable. Connect to filesystem, GitHub, database operations, and more. Build, test, and

81 lines (80 loc) 2.24 kB
import type { ZodType, ZodTypeDef } from "zod"; import type { Tool, Schema } from "ai"; import type { AIProviderName, AnalyticsData, EvaluationData } from "../core/types.js"; /** * Generate function options interface - Primary method for content generation * Future-ready for multi-modal capabilities while maintaining text focus */ export interface GenerateOptions { input: { text: string; }; output?: { format?: "text" | "structured" | "json"; }; provider?: AIProviderName | string; model?: string; temperature?: number; maxTokens?: number; systemPrompt?: string; schema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>; tools?: Record<string, Tool>; timeout?: number | string; disableTools?: boolean; enableEvaluation?: boolean; enableAnalytics?: boolean; context?: Record<string, unknown>; evaluationDomain?: string; toolUsageContext?: string; conversationHistory?: Array<{ role: string; content: string; }>; } /** * Generate function result interface - Primary output format * Future-ready for multi-modal outputs while maintaining text focus */ export interface GenerateResult { content: string; outputs?: { text: string; }; provider?: string; model?: string; usage?: { inputTokens: number; outputTokens: number; totalTokens: number; }; responseTime?: number; toolCalls?: Array<{ toolCallId: string; toolName: string; args: Record<string, unknown>; }>; toolResults?: unknown[]; toolsUsed?: string[]; toolExecutions?: Array<{ name: string; input: Record<string, unknown>; output: unknown; duration: number; }>; enhancedWithTools?: boolean; availableTools?: Array<{ name: string; description: string; parameters: Record<string, unknown>; }>; analytics?: AnalyticsData; evaluation?: EvaluationData; } /** * Enhanced provider interface with generate method */ export interface EnhancedProvider { generate(options: GenerateOptions): Promise<GenerateResult>; getName(): string; isAvailable(): Promise<boolean>; }