@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
110 lines (109 loc) • 3.69 kB
TypeScript
/**
* Image Generation Tools
*
* Tool definitions for AI model use - enables AI models to generate
* images as part of their response workflow.
*
* @packageDocumentation
* @module @juspay/neurolink/image-gen
* @category ImageGeneration
*
* @example
* ```typescript
* import { getImageGenTools } from '@juspay/neurolink';
*
* // Get tools for AI model registration
* const tools = getImageGenTools();
*
* // Use with NeuroLink
* const neurolink = new NeuroLink();
* neurolink.registerCustomTools(tools);
* ```
*/
import { ImageGenService } from "./ImageGenService.js";
import type { ImageGenConfig, ImageGenToolDefinition } from "../types/index.js";
/**
* Create an image generation tool for use with AI models
*
* This tool allows AI models to generate images based on text prompts.
* It integrates with the ImageGenService for actual generation.
*
* @param service - ImageGenService instance to use
* @returns Tool definition compatible with MCP/AI SDK
*
* @example
* ```typescript
* const service = new ImageGenService();
* const tool = createImageGenTool(service);
*
* // Tool can now be registered with NeuroLink
* neurolink.registerTool(tool.name, {
* description: tool.description,
* parameters: tool.inputSchema,
* execute: tool.execute
* });
* ```
*/
export declare function createImageGenTool(service: ImageGenService): ImageGenToolDefinition;
/**
* Create an image editing/variation tool for use with AI models
*
* This tool allows AI models to create variations of existing images
* or edit images based on reference images and prompts.
*
* @param service - ImageGenService instance to use
* @returns Tool definition compatible with MCP/AI SDK
*/
export declare function createImageVariationTool(service: ImageGenService): ImageGenToolDefinition;
/**
* Get all image generation tools as an array
*
* Creates a shared ImageGenService instance and returns all
* image generation tools configured to use it.
*
* @param config - Optional configuration for the ImageGenService
* @returns Array of tool definitions
*
* @example
* ```typescript
* import { getImageGenTools, NeuroLink } from '@juspay/neurolink';
*
* const tools = getImageGenTools({
* defaultProvider: 'openai',
* defaultModel: 'dall-e-3'
* });
*
* const neurolink = new NeuroLink();
* for (const tool of tools) {
* neurolink.registerTool(tool.name, {
* description: tool.description,
* parameters: tool.inputSchema,
* execute: tool.execute
* });
* }
* ```
*/
export declare function getImageGenTools(configOrService?: Partial<ImageGenConfig> | ImageGenService): ImageGenToolDefinition[];
/**
* Get only the basic image generation tool
*
* @param config - Optional configuration for the ImageGenService
* @returns Single tool definition for basic image generation
*/
export declare function getBasicImageGenTool(configOrService?: Partial<ImageGenConfig> | ImageGenService): ImageGenToolDefinition;
/**
* Create a custom image generation tool with specific service configuration
*
* @param serviceConfig - Configuration for the ImageGenService
* @param toolConfig - Optional customizations for the tool definition
* @returns Customized tool definition
*
* @example
* ```typescript
* const customTool = createCustomImageGenTool(
* { defaultProvider: 'vertex', defaultModel: 'imagen-3.0-generate-001' },
* { name: 'vertex_generate_image', description: 'Generate images using Vertex AI Imagen' }
* );
* ```
*/
export declare function createCustomImageGenTool(serviceConfig?: Partial<ImageGenConfig>, toolConfig?: Partial<Pick<ImageGenToolDefinition, "name" | "description">>): ImageGenToolDefinition;