@just-every/ensemble 0.2.129 → 0.2.130
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/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/utils/image_utils.cjs +59 -13
- package/dist/cjs/utils/image_utils.d.ts.map +1 -1
- package/dist/cjs/utils/image_utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/image_utils.d.ts.map +1 -1
- package/dist/utils/image_utils.js +17 -1
- package/dist/utils/image_utils.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,7 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
5
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
36
|
exports.GEMINI_MAX_HEIGHT = exports.GEMINI_MAX_WIDTH = exports.CLAUDE_MAX_HEIGHT = exports.CLAUDE_MAX_WIDTH = exports.OPENAI_MAX_HEIGHT = exports.OPENAI_MAX_WIDTH = exports.DEFAULT_QUALITY = exports.MAX_IMAGE_HEIGHT = void 0;
|
|
7
37
|
exports.appendMessageWithImage = appendMessageWithImage;
|
|
@@ -10,8 +40,20 @@ exports.resizeAndSplitForOpenAI = resizeAndSplitForOpenAI;
|
|
|
10
40
|
exports.resizeAndTruncateForClaude = resizeAndTruncateForClaude;
|
|
11
41
|
exports.resizeAndTruncateForGemini = resizeAndTruncateForGemini;
|
|
12
42
|
const buffer_1 = require("buffer");
|
|
13
|
-
const sharp_1 = __importDefault(require("sharp"));
|
|
14
43
|
const uuid_1 = require("uuid");
|
|
44
|
+
let sharpModule = null;
|
|
45
|
+
async function getSharp() {
|
|
46
|
+
if (!sharpModule) {
|
|
47
|
+
try {
|
|
48
|
+
const module = await Promise.resolve().then(() => __importStar(require('sharp')));
|
|
49
|
+
sharpModule = module.default || module;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
throw new Error('Sharp is required for image processing but not installed. Please install it with: npm install sharp');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return sharpModule;
|
|
56
|
+
}
|
|
15
57
|
exports.MAX_IMAGE_HEIGHT = 2000;
|
|
16
58
|
exports.DEFAULT_QUALITY = 80;
|
|
17
59
|
exports.OPENAI_MAX_WIDTH = 1024;
|
|
@@ -90,17 +132,18 @@ async function resizeAndSplitForOpenAI(imageData) {
|
|
|
90
132
|
const base64Image = imageData.replace(/^data:image\/\w+;base64,/, '');
|
|
91
133
|
const imageFormat = imageData.match(/data:image\/(\w+);/)?.[1] || 'png';
|
|
92
134
|
const imageBuffer = buffer_1.Buffer.from(base64Image, 'base64');
|
|
93
|
-
const
|
|
135
|
+
const sharp = await getSharp();
|
|
136
|
+
const { width: origW = 0, height: origH = 0 } = await sharp(imageBuffer).metadata();
|
|
94
137
|
if (origW <= MAX_WIDTH && origH <= MAX_HEIGHT) {
|
|
95
138
|
return [imageData];
|
|
96
139
|
}
|
|
97
140
|
const newWidth = Math.min(origW, MAX_WIDTH);
|
|
98
|
-
const resizedBuffer = await (
|
|
141
|
+
const resizedBuffer = await sharp(imageBuffer)
|
|
99
142
|
.resize({ width: newWidth })
|
|
100
143
|
.flatten({ background: '#fff' })
|
|
101
144
|
.toFormat(imageFormat)
|
|
102
145
|
.toBuffer();
|
|
103
|
-
const { height: resizedH = 0 } = await (
|
|
146
|
+
const { height: resizedH = 0 } = await sharp(resizedBuffer).metadata();
|
|
104
147
|
const result = [];
|
|
105
148
|
if (resizedH > MAX_HEIGHT) {
|
|
106
149
|
const segments = Math.ceil(resizedH / MAX_HEIGHT);
|
|
@@ -109,7 +152,7 @@ async function resizeAndSplitForOpenAI(imageData) {
|
|
|
109
152
|
const height = Math.min(MAX_HEIGHT, resizedH - top);
|
|
110
153
|
if (height <= 0)
|
|
111
154
|
continue;
|
|
112
|
-
const segmentBuf = await (
|
|
155
|
+
const segmentBuf = await sharp(resizedBuffer)
|
|
113
156
|
.extract({ left: 0, top, width: newWidth, height })
|
|
114
157
|
.toFormat(imageFormat)
|
|
115
158
|
.toBuffer();
|
|
@@ -130,15 +173,16 @@ function stripDataUrl(dataUrl) {
|
|
|
130
173
|
return { format: match[1], base64: match[2] };
|
|
131
174
|
}
|
|
132
175
|
async function processAndTruncate(imageBuffer, format, maxW, maxH) {
|
|
133
|
-
const
|
|
176
|
+
const sharp = await getSharp();
|
|
177
|
+
const resized = await sharp(imageBuffer)
|
|
134
178
|
.rotate()
|
|
135
179
|
.resize({ width: maxW, withoutEnlargement: true })
|
|
136
180
|
.flatten({ background: '#fff' })
|
|
137
181
|
.toFormat(format)
|
|
138
182
|
.toBuffer();
|
|
139
|
-
const { width, height } = await (
|
|
183
|
+
const { width, height } = await sharp(resized).metadata();
|
|
140
184
|
if (height > maxH) {
|
|
141
|
-
return await (
|
|
185
|
+
return await sharp(resized)
|
|
142
186
|
.extract({ left: 0, top: 0, width: width, height: maxH })
|
|
143
187
|
.toFormat(format)
|
|
144
188
|
.toBuffer();
|
|
@@ -148,7 +192,8 @@ async function processAndTruncate(imageBuffer, format, maxW, maxH) {
|
|
|
148
192
|
async function resizeAndTruncateForClaude(imageData) {
|
|
149
193
|
const { format, base64 } = stripDataUrl(imageData);
|
|
150
194
|
const buf = buffer_1.Buffer.from(base64, 'base64');
|
|
151
|
-
const
|
|
195
|
+
const sharp = await getSharp();
|
|
196
|
+
const meta = await sharp(buf).metadata();
|
|
152
197
|
if (meta.width <= exports.CLAUDE_MAX_WIDTH && meta.height <= exports.CLAUDE_MAX_HEIGHT) {
|
|
153
198
|
return imageData;
|
|
154
199
|
}
|
|
@@ -158,7 +203,8 @@ async function resizeAndTruncateForClaude(imageData) {
|
|
|
158
203
|
async function resizeAndTruncateForGemini(imageData) {
|
|
159
204
|
const { format, base64 } = stripDataUrl(imageData);
|
|
160
205
|
const buf = buffer_1.Buffer.from(base64, 'base64');
|
|
161
|
-
const
|
|
206
|
+
const sharp = await getSharp();
|
|
207
|
+
const meta = await sharp(buf).metadata();
|
|
162
208
|
if (meta.width <= exports.GEMINI_MAX_WIDTH && meta.height <= exports.GEMINI_MAX_HEIGHT) {
|
|
163
209
|
return imageData;
|
|
164
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image_utils.d.ts","sourceRoot":"","sources":["../../../utils/image_utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"image_utils.d.ts","sourceRoot":"","sources":["../../../utils/image_utils.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAS7D,wBAAsB,sBAAsB,CACxC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,GAAG,EAAE,EACZ,OAAO,EAAE,GAAG,EACZ,KAAK,EACC,MAAM,GACN;IACI,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC,EACP,gBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,EAClG,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CAwCd;AASD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,CA6C5E;AAUD,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsDlF;AAoCD,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAanF;AAKD,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAanF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image_utils.js","sourceRoot":"","sources":["../../../utils/image_utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"image_utils.js","sourceRoot":"","sources":["../../../utils/image_utils.ts"],"names":[],"mappings":"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"}
|