@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.
Files changed (237) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +54 -7
  3. package/dist/agent/directTools.d.ts +3 -3
  4. package/dist/cli/commands/config.d.ts +6 -6
  5. package/dist/image-gen/ImageGenService.d.ts +143 -0
  6. package/dist/image-gen/ImageGenService.js +345 -0
  7. package/dist/image-gen/imageGenTools.d.ts +126 -0
  8. package/dist/image-gen/imageGenTools.js +304 -0
  9. package/dist/image-gen/index.d.ts +46 -0
  10. package/dist/image-gen/index.js +48 -0
  11. package/dist/image-gen/types.d.ts +237 -0
  12. package/dist/image-gen/types.js +24 -0
  13. package/dist/lib/agent/directTools.d.ts +3 -3
  14. package/dist/lib/image-gen/ImageGenService.d.ts +143 -0
  15. package/dist/lib/image-gen/ImageGenService.js +346 -0
  16. package/dist/lib/image-gen/imageGenTools.d.ts +126 -0
  17. package/dist/lib/image-gen/imageGenTools.js +305 -0
  18. package/dist/lib/image-gen/index.d.ts +46 -0
  19. package/dist/lib/image-gen/index.js +49 -0
  20. package/dist/lib/image-gen/types.d.ts +237 -0
  21. package/dist/lib/image-gen/types.js +25 -0
  22. package/dist/lib/processors/base/BaseFileProcessor.d.ts +273 -0
  23. package/dist/lib/processors/base/BaseFileProcessor.js +614 -0
  24. package/dist/lib/processors/base/index.d.ts +14 -0
  25. package/dist/lib/processors/base/index.js +20 -0
  26. package/dist/lib/processors/base/types.d.ts +593 -0
  27. package/dist/lib/processors/base/types.js +77 -0
  28. package/dist/lib/processors/cli/fileProcessorCli.d.ts +163 -0
  29. package/dist/lib/processors/cli/fileProcessorCli.js +389 -0
  30. package/dist/lib/processors/cli/index.d.ts +37 -0
  31. package/dist/lib/processors/cli/index.js +50 -0
  32. package/dist/lib/processors/code/ConfigProcessor.d.ts +171 -0
  33. package/dist/lib/processors/code/ConfigProcessor.js +401 -0
  34. package/dist/lib/processors/code/SourceCodeProcessor.d.ts +174 -0
  35. package/dist/lib/processors/code/SourceCodeProcessor.js +305 -0
  36. package/dist/lib/processors/code/index.d.ts +44 -0
  37. package/dist/lib/processors/code/index.js +61 -0
  38. package/dist/lib/processors/config/fileTypes.d.ts +283 -0
  39. package/dist/lib/processors/config/fileTypes.js +521 -0
  40. package/dist/lib/processors/config/index.d.ts +32 -0
  41. package/dist/lib/processors/config/index.js +93 -0
  42. package/dist/lib/processors/config/languageMap.d.ts +66 -0
  43. package/dist/lib/processors/config/languageMap.js +411 -0
  44. package/dist/lib/processors/config/mimeTypes.d.ts +376 -0
  45. package/dist/lib/processors/config/mimeTypes.js +339 -0
  46. package/dist/lib/processors/config/sizeLimits.d.ts +194 -0
  47. package/dist/lib/processors/config/sizeLimits.js +247 -0
  48. package/dist/lib/processors/data/JsonProcessor.d.ts +122 -0
  49. package/dist/lib/processors/data/JsonProcessor.js +204 -0
  50. package/dist/lib/processors/data/XmlProcessor.d.ts +160 -0
  51. package/dist/lib/processors/data/XmlProcessor.js +284 -0
  52. package/dist/lib/processors/data/YamlProcessor.d.ts +163 -0
  53. package/dist/lib/processors/data/YamlProcessor.js +295 -0
  54. package/dist/lib/processors/data/index.d.ts +49 -0
  55. package/dist/lib/processors/data/index.js +77 -0
  56. package/dist/lib/processors/document/ExcelProcessor.d.ts +238 -0
  57. package/dist/lib/processors/document/ExcelProcessor.js +520 -0
  58. package/dist/lib/processors/document/OpenDocumentProcessor.d.ts +69 -0
  59. package/dist/lib/processors/document/OpenDocumentProcessor.js +211 -0
  60. package/dist/lib/processors/document/RtfProcessor.d.ts +152 -0
  61. package/dist/lib/processors/document/RtfProcessor.js +362 -0
  62. package/dist/lib/processors/document/WordProcessor.d.ts +168 -0
  63. package/dist/lib/processors/document/WordProcessor.js +354 -0
  64. package/dist/lib/processors/document/index.d.ts +54 -0
  65. package/dist/lib/processors/document/index.js +91 -0
  66. package/dist/lib/processors/errors/FileErrorCode.d.ts +98 -0
  67. package/dist/lib/processors/errors/FileErrorCode.js +256 -0
  68. package/dist/lib/processors/errors/errorHelpers.d.ts +151 -0
  69. package/dist/lib/processors/errors/errorHelpers.js +379 -0
  70. package/dist/lib/processors/errors/errorSerializer.d.ts +139 -0
  71. package/dist/lib/processors/errors/errorSerializer.js +508 -0
  72. package/dist/lib/processors/errors/index.d.ts +46 -0
  73. package/dist/lib/processors/errors/index.js +50 -0
  74. package/dist/lib/processors/index.d.ts +76 -0
  75. package/dist/lib/processors/index.js +113 -0
  76. package/dist/lib/processors/integration/FileProcessorIntegration.d.ts +244 -0
  77. package/dist/lib/processors/integration/FileProcessorIntegration.js +273 -0
  78. package/dist/lib/processors/integration/index.d.ts +42 -0
  79. package/dist/lib/processors/integration/index.js +45 -0
  80. package/dist/lib/processors/markup/HtmlProcessor.d.ts +169 -0
  81. package/dist/lib/processors/markup/HtmlProcessor.js +250 -0
  82. package/dist/lib/processors/markup/MarkdownProcessor.d.ts +165 -0
  83. package/dist/lib/processors/markup/MarkdownProcessor.js +245 -0
  84. package/dist/lib/processors/markup/SvgProcessor.d.ts +156 -0
  85. package/dist/lib/processors/markup/SvgProcessor.js +241 -0
  86. package/dist/lib/processors/markup/TextProcessor.d.ts +135 -0
  87. package/dist/lib/processors/markup/TextProcessor.js +189 -0
  88. package/dist/lib/processors/markup/index.d.ts +66 -0
  89. package/dist/lib/processors/markup/index.js +103 -0
  90. package/dist/lib/processors/registry/ProcessorRegistry.d.ts +334 -0
  91. package/dist/lib/processors/registry/ProcessorRegistry.js +609 -0
  92. package/dist/lib/processors/registry/index.d.ts +12 -0
  93. package/dist/lib/processors/registry/index.js +17 -0
  94. package/dist/lib/processors/registry/types.d.ts +53 -0
  95. package/dist/lib/processors/registry/types.js +11 -0
  96. package/dist/lib/providers/sagemaker/language-model.d.ts +2 -2
  97. package/dist/lib/server/utils/validation.d.ts +6 -6
  98. package/dist/lib/types/fileTypes.d.ts +1 -1
  99. package/dist/lib/types/index.d.ts +25 -24
  100. package/dist/lib/types/index.js +21 -20
  101. package/dist/lib/types/modelTypes.d.ts +18 -18
  102. package/dist/lib/types/pptTypes.d.ts +14 -2
  103. package/dist/lib/types/pptTypes.js +16 -0
  104. package/dist/lib/utils/async/delay.d.ts +40 -0
  105. package/dist/lib/utils/async/delay.js +43 -0
  106. package/dist/lib/utils/async/index.d.ts +23 -0
  107. package/dist/lib/utils/async/index.js +24 -0
  108. package/dist/lib/utils/async/retry.d.ts +141 -0
  109. package/dist/lib/utils/async/retry.js +172 -0
  110. package/dist/lib/utils/async/withTimeout.d.ts +73 -0
  111. package/dist/lib/utils/async/withTimeout.js +97 -0
  112. package/dist/lib/utils/fileDetector.d.ts +7 -1
  113. package/dist/lib/utils/fileDetector.js +91 -18
  114. package/dist/lib/utils/json/extract.d.ts +103 -0
  115. package/dist/lib/utils/json/extract.js +249 -0
  116. package/dist/lib/utils/json/index.d.ts +36 -0
  117. package/dist/lib/utils/json/index.js +37 -0
  118. package/dist/lib/utils/json/safeParse.d.ts +137 -0
  119. package/dist/lib/utils/json/safeParse.js +191 -0
  120. package/dist/lib/utils/messageBuilder.d.ts +2 -2
  121. package/dist/lib/utils/messageBuilder.js +15 -7
  122. package/dist/lib/utils/sanitizers/filename.d.ts +137 -0
  123. package/dist/lib/utils/sanitizers/filename.js +366 -0
  124. package/dist/lib/utils/sanitizers/html.d.ts +170 -0
  125. package/dist/lib/utils/sanitizers/html.js +326 -0
  126. package/dist/lib/utils/sanitizers/index.d.ts +26 -0
  127. package/dist/lib/utils/sanitizers/index.js +30 -0
  128. package/dist/lib/utils/sanitizers/svg.d.ts +81 -0
  129. package/dist/lib/utils/sanitizers/svg.js +483 -0
  130. package/dist/processors/base/BaseFileProcessor.d.ts +273 -0
  131. package/dist/processors/base/BaseFileProcessor.js +613 -0
  132. package/dist/processors/base/index.d.ts +14 -0
  133. package/dist/processors/base/index.js +19 -0
  134. package/dist/processors/base/types.d.ts +593 -0
  135. package/dist/processors/base/types.js +76 -0
  136. package/dist/processors/cli/fileProcessorCli.d.ts +163 -0
  137. package/dist/processors/cli/fileProcessorCli.js +388 -0
  138. package/dist/processors/cli/index.d.ts +37 -0
  139. package/dist/processors/cli/index.js +49 -0
  140. package/dist/processors/code/ConfigProcessor.d.ts +171 -0
  141. package/dist/processors/code/ConfigProcessor.js +400 -0
  142. package/dist/processors/code/SourceCodeProcessor.d.ts +174 -0
  143. package/dist/processors/code/SourceCodeProcessor.js +304 -0
  144. package/dist/processors/code/index.d.ts +44 -0
  145. package/dist/processors/code/index.js +60 -0
  146. package/dist/processors/config/fileTypes.d.ts +283 -0
  147. package/dist/processors/config/fileTypes.js +520 -0
  148. package/dist/processors/config/index.d.ts +32 -0
  149. package/dist/processors/config/index.js +92 -0
  150. package/dist/processors/config/languageMap.d.ts +66 -0
  151. package/dist/processors/config/languageMap.js +410 -0
  152. package/dist/processors/config/mimeTypes.d.ts +376 -0
  153. package/dist/processors/config/mimeTypes.js +338 -0
  154. package/dist/processors/config/sizeLimits.d.ts +194 -0
  155. package/dist/processors/config/sizeLimits.js +246 -0
  156. package/dist/processors/data/JsonProcessor.d.ts +122 -0
  157. package/dist/processors/data/JsonProcessor.js +203 -0
  158. package/dist/processors/data/XmlProcessor.d.ts +160 -0
  159. package/dist/processors/data/XmlProcessor.js +283 -0
  160. package/dist/processors/data/YamlProcessor.d.ts +163 -0
  161. package/dist/processors/data/YamlProcessor.js +294 -0
  162. package/dist/processors/data/index.d.ts +49 -0
  163. package/dist/processors/data/index.js +76 -0
  164. package/dist/processors/document/ExcelProcessor.d.ts +238 -0
  165. package/dist/processors/document/ExcelProcessor.js +519 -0
  166. package/dist/processors/document/OpenDocumentProcessor.d.ts +69 -0
  167. package/dist/processors/document/OpenDocumentProcessor.js +210 -0
  168. package/dist/processors/document/RtfProcessor.d.ts +152 -0
  169. package/dist/processors/document/RtfProcessor.js +361 -0
  170. package/dist/processors/document/WordProcessor.d.ts +168 -0
  171. package/dist/processors/document/WordProcessor.js +353 -0
  172. package/dist/processors/document/index.d.ts +54 -0
  173. package/dist/processors/document/index.js +90 -0
  174. package/dist/processors/errors/FileErrorCode.d.ts +98 -0
  175. package/dist/processors/errors/FileErrorCode.js +255 -0
  176. package/dist/processors/errors/errorHelpers.d.ts +151 -0
  177. package/dist/processors/errors/errorHelpers.js +378 -0
  178. package/dist/processors/errors/errorSerializer.d.ts +139 -0
  179. package/dist/processors/errors/errorSerializer.js +507 -0
  180. package/dist/processors/errors/index.d.ts +46 -0
  181. package/dist/processors/errors/index.js +49 -0
  182. package/dist/processors/index.d.ts +76 -0
  183. package/dist/processors/index.js +112 -0
  184. package/dist/processors/integration/FileProcessorIntegration.d.ts +244 -0
  185. package/dist/processors/integration/FileProcessorIntegration.js +272 -0
  186. package/dist/processors/integration/index.d.ts +42 -0
  187. package/dist/processors/integration/index.js +44 -0
  188. package/dist/processors/markup/HtmlProcessor.d.ts +169 -0
  189. package/dist/processors/markup/HtmlProcessor.js +249 -0
  190. package/dist/processors/markup/MarkdownProcessor.d.ts +165 -0
  191. package/dist/processors/markup/MarkdownProcessor.js +244 -0
  192. package/dist/processors/markup/SvgProcessor.d.ts +156 -0
  193. package/dist/processors/markup/SvgProcessor.js +240 -0
  194. package/dist/processors/markup/TextProcessor.d.ts +135 -0
  195. package/dist/processors/markup/TextProcessor.js +188 -0
  196. package/dist/processors/markup/index.d.ts +66 -0
  197. package/dist/processors/markup/index.js +102 -0
  198. package/dist/processors/registry/ProcessorRegistry.d.ts +334 -0
  199. package/dist/processors/registry/ProcessorRegistry.js +608 -0
  200. package/dist/processors/registry/index.d.ts +12 -0
  201. package/dist/processors/registry/index.js +16 -0
  202. package/dist/processors/registry/types.d.ts +53 -0
  203. package/dist/processors/registry/types.js +10 -0
  204. package/dist/server/utils/validation.d.ts +6 -6
  205. package/dist/types/fileTypes.d.ts +1 -1
  206. package/dist/types/index.d.ts +25 -24
  207. package/dist/types/index.js +21 -20
  208. package/dist/types/modelTypes.d.ts +10 -10
  209. package/dist/types/pptTypes.d.ts +14 -2
  210. package/dist/types/pptTypes.js +16 -0
  211. package/dist/utils/async/delay.d.ts +40 -0
  212. package/dist/utils/async/delay.js +42 -0
  213. package/dist/utils/async/index.d.ts +23 -0
  214. package/dist/utils/async/index.js +23 -0
  215. package/dist/utils/async/retry.d.ts +141 -0
  216. package/dist/utils/async/retry.js +171 -0
  217. package/dist/utils/async/withTimeout.d.ts +73 -0
  218. package/dist/utils/async/withTimeout.js +96 -0
  219. package/dist/utils/fileDetector.d.ts +7 -1
  220. package/dist/utils/fileDetector.js +91 -18
  221. package/dist/utils/json/extract.d.ts +103 -0
  222. package/dist/utils/json/extract.js +248 -0
  223. package/dist/utils/json/index.d.ts +36 -0
  224. package/dist/utils/json/index.js +36 -0
  225. package/dist/utils/json/safeParse.d.ts +137 -0
  226. package/dist/utils/json/safeParse.js +190 -0
  227. package/dist/utils/messageBuilder.d.ts +2 -2
  228. package/dist/utils/messageBuilder.js +15 -7
  229. package/dist/utils/sanitizers/filename.d.ts +137 -0
  230. package/dist/utils/sanitizers/filename.js +365 -0
  231. package/dist/utils/sanitizers/html.d.ts +170 -0
  232. package/dist/utils/sanitizers/html.js +325 -0
  233. package/dist/utils/sanitizers/index.d.ts +26 -0
  234. package/dist/utils/sanitizers/index.js +29 -0
  235. package/dist/utils/sanitizers/svg.d.ts +81 -0
  236. package/dist/utils/sanitizers/svg.js +482 -0
  237. 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
+ }