@teamflojo/floimg 0.1.0 → 0.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.
@@ -1,5 +1,11 @@
1
1
  /**
2
2
  * Core types for floimg
3
+ *
4
+ * Includes support for:
5
+ * - Image generation (SVG, AI, procedural)
6
+ * - Image transformation (resize, filters, effects)
7
+ * - AI vision/analysis (Claude, GPT-4V, Ollama LLaVA)
8
+ * - AI text generation (prompts, descriptions, code)
3
9
  */
4
10
  export type MimeType = "image/svg+xml" | "image/png" | "image/jpeg" | "image/webp" | "image/avif";
5
11
  /**
@@ -19,6 +25,36 @@ export interface ImageBlob {
19
25
  /** Source identifier (e.g., "svg:gradient", "ai:openai") */
20
26
  source?: string;
21
27
  }
28
+ /**
29
+ * Represents text or structured data output from AI nodes
30
+ * Used for vision analysis, text generation, and prompt creation
31
+ */
32
+ export interface DataBlob {
33
+ /** Data type: plain text or structured JSON */
34
+ type: "text" | "json";
35
+ /** Raw string content */
36
+ content: string;
37
+ /** Parsed JSON object (when type is "json") */
38
+ parsed?: Record<string, unknown>;
39
+ /** Source identifier (e.g., "ai:claude-vision", "ai:gpt4-text") */
40
+ source?: string;
41
+ /** Additional metadata about the output */
42
+ metadata?: Record<string, unknown>;
43
+ }
44
+ /**
45
+ * Union type for node outputs - supports both images and text/JSON data
46
+ */
47
+ export type NodeOutput = ImageBlob | DataBlob;
48
+ /**
49
+ * Type guard to check if a value is an ImageBlob
50
+ * Works with any input type for flexible narrowing
51
+ */
52
+ export declare function isImageBlob(value: unknown): value is ImageBlob;
53
+ /**
54
+ * Type guard to check if a value is a DataBlob
55
+ * Works with any input type for flexible narrowing
56
+ */
57
+ export declare function isDataBlob(value: unknown): value is DataBlob;
22
58
  /**
23
59
  * Result from uploading an image to storage
24
60
  */
@@ -73,11 +109,51 @@ export interface FloimgConfig {
73
109
  };
74
110
  [providerName: string]: unknown;
75
111
  };
112
+ /**
113
+ * AI provider configuration
114
+ * All AI features are optional - floimg works without any AI configured
115
+ */
76
116
  ai?: {
117
+ /** Default provider for AI operations when not specified */
77
118
  default?: string;
78
119
  openai?: {
79
120
  apiKey: string;
121
+ /** Enable GPT-4 Vision capabilities */
122
+ enableVision?: boolean;
123
+ /** Enable text generation capabilities */
124
+ enableText?: boolean;
125
+ };
126
+ anthropic?: {
127
+ apiKey: string;
128
+ /** Model to use (default: claude-sonnet-4-20250514) */
129
+ model?: string;
130
+ };
131
+ gemini?: {
132
+ apiKey: string;
133
+ /** Model to use (default: gemini-pro-vision) */
134
+ model?: string;
135
+ };
136
+ openrouter?: {
137
+ apiKey: string;
138
+ /** Default model when not specified */
139
+ defaultModel?: string;
140
+ };
141
+ together?: {
142
+ apiKey: string;
143
+ };
144
+ ollama?: {
145
+ /** Ollama server URL (default: http://localhost:11434) */
146
+ baseUrl?: string;
147
+ /** Default vision model (default: llava) */
148
+ visionModel?: string;
149
+ /** Default text model (default: llama3) */
150
+ textModel?: string;
151
+ };
152
+ lmstudio?: {
153
+ /** LM Studio server URL (default: http://localhost:1234) */
154
+ baseUrl?: string;
80
155
  };
156
+ /** Allow additional providers */
81
157
  [providerName: string]: unknown;
82
158
  };
83
159
  }
@@ -145,6 +221,44 @@ export interface SaveProviderSchema {
145
221
  /** URL protocols this provider handles (e.g., ['s3://', 'r2://']) */
146
222
  protocols?: string[];
147
223
  }
224
+ /**
225
+ * Schema for a vision provider (image analysis)
226
+ */
227
+ export interface VisionProviderSchema {
228
+ /** Provider name (e.g., 'claude-vision', 'gpt4-vision', 'ollama-llava') */
229
+ name: string;
230
+ /** Human-readable description */
231
+ description?: string;
232
+ /** Category for UI grouping (e.g., 'Cloud', 'Local') */
233
+ category?: string;
234
+ /** Parameter definitions */
235
+ parameters: Record<string, ParameterSchema>;
236
+ /** Names of required parameters */
237
+ requiredParameters?: string[];
238
+ /** Supported output formats */
239
+ outputFormats?: ("text" | "json")[];
240
+ /** Whether this provider requires an API key */
241
+ requiresApiKey?: boolean;
242
+ }
243
+ /**
244
+ * Schema for a text generation provider
245
+ */
246
+ export interface TextProviderSchema {
247
+ /** Provider name (e.g., 'claude-text', 'gpt4-text', 'ollama-llama') */
248
+ name: string;
249
+ /** Human-readable description */
250
+ description?: string;
251
+ /** Category for UI grouping (e.g., 'Cloud', 'Local') */
252
+ category?: string;
253
+ /** Parameter definitions */
254
+ parameters: Record<string, ParameterSchema>;
255
+ /** Names of required parameters */
256
+ requiredParameters?: string[];
257
+ /** Supported output formats */
258
+ outputFormats?: ("text" | "json")[];
259
+ /** Whether this provider requires an API key */
260
+ requiresApiKey?: boolean;
261
+ }
148
262
  /**
149
263
  * Complete capabilities of a floimg client
150
264
  */
@@ -155,6 +269,10 @@ export interface ClientCapabilities {
155
269
  transforms: TransformOperationSchema[];
156
270
  /** Available save providers */
157
271
  saveProviders: SaveProviderSchema[];
272
+ /** Available AI vision/analysis providers */
273
+ visionProviders: VisionProviderSchema[];
274
+ /** Available AI text generation providers */
275
+ textProviders: TextProviderSchema[];
158
276
  }
159
277
  /**
160
278
  * Image generator interface - unified for all generation types
@@ -170,6 +288,33 @@ export interface ImageGenerator {
170
288
  }
171
289
  export type SvgProvider = ImageGenerator;
172
290
  export type AiProvider = ImageGenerator;
291
+ /**
292
+ * AI Vision provider interface - analyzes images and outputs text/JSON
293
+ * Used for image description, OCR, object detection, etc.
294
+ */
295
+ export interface VisionProvider {
296
+ /** Provider name (e.g., 'claude-vision', 'gpt4-vision', 'ollama-llava') */
297
+ name: string;
298
+ /** Schema describing this provider's parameters */
299
+ schema: VisionProviderSchema;
300
+ /** Analyze an image and return structured output */
301
+ analyze(input: ImageBlob, params: Record<string, unknown>): Promise<DataBlob>;
302
+ }
303
+ /**
304
+ * AI Text generation provider interface - generates text from prompts
305
+ * Used for prompt generation, descriptions, code, etc.
306
+ */
307
+ export interface TextProvider {
308
+ /** Provider name (e.g., 'claude-text', 'gpt4-text', 'ollama-llama') */
309
+ name: string;
310
+ /** Schema describing this provider's parameters */
311
+ schema: TextProviderSchema;
312
+ /**
313
+ * Generate text from a prompt
314
+ * @param params - Generation parameters including prompt and optional context
315
+ */
316
+ generate(params: Record<string, unknown>): Promise<DataBlob>;
317
+ }
173
318
  /**
174
319
  * Image transformation provider interface
175
320
  */
@@ -285,6 +430,26 @@ export interface TransformInput {
285
430
  /** Additional operation parameters */
286
431
  params?: Record<string, unknown>;
287
432
  }
433
+ /**
434
+ * Input for AI vision/analysis operation
435
+ */
436
+ export interface VisionInput {
437
+ /** Vision provider name (e.g., 'claude-vision', 'gpt4-vision', 'ollama-llava') */
438
+ provider: string;
439
+ /** Image blob to analyze */
440
+ blob: ImageBlob;
441
+ /** Provider-specific parameters */
442
+ params?: Record<string, unknown>;
443
+ }
444
+ /**
445
+ * Input for AI text generation operation
446
+ */
447
+ export interface TextGenerateInput {
448
+ /** Text provider name (e.g., 'claude-text', 'gpt4-text', 'ollama-llama') */
449
+ provider: string;
450
+ /** Provider-specific parameters (includes prompt, context, etc.) */
451
+ params?: Record<string, unknown>;
452
+ }
288
453
  /**
289
454
  * Input for save operation (supports filesystem and cloud)
290
455
  */
@@ -364,6 +529,28 @@ export type PipelineStep = {
364
529
  in: string;
365
530
  destination: string;
366
531
  out?: string;
532
+ } | {
533
+ /** AI vision/analysis step - analyzes an image and outputs text/JSON */
534
+ kind: "vision";
535
+ /** Vision provider name (e.g., 'claude-vision', 'ollama-llava') */
536
+ provider: string;
537
+ /** Input variable name (must be an ImageBlob) */
538
+ in: string;
539
+ /** Provider-specific parameters */
540
+ params?: Record<string, unknown>;
541
+ /** Output variable name (will be a DataBlob) */
542
+ out: string;
543
+ } | {
544
+ /** AI text generation step - generates text from a prompt */
545
+ kind: "text";
546
+ /** Text provider name (e.g., 'claude-text', 'ollama-llama') */
547
+ provider: string;
548
+ /** Optional input variable name for context (can be DataBlob or string) */
549
+ in?: string;
550
+ /** Provider-specific parameters including prompt */
551
+ params?: Record<string, unknown>;
552
+ /** Output variable name (will be a DataBlob) */
553
+ out: string;
367
554
  };
368
555
  /**
369
556
  * Pipeline definition
@@ -386,7 +573,7 @@ export interface PipelineResult {
386
573
  step: PipelineStep;
387
574
  /** Output variable name */
388
575
  out: string;
389
- /** Result value (ImageBlob or SaveResult) */
390
- value: ImageBlob | SaveResult;
576
+ /** Result value (ImageBlob, DataBlob, or SaveResult) */
577
+ value: ImageBlob | DataBlob | SaveResult;
391
578
  }
392
579
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,31 @@
1
1
  /**
2
2
  * Core types for floimg
3
+ *
4
+ * Includes support for:
5
+ * - Image generation (SVG, AI, procedural)
6
+ * - Image transformation (resize, filters, effects)
7
+ * - AI vision/analysis (Claude, GPT-4V, Ollama LLaVA)
8
+ * - AI text generation (prompts, descriptions, code)
3
9
  */
4
- export {};
10
+ /**
11
+ * Type guard to check if a value is an ImageBlob
12
+ * Works with any input type for flexible narrowing
13
+ */
14
+ export function isImageBlob(value) {
15
+ return (typeof value === "object" &&
16
+ value !== null &&
17
+ "bytes" in value &&
18
+ "mime" in value);
19
+ }
20
+ /**
21
+ * Type guard to check if a value is a DataBlob
22
+ * Works with any input type for flexible narrowing
23
+ */
24
+ export function isDataBlob(value) {
25
+ return (typeof value === "object" &&
26
+ value !== null &&
27
+ "type" in value &&
28
+ "content" in value &&
29
+ !("bytes" in value));
30
+ }
5
31
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiDH;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,IAAI,KAAK;QAChB,MAAM,IAAI,KAAK,CAChB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,SAAS,IAAI,KAAK;QAClB,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,CACpB,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { Floimg } from "./core/client.js";
2
2
  import type { FloimgConfig } from "./core/types.js";
3
- export type { FloimgConfig, ImageBlob, MimeType, ImageGenerator, TransformProvider, StoreProvider, GenerateInput, TransformInput, UploadInput, UploadResult, Pipeline, PipelineStep, PipelineResult, ParameterSchema, GeneratorSchema, TransformOperationSchema, SaveProviderSchema, ClientCapabilities, SvgProvider, AiProvider, } from "./core/types.js";
3
+ export type { FloimgConfig, ImageBlob, MimeType, ImageGenerator, TransformProvider, StoreProvider, GenerateInput, TransformInput, UploadInput, UploadResult, Pipeline, PipelineStep, PipelineResult, ParameterSchema, GeneratorSchema, TransformOperationSchema, SaveProviderSchema, ClientCapabilities, DataBlob, NodeOutput, VisionProvider, TextProvider, VisionProviderSchema, TextProviderSchema, VisionInput, TextGenerateInput, SvgProvider, AiProvider, } from "./core/types.js";
4
+ export { isImageBlob, isDataBlob } from "./core/types.js";
4
5
  export { FloimgError, ProviderNotFoundError, ConfigurationError, TransformError, UploadError, GenerationError, } from "./core/errors.js";
5
6
  export { ShapesProvider } from "./providers/svg/index.js";
6
- export { OpenAIGenerator } from "./providers/ai/index.js";
7
- export type { OpenAIConfig, OpenAIGenerateParams } from "./providers/ai/index.js";
8
7
  export { SharpTransformProvider } from "./providers/transform/index.js";
8
+ export { OpenAIGenerator, OpenAIVisionProvider, OpenAITextProvider, } from "./providers/ai/index.js";
9
+ export type { OpenAIConfig, OpenAIGenerateParams, OpenAIVisionConfig, OpenAIVisionParams, OpenAITextConfig, OpenAITextParams, } from "./providers/ai/index.js";
9
10
  export { default as FsSaveProvider } from "./providers/save/FsSaveProvider.js";
10
11
  export { default as S3SaveProvider } from "./providers/save/S3SaveProvider.js";
11
12
  export type { S3SaveProviderConfig } from "./providers/save/S3SaveProvider.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,YAAY,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,cAAc,EAEd,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAElB,WAAW,EACX,UAAU,GACX,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAE,YAAiB,GAAG,MAAM,CA+B9D;AAGD,OAAO,EAAE,MAAM,EAAE,CAAC;AAGlB,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAU1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,YAAY,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,cAAc,EAEd,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAElB,QAAQ,EACR,UAAU,EACV,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EAEjB,WAAW,EACX,UAAU,GACX,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAE,YAAiB,GAAG,MAAM,CAoC9D;AAGD,OAAO,EAAE,MAAM,EAAE,CAAC;AAGlB,eAAe,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,15 +1,18 @@
1
1
  import { Floimg } from "./core/client.js";
2
2
  import { ShapesProvider } from "./providers/svg/index.js";
3
- import { OpenAIGenerator } from "./providers/ai/index.js";
3
+ import { OpenAIGenerator, OpenAIVisionProvider, OpenAITextProvider, } from "./providers/ai/index.js";
4
4
  import { SharpTransformProvider } from "./providers/transform/index.js";
5
5
  import FsSaveProvider from "./providers/save/FsSaveProvider.js";
6
6
  import S3SaveProvider from "./providers/save/S3SaveProvider.js";
7
+ // Export type guards
8
+ export { isImageBlob, isDataBlob } from "./core/types.js";
7
9
  // Export errors
8
10
  export { FloimgError, ProviderNotFoundError, ConfigurationError, TransformError, UploadError, GenerationError, } from "./core/errors.js";
9
11
  // Export generators and providers
10
12
  export { ShapesProvider } from "./providers/svg/index.js";
11
- export { OpenAIGenerator } from "./providers/ai/index.js";
12
13
  export { SharpTransformProvider } from "./providers/transform/index.js";
14
+ // Export OpenAI providers (image generation, vision, text)
15
+ export { OpenAIGenerator, OpenAIVisionProvider, OpenAITextProvider, } from "./providers/ai/index.js";
13
16
  // Export save providers
14
17
  export { default as FsSaveProvider } from "./providers/save/FsSaveProvider.js";
15
18
  export { default as S3SaveProvider } from "./providers/save/S3SaveProvider.js";
@@ -20,10 +23,15 @@ export function createClient(config = {}) {
20
23
  const client = new Floimg(config);
21
24
  // Register built-in generators
22
25
  client.registerGenerator(new ShapesProvider());
23
- // Register AI generators if configured
26
+ // Register OpenAI providers if configured
24
27
  if (config.ai?.openai) {
25
28
  const openaiConfig = config.ai.openai;
29
+ // Image generation (DALL-E)
26
30
  client.registerGenerator(new OpenAIGenerator(openaiConfig));
31
+ // Vision analysis (GPT-4V)
32
+ client.registerVisionProvider(new OpenAIVisionProvider(openaiConfig));
33
+ // Text generation (GPT-4)
34
+ client.registerTextProvider(new OpenAITextProvider(openaiConfig));
27
35
  }
28
36
  // Register built-in transform providers
29
37
  client.registerTransformProvider(new SharpTransformProvider());
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,cAAc,MAAM,oCAAoC,CAAC;AA6BhE,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,kCAAkC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,wBAAwB;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAG/E;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAuB,EAAE;IACpD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAElC,+BAA+B;IAC/B,MAAM,CAAC,iBAAiB,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;IAE/C,uCAAuC;IACvC,IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,MAAa,CAAC;QAC7C,MAAM,CAAC,iBAAiB,CAAC,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,yBAAyB,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IAE/D,0BAA0B;IAC1B,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IACvC,MAAM,CAAC,oBAAoB,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1D,+DAA+D;IAC/D,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QACvD,MAAM,CAAC,oBAAoB,CAAC,IAAI,cAAc,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM;YAC7B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM;YAC7B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ;YACjC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0BAA0B;AAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB,iBAAiB;AACjB,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAsChE,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE1D,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,kCAAkC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,2DAA2D;AAC3D,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAUjC,wBAAwB;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAG/E;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAuB,EAAE;IACpD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAElC,+BAA+B;IAC/B,MAAM,CAAC,iBAAiB,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;IAE/C,0CAA0C;IAC1C,IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,MAA6B,CAAC;QAC7D,4BAA4B;QAC5B,MAAM,CAAC,iBAAiB,CAAC,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,2BAA2B;QAC3B,MAAM,CAAC,sBAAsB,CAAC,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC;QACtE,0BAA0B;QAC1B,MAAM,CAAC,oBAAoB,CAAC,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,yBAAyB,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IAE/D,0BAA0B;IAC1B,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IACvC,MAAM,CAAC,oBAAoB,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1D,+DAA+D;IAC/D,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QACvD,MAAM,CAAC,oBAAoB,CAAC,IAAI,cAAc,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM;YAC7B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM;YAC7B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ;YACjC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0BAA0B;AAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB,iBAAiB;AACjB,eAAe,YAAY,CAAC"}
@@ -352,6 +352,89 @@ const TOOLS = [
352
352
  required: ["steps"],
353
353
  },
354
354
  },
355
+ {
356
+ name: "analyze_image",
357
+ description: "Analyze an image using AI vision (Claude Vision, GPT-4V, Gemini Vision, Ollama LLaVA). " +
358
+ "Returns text or structured JSON describing the image content. " +
359
+ "Reference images by: imageId (from previous calls), imagePath (any file), or imageBytes (base64). " +
360
+ "Useful for: extracting text, describing contents, detecting objects, answering questions about images.",
361
+ inputSchema: {
362
+ type: "object",
363
+ properties: {
364
+ imageId: {
365
+ type: "string",
366
+ description: "ID of image from previous generate_image or transform_image call",
367
+ },
368
+ imagePath: {
369
+ type: "string",
370
+ description: "Path to image file on disk (e.g., './my-image.png')",
371
+ },
372
+ imageBytes: {
373
+ type: "string",
374
+ description: "Base64-encoded image bytes",
375
+ },
376
+ mime: {
377
+ type: "string",
378
+ description: "MIME type (required only if using imageBytes)",
379
+ },
380
+ prompt: {
381
+ type: "string",
382
+ description: "What to analyze or ask about the image. " +
383
+ "Examples: 'Describe this image', 'What text is visible?', 'List all objects'",
384
+ },
385
+ provider: {
386
+ type: "string",
387
+ description: "Vision provider to use. Defaults to first available. " +
388
+ "Options: 'openai' (GPT-4V), 'anthropic' (Claude), 'ollama' (LLaVA), 'gemini'",
389
+ enum: ["openai", "anthropic", "ollama", "gemini"],
390
+ },
391
+ outputFormat: {
392
+ type: "string",
393
+ description: "Output format: 'text' (default) or 'json' (structured data)",
394
+ enum: ["text", "json"],
395
+ },
396
+ },
397
+ required: ["prompt"],
398
+ },
399
+ },
400
+ {
401
+ name: "generate_text",
402
+ description: "Generate text using AI (Claude, GPT-4, Gemini, Ollama Llama/Mistral). " +
403
+ "Useful for: creating prompts, writing descriptions, generating code, expanding on ideas. " +
404
+ "Can optionally take context from previous analysis to chain operations.",
405
+ inputSchema: {
406
+ type: "object",
407
+ properties: {
408
+ prompt: {
409
+ type: "string",
410
+ description: "The prompt or question to generate text for",
411
+ },
412
+ context: {
413
+ type: "string",
414
+ description: "Optional context to include (e.g., output from analyze_image)",
415
+ },
416
+ provider: {
417
+ type: "string",
418
+ description: "Text provider to use. Defaults to first available. " +
419
+ "Options: 'openai' (GPT-4), 'anthropic' (Claude), 'ollama' (Llama/Mistral), 'gemini'",
420
+ enum: ["openai", "anthropic", "ollama", "gemini"],
421
+ },
422
+ systemPrompt: {
423
+ type: "string",
424
+ description: "Optional system prompt to set the AI's behavior/role",
425
+ },
426
+ temperature: {
427
+ type: "number",
428
+ description: "Creativity level (0.0 = deterministic, 1.0 = creative). Default: 0.7",
429
+ },
430
+ maxTokens: {
431
+ type: "number",
432
+ description: "Maximum tokens to generate. Default: 1024",
433
+ },
434
+ },
435
+ required: ["prompt"],
436
+ },
437
+ },
355
438
  ];
356
439
  // List tools handler
357
440
  server.setRequestHandler(ListToolsRequestSchema, async () => {
@@ -682,6 +765,88 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
682
765
  ],
683
766
  };
684
767
  }
768
+ case "analyze_image": {
769
+ const { imageId, imagePath, imageBytes, mime, prompt, provider, outputFormat = "text" } = args;
770
+ if (!prompt) {
771
+ throw new Error("'prompt' parameter is required");
772
+ }
773
+ // Load input image
774
+ const inputBlob = await loadImage(imageId, imagePath, imageBytes, mime);
775
+ // Check if vision providers are available
776
+ const capabilities = client.getCapabilities();
777
+ if (!capabilities.visionProviders || capabilities.visionProviders.length === 0) {
778
+ throw new Error("No vision providers configured. " +
779
+ "Configure AI providers in floimg.config.ts or environment variables. " +
780
+ "Supported: OpenAI (OPENAI_API_KEY), Anthropic (ANTHROPIC_API_KEY), " +
781
+ "Ollama (OLLAMA_BASE_URL), Gemini (GEMINI_API_KEY)");
782
+ }
783
+ // Select provider (use specified or first available)
784
+ const selectedProvider = provider || capabilities.visionProviders[0].name;
785
+ console.error(`[floimg-mcp] Analyzing image with provider: ${selectedProvider}`);
786
+ const result = await client.analyzeImage({
787
+ provider: selectedProvider,
788
+ blob: inputBlob,
789
+ params: {
790
+ prompt,
791
+ outputFormat,
792
+ },
793
+ });
794
+ console.error(`[floimg-mcp] Analysis complete: ${result.content.slice(0, 100)}...`);
795
+ return {
796
+ content: [
797
+ {
798
+ type: "text",
799
+ text: JSON.stringify({
800
+ success: true,
801
+ provider: selectedProvider,
802
+ outputFormat: result.type,
803
+ content: result.content,
804
+ ...(result.parsed && { parsed: result.parsed }),
805
+ }, null, 2),
806
+ },
807
+ ],
808
+ };
809
+ }
810
+ case "generate_text": {
811
+ const { prompt, context, provider, systemPrompt, temperature, maxTokens } = args;
812
+ if (!prompt) {
813
+ throw new Error("'prompt' parameter is required");
814
+ }
815
+ // Check if text providers are available
816
+ const capabilities = client.getCapabilities();
817
+ if (!capabilities.textProviders || capabilities.textProviders.length === 0) {
818
+ throw new Error("No text providers configured. " +
819
+ "Configure AI providers in floimg.config.ts or environment variables. " +
820
+ "Supported: OpenAI (OPENAI_API_KEY), Anthropic (ANTHROPIC_API_KEY), " +
821
+ "Ollama (OLLAMA_BASE_URL), Gemini (GEMINI_API_KEY)");
822
+ }
823
+ // Select provider (use specified or first available)
824
+ const selectedProvider = provider || capabilities.textProviders[0].name;
825
+ console.error(`[floimg-mcp] Generating text with provider: ${selectedProvider}`);
826
+ const result = await client.generateText({
827
+ provider: selectedProvider,
828
+ params: {
829
+ prompt,
830
+ ...(context && { context }),
831
+ ...(systemPrompt && { systemPrompt }),
832
+ ...(temperature !== undefined && { temperature }),
833
+ ...(maxTokens !== undefined && { maxTokens }),
834
+ },
835
+ });
836
+ console.error(`[floimg-mcp] Text generation complete: ${result.content.slice(0, 100)}...`);
837
+ return {
838
+ content: [
839
+ {
840
+ type: "text",
841
+ text: JSON.stringify({
842
+ success: true,
843
+ provider: selectedProvider,
844
+ content: result.content,
845
+ }, null, 2),
846
+ },
847
+ ],
848
+ };
849
+ }
685
850
  default:
686
851
  throw new Error(`Unknown tool: ${name}`);
687
852
  }