@juspay/neurolink 9.1.1 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +54 -7
- package/dist/agent/directTools.d.ts +3 -3
- package/dist/cli/commands/config.d.ts +6 -6
- package/dist/image-gen/ImageGenService.d.ts +143 -0
- package/dist/image-gen/ImageGenService.js +345 -0
- package/dist/image-gen/imageGenTools.d.ts +126 -0
- package/dist/image-gen/imageGenTools.js +304 -0
- package/dist/image-gen/index.d.ts +46 -0
- package/dist/image-gen/index.js +48 -0
- package/dist/image-gen/types.d.ts +237 -0
- package/dist/image-gen/types.js +24 -0
- package/dist/lib/agent/directTools.d.ts +3 -3
- package/dist/lib/image-gen/ImageGenService.d.ts +143 -0
- package/dist/lib/image-gen/ImageGenService.js +346 -0
- package/dist/lib/image-gen/imageGenTools.d.ts +126 -0
- package/dist/lib/image-gen/imageGenTools.js +305 -0
- package/dist/lib/image-gen/index.d.ts +46 -0
- package/dist/lib/image-gen/index.js +49 -0
- package/dist/lib/image-gen/types.d.ts +237 -0
- package/dist/lib/image-gen/types.js +25 -0
- package/dist/lib/processors/base/BaseFileProcessor.d.ts +273 -0
- package/dist/lib/processors/base/BaseFileProcessor.js +614 -0
- package/dist/lib/processors/base/index.d.ts +14 -0
- package/dist/lib/processors/base/index.js +20 -0
- package/dist/lib/processors/base/types.d.ts +593 -0
- package/dist/lib/processors/base/types.js +77 -0
- package/dist/lib/processors/cli/fileProcessorCli.d.ts +163 -0
- package/dist/lib/processors/cli/fileProcessorCli.js +389 -0
- package/dist/lib/processors/cli/index.d.ts +37 -0
- package/dist/lib/processors/cli/index.js +50 -0
- package/dist/lib/processors/code/ConfigProcessor.d.ts +171 -0
- package/dist/lib/processors/code/ConfigProcessor.js +401 -0
- package/dist/lib/processors/code/SourceCodeProcessor.d.ts +174 -0
- package/dist/lib/processors/code/SourceCodeProcessor.js +305 -0
- package/dist/lib/processors/code/index.d.ts +44 -0
- package/dist/lib/processors/code/index.js +61 -0
- package/dist/lib/processors/config/fileTypes.d.ts +283 -0
- package/dist/lib/processors/config/fileTypes.js +521 -0
- package/dist/lib/processors/config/index.d.ts +32 -0
- package/dist/lib/processors/config/index.js +93 -0
- package/dist/lib/processors/config/languageMap.d.ts +66 -0
- package/dist/lib/processors/config/languageMap.js +411 -0
- package/dist/lib/processors/config/mimeTypes.d.ts +376 -0
- package/dist/lib/processors/config/mimeTypes.js +339 -0
- package/dist/lib/processors/config/sizeLimits.d.ts +194 -0
- package/dist/lib/processors/config/sizeLimits.js +247 -0
- package/dist/lib/processors/data/JsonProcessor.d.ts +122 -0
- package/dist/lib/processors/data/JsonProcessor.js +204 -0
- package/dist/lib/processors/data/XmlProcessor.d.ts +160 -0
- package/dist/lib/processors/data/XmlProcessor.js +284 -0
- package/dist/lib/processors/data/YamlProcessor.d.ts +163 -0
- package/dist/lib/processors/data/YamlProcessor.js +295 -0
- package/dist/lib/processors/data/index.d.ts +49 -0
- package/dist/lib/processors/data/index.js +77 -0
- package/dist/lib/processors/document/ExcelProcessor.d.ts +238 -0
- package/dist/lib/processors/document/ExcelProcessor.js +520 -0
- package/dist/lib/processors/document/OpenDocumentProcessor.d.ts +69 -0
- package/dist/lib/processors/document/OpenDocumentProcessor.js +211 -0
- package/dist/lib/processors/document/RtfProcessor.d.ts +152 -0
- package/dist/lib/processors/document/RtfProcessor.js +362 -0
- package/dist/lib/processors/document/WordProcessor.d.ts +168 -0
- package/dist/lib/processors/document/WordProcessor.js +354 -0
- package/dist/lib/processors/document/index.d.ts +54 -0
- package/dist/lib/processors/document/index.js +91 -0
- package/dist/lib/processors/errors/FileErrorCode.d.ts +98 -0
- package/dist/lib/processors/errors/FileErrorCode.js +256 -0
- package/dist/lib/processors/errors/errorHelpers.d.ts +151 -0
- package/dist/lib/processors/errors/errorHelpers.js +379 -0
- package/dist/lib/processors/errors/errorSerializer.d.ts +139 -0
- package/dist/lib/processors/errors/errorSerializer.js +508 -0
- package/dist/lib/processors/errors/index.d.ts +46 -0
- package/dist/lib/processors/errors/index.js +50 -0
- package/dist/lib/processors/index.d.ts +76 -0
- package/dist/lib/processors/index.js +113 -0
- package/dist/lib/processors/integration/FileProcessorIntegration.d.ts +244 -0
- package/dist/lib/processors/integration/FileProcessorIntegration.js +273 -0
- package/dist/lib/processors/integration/index.d.ts +42 -0
- package/dist/lib/processors/integration/index.js +45 -0
- package/dist/lib/processors/markup/HtmlProcessor.d.ts +169 -0
- package/dist/lib/processors/markup/HtmlProcessor.js +250 -0
- package/dist/lib/processors/markup/MarkdownProcessor.d.ts +165 -0
- package/dist/lib/processors/markup/MarkdownProcessor.js +245 -0
- package/dist/lib/processors/markup/SvgProcessor.d.ts +156 -0
- package/dist/lib/processors/markup/SvgProcessor.js +241 -0
- package/dist/lib/processors/markup/TextProcessor.d.ts +135 -0
- package/dist/lib/processors/markup/TextProcessor.js +189 -0
- package/dist/lib/processors/markup/index.d.ts +66 -0
- package/dist/lib/processors/markup/index.js +103 -0
- package/dist/lib/processors/registry/ProcessorRegistry.d.ts +334 -0
- package/dist/lib/processors/registry/ProcessorRegistry.js +609 -0
- package/dist/lib/processors/registry/index.d.ts +12 -0
- package/dist/lib/processors/registry/index.js +17 -0
- package/dist/lib/processors/registry/types.d.ts +53 -0
- package/dist/lib/processors/registry/types.js +11 -0
- package/dist/lib/providers/sagemaker/language-model.d.ts +2 -2
- package/dist/lib/server/utils/validation.d.ts +6 -6
- package/dist/lib/types/fileTypes.d.ts +1 -1
- package/dist/lib/types/index.d.ts +25 -24
- package/dist/lib/types/index.js +21 -20
- package/dist/lib/types/modelTypes.d.ts +18 -18
- package/dist/lib/types/pptTypes.d.ts +14 -2
- package/dist/lib/types/pptTypes.js +16 -0
- package/dist/lib/utils/async/delay.d.ts +40 -0
- package/dist/lib/utils/async/delay.js +43 -0
- package/dist/lib/utils/async/index.d.ts +23 -0
- package/dist/lib/utils/async/index.js +24 -0
- package/dist/lib/utils/async/retry.d.ts +141 -0
- package/dist/lib/utils/async/retry.js +172 -0
- package/dist/lib/utils/async/withTimeout.d.ts +73 -0
- package/dist/lib/utils/async/withTimeout.js +97 -0
- package/dist/lib/utils/fileDetector.d.ts +7 -1
- package/dist/lib/utils/fileDetector.js +91 -18
- package/dist/lib/utils/json/extract.d.ts +103 -0
- package/dist/lib/utils/json/extract.js +249 -0
- package/dist/lib/utils/json/index.d.ts +36 -0
- package/dist/lib/utils/json/index.js +37 -0
- package/dist/lib/utils/json/safeParse.d.ts +137 -0
- package/dist/lib/utils/json/safeParse.js +191 -0
- package/dist/lib/utils/messageBuilder.d.ts +2 -2
- package/dist/lib/utils/messageBuilder.js +15 -7
- package/dist/lib/utils/sanitizers/filename.d.ts +137 -0
- package/dist/lib/utils/sanitizers/filename.js +366 -0
- package/dist/lib/utils/sanitizers/html.d.ts +170 -0
- package/dist/lib/utils/sanitizers/html.js +326 -0
- package/dist/lib/utils/sanitizers/index.d.ts +26 -0
- package/dist/lib/utils/sanitizers/index.js +30 -0
- package/dist/lib/utils/sanitizers/svg.d.ts +81 -0
- package/dist/lib/utils/sanitizers/svg.js +483 -0
- package/dist/processors/base/BaseFileProcessor.d.ts +273 -0
- package/dist/processors/base/BaseFileProcessor.js +613 -0
- package/dist/processors/base/index.d.ts +14 -0
- package/dist/processors/base/index.js +19 -0
- package/dist/processors/base/types.d.ts +593 -0
- package/dist/processors/base/types.js +76 -0
- package/dist/processors/cli/fileProcessorCli.d.ts +163 -0
- package/dist/processors/cli/fileProcessorCli.js +388 -0
- package/dist/processors/cli/index.d.ts +37 -0
- package/dist/processors/cli/index.js +49 -0
- package/dist/processors/code/ConfigProcessor.d.ts +171 -0
- package/dist/processors/code/ConfigProcessor.js +400 -0
- package/dist/processors/code/SourceCodeProcessor.d.ts +174 -0
- package/dist/processors/code/SourceCodeProcessor.js +304 -0
- package/dist/processors/code/index.d.ts +44 -0
- package/dist/processors/code/index.js +60 -0
- package/dist/processors/config/fileTypes.d.ts +283 -0
- package/dist/processors/config/fileTypes.js +520 -0
- package/dist/processors/config/index.d.ts +32 -0
- package/dist/processors/config/index.js +92 -0
- package/dist/processors/config/languageMap.d.ts +66 -0
- package/dist/processors/config/languageMap.js +410 -0
- package/dist/processors/config/mimeTypes.d.ts +376 -0
- package/dist/processors/config/mimeTypes.js +338 -0
- package/dist/processors/config/sizeLimits.d.ts +194 -0
- package/dist/processors/config/sizeLimits.js +246 -0
- package/dist/processors/data/JsonProcessor.d.ts +122 -0
- package/dist/processors/data/JsonProcessor.js +203 -0
- package/dist/processors/data/XmlProcessor.d.ts +160 -0
- package/dist/processors/data/XmlProcessor.js +283 -0
- package/dist/processors/data/YamlProcessor.d.ts +163 -0
- package/dist/processors/data/YamlProcessor.js +294 -0
- package/dist/processors/data/index.d.ts +49 -0
- package/dist/processors/data/index.js +76 -0
- package/dist/processors/document/ExcelProcessor.d.ts +238 -0
- package/dist/processors/document/ExcelProcessor.js +519 -0
- package/dist/processors/document/OpenDocumentProcessor.d.ts +69 -0
- package/dist/processors/document/OpenDocumentProcessor.js +210 -0
- package/dist/processors/document/RtfProcessor.d.ts +152 -0
- package/dist/processors/document/RtfProcessor.js +361 -0
- package/dist/processors/document/WordProcessor.d.ts +168 -0
- package/dist/processors/document/WordProcessor.js +353 -0
- package/dist/processors/document/index.d.ts +54 -0
- package/dist/processors/document/index.js +90 -0
- package/dist/processors/errors/FileErrorCode.d.ts +98 -0
- package/dist/processors/errors/FileErrorCode.js +255 -0
- package/dist/processors/errors/errorHelpers.d.ts +151 -0
- package/dist/processors/errors/errorHelpers.js +378 -0
- package/dist/processors/errors/errorSerializer.d.ts +139 -0
- package/dist/processors/errors/errorSerializer.js +507 -0
- package/dist/processors/errors/index.d.ts +46 -0
- package/dist/processors/errors/index.js +49 -0
- package/dist/processors/index.d.ts +76 -0
- package/dist/processors/index.js +112 -0
- package/dist/processors/integration/FileProcessorIntegration.d.ts +244 -0
- package/dist/processors/integration/FileProcessorIntegration.js +272 -0
- package/dist/processors/integration/index.d.ts +42 -0
- package/dist/processors/integration/index.js +44 -0
- package/dist/processors/markup/HtmlProcessor.d.ts +169 -0
- package/dist/processors/markup/HtmlProcessor.js +249 -0
- package/dist/processors/markup/MarkdownProcessor.d.ts +165 -0
- package/dist/processors/markup/MarkdownProcessor.js +244 -0
- package/dist/processors/markup/SvgProcessor.d.ts +156 -0
- package/dist/processors/markup/SvgProcessor.js +240 -0
- package/dist/processors/markup/TextProcessor.d.ts +135 -0
- package/dist/processors/markup/TextProcessor.js +188 -0
- package/dist/processors/markup/index.d.ts +66 -0
- package/dist/processors/markup/index.js +102 -0
- package/dist/processors/registry/ProcessorRegistry.d.ts +334 -0
- package/dist/processors/registry/ProcessorRegistry.js +608 -0
- package/dist/processors/registry/index.d.ts +12 -0
- package/dist/processors/registry/index.js +16 -0
- package/dist/processors/registry/types.d.ts +53 -0
- package/dist/processors/registry/types.js +10 -0
- package/dist/server/utils/validation.d.ts +6 -6
- package/dist/types/fileTypes.d.ts +1 -1
- package/dist/types/index.d.ts +25 -24
- package/dist/types/index.js +21 -20
- package/dist/types/modelTypes.d.ts +10 -10
- package/dist/types/pptTypes.d.ts +14 -2
- package/dist/types/pptTypes.js +16 -0
- package/dist/utils/async/delay.d.ts +40 -0
- package/dist/utils/async/delay.js +42 -0
- package/dist/utils/async/index.d.ts +23 -0
- package/dist/utils/async/index.js +23 -0
- package/dist/utils/async/retry.d.ts +141 -0
- package/dist/utils/async/retry.js +171 -0
- package/dist/utils/async/withTimeout.d.ts +73 -0
- package/dist/utils/async/withTimeout.js +96 -0
- package/dist/utils/fileDetector.d.ts +7 -1
- package/dist/utils/fileDetector.js +91 -18
- package/dist/utils/json/extract.d.ts +103 -0
- package/dist/utils/json/extract.js +248 -0
- package/dist/utils/json/index.d.ts +36 -0
- package/dist/utils/json/index.js +36 -0
- package/dist/utils/json/safeParse.d.ts +137 -0
- package/dist/utils/json/safeParse.js +190 -0
- package/dist/utils/messageBuilder.d.ts +2 -2
- package/dist/utils/messageBuilder.js +15 -7
- package/dist/utils/sanitizers/filename.d.ts +137 -0
- package/dist/utils/sanitizers/filename.js +365 -0
- package/dist/utils/sanitizers/html.d.ts +170 -0
- package/dist/utils/sanitizers/html.js +325 -0
- package/dist/utils/sanitizers/index.d.ts +26 -0
- package/dist/utils/sanitizers/index.js +29 -0
- package/dist/utils/sanitizers/svg.d.ts +81 -0
- package/dist/utils/sanitizers/svg.js +482 -0
- package/package.json +2 -2
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image Generation Service Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for AI-powered image generation with support for
|
|
5
|
+
* reference images, PDFs, and configurable providers/models.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module @juspay/neurolink/image-gen
|
|
9
|
+
* @category ImageGeneration
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Supported image generation providers
|
|
13
|
+
*/
|
|
14
|
+
export type ImageGenProvider = "vertex" | "openai" | "anthropic" | "bedrock";
|
|
15
|
+
/**
|
|
16
|
+
* Supported aspect ratios
|
|
17
|
+
*/
|
|
18
|
+
export type AspectRatio = "1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "3:2" | "2:3";
|
|
19
|
+
/**
|
|
20
|
+
* Supported style presets
|
|
21
|
+
*/
|
|
22
|
+
export type StylePreset = "realistic" | "photorealistic" | "artistic" | "cartoon" | "anime" | "watercolor" | "oil-painting" | "sketch" | "digital-art" | "3d-render";
|
|
23
|
+
/**
|
|
24
|
+
* Options for image generation requests
|
|
25
|
+
*/
|
|
26
|
+
export interface ImageGenOptions {
|
|
27
|
+
/**
|
|
28
|
+
* Text prompt describing the image to generate
|
|
29
|
+
* Should be detailed and specific for best results
|
|
30
|
+
*/
|
|
31
|
+
prompt: string;
|
|
32
|
+
/**
|
|
33
|
+
* Reference images for style/content guidance (optional)
|
|
34
|
+
* Can be Buffer (raw data) or string (base64 encoded)
|
|
35
|
+
* Max 5 images recommended
|
|
36
|
+
*/
|
|
37
|
+
images?: (Buffer | string)[];
|
|
38
|
+
/**
|
|
39
|
+
* Reference PDF files for context (optional)
|
|
40
|
+
* Used for generating images based on document content
|
|
41
|
+
* Max 1 PDF recommended
|
|
42
|
+
*/
|
|
43
|
+
pdfFiles?: Buffer[];
|
|
44
|
+
/**
|
|
45
|
+
* Override default model
|
|
46
|
+
* e.g., "imagen-3.0-generate-001", "dall-e-3"
|
|
47
|
+
*/
|
|
48
|
+
model?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Override default provider
|
|
51
|
+
* e.g., "vertex", "openai"
|
|
52
|
+
*/
|
|
53
|
+
provider?: ImageGenProvider | string;
|
|
54
|
+
/**
|
|
55
|
+
* Region for provider (e.g., for Vertex AI)
|
|
56
|
+
*/
|
|
57
|
+
region?: string;
|
|
58
|
+
/**
|
|
59
|
+
* What to avoid in the generated image (optional)
|
|
60
|
+
* e.g., "blurry, low quality, text overlays"
|
|
61
|
+
*/
|
|
62
|
+
negativePrompt?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Aspect ratio for the generated image
|
|
65
|
+
* e.g., "16:9", "1:1", "4:3", "9:16"
|
|
66
|
+
*/
|
|
67
|
+
aspectRatio?: AspectRatio | string;
|
|
68
|
+
/**
|
|
69
|
+
* Style preset for the image
|
|
70
|
+
* e.g., "realistic", "artistic", "cartoon", "watercolor", "photorealistic"
|
|
71
|
+
*/
|
|
72
|
+
style?: StylePreset | string;
|
|
73
|
+
/**
|
|
74
|
+
* Number of images to generate (default: 1)
|
|
75
|
+
*/
|
|
76
|
+
numberOfImages?: number;
|
|
77
|
+
/**
|
|
78
|
+
* Sampling temperature for generation (0-1)
|
|
79
|
+
* Higher values = more creative/random
|
|
80
|
+
*/
|
|
81
|
+
temperature?: number;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Result of an image generation request
|
|
85
|
+
*/
|
|
86
|
+
export interface ImageGenResult {
|
|
87
|
+
/**
|
|
88
|
+
* Whether generation was successful
|
|
89
|
+
*/
|
|
90
|
+
success: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Generated image as Buffer (if successful)
|
|
93
|
+
*/
|
|
94
|
+
imageBuffer?: Buffer;
|
|
95
|
+
/**
|
|
96
|
+
* Generated image as base64 string (if successful)
|
|
97
|
+
*/
|
|
98
|
+
base64?: string;
|
|
99
|
+
/**
|
|
100
|
+
* MIME type of the generated image
|
|
101
|
+
* e.g., "image/png", "image/jpeg"
|
|
102
|
+
*/
|
|
103
|
+
mimeType?: string;
|
|
104
|
+
/**
|
|
105
|
+
* Model used for generation
|
|
106
|
+
*/
|
|
107
|
+
model?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Provider used for generation
|
|
110
|
+
*/
|
|
111
|
+
provider?: string;
|
|
112
|
+
/**
|
|
113
|
+
* Error message if generation failed
|
|
114
|
+
*/
|
|
115
|
+
error?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Time taken for generation in milliseconds
|
|
118
|
+
*/
|
|
119
|
+
generationTimeMs?: number;
|
|
120
|
+
/**
|
|
121
|
+
* Additional metadata from the provider
|
|
122
|
+
*/
|
|
123
|
+
metadata?: Record<string, unknown>;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Configuration for the ImageGenService
|
|
127
|
+
*/
|
|
128
|
+
export interface ImageGenConfig {
|
|
129
|
+
/**
|
|
130
|
+
* Whether image generation is enabled
|
|
131
|
+
*/
|
|
132
|
+
enabled: boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Default model to use for generation
|
|
135
|
+
*/
|
|
136
|
+
defaultModel: string;
|
|
137
|
+
/**
|
|
138
|
+
* Default provider for image generation
|
|
139
|
+
*/
|
|
140
|
+
defaultProvider: ImageGenProvider | string;
|
|
141
|
+
/**
|
|
142
|
+
* Default region for the provider (if applicable)
|
|
143
|
+
*/
|
|
144
|
+
defaultRegion?: string;
|
|
145
|
+
/**
|
|
146
|
+
* Timeout for generation requests in milliseconds
|
|
147
|
+
*/
|
|
148
|
+
timeout: number;
|
|
149
|
+
/**
|
|
150
|
+
* Default temperature for generation
|
|
151
|
+
*/
|
|
152
|
+
defaultTemperature?: number;
|
|
153
|
+
/**
|
|
154
|
+
* Maximum number of images per request
|
|
155
|
+
*/
|
|
156
|
+
maxImages?: number;
|
|
157
|
+
/**
|
|
158
|
+
* Maximum number of reference images allowed
|
|
159
|
+
*/
|
|
160
|
+
maxReferenceImages?: number;
|
|
161
|
+
/**
|
|
162
|
+
* Maximum number of reference PDFs allowed
|
|
163
|
+
*/
|
|
164
|
+
maxReferencePdfs?: number;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Default configuration for image generation
|
|
168
|
+
*/
|
|
169
|
+
export declare const DEFAULT_IMAGE_GEN_CONFIG: ImageGenConfig;
|
|
170
|
+
/**
|
|
171
|
+
* Tool parameters for AI model use
|
|
172
|
+
*/
|
|
173
|
+
export interface ImageGenToolParams {
|
|
174
|
+
/**
|
|
175
|
+
* Detailed description of the image to generate
|
|
176
|
+
*/
|
|
177
|
+
prompt: string;
|
|
178
|
+
/**
|
|
179
|
+
* What to avoid in the generated image (optional)
|
|
180
|
+
*/
|
|
181
|
+
negativePrompt?: string;
|
|
182
|
+
/**
|
|
183
|
+
* Aspect ratio like "16:9", "1:1", "4:3" (optional)
|
|
184
|
+
*/
|
|
185
|
+
aspectRatio?: AspectRatio | string;
|
|
186
|
+
/**
|
|
187
|
+
* Style like "realistic", "artistic", "cartoon" (optional)
|
|
188
|
+
*/
|
|
189
|
+
style?: StylePreset | string;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Response from the image generation tool
|
|
193
|
+
*/
|
|
194
|
+
export interface ImageGenToolResponse {
|
|
195
|
+
/**
|
|
196
|
+
* Whether the tool execution was successful
|
|
197
|
+
*/
|
|
198
|
+
success: boolean;
|
|
199
|
+
/**
|
|
200
|
+
* Data URI of the generated image (if successful)
|
|
201
|
+
* Format: data:image/png;base64,...
|
|
202
|
+
*/
|
|
203
|
+
image?: string;
|
|
204
|
+
/**
|
|
205
|
+
* Human-readable message about the result
|
|
206
|
+
*/
|
|
207
|
+
message?: string;
|
|
208
|
+
/**
|
|
209
|
+
* Error message if execution failed
|
|
210
|
+
*/
|
|
211
|
+
error?: string;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Context for tool execution (optional)
|
|
215
|
+
*/
|
|
216
|
+
export interface ImageGenToolContext {
|
|
217
|
+
/**
|
|
218
|
+
* Reference images to use for generation
|
|
219
|
+
*/
|
|
220
|
+
referenceImages?: (Buffer | string)[];
|
|
221
|
+
/**
|
|
222
|
+
* Reference PDFs to use for generation
|
|
223
|
+
*/
|
|
224
|
+
referencePdfs?: Buffer[];
|
|
225
|
+
/**
|
|
226
|
+
* User ID for tracking/logging
|
|
227
|
+
*/
|
|
228
|
+
userId?: string;
|
|
229
|
+
/**
|
|
230
|
+
* Session ID for tracking/logging
|
|
231
|
+
*/
|
|
232
|
+
sessionId?: string;
|
|
233
|
+
/**
|
|
234
|
+
* Additional metadata
|
|
235
|
+
*/
|
|
236
|
+
metadata?: Record<string, unknown>;
|
|
237
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image Generation Service Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for AI-powered image generation with support for
|
|
5
|
+
* reference images, PDFs, and configurable providers/models.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module @juspay/neurolink/image-gen
|
|
9
|
+
* @category ImageGeneration
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Default configuration for image generation
|
|
13
|
+
*/
|
|
14
|
+
export const DEFAULT_IMAGE_GEN_CONFIG = {
|
|
15
|
+
enabled: true,
|
|
16
|
+
defaultModel: "imagen-3.0-generate-001",
|
|
17
|
+
defaultProvider: "vertex",
|
|
18
|
+
defaultRegion: "global",
|
|
19
|
+
timeout: 120000,
|
|
20
|
+
defaultTemperature: 0.75,
|
|
21
|
+
maxImages: 4,
|
|
22
|
+
maxReferenceImages: 5,
|
|
23
|
+
maxReferencePdfs: 1,
|
|
24
|
+
};
|
|
@@ -219,12 +219,12 @@ export declare const directAgentTools: {
|
|
|
219
219
|
content: z.ZodString;
|
|
220
220
|
mode: z.ZodDefault<z.ZodEnum<["create", "overwrite", "append"]>>;
|
|
221
221
|
}, "strip", z.ZodTypeAny, {
|
|
222
|
-
path: string;
|
|
223
222
|
content: string;
|
|
223
|
+
path: string;
|
|
224
224
|
mode: "create" | "overwrite" | "append";
|
|
225
225
|
}, {
|
|
226
|
-
path: string;
|
|
227
226
|
content: string;
|
|
227
|
+
path: string;
|
|
228
228
|
mode?: "create" | "overwrite" | "append" | undefined;
|
|
229
229
|
}>, {
|
|
230
230
|
success: boolean;
|
|
@@ -249,8 +249,8 @@ export declare const directAgentTools: {
|
|
|
249
249
|
written?: undefined;
|
|
250
250
|
}> & {
|
|
251
251
|
execute: (args: {
|
|
252
|
-
path: string;
|
|
253
252
|
content: string;
|
|
253
|
+
path: string;
|
|
254
254
|
mode: "create" | "overwrite" | "append";
|
|
255
255
|
}, options: import("ai").ToolExecutionOptions) => PromiseLike<{
|
|
256
256
|
success: boolean;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image Generation Service
|
|
3
|
+
*
|
|
4
|
+
* Handles AI image generation using NeuroLink SDK with configurable providers
|
|
5
|
+
* and models. Supports reference images and PDFs for contextual generation.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module @juspay/neurolink/image-gen
|
|
9
|
+
* @category ImageGeneration
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { ImageGenService } from '@juspay/neurolink';
|
|
14
|
+
*
|
|
15
|
+
* const service = new ImageGenService();
|
|
16
|
+
*
|
|
17
|
+
* const result = await service.generate({
|
|
18
|
+
* prompt: 'A serene mountain landscape at sunset',
|
|
19
|
+
* style: 'photorealistic',
|
|
20
|
+
* aspectRatio: '16:9'
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* if (result.success && result.imageBuffer) {
|
|
24
|
+
* fs.writeFileSync('output.png', result.imageBuffer);
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
import type { ImageGenConfig, ImageGenOptions, ImageGenResult } from "./types.js";
|
|
29
|
+
/**
|
|
30
|
+
* Image generation service for AI-powered image creation
|
|
31
|
+
*
|
|
32
|
+
* Uses NeuroLink SDK to generate images with support for:
|
|
33
|
+
* - Multiple providers (Vertex AI, OpenAI, etc.)
|
|
34
|
+
* - Reference images for style guidance
|
|
35
|
+
* - PDF documents for contextual generation
|
|
36
|
+
* - Configurable aspect ratios and styles
|
|
37
|
+
*
|
|
38
|
+
* @example Basic usage
|
|
39
|
+
* ```typescript
|
|
40
|
+
* const service = new ImageGenService();
|
|
41
|
+
* const result = await service.generate({
|
|
42
|
+
* prompt: 'A cute robot playing chess'
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @example With custom configuration
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const service = new ImageGenService({
|
|
49
|
+
* defaultProvider: 'openai',
|
|
50
|
+
* defaultModel: 'dall-e-3',
|
|
51
|
+
* timeout: 60000
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare class ImageGenService {
|
|
56
|
+
private config;
|
|
57
|
+
private neurolinkInstance;
|
|
58
|
+
private instanceId;
|
|
59
|
+
/**
|
|
60
|
+
* Create a new ImageGenService instance
|
|
61
|
+
*
|
|
62
|
+
* @param config - Optional configuration overrides
|
|
63
|
+
*/
|
|
64
|
+
constructor(config?: Partial<ImageGenConfig>);
|
|
65
|
+
/**
|
|
66
|
+
* Get or create the NeuroLink instance
|
|
67
|
+
* Uses dynamic import to avoid circular dependencies
|
|
68
|
+
*
|
|
69
|
+
* @returns NeuroLink instance for image generation
|
|
70
|
+
*/
|
|
71
|
+
private getNeuroLink;
|
|
72
|
+
/**
|
|
73
|
+
* Generate an image from a text prompt
|
|
74
|
+
*
|
|
75
|
+
* @param options - Generation options including prompt, style, etc.
|
|
76
|
+
* @returns Promise resolving to generation result
|
|
77
|
+
*
|
|
78
|
+
* @example Simple generation
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const result = await service.generate({
|
|
81
|
+
* prompt: 'A futuristic cityscape'
|
|
82
|
+
* });
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @example With reference images
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const referenceImage = fs.readFileSync('style-reference.jpg');
|
|
88
|
+
* const result = await service.generate({
|
|
89
|
+
* prompt: 'A portrait in this style',
|
|
90
|
+
* images: [referenceImage],
|
|
91
|
+
* aspectRatio: '1:1'
|
|
92
|
+
* });
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
generate(options: ImageGenOptions): Promise<ImageGenResult>;
|
|
96
|
+
/**
|
|
97
|
+
* Extract image data from various result formats
|
|
98
|
+
*
|
|
99
|
+
* Handles multiple output formats:
|
|
100
|
+
* - result.imageOutput?.base64
|
|
101
|
+
* - result.images?.[0]
|
|
102
|
+
* - data:image URI in content
|
|
103
|
+
* - Buffer directly
|
|
104
|
+
*
|
|
105
|
+
* @param result - Raw result from NeuroLink generate
|
|
106
|
+
* @returns Extracted image data or null
|
|
107
|
+
*/
|
|
108
|
+
private extractImageFromResult;
|
|
109
|
+
/**
|
|
110
|
+
* Check if image generation is enabled
|
|
111
|
+
*/
|
|
112
|
+
isEnabled(): boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Get the default model
|
|
115
|
+
*/
|
|
116
|
+
getModel(): string;
|
|
117
|
+
/**
|
|
118
|
+
* Get the default provider
|
|
119
|
+
*/
|
|
120
|
+
getProvider(): string;
|
|
121
|
+
/**
|
|
122
|
+
* Get the service configuration
|
|
123
|
+
*/
|
|
124
|
+
getConfig(): Readonly<ImageGenConfig>;
|
|
125
|
+
/**
|
|
126
|
+
* Get the service instance ID (for debugging)
|
|
127
|
+
*/
|
|
128
|
+
getInstanceId(): string;
|
|
129
|
+
/**
|
|
130
|
+
* Update service configuration
|
|
131
|
+
*
|
|
132
|
+
* @param config - Partial configuration to merge
|
|
133
|
+
*/
|
|
134
|
+
updateConfig(config: Partial<ImageGenConfig>): void;
|
|
135
|
+
/**
|
|
136
|
+
* Enable image generation
|
|
137
|
+
*/
|
|
138
|
+
enable(): void;
|
|
139
|
+
/**
|
|
140
|
+
* Disable image generation
|
|
141
|
+
*/
|
|
142
|
+
disable(): void;
|
|
143
|
+
}
|