meigen 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.
Files changed (83) hide show
  1. package/README.md +242 -0
  2. package/README.zh-CN.md +242 -0
  3. package/bin/meigen-mcp.js +2 -0
  4. package/data/trending-prompts.json +26737 -0
  5. package/dist/config.d.ts +24 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +71 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/index.d.ts +6 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +18 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/lib/meigen-api.d.ts +64 -0
  14. package/dist/lib/meigen-api.d.ts.map +1 -0
  15. package/dist/lib/meigen-api.js +118 -0
  16. package/dist/lib/meigen-api.js.map +1 -0
  17. package/dist/lib/prompt-library.d.ts +44 -0
  18. package/dist/lib/prompt-library.d.ts.map +1 -0
  19. package/dist/lib/prompt-library.js +130 -0
  20. package/dist/lib/prompt-library.js.map +1 -0
  21. package/dist/lib/prompts.d.ts +21 -0
  22. package/dist/lib/prompts.d.ts.map +1 -0
  23. package/dist/lib/prompts.js +116 -0
  24. package/dist/lib/prompts.js.map +1 -0
  25. package/dist/lib/providers/comfyui.d.ts +82 -0
  26. package/dist/lib/providers/comfyui.d.ts.map +1 -0
  27. package/dist/lib/providers/comfyui.js +436 -0
  28. package/dist/lib/providers/comfyui.js.map +1 -0
  29. package/dist/lib/providers/gemini.d.ts +13 -0
  30. package/dist/lib/providers/gemini.d.ts.map +1 -0
  31. package/dist/lib/providers/gemini.js +63 -0
  32. package/dist/lib/providers/gemini.js.map +1 -0
  33. package/dist/lib/providers/openai.d.ts +14 -0
  34. package/dist/lib/providers/openai.d.ts.map +1 -0
  35. package/dist/lib/providers/openai.js +75 -0
  36. package/dist/lib/providers/openai.js.map +1 -0
  37. package/dist/lib/providers/types.d.ts +22 -0
  38. package/dist/lib/providers/types.d.ts.map +1 -0
  39. package/dist/lib/providers/types.js +7 -0
  40. package/dist/lib/providers/types.js.map +1 -0
  41. package/dist/lib/semaphore.d.ts +13 -0
  42. package/dist/lib/semaphore.d.ts.map +1 -0
  43. package/dist/lib/semaphore.js +32 -0
  44. package/dist/lib/semaphore.js.map +1 -0
  45. package/dist/lib/upload.d.ts +17 -0
  46. package/dist/lib/upload.d.ts.map +1 -0
  47. package/dist/lib/upload.js +135 -0
  48. package/dist/lib/upload.js.map +1 -0
  49. package/dist/server.d.ts +7 -0
  50. package/dist/server.d.ts.map +1 -0
  51. package/dist/server.js +163 -0
  52. package/dist/server.js.map +1 -0
  53. package/dist/tools/comfyui-workflow.d.ts +17 -0
  54. package/dist/tools/comfyui-workflow.d.ts.map +1 -0
  55. package/dist/tools/comfyui-workflow.js +230 -0
  56. package/dist/tools/comfyui-workflow.js.map +1 -0
  57. package/dist/tools/enhance-prompt.d.ts +12 -0
  58. package/dist/tools/enhance-prompt.d.ts.map +1 -0
  59. package/dist/tools/enhance-prompt.js +27 -0
  60. package/dist/tools/enhance-prompt.js.map +1 -0
  61. package/dist/tools/generate-image.d.ts +23 -0
  62. package/dist/tools/generate-image.d.ts.map +1 -0
  63. package/dist/tools/generate-image.js +266 -0
  64. package/dist/tools/generate-image.js.map +1 -0
  65. package/dist/tools/get-inspiration.d.ts +12 -0
  66. package/dist/tools/get-inspiration.d.ts.map +1 -0
  67. package/dist/tools/get-inspiration.js +111 -0
  68. package/dist/tools/get-inspiration.js.map +1 -0
  69. package/dist/tools/list-models.d.ts +13 -0
  70. package/dist/tools/list-models.d.ts.map +1 -0
  71. package/dist/tools/list-models.js +104 -0
  72. package/dist/tools/list-models.js.map +1 -0
  73. package/dist/tools/search-gallery.d.ts +15 -0
  74. package/dist/tools/search-gallery.d.ts.map +1 -0
  75. package/dist/tools/search-gallery.js +78 -0
  76. package/dist/tools/search-gallery.js.map +1 -0
  77. package/dist/tools/upload-reference-image.d.ts +13 -0
  78. package/dist/tools/upload-reference-image.d.ts.map +1 -0
  79. package/dist/tools/upload-reference-image.js +69 -0
  80. package/dist/tools/upload-reference-image.js.map +1 -0
  81. package/package.json +45 -0
  82. package/skills/setup/SKILL.md +324 -0
  83. package/skills/visual-creative/SKILL.md +185 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comfyui.js","sourceRoot":"","sources":["../../../src/lib/providers/comfyui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Google Gemini Provider
3
+ * 支持 gemini-2.5-flash-image、gemini-3-pro-image 等
4
+ */
5
+ import type { ImageProvider, ImageGenerationRequest, ImageGenerationResult } from './types.js';
6
+ export declare class GeminiProvider implements ImageProvider {
7
+ name: string;
8
+ private apiKey;
9
+ private defaultModel;
10
+ constructor(apiKey: string, defaultModel: string);
11
+ generate(request: ImageGenerationRequest): Promise<ImageGenerationResult>;
12
+ }
13
+ //# sourceMappingURL=gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/gemini.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAoB9F,qBAAa,cAAe,YAAW,aAAa;IAClD,IAAI,SAAW;IAEf,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,YAAY,CAAQ;gBAEhB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAK1C,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAqDhF"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * Google Gemini Provider
4
+ * 支持 gemini-2.5-flash-image、gemini-3-pro-image 等
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.GeminiProvider = void 0;
8
+ class GeminiProvider {
9
+ name = 'gemini';
10
+ apiKey;
11
+ defaultModel;
12
+ constructor(apiKey, defaultModel) {
13
+ this.apiKey = apiKey;
14
+ this.defaultModel = defaultModel;
15
+ }
16
+ async generate(request) {
17
+ const model = request.model || this.defaultModel;
18
+ const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent`;
19
+ const body = {
20
+ contents: [{
21
+ parts: [{ text: request.prompt }],
22
+ }],
23
+ generationConfig: {
24
+ responseModalities: ['TEXT', 'IMAGE'],
25
+ imageConfig: {
26
+ ...(request.aspectRatio && { aspectRatio: request.aspectRatio }),
27
+ },
28
+ },
29
+ };
30
+ const res = await fetch(url, {
31
+ method: 'POST',
32
+ headers: {
33
+ 'x-goog-api-key': this.apiKey,
34
+ 'Content-Type': 'application/json',
35
+ },
36
+ body: JSON.stringify(body),
37
+ });
38
+ if (!res.ok) {
39
+ const errorText = await res.text();
40
+ throw new Error(`Gemini API error ${res.status}: ${errorText}`);
41
+ }
42
+ const json = await res.json();
43
+ if (json.error) {
44
+ throw new Error(`Gemini API error: ${json.error.message}`);
45
+ }
46
+ // 从 multimodal response 中提取图片
47
+ const parts = json.candidates?.[0]?.content?.parts;
48
+ if (!parts) {
49
+ throw new Error('No content in Gemini response');
50
+ }
51
+ for (const part of parts) {
52
+ if (part.inlineData) {
53
+ return {
54
+ imageBase64: part.inlineData.data,
55
+ mimeType: part.inlineData.mimeType,
56
+ };
57
+ }
58
+ }
59
+ throw new Error('No image data in Gemini response');
60
+ }
61
+ }
62
+ exports.GeminiProvider = GeminiProvider;
63
+ //# sourceMappingURL=gemini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/lib/providers/gemini.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAsBH,MAAa,cAAc;IACzB,IAAI,GAAG,QAAQ,CAAA;IAEP,MAAM,CAAQ;IACd,YAAY,CAAQ;IAE5B,YAAY,MAAc,EAAE,YAAoB;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAA+B;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAA;QAChD,MAAM,GAAG,GAAG,2DAA2D,KAAK,kBAAkB,CAAA;QAE9F,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,CAAC;oBACT,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;iBAClC,CAAC;YACF,gBAAgB,EAAE;gBAChB,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;gBACrC,WAAW,EAAE;oBACX,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;iBACjE;aACF;SACF,CAAA;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,gBAAgB,EAAE,IAAI,CAAC,MAAM;gBAC7B,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAClC,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC,CAAA;QACjE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAoB,CAAA;QAE/C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5D,CAAC;QAED,8BAA8B;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAA;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;oBACjC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;iBACnC,CAAA;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;CACF;AAhED,wCAgEC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * OpenAI-compatible Provider
3
+ * Supports gpt-image-1, DALL-E 3, and any OpenAI-compatible service (Together AI, DeepInfra, etc.)
4
+ */
5
+ import type { ImageProvider, ImageGenerationRequest, ImageGenerationResult } from './types.js';
6
+ export declare class OpenAIProvider implements ImageProvider {
7
+ name: string;
8
+ private apiKey;
9
+ private baseUrl;
10
+ private defaultModel;
11
+ constructor(apiKey: string, baseUrl: string, defaultModel: string);
12
+ generate(request: ImageGenerationRequest): Promise<ImageGenerationResult>;
13
+ }
14
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/openai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAS9F,qBAAa,cAAe,YAAW,aAAa;IAClD,IAAI,SAAW;IAEf,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,YAAY,CAAQ;gBAEhB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAM3D,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAkEhF"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * OpenAI-compatible Provider
4
+ * Supports gpt-image-1, DALL-E 3, and any OpenAI-compatible service (Together AI, DeepInfra, etc.)
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.OpenAIProvider = void 0;
8
+ class OpenAIProvider {
9
+ name = 'openai';
10
+ apiKey;
11
+ baseUrl;
12
+ defaultModel;
13
+ constructor(apiKey, baseUrl, defaultModel) {
14
+ this.apiKey = apiKey;
15
+ this.baseUrl = baseUrl.replace(/\/$/, '');
16
+ this.defaultModel = defaultModel;
17
+ }
18
+ async generate(request) {
19
+ const model = request.model || this.defaultModel;
20
+ const body = {
21
+ model,
22
+ prompt: request.prompt,
23
+ n: request.n || 1,
24
+ size: request.size || '1024x1024',
25
+ };
26
+ // gpt-image series returns base64 by default, no need for response_format
27
+ // DALL-E series requires explicit response_format
28
+ if (model.startsWith('dall-e')) {
29
+ body.response_format = 'b64_json';
30
+ }
31
+ if (request.quality) {
32
+ body.quality = request.quality;
33
+ }
34
+ // gpt-image-1 supports reference images via the image parameter
35
+ // DALL-E series does not support image input in the generations endpoint
36
+ if (request.referenceImages?.length && !model.startsWith('dall-e')) {
37
+ body.image = request.referenceImages;
38
+ }
39
+ const res = await fetch(`${this.baseUrl}/v1/images/generations`, {
40
+ method: 'POST',
41
+ headers: {
42
+ 'Authorization': `Bearer ${this.apiKey}`,
43
+ 'Content-Type': 'application/json',
44
+ },
45
+ body: JSON.stringify(body),
46
+ });
47
+ if (!res.ok) {
48
+ const errorText = await res.text();
49
+ throw new Error(`OpenAI API error ${res.status}: ${errorText}`);
50
+ }
51
+ const json = await res.json();
52
+ const imageData = json.data?.[0];
53
+ if (!imageData) {
54
+ throw new Error('No image data in response');
55
+ }
56
+ if (imageData.b64_json) {
57
+ return {
58
+ imageBase64: imageData.b64_json,
59
+ mimeType: 'image/png',
60
+ };
61
+ }
62
+ // If response contains a URL, download and convert to base64
63
+ if (imageData.url) {
64
+ const imageRes = await fetch(imageData.url);
65
+ const buffer = await imageRes.arrayBuffer();
66
+ return {
67
+ imageBase64: Buffer.from(buffer).toString('base64'),
68
+ mimeType: imageRes.headers.get('content-type') || 'image/png',
69
+ };
70
+ }
71
+ throw new Error('Response contains neither b64_json nor url');
72
+ }
73
+ }
74
+ exports.OpenAIProvider = OpenAIProvider;
75
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/lib/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Image generation provider interface
3
+ * For OpenAI-compatible APIs (distinct from the project's APIYI provider)
4
+ */
5
+ export interface ImageGenerationRequest {
6
+ prompt: string;
7
+ model?: string;
8
+ size?: string;
9
+ aspectRatio?: string;
10
+ quality?: string;
11
+ n?: number;
12
+ referenceImages?: string[];
13
+ }
14
+ export interface ImageGenerationResult {
15
+ imageBase64: string;
16
+ mimeType: string;
17
+ }
18
+ export interface ImageProvider {
19
+ name: string;
20
+ generate(request: ImageGenerationRequest): Promise<ImageGenerationResult>;
21
+ }
22
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;CAC1E"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Image generation provider interface
4
+ * For OpenAI-compatible APIs (distinct from the project's APIYI provider)
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/providers/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Simple async semaphore for concurrency control.
3
+ * Used to limit parallel generation requests per provider.
4
+ */
5
+ export declare class Semaphore {
6
+ private max;
7
+ private queue;
8
+ private running;
9
+ constructor(max: number);
10
+ acquire(): Promise<void>;
11
+ release(): void;
12
+ }
13
+ //# sourceMappingURL=semaphore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semaphore.d.ts","sourceRoot":"","sources":["../../src/lib/semaphore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,SAAS;IAIR,OAAO,CAAC,GAAG;IAHvB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,OAAO,CAAI;gBAEC,GAAG,EAAE,MAAM;IAEzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,OAAO,IAAI,IAAI;CAKhB"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /**
3
+ * Simple async semaphore for concurrency control.
4
+ * Used to limit parallel generation requests per provider.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.Semaphore = void 0;
8
+ class Semaphore {
9
+ max;
10
+ queue = [];
11
+ running = 0;
12
+ constructor(max) {
13
+ this.max = max;
14
+ }
15
+ async acquire() {
16
+ if (this.running < this.max) {
17
+ this.running++;
18
+ return;
19
+ }
20
+ return new Promise(resolve => {
21
+ this.queue.push(() => { this.running++; resolve(); });
22
+ });
23
+ }
24
+ release() {
25
+ this.running--;
26
+ const next = this.queue.shift();
27
+ if (next)
28
+ next();
29
+ }
30
+ }
31
+ exports.Semaphore = Semaphore;
32
+ //# sourceMappingURL=semaphore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semaphore.js","sourceRoot":"","sources":["../../src/lib/semaphore.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,MAAa,SAAS;IAIA;IAHZ,KAAK,GAAmB,EAAE,CAAA;IAC1B,OAAO,GAAG,CAAC,CAAA;IAEnB,YAAoB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEnC,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAA;YACd,OAAM;QACR,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAC/B,IAAI,IAAI;YAAE,IAAI,EAAE,CAAA;IAClB,CAAC;CACF;AArBD,8BAqBC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Image compression and R2 upload utility
3
+ * Replicates the frontend's ReferenceImageUpload.tsx logic for Node.js:
4
+ * compress (max 2MB, max 2048px) → presign → PUT to R2 → public URL
5
+ */
6
+ import type { MeiGenConfig } from '../config.js';
7
+ export interface UploadResult {
8
+ publicUrl: string;
9
+ originalSize: number;
10
+ compressedSize: number;
11
+ }
12
+ /**
13
+ * Read a local image, compress it, and upload to R2.
14
+ * Returns the public URL for use as referenceImages in generate_image.
15
+ */
16
+ export declare function processAndUploadImage(filePath: string, config: MeiGenConfig): Promise<UploadResult>;
17
+ //# sourceMappingURL=upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/lib/upload.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAoBhD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;CACvB;AA2GD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,YAAY,CAAC,CAwBvB"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ /**
3
+ * Image compression and R2 upload utility
4
+ * Replicates the frontend's ReferenceImageUpload.tsx logic for Node.js:
5
+ * compress (max 2MB, max 2048px) → presign → PUT to R2 → public URL
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.processAndUploadImage = processAndUploadImage;
12
+ const fs_1 = require("fs");
13
+ const path_1 = require("path");
14
+ const sharp_1 = __importDefault(require("sharp"));
15
+ const MAX_SIZE_BYTES = 2 * 1024 * 1024; // 2MB compression target (matches frontend)
16
+ const MAX_DIMENSION = 2048; // Max width or height (matches frontend)
17
+ const MIME_MAP = {
18
+ '.jpg': 'image/jpeg',
19
+ '.jpeg': 'image/jpeg',
20
+ '.png': 'image/png',
21
+ '.webp': 'image/webp',
22
+ '.gif': 'image/gif',
23
+ };
24
+ /**
25
+ * Compress an image buffer to fit within MAX_SIZE_BYTES and MAX_DIMENSION.
26
+ * Strategy: resize to fit max dimension, then reduce JPEG quality if still too large.
27
+ */
28
+ async function compressImage(inputBuffer, mimeType) {
29
+ const metadata = await (0, sharp_1.default)(inputBuffer).metadata();
30
+ const { width, height } = metadata;
31
+ // Already small enough — no compression needed
32
+ const needsResize = (width && width > MAX_DIMENSION) || (height && height > MAX_DIMENSION);
33
+ if (!needsResize && inputBuffer.byteLength <= MAX_SIZE_BYTES) {
34
+ return { buffer: inputBuffer, mimeType };
35
+ }
36
+ // Resize to fit within MAX_DIMENSION, preserving aspect ratio
37
+ let pipeline = (0, sharp_1.default)(inputBuffer);
38
+ if (needsResize) {
39
+ pipeline = pipeline.resize(MAX_DIMENSION, MAX_DIMENSION, { fit: 'inside', withoutEnlargement: true });
40
+ }
41
+ // Output as JPEG for best compression (unless already WebP)
42
+ if (mimeType === 'image/webp') {
43
+ let result = await pipeline.webp({ quality: 85 }).toBuffer();
44
+ if (result.byteLength <= MAX_SIZE_BYTES) {
45
+ return { buffer: result, mimeType: 'image/webp' };
46
+ }
47
+ // Reduce quality iteratively
48
+ for (const q of [80, 70, 60]) {
49
+ result = await (0, sharp_1.default)(inputBuffer)
50
+ .resize(MAX_DIMENSION, MAX_DIMENSION, { fit: 'inside', withoutEnlargement: true })
51
+ .webp({ quality: q })
52
+ .toBuffer();
53
+ if (result.byteLength <= MAX_SIZE_BYTES) {
54
+ return { buffer: result, mimeType: 'image/webp' };
55
+ }
56
+ }
57
+ return { buffer: result, mimeType: 'image/webp' };
58
+ }
59
+ // Default: output as JPEG
60
+ let result = await pipeline.jpeg({ quality: 85 }).toBuffer();
61
+ if (result.byteLength <= MAX_SIZE_BYTES) {
62
+ return { buffer: result, mimeType: 'image/jpeg' };
63
+ }
64
+ // Reduce quality iteratively
65
+ for (const q of [80, 70, 60]) {
66
+ result = await (0, sharp_1.default)(inputBuffer)
67
+ .resize(MAX_DIMENSION, MAX_DIMENSION, { fit: 'inside', withoutEnlargement: true })
68
+ .jpeg({ quality: q })
69
+ .toBuffer();
70
+ if (result.byteLength <= MAX_SIZE_BYTES) {
71
+ return { buffer: result, mimeType: 'image/jpeg' };
72
+ }
73
+ }
74
+ return { buffer: result, mimeType: 'image/jpeg' };
75
+ }
76
+ /**
77
+ * Upload a buffer to R2 via the presign flow.
78
+ * No authentication required — the presign endpoint validates content-type and size only.
79
+ */
80
+ async function uploadToR2(buffer, filename, mimeType, config) {
81
+ // 1. Get presigned URL
82
+ const presignRes = await fetch(`${config.uploadGatewayUrl}/upload/presign`, {
83
+ method: 'POST',
84
+ headers: { 'Content-Type': 'application/json' },
85
+ body: JSON.stringify({
86
+ filename,
87
+ contentType: mimeType,
88
+ size: buffer.byteLength,
89
+ }),
90
+ });
91
+ if (!presignRes.ok) {
92
+ const errorData = await presignRes.json().catch(() => ({}));
93
+ throw new Error(errorData.error || `Presign failed: ${presignRes.status}`);
94
+ }
95
+ const presignData = await presignRes.json();
96
+ if (!presignData.success) {
97
+ throw new Error(presignData.error || 'Presign failed');
98
+ }
99
+ // 2. Upload to R2
100
+ const uploadRes = await fetch(presignData.presignedUrl, {
101
+ method: 'PUT',
102
+ headers: { 'Content-Type': mimeType },
103
+ body: buffer,
104
+ });
105
+ if (!uploadRes.ok) {
106
+ throw new Error(`Upload failed: ${uploadRes.status}`);
107
+ }
108
+ return presignData.publicUrl;
109
+ }
110
+ /**
111
+ * Read a local image, compress it, and upload to R2.
112
+ * Returns the public URL for use as referenceImages in generate_image.
113
+ */
114
+ async function processAndUploadImage(filePath, config) {
115
+ // Read file
116
+ const originalBuffer = (0, fs_1.readFileSync)(filePath);
117
+ const originalSize = originalBuffer.byteLength;
118
+ // Detect MIME type from extension
119
+ const ext = (0, path_1.extname)(filePath).toLowerCase();
120
+ const mimeType = MIME_MAP[ext];
121
+ if (!mimeType) {
122
+ throw new Error(`Unsupported image format: ${ext}. Supported: JPEG, PNG, WebP, GIF`);
123
+ }
124
+ // Compress
125
+ const compressed = await compressImage(originalBuffer, mimeType);
126
+ // Upload
127
+ const filename = (0, path_1.basename)(filePath);
128
+ const publicUrl = await uploadToR2(compressed.buffer, filename, compressed.mimeType, config);
129
+ return {
130
+ publicUrl,
131
+ originalSize,
132
+ compressedSize: compressed.buffer.byteLength,
133
+ };
134
+ }
135
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/lib/upload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * MeiGen MCP Server core
3
+ * Registers all tools and configures the server
4
+ */
5
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ export declare function createServer(): McpServer;
7
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AA4InE,wBAAgB,YAAY,cAyB3B"}