@teamflojo/floimg 0.1.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/LICENSE +21 -0
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +165 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/filter.d.ts +4 -0
- package/dist/cli/commands/filter.d.ts.map +1 -0
- package/dist/cli/commands/filter.js +102 -0
- package/dist/cli/commands/filter.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +3 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/generate.js +49 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +3 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +88 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/plugins.d.ts +3 -0
- package/dist/cli/commands/plugins.d.ts.map +1 -0
- package/dist/cli/commands/plugins.js +66 -0
- package/dist/cli/commands/plugins.js.map +1 -0
- package/dist/cli/commands/run.d.ts +3 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +45 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/save.d.ts +3 -0
- package/dist/cli/commands/save.d.ts.map +1 -0
- package/dist/cli/commands/save.js +54 -0
- package/dist/cli/commands/save.js.map +1 -0
- package/dist/cli/commands/text.d.ts +3 -0
- package/dist/cli/commands/text.d.ts.map +1 -0
- package/dist/cli/commands/text.js +143 -0
- package/dist/cli/commands/text.js.map +1 -0
- package/dist/cli/commands/transform.d.ts +3 -0
- package/dist/cli/commands/transform.d.ts.map +1 -0
- package/dist/cli/commands/transform.js +59 -0
- package/dist/cli/commands/transform.js.map +1 -0
- package/dist/cli/commands/upload.d.ts +3 -0
- package/dist/cli/commands/upload.d.ts.map +1 -0
- package/dist/cli/commands/upload.js +59 -0
- package/dist/cli/commands/upload.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +139 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +38 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +23 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +189 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/core/client.d.ts +63 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +318 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/errors.d.ts +38 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +75 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/logger.d.ts +12 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +26 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/pipeline-runner.d.ts +64 -0
- package/dist/core/pipeline-runner.d.ts.map +1 -0
- package/dist/core/pipeline-runner.js +109 -0
- package/dist/core/pipeline-runner.js.map +1 -0
- package/dist/core/types.d.ts +392 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/server.d.ts +3 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +731 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/providers/ai/index.d.ts +3 -0
- package/dist/providers/ai/index.d.ts.map +1 -0
- package/dist/providers/ai/index.js +2 -0
- package/dist/providers/ai/index.js.map +1 -0
- package/dist/providers/ai/openai.d.ts +44 -0
- package/dist/providers/ai/openai.d.ts.map +1 -0
- package/dist/providers/ai/openai.js +133 -0
- package/dist/providers/ai/openai.js.map +1 -0
- package/dist/providers/save/FsSaveProvider.d.ts +20 -0
- package/dist/providers/save/FsSaveProvider.d.ts.map +1 -0
- package/dist/providers/save/FsSaveProvider.js +34 -0
- package/dist/providers/save/FsSaveProvider.js.map +1 -0
- package/dist/providers/save/S3SaveProvider.d.ts +26 -0
- package/dist/providers/save/S3SaveProvider.d.ts.map +1 -0
- package/dist/providers/save/S3SaveProvider.js +42 -0
- package/dist/providers/save/S3SaveProvider.js.map +1 -0
- package/dist/providers/store/fs.d.ts +20 -0
- package/dist/providers/store/fs.d.ts.map +1 -0
- package/dist/providers/store/fs.js +42 -0
- package/dist/providers/store/fs.js.map +1 -0
- package/dist/providers/store/index.d.ts +3 -0
- package/dist/providers/store/index.d.ts.map +1 -0
- package/dist/providers/store/index.js +3 -0
- package/dist/providers/store/index.js.map +1 -0
- package/dist/providers/store/s3.d.ts +62 -0
- package/dist/providers/store/s3.d.ts.map +1 -0
- package/dist/providers/store/s3.js +92 -0
- package/dist/providers/store/s3.js.map +1 -0
- package/dist/providers/svg/index.d.ts +2 -0
- package/dist/providers/svg/index.d.ts.map +1 -0
- package/dist/providers/svg/index.js +2 -0
- package/dist/providers/svg/index.js.map +1 -0
- package/dist/providers/svg/shapes.d.ts +18 -0
- package/dist/providers/svg/shapes.d.ts.map +1 -0
- package/dist/providers/svg/shapes.js +161 -0
- package/dist/providers/svg/shapes.js.map +1 -0
- package/dist/providers/transform/index.d.ts +2 -0
- package/dist/providers/transform/index.d.ts.map +1 -0
- package/dist/providers/transform/index.js +2 -0
- package/dist/providers/transform/index.js.map +1 -0
- package/dist/providers/transform/presets.d.ts +44 -0
- package/dist/providers/transform/presets.d.ts.map +1 -0
- package/dist/providers/transform/presets.js +205 -0
- package/dist/providers/transform/presets.js.map +1 -0
- package/dist/providers/transform/sharp.d.ts +64 -0
- package/dist/providers/transform/sharp.d.ts.map +1 -0
- package/dist/providers/transform/sharp.js +732 -0
- package/dist/providers/transform/sharp.js.map +1 -0
- package/dist/providers/transform/text.d.ts +38 -0
- package/dist/providers/transform/text.d.ts.map +1 -0
- package/dist/providers/transform/text.js +116 -0
- package/dist/providers/transform/text.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for floimg
|
|
3
|
+
*/
|
|
4
|
+
export type MimeType = "image/svg+xml" | "image/png" | "image/jpeg" | "image/webp" | "image/avif";
|
|
5
|
+
/**
|
|
6
|
+
* Represents an image as a buffer with metadata
|
|
7
|
+
*/
|
|
8
|
+
export interface ImageBlob {
|
|
9
|
+
/** Raw image bytes */
|
|
10
|
+
bytes: Buffer;
|
|
11
|
+
/** MIME type of the image */
|
|
12
|
+
mime: MimeType;
|
|
13
|
+
/** Image width in pixels (if known) */
|
|
14
|
+
width?: number;
|
|
15
|
+
/** Image height in pixels (if known) */
|
|
16
|
+
height?: number;
|
|
17
|
+
/** Additional metadata about the image */
|
|
18
|
+
metadata?: Record<string, unknown>;
|
|
19
|
+
/** Source identifier (e.g., "svg:gradient", "ai:openai") */
|
|
20
|
+
source?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Result from uploading an image to storage
|
|
24
|
+
*/
|
|
25
|
+
export interface UploadResult {
|
|
26
|
+
/** Storage key/path where the image was uploaded */
|
|
27
|
+
key: string;
|
|
28
|
+
/** Public URL to access the image (if available) */
|
|
29
|
+
url?: string;
|
|
30
|
+
/** ETag or version identifier from the storage provider */
|
|
31
|
+
etag?: string;
|
|
32
|
+
/** Additional metadata from the upload operation */
|
|
33
|
+
metadata?: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Configuration for floimg client
|
|
37
|
+
*/
|
|
38
|
+
export interface FloimgConfig {
|
|
39
|
+
/** Directory for caching generated images */
|
|
40
|
+
cacheDir?: string;
|
|
41
|
+
/** Enable verbose logging */
|
|
42
|
+
verbose?: boolean;
|
|
43
|
+
/** Image generator configuration */
|
|
44
|
+
generators?: {
|
|
45
|
+
default?: string;
|
|
46
|
+
[generatorName: string]: unknown;
|
|
47
|
+
};
|
|
48
|
+
/** Transform provider configuration */
|
|
49
|
+
transform?: {
|
|
50
|
+
default?: string;
|
|
51
|
+
[providerName: string]: unknown;
|
|
52
|
+
};
|
|
53
|
+
/** Save provider configuration (filesystem, S3, R2, etc.) */
|
|
54
|
+
save?: {
|
|
55
|
+
default?: string;
|
|
56
|
+
fs?: {
|
|
57
|
+
baseDir?: string;
|
|
58
|
+
chmod?: number;
|
|
59
|
+
};
|
|
60
|
+
s3?: {
|
|
61
|
+
bucket?: string;
|
|
62
|
+
region?: string;
|
|
63
|
+
endpoint?: string;
|
|
64
|
+
credentials?: {
|
|
65
|
+
accessKeyId: string;
|
|
66
|
+
secretAccessKey: string;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
r2?: {
|
|
70
|
+
accountId: string;
|
|
71
|
+
accessKeyId: string;
|
|
72
|
+
secretAccessKey: string;
|
|
73
|
+
};
|
|
74
|
+
[providerName: string]: unknown;
|
|
75
|
+
};
|
|
76
|
+
ai?: {
|
|
77
|
+
default?: string;
|
|
78
|
+
openai?: {
|
|
79
|
+
apiKey: string;
|
|
80
|
+
};
|
|
81
|
+
[providerName: string]: unknown;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* JSON Schema-compatible type for a single parameter
|
|
86
|
+
*/
|
|
87
|
+
export interface ParameterSchema {
|
|
88
|
+
/** Parameter data type */
|
|
89
|
+
type: "string" | "number" | "boolean" | "object" | "array";
|
|
90
|
+
/** Human-readable title for UI display */
|
|
91
|
+
title?: string;
|
|
92
|
+
/** Description of what the parameter does */
|
|
93
|
+
description?: string;
|
|
94
|
+
/** Default value */
|
|
95
|
+
default?: unknown;
|
|
96
|
+
/** Allowed values (for string enums) */
|
|
97
|
+
enum?: string[];
|
|
98
|
+
/** Minimum value (for numbers) */
|
|
99
|
+
minimum?: number;
|
|
100
|
+
/** Maximum value (for numbers) */
|
|
101
|
+
maximum?: number;
|
|
102
|
+
/** For object types: nested property schemas */
|
|
103
|
+
properties?: Record<string, ParameterSchema>;
|
|
104
|
+
/** For array types: schema of array items */
|
|
105
|
+
items?: ParameterSchema;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Schema for an image generator
|
|
109
|
+
*/
|
|
110
|
+
export interface GeneratorSchema {
|
|
111
|
+
/** Generator identifier (matches ImageGenerator.name) */
|
|
112
|
+
name: string;
|
|
113
|
+
/** Human-readable description */
|
|
114
|
+
description?: string;
|
|
115
|
+
/** Category for UI grouping (e.g., 'Basic', 'AI', 'Utility') */
|
|
116
|
+
category?: string;
|
|
117
|
+
/** Parameter definitions */
|
|
118
|
+
parameters: Record<string, ParameterSchema>;
|
|
119
|
+
/** Names of required parameters */
|
|
120
|
+
requiredParameters?: string[];
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Schema for a transform operation
|
|
124
|
+
*/
|
|
125
|
+
export interface TransformOperationSchema {
|
|
126
|
+
/** Operation name (e.g., 'resize', 'blur') */
|
|
127
|
+
name: string;
|
|
128
|
+
/** Human-readable description */
|
|
129
|
+
description?: string;
|
|
130
|
+
/** Category for UI grouping (e.g., 'Size', 'Filters', 'Text') */
|
|
131
|
+
category?: string;
|
|
132
|
+
/** Parameter definitions */
|
|
133
|
+
parameters: Record<string, ParameterSchema>;
|
|
134
|
+
/** Names of required parameters */
|
|
135
|
+
requiredParameters?: string[];
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Schema for a save provider
|
|
139
|
+
*/
|
|
140
|
+
export interface SaveProviderSchema {
|
|
141
|
+
/** Provider name (e.g., 'fs', 's3') */
|
|
142
|
+
name: string;
|
|
143
|
+
/** Human-readable description */
|
|
144
|
+
description?: string;
|
|
145
|
+
/** URL protocols this provider handles (e.g., ['s3://', 'r2://']) */
|
|
146
|
+
protocols?: string[];
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Complete capabilities of a floimg client
|
|
150
|
+
*/
|
|
151
|
+
export interface ClientCapabilities {
|
|
152
|
+
/** Available image generators */
|
|
153
|
+
generators: GeneratorSchema[];
|
|
154
|
+
/** Available transform operations */
|
|
155
|
+
transforms: TransformOperationSchema[];
|
|
156
|
+
/** Available save providers */
|
|
157
|
+
saveProviders: SaveProviderSchema[];
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Image generator interface - unified for all generation types
|
|
161
|
+
* (SVG, AI, procedural, etc.)
|
|
162
|
+
*/
|
|
163
|
+
export interface ImageGenerator {
|
|
164
|
+
/** Generator name (e.g., 'shapes', 'openai', 'trianglify') */
|
|
165
|
+
name: string;
|
|
166
|
+
/** Schema describing this generator's parameters */
|
|
167
|
+
schema: GeneratorSchema;
|
|
168
|
+
/** Generate an image from parameters */
|
|
169
|
+
generate(params: Record<string, unknown>): Promise<ImageBlob>;
|
|
170
|
+
}
|
|
171
|
+
export type SvgProvider = ImageGenerator;
|
|
172
|
+
export type AiProvider = ImageGenerator;
|
|
173
|
+
/**
|
|
174
|
+
* Image transformation provider interface
|
|
175
|
+
*/
|
|
176
|
+
export interface TransformProvider {
|
|
177
|
+
/** Provider name */
|
|
178
|
+
name: string;
|
|
179
|
+
/** Schemas for all operations this provider supports */
|
|
180
|
+
operationSchemas: Record<string, TransformOperationSchema>;
|
|
181
|
+
/** Convert image to a different format */
|
|
182
|
+
convert(input: ImageBlob, to: MimeType): Promise<ImageBlob>;
|
|
183
|
+
/** Resize an image (optional) */
|
|
184
|
+
resize?(input: ImageBlob, opts: {
|
|
185
|
+
width?: number;
|
|
186
|
+
height?: number;
|
|
187
|
+
fit?: "cover" | "contain" | "fill";
|
|
188
|
+
}): Promise<ImageBlob>;
|
|
189
|
+
/** Composite multiple images together (optional) */
|
|
190
|
+
composite?(base: ImageBlob, overlays: Array<{
|
|
191
|
+
blob: ImageBlob;
|
|
192
|
+
left: number;
|
|
193
|
+
top: number;
|
|
194
|
+
}>): Promise<ImageBlob>;
|
|
195
|
+
/** Optimize SVG file size (optional) */
|
|
196
|
+
optimizeSvg?(svg: ImageBlob): Promise<ImageBlob>;
|
|
197
|
+
/** Apply Gaussian blur */
|
|
198
|
+
blur?(input: ImageBlob, sigma?: number): Promise<ImageBlob>;
|
|
199
|
+
/** Sharpen the image */
|
|
200
|
+
sharpen?(input: ImageBlob, opts?: Record<string, unknown>): Promise<ImageBlob>;
|
|
201
|
+
/** Convert to grayscale */
|
|
202
|
+
grayscale?(input: ImageBlob): Promise<ImageBlob>;
|
|
203
|
+
/** Negate/invert colors */
|
|
204
|
+
negate?(input: ImageBlob): Promise<ImageBlob>;
|
|
205
|
+
/** Auto-enhance contrast */
|
|
206
|
+
normalize?(input: ImageBlob): Promise<ImageBlob>;
|
|
207
|
+
/** Apply threshold (pure B&W) */
|
|
208
|
+
threshold?(input: ImageBlob, value?: number): Promise<ImageBlob>;
|
|
209
|
+
/** Adjust brightness, saturation, hue, lightness */
|
|
210
|
+
modulate?(input: ImageBlob, opts: {
|
|
211
|
+
brightness?: number;
|
|
212
|
+
saturation?: number;
|
|
213
|
+
hue?: number;
|
|
214
|
+
lightness?: number;
|
|
215
|
+
}): Promise<ImageBlob>;
|
|
216
|
+
/** Apply color tint overlay */
|
|
217
|
+
tint?(input: ImageBlob, color: string | {
|
|
218
|
+
r: number;
|
|
219
|
+
g: number;
|
|
220
|
+
b: number;
|
|
221
|
+
}): Promise<ImageBlob>;
|
|
222
|
+
/** Add borders to image */
|
|
223
|
+
extend?(input: ImageBlob, opts: {
|
|
224
|
+
top: number;
|
|
225
|
+
bottom: number;
|
|
226
|
+
left: number;
|
|
227
|
+
right: number;
|
|
228
|
+
background?: string | {
|
|
229
|
+
r: number;
|
|
230
|
+
g: number;
|
|
231
|
+
b: number;
|
|
232
|
+
alpha?: number;
|
|
233
|
+
};
|
|
234
|
+
}): Promise<ImageBlob>;
|
|
235
|
+
/** Extract a region from image */
|
|
236
|
+
extract?(input: ImageBlob, region: {
|
|
237
|
+
left: number;
|
|
238
|
+
top: number;
|
|
239
|
+
width: number;
|
|
240
|
+
height: number;
|
|
241
|
+
}): Promise<ImageBlob>;
|
|
242
|
+
/** Round corners of image */
|
|
243
|
+
roundCorners?(input: ImageBlob, radius: number): Promise<ImageBlob>;
|
|
244
|
+
/** Add text to image */
|
|
245
|
+
addText?(input: ImageBlob, options: Record<string, unknown>): Promise<ImageBlob>;
|
|
246
|
+
/** Add caption bar to image */
|
|
247
|
+
addCaption?(input: ImageBlob, options: Record<string, unknown>): Promise<ImageBlob>;
|
|
248
|
+
/** Apply preset filter */
|
|
249
|
+
preset?(input: ImageBlob, presetName: string): Promise<ImageBlob>;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Cloud storage provider interface
|
|
253
|
+
*/
|
|
254
|
+
export interface StoreProvider {
|
|
255
|
+
/** Provider name */
|
|
256
|
+
name: string;
|
|
257
|
+
/** Upload an image to storage */
|
|
258
|
+
put(input: {
|
|
259
|
+
key: string;
|
|
260
|
+
blob: ImageBlob;
|
|
261
|
+
headers?: Record<string, string>;
|
|
262
|
+
}): Promise<UploadResult>;
|
|
263
|
+
/** Get public URL for a stored image (optional) */
|
|
264
|
+
getUrl?(key: string): Promise<string>;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Input for generate operation
|
|
268
|
+
*/
|
|
269
|
+
export interface GenerateInput {
|
|
270
|
+
/** Generator name (e.g., 'shapes', 'openai', 'trianglify') */
|
|
271
|
+
generator: string;
|
|
272
|
+
/** Generator-specific parameters */
|
|
273
|
+
params?: Record<string, unknown>;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Input for transform operation
|
|
277
|
+
*/
|
|
278
|
+
export interface TransformInput {
|
|
279
|
+
/** Image blob to transform */
|
|
280
|
+
blob: ImageBlob;
|
|
281
|
+
/** Operation to perform */
|
|
282
|
+
op: "convert" | "resize" | "composite" | "optimizeSvg" | "blur" | "sharpen" | "grayscale" | "negate" | "normalize" | "threshold" | "modulate" | "tint" | "extend" | "extract" | "roundCorners" | "addText" | "addCaption" | "preset";
|
|
283
|
+
/** Target MIME type (for convert operation) */
|
|
284
|
+
to?: MimeType;
|
|
285
|
+
/** Additional operation parameters */
|
|
286
|
+
params?: Record<string, unknown>;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Input for save operation (supports filesystem and cloud)
|
|
290
|
+
*/
|
|
291
|
+
export interface SaveInput {
|
|
292
|
+
/** Destination path or key */
|
|
293
|
+
path: string;
|
|
294
|
+
/** Save provider name (auto-detected if not specified) */
|
|
295
|
+
provider?: string;
|
|
296
|
+
/** Overwrite existing file (default: true) */
|
|
297
|
+
overwrite?: boolean;
|
|
298
|
+
/** File permissions for filesystem (default: 0o644) */
|
|
299
|
+
chmod?: number;
|
|
300
|
+
/** Custom headers for cloud uploads */
|
|
301
|
+
headers?: Record<string, string>;
|
|
302
|
+
/** Custom metadata */
|
|
303
|
+
metadata?: Record<string, unknown>;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Result from saving an image
|
|
307
|
+
*/
|
|
308
|
+
export interface SaveResult {
|
|
309
|
+
/** Provider used ('fs', 's3', 'r2', etc.) */
|
|
310
|
+
provider: string;
|
|
311
|
+
/** Location where saved (file path or URL) */
|
|
312
|
+
location: string;
|
|
313
|
+
/** File size in bytes */
|
|
314
|
+
size: number;
|
|
315
|
+
/** MIME type */
|
|
316
|
+
mime: MimeType;
|
|
317
|
+
/** Additional metadata */
|
|
318
|
+
metadata?: Record<string, unknown>;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Save provider interface (unified for filesystem and cloud)
|
|
322
|
+
*/
|
|
323
|
+
export interface SaveProvider {
|
|
324
|
+
/** Provider name */
|
|
325
|
+
name: string;
|
|
326
|
+
/** Save an image */
|
|
327
|
+
save(input: {
|
|
328
|
+
blob: ImageBlob;
|
|
329
|
+
path: string;
|
|
330
|
+
[key: string]: unknown;
|
|
331
|
+
}): Promise<SaveResult>;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Input for upload operation
|
|
335
|
+
* @deprecated Use save() instead
|
|
336
|
+
*/
|
|
337
|
+
export interface UploadInput {
|
|
338
|
+
/** Image blob to upload */
|
|
339
|
+
blob: ImageBlob;
|
|
340
|
+
/** Storage key/path */
|
|
341
|
+
key: string;
|
|
342
|
+
/** Storage provider name (uses default if not specified) */
|
|
343
|
+
provider?: string;
|
|
344
|
+
/** Custom headers to send with upload */
|
|
345
|
+
headers?: Record<string, string>;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Pipeline step definitions
|
|
349
|
+
*/
|
|
350
|
+
export type PipelineStep = {
|
|
351
|
+
kind: "generate";
|
|
352
|
+
generator: string;
|
|
353
|
+
params?: Record<string, unknown>;
|
|
354
|
+
out: string;
|
|
355
|
+
} | {
|
|
356
|
+
kind: "transform";
|
|
357
|
+
op: "convert" | "resize" | "composite" | "optimizeSvg" | "blur" | "sharpen" | "grayscale" | "negate" | "normalize" | "threshold" | "modulate" | "tint" | "extend" | "extract" | "roundCorners" | "addText" | "addCaption" | "preset";
|
|
358
|
+
in: string;
|
|
359
|
+
params: Record<string, unknown>;
|
|
360
|
+
out: string;
|
|
361
|
+
} | {
|
|
362
|
+
kind: "save";
|
|
363
|
+
provider?: string;
|
|
364
|
+
in: string;
|
|
365
|
+
destination: string;
|
|
366
|
+
out?: string;
|
|
367
|
+
};
|
|
368
|
+
/**
|
|
369
|
+
* Pipeline definition
|
|
370
|
+
*/
|
|
371
|
+
export interface Pipeline {
|
|
372
|
+
/** Pipeline name */
|
|
373
|
+
name?: string;
|
|
374
|
+
/** Steps to execute */
|
|
375
|
+
steps: PipelineStep[];
|
|
376
|
+
/** Maximum concurrent steps */
|
|
377
|
+
concurrency?: number;
|
|
378
|
+
/** Output directory for intermediate files */
|
|
379
|
+
outDir?: string;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Result from running a pipeline
|
|
383
|
+
*/
|
|
384
|
+
export interface PipelineResult {
|
|
385
|
+
/** Step that was executed */
|
|
386
|
+
step: PipelineStep;
|
|
387
|
+
/** Output variable name */
|
|
388
|
+
out: string;
|
|
389
|
+
/** Result value (ImageBlob or SaveResult) */
|
|
390
|
+
value: ImageBlob | SaveResult;
|
|
391
|
+
}
|
|
392
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Floimg } from "./core/client.js";
|
|
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";
|
|
4
|
+
export { FloimgError, ProviderNotFoundError, ConfigurationError, TransformError, UploadError, GenerationError, } from "./core/errors.js";
|
|
5
|
+
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
|
+
export { SharpTransformProvider } from "./providers/transform/index.js";
|
|
9
|
+
export { default as FsSaveProvider } from "./providers/save/FsSaveProvider.js";
|
|
10
|
+
export { default as S3SaveProvider } from "./providers/save/S3SaveProvider.js";
|
|
11
|
+
export type { S3SaveProviderConfig } from "./providers/save/S3SaveProvider.js";
|
|
12
|
+
/**
|
|
13
|
+
* Create a floimg client with automatic provider registration
|
|
14
|
+
*/
|
|
15
|
+
export declare function createClient(config?: FloimgConfig): Floimg;
|
|
16
|
+
export { Floimg };
|
|
17
|
+
export default createClient;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Floimg } from "./core/client.js";
|
|
2
|
+
import { ShapesProvider } from "./providers/svg/index.js";
|
|
3
|
+
import { OpenAIGenerator } from "./providers/ai/index.js";
|
|
4
|
+
import { SharpTransformProvider } from "./providers/transform/index.js";
|
|
5
|
+
import FsSaveProvider from "./providers/save/FsSaveProvider.js";
|
|
6
|
+
import S3SaveProvider from "./providers/save/S3SaveProvider.js";
|
|
7
|
+
// Export errors
|
|
8
|
+
export { FloimgError, ProviderNotFoundError, ConfigurationError, TransformError, UploadError, GenerationError, } from "./core/errors.js";
|
|
9
|
+
// Export generators and providers
|
|
10
|
+
export { ShapesProvider } from "./providers/svg/index.js";
|
|
11
|
+
export { OpenAIGenerator } from "./providers/ai/index.js";
|
|
12
|
+
export { SharpTransformProvider } from "./providers/transform/index.js";
|
|
13
|
+
// Export save providers
|
|
14
|
+
export { default as FsSaveProvider } from "./providers/save/FsSaveProvider.js";
|
|
15
|
+
export { default as S3SaveProvider } from "./providers/save/S3SaveProvider.js";
|
|
16
|
+
/**
|
|
17
|
+
* Create a floimg client with automatic provider registration
|
|
18
|
+
*/
|
|
19
|
+
export function createClient(config = {}) {
|
|
20
|
+
const client = new Floimg(config);
|
|
21
|
+
// Register built-in generators
|
|
22
|
+
client.registerGenerator(new ShapesProvider());
|
|
23
|
+
// Register AI generators if configured
|
|
24
|
+
if (config.ai?.openai) {
|
|
25
|
+
const openaiConfig = config.ai.openai;
|
|
26
|
+
client.registerGenerator(new OpenAIGenerator(openaiConfig));
|
|
27
|
+
}
|
|
28
|
+
// Register built-in transform providers
|
|
29
|
+
client.registerTransformProvider(new SharpTransformProvider());
|
|
30
|
+
// Register save providers
|
|
31
|
+
// Always register filesystem provider (default, zero-config)
|
|
32
|
+
const fsConfig = config.save?.fs || {};
|
|
33
|
+
client.registerSaveProvider(new FsSaveProvider(fsConfig));
|
|
34
|
+
// Register S3 save provider if configured with required fields
|
|
35
|
+
if (config.save?.s3?.bucket && config.save?.s3?.region) {
|
|
36
|
+
client.registerSaveProvider(new S3SaveProvider({
|
|
37
|
+
bucket: config.save.s3.bucket,
|
|
38
|
+
region: config.save.s3.region,
|
|
39
|
+
endpoint: config.save.s3.endpoint,
|
|
40
|
+
credentials: config.save.s3.credentials,
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
return client;
|
|
44
|
+
}
|
|
45
|
+
// Export the client class
|
|
46
|
+
export { Floimg };
|
|
47
|
+
// Default export
|
|
48
|
+
export default createClient;
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":""}
|