neoctl 0.1.17 → 0.1.18
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/context/prompts.js +2 -2
- package/dist/context/prompts.js.map +1 -1
- package/dist/repl/index.js +6 -2
- package/dist/repl/index.js.map +1 -1
- package/dist/tools/builtins/image-generation-tool.d.ts +28 -0
- package/dist/tools/builtins/image-generation-tool.js +169 -13
- package/dist/tools/builtins/image-generation-tool.js.map +1 -1
- package/dist/web/index.js +6 -2
- package/dist/web/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,24 @@ export type ImageGenerationFormat = "png" | "jpeg" | "webp";
|
|
|
5
5
|
export type OpenAIImageGenerationResponseFormat = ImageGenerationFormat | "jpg";
|
|
6
6
|
export type ImageGenerationBackground = "auto" | "transparent" | "opaque";
|
|
7
7
|
export type ImageGenerationModeration = "auto" | "low";
|
|
8
|
+
export type ImageToolMode = "generate" | "edit";
|
|
9
|
+
export interface ImageEditInputImage {
|
|
10
|
+
/** Base64 image bytes, either raw or a data URL. */
|
|
11
|
+
base64?: string;
|
|
12
|
+
/** Alias for base64. */
|
|
13
|
+
data?: string;
|
|
14
|
+
/** Full data:image/...;base64,... URL. */
|
|
15
|
+
dataUrl?: string;
|
|
16
|
+
/** Required when base64/data is raw base64. Inferred from dataUrl when omitted. */
|
|
17
|
+
mimeType?: string;
|
|
18
|
+
/** Optional filename sent to the image edit endpoint. */
|
|
19
|
+
name?: string;
|
|
20
|
+
/** Optional UI/history label for diagnostics. */
|
|
21
|
+
label?: string;
|
|
22
|
+
}
|
|
8
23
|
export interface ImageGenerationToolInput {
|
|
24
|
+
/** generate creates a new image; edit modifies one or more existing images. */
|
|
25
|
+
mode?: ImageToolMode;
|
|
9
26
|
prompt: string;
|
|
10
27
|
model?: string;
|
|
11
28
|
size?: ImageGenerationSize;
|
|
@@ -14,6 +31,14 @@ export interface ImageGenerationToolInput {
|
|
|
14
31
|
background?: ImageGenerationBackground;
|
|
15
32
|
moderation?: ImageGenerationModeration;
|
|
16
33
|
n?: number;
|
|
34
|
+
/** Single explicit source image for mode=edit. */
|
|
35
|
+
image?: ImageEditInputImage;
|
|
36
|
+
/** Multiple explicit source images for mode=edit. */
|
|
37
|
+
images?: ImageEditInputImage[];
|
|
38
|
+
/** Labels of prior conversation image blocks to edit. */
|
|
39
|
+
imageRefs?: string[];
|
|
40
|
+
/** In edit mode, use the latest prior conversation image when no image/imageRefs are provided. Defaults to true. */
|
|
41
|
+
useLatestImage?: boolean;
|
|
17
42
|
}
|
|
18
43
|
export interface ImageGenerationResult {
|
|
19
44
|
index: number;
|
|
@@ -41,6 +66,7 @@ export interface ImageGenerationToolTiming {
|
|
|
41
66
|
}
|
|
42
67
|
export interface ImageGenerationToolOutput extends ImageGenerationToolTiming {
|
|
43
68
|
provider: "openai";
|
|
69
|
+
mode: ImageToolMode;
|
|
44
70
|
model: string;
|
|
45
71
|
prompt: string;
|
|
46
72
|
size: ImageGenerationSize;
|
|
@@ -48,6 +74,8 @@ export interface ImageGenerationToolOutput extends ImageGenerationToolTiming {
|
|
|
48
74
|
outputFormat: ImageGenerationFormat;
|
|
49
75
|
background: ImageGenerationBackground;
|
|
50
76
|
returnedImages: number;
|
|
77
|
+
sourceImages?: number;
|
|
78
|
+
imageRefs?: string[];
|
|
51
79
|
images: ImageGenerationResult[];
|
|
52
80
|
raw?: unknown;
|
|
53
81
|
}
|
|
@@ -12,19 +12,24 @@ const MAX_IMAGES = 4;
|
|
|
12
12
|
export function createOpenAIImageGenerationTool(options = {}) {
|
|
13
13
|
return {
|
|
14
14
|
name: "image2",
|
|
15
|
-
aliases: ["draw_image", "generate_image"],
|
|
16
|
-
description: "Generate images with OpenAI's Images API. Use
|
|
15
|
+
aliases: ["draw_image", "generate_image", "edit_image", "modify_image"],
|
|
16
|
+
description: "Generate or edit images with OpenAI's Images API. Use mode=generate for new images and mode=edit to modify existing images. Edit mode accepts explicit image/image(s), imageRefs for prior conversation images, or falls back to the latest prior image. Return generated/edited image data URLs in the tool result for the UI to display. This tool is available only when MODEL_PROVIDER=openai; with other providers, state that this model does not have a drawing/editing tool.",
|
|
17
17
|
inputSchema: {
|
|
18
18
|
type: "object",
|
|
19
19
|
properties: {
|
|
20
|
-
|
|
20
|
+
mode: { type: "string", enum: ["generate", "edit"], description: "Operation mode. generate creates a new image; edit modifies existing image(s). Defaults to generate." },
|
|
21
|
+
prompt: { type: "string", description: "Detailed image prompt/instruction. For edit mode, describe exactly how to modify the source image(s)." },
|
|
21
22
|
model: { type: "string", description: `Optional OpenAI image model. Defaults to OPENAI_IMAGE_MODEL or ${DEFAULT_IMAGE_MODEL}.` },
|
|
22
23
|
size: { type: "string", enum: ["auto", "1024x1024", "1536x1024", "1024x1536"], description: "Output image size. Use 1024x1024 for square, 1536x1024 for landscape, 1024x1536 for portrait. Defaults to auto." },
|
|
23
24
|
quality: { type: "string", enum: ["auto", "low", "medium", "high"], description: "Rendering quality. Defaults to auto." },
|
|
24
25
|
outputFormat: { type: "string", enum: ["png", "jpeg", "webp"], description: "Returned image format. Defaults to png." },
|
|
25
26
|
background: { type: "string", enum: ["auto", "transparent", "opaque"], description: "Background handling for supported models. Defaults to auto." },
|
|
26
27
|
moderation: { type: "string", enum: ["auto", "low"], description: "OpenAI image moderation setting for supported models. Defaults to auto." },
|
|
27
|
-
n: { type: "integer", description: `Number of images
|
|
28
|
+
n: { type: "integer", description: `Number of output images, 1-${MAX_IMAGES}. Defaults to 1.` },
|
|
29
|
+
image: { type: "object", description: "Single source image for mode=edit. Provide base64/data/dataUrl plus mimeType when not using a dataUrl.", additionalProperties: true },
|
|
30
|
+
images: { type: "array", description: "Multiple source images for mode=edit.", items: { type: "object", additionalProperties: true } },
|
|
31
|
+
imageRefs: { type: "array", description: "Labels of prior conversation image blocks to edit, e.g. Generated image 1 or [img#1].", items: { type: "string" } },
|
|
32
|
+
useLatestImage: { type: "boolean", description: "In edit mode, use the latest prior conversation image when no explicit source image or imageRefs are provided. Defaults to true." },
|
|
28
33
|
},
|
|
29
34
|
required: ["prompt"],
|
|
30
35
|
additionalProperties: false,
|
|
@@ -38,6 +43,7 @@ export function createOpenAIImageGenerationTool(options = {}) {
|
|
|
38
43
|
validate(input) {
|
|
39
44
|
const record = input;
|
|
40
45
|
return {
|
|
46
|
+
mode: record.mode ?? "generate",
|
|
41
47
|
prompt: record.prompt ?? "",
|
|
42
48
|
model: record.model,
|
|
43
49
|
size: record.size ?? "auto",
|
|
@@ -46,9 +52,15 @@ export function createOpenAIImageGenerationTool(options = {}) {
|
|
|
46
52
|
background: record.background ?? "auto",
|
|
47
53
|
moderation: record.moderation ?? "auto",
|
|
48
54
|
n: record.n ?? 1,
|
|
55
|
+
image: record.image,
|
|
56
|
+
images: record.images,
|
|
57
|
+
imageRefs: record.imageRefs,
|
|
58
|
+
useLatestImage: record.useLatestImage ?? true,
|
|
49
59
|
};
|
|
50
60
|
},
|
|
51
61
|
validateInput(input) {
|
|
62
|
+
if (!isImageToolMode(input.mode))
|
|
63
|
+
return { ok: false, message: "image2.mode must be generate or edit" };
|
|
52
64
|
if (!input.prompt.trim())
|
|
53
65
|
return { ok: false, message: "image2.prompt cannot be empty" };
|
|
54
66
|
if (input.model !== undefined && !input.model.trim())
|
|
@@ -66,6 +78,10 @@ export function createOpenAIImageGenerationTool(options = {}) {
|
|
|
66
78
|
const count = input.n ?? 1;
|
|
67
79
|
if (!Number.isInteger(count) || count < 1 || count > MAX_IMAGES)
|
|
68
80
|
return { ok: false, message: `image2.n must be between 1 and ${MAX_IMAGES}` };
|
|
81
|
+
if (input.images !== undefined && (!Array.isArray(input.images) || input.images.length === 0))
|
|
82
|
+
return { ok: false, message: "image2.images must be a non-empty array when provided" };
|
|
83
|
+
if (input.imageRefs !== undefined && (!Array.isArray(input.imageRefs) || input.imageRefs.some((ref) => !ref.trim())))
|
|
84
|
+
return { ok: false, message: "image2.imageRefs must contain non-empty strings" };
|
|
69
85
|
return { ok: true, value: { ...input, n: count } };
|
|
70
86
|
},
|
|
71
87
|
isConcurrencySafe() {
|
|
@@ -85,21 +101,36 @@ export function createOpenAIImageGenerationTool(options = {}) {
|
|
|
85
101
|
const baseUrl = stripTrailingSlash(options.baseUrl?.trim() || process.env.OPENAI_IMAGE_BASE_URL?.trim() || process.env.OPENAI_BASE_URL?.trim() || DEFAULT_OPENAI_BASE_URL);
|
|
86
102
|
const model = input.model?.trim() || options.model?.trim() || process.env.OPENAI_IMAGE_MODEL?.trim() || DEFAULT_IMAGE_MODEL;
|
|
87
103
|
const timeoutMs = options.timeoutMs ?? parsePositiveNumber(process.env.OPENAI_IMAGE_TIMEOUT_MS) ?? parsePositiveNumber(process.env.MODEL_TIMEOUT_MS) ?? DEFAULT_TIMEOUT_MS;
|
|
88
|
-
|
|
104
|
+
const mode = input.mode ?? "generate";
|
|
105
|
+
callOptions.onProgress?.({ toolName: "image2", message: `${mode === "edit" ? "Editing" : "Generating"} image with OpenAI ${model}` });
|
|
89
106
|
const startedAt = Date.now();
|
|
90
107
|
try {
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
108
|
+
const editSources = mode === "edit" ? resolveImageEditSources(input, context.messages) : [];
|
|
109
|
+
if (mode === "edit" && editSources.length === 0) {
|
|
110
|
+
throw new Error("image2 mode=edit requires a source image. Provide image/images/imageRefs, attach an image, or keep useLatestImage enabled with a prior image in the conversation.");
|
|
111
|
+
}
|
|
112
|
+
const response = mode === "edit"
|
|
113
|
+
? await callOpenAIImageEdit({
|
|
114
|
+
apiKey,
|
|
115
|
+
baseUrl,
|
|
116
|
+
timeoutMs,
|
|
117
|
+
signal: context.abortSignal,
|
|
118
|
+
input: { ...input, model },
|
|
119
|
+
images: editSources,
|
|
120
|
+
})
|
|
121
|
+
: await callOpenAIImageGeneration({
|
|
122
|
+
apiKey,
|
|
123
|
+
baseUrl,
|
|
124
|
+
timeoutMs,
|
|
125
|
+
signal: context.abortSignal,
|
|
126
|
+
input: { ...input, model },
|
|
127
|
+
});
|
|
98
128
|
const images = extractGeneratedImages(response, input.outputFormat ?? "png");
|
|
99
129
|
const timing = imageGenerationTiming(startedAt);
|
|
100
130
|
const output = {
|
|
101
131
|
...timing,
|
|
102
132
|
provider: "openai",
|
|
133
|
+
mode,
|
|
103
134
|
model,
|
|
104
135
|
prompt: input.prompt,
|
|
105
136
|
size: input.size ?? "auto",
|
|
@@ -107,13 +138,15 @@ export function createOpenAIImageGenerationTool(options = {}) {
|
|
|
107
138
|
outputFormat: input.outputFormat ?? "png",
|
|
108
139
|
background: input.background ?? "auto",
|
|
109
140
|
returnedImages: images.length,
|
|
141
|
+
sourceImages: mode === "edit" ? editSources.length : undefined,
|
|
142
|
+
imageRefs: mode === "edit" ? editSources.map((source) => source.label).filter((label) => Boolean(label)) : undefined,
|
|
110
143
|
images,
|
|
111
144
|
raw: compactRawResponse(response),
|
|
112
145
|
};
|
|
113
146
|
return {
|
|
114
147
|
ok: images.length > 0,
|
|
115
148
|
output,
|
|
116
|
-
summary: images.length ? `${images.length} image(s) generated in ${timing.duration}ms` : `OpenAI returned no image data after ${timing.duration}ms`,
|
|
149
|
+
summary: images.length ? `${images.length} image(s) ${mode === "edit" ? "edited" : "generated"} in ${timing.duration}ms` : `OpenAI returned no image data after ${timing.duration}ms`,
|
|
117
150
|
};
|
|
118
151
|
}
|
|
119
152
|
catch (error) {
|
|
@@ -122,6 +155,7 @@ export function createOpenAIImageGenerationTool(options = {}) {
|
|
|
122
155
|
output: {
|
|
123
156
|
...imageGenerationTiming(startedAt),
|
|
124
157
|
provider: "openai",
|
|
158
|
+
mode,
|
|
125
159
|
model,
|
|
126
160
|
prompt: input.prompt,
|
|
127
161
|
error: error instanceof Error ? error.message : String(error),
|
|
@@ -166,6 +200,41 @@ async function callOpenAIImageGeneration(options) {
|
|
|
166
200
|
options.signal?.removeEventListener("abort", abort);
|
|
167
201
|
}
|
|
168
202
|
}
|
|
203
|
+
async function callOpenAIImageEdit(options) {
|
|
204
|
+
const controller = new AbortController();
|
|
205
|
+
const abort = () => controller.abort(options.signal?.reason);
|
|
206
|
+
const timeout = setTimeout(() => controller.abort(new Error(`Image edit request timed out after ${options.timeoutMs}ms`)), options.timeoutMs);
|
|
207
|
+
options.signal?.addEventListener("abort", abort, { once: true });
|
|
208
|
+
try {
|
|
209
|
+
const form = new FormData();
|
|
210
|
+
for (const image of options.images) {
|
|
211
|
+
form.append("image[]", base64ToBlob(image.base64, image.mimeType), image.filename);
|
|
212
|
+
}
|
|
213
|
+
for (const [key, value] of Object.entries(buildOpenAIImageRequestBody(options.input))) {
|
|
214
|
+
if (value !== undefined)
|
|
215
|
+
form.append(key, String(value));
|
|
216
|
+
}
|
|
217
|
+
const response = await fetch(`${options.baseUrl}/v1/images/edits`, {
|
|
218
|
+
method: "POST",
|
|
219
|
+
headers: {
|
|
220
|
+
Accept: "application/json",
|
|
221
|
+
Authorization: `Bearer ${options.apiKey}`,
|
|
222
|
+
},
|
|
223
|
+
body: form,
|
|
224
|
+
signal: controller.signal,
|
|
225
|
+
});
|
|
226
|
+
const text = await response.text();
|
|
227
|
+
const body = text ? parseJsonObject(text) : {};
|
|
228
|
+
if (!response.ok) {
|
|
229
|
+
throw new Error(`OpenAI image edit HTTP ${response.status}: ${openAIErrorMessage(body) ?? text.slice(0, 1000)}`);
|
|
230
|
+
}
|
|
231
|
+
return body;
|
|
232
|
+
}
|
|
233
|
+
finally {
|
|
234
|
+
clearTimeout(timeout);
|
|
235
|
+
options.signal?.removeEventListener("abort", abort);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
169
238
|
function buildOpenAIImageRequestBody(input) {
|
|
170
239
|
return dropUndefined({
|
|
171
240
|
model: input.model,
|
|
@@ -191,6 +260,90 @@ function imageGenerationTiming(startedAt, finishedAt = Date.now()) {
|
|
|
191
260
|
elapsedMs: duration,
|
|
192
261
|
};
|
|
193
262
|
}
|
|
263
|
+
function resolveImageEditSources(input, messages) {
|
|
264
|
+
const explicit = [input.image, ...(input.images ?? [])].filter((image) => !!image);
|
|
265
|
+
const fromInput = explicit.map((image, index) => resolveInputImage(image, index));
|
|
266
|
+
const fromRefs = resolveReferencedImages(messages, input.imageRefs ?? []);
|
|
267
|
+
const shouldUseLatest = input.useLatestImage !== false && fromInput.length === 0 && fromRefs.length === 0 && (!input.imageRefs || input.imageRefs.length === 0);
|
|
268
|
+
const latest = shouldUseLatest ? latestConversationImage(messages) : undefined;
|
|
269
|
+
return [...fromInput, ...fromRefs, ...(latest ? [latest] : [])];
|
|
270
|
+
}
|
|
271
|
+
function resolveInputImage(image, index) {
|
|
272
|
+
const parsed = parseImageData(image.dataUrl ?? image.base64 ?? image.data);
|
|
273
|
+
const mimeType = image.mimeType?.trim() || parsed.mimeType;
|
|
274
|
+
if (!parsed.base64)
|
|
275
|
+
throw new Error(`image2 edit source image ${index + 1} is missing base64/data/dataUrl`);
|
|
276
|
+
if (!mimeType)
|
|
277
|
+
throw new Error(`image2 edit source image ${index + 1} is missing mimeType`);
|
|
278
|
+
return {
|
|
279
|
+
index,
|
|
280
|
+
base64: normalizeBase64ImageData(parsed.base64),
|
|
281
|
+
mimeType,
|
|
282
|
+
filename: image.name?.trim() || imageFilename(mimeType, index),
|
|
283
|
+
label: image.label,
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
function resolveReferencedImages(messages, refs) {
|
|
287
|
+
if (!messages || refs.length === 0)
|
|
288
|
+
return [];
|
|
289
|
+
const imageBlocks = collectConversationImages(messages);
|
|
290
|
+
return refs.map((ref, index) => {
|
|
291
|
+
const normalizedRef = normalizeImageRef(ref);
|
|
292
|
+
const found = imageBlocks.find((image) => normalizeImageRef(image.label ?? "") === normalizedRef || normalizeImageRef(image.filename) === normalizedRef || String(image.index + 1) === normalizedRef);
|
|
293
|
+
if (!found)
|
|
294
|
+
throw new Error(`image2 could not find referenced image: ${ref}`);
|
|
295
|
+
return { ...found, filename: found.filename || imageFilename(found.mimeType, index) };
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
function latestConversationImage(messages) {
|
|
299
|
+
const images = collectConversationImages(messages);
|
|
300
|
+
return images[images.length - 1];
|
|
301
|
+
}
|
|
302
|
+
function collectConversationImages(messages) {
|
|
303
|
+
if (!messages)
|
|
304
|
+
return [];
|
|
305
|
+
const images = [];
|
|
306
|
+
for (const message of messages) {
|
|
307
|
+
for (const block of message.blocks) {
|
|
308
|
+
if (block.type !== "image")
|
|
309
|
+
continue;
|
|
310
|
+
const parsed = parseImageData(block.data);
|
|
311
|
+
const mimeType = block.mimeType || parsed.mimeType;
|
|
312
|
+
if (!parsed.base64 || !mimeType)
|
|
313
|
+
continue;
|
|
314
|
+
images.push({
|
|
315
|
+
index: images.length,
|
|
316
|
+
base64: normalizeBase64ImageData(parsed.base64),
|
|
317
|
+
mimeType,
|
|
318
|
+
filename: imageFilename(mimeType, images.length),
|
|
319
|
+
label: block.label,
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
return images;
|
|
324
|
+
}
|
|
325
|
+
function parseImageData(value) {
|
|
326
|
+
if (!value)
|
|
327
|
+
return {};
|
|
328
|
+
const match = /^data:([^;,]+);base64,(.*)$/su.exec(value.trim());
|
|
329
|
+
if (match)
|
|
330
|
+
return { mimeType: match[1], base64: match[2] };
|
|
331
|
+
return { base64: value };
|
|
332
|
+
}
|
|
333
|
+
function normalizeBase64ImageData(value) {
|
|
334
|
+
return value.replace(/^data:[^;,]+;base64,/su, "").replace(/\s+/gu, "");
|
|
335
|
+
}
|
|
336
|
+
function base64ToBlob(base64, mimeType) {
|
|
337
|
+
return new Blob([Buffer.from(normalizeBase64ImageData(base64), "base64")], { type: mimeType });
|
|
338
|
+
}
|
|
339
|
+
function imageFilename(mimeType, index) {
|
|
340
|
+
const subtype = mimeType.split("/")[1]?.split(";")[0]?.trim() || "png";
|
|
341
|
+
const extension = subtype === "jpeg" ? "jpg" : subtype.replace(/[^a-z0-9]/giu, "") || "png";
|
|
342
|
+
return `image-${index + 1}.${extension}`;
|
|
343
|
+
}
|
|
344
|
+
function normalizeImageRef(value) {
|
|
345
|
+
return value.trim().toLowerCase();
|
|
346
|
+
}
|
|
194
347
|
function createImageGenerationToolResultMessage(result, toolUseId) {
|
|
195
348
|
const output = result.output;
|
|
196
349
|
const blocks = [{
|
|
@@ -297,6 +450,9 @@ function stringFrom(value) {
|
|
|
297
450
|
function isRecord(value) {
|
|
298
451
|
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
299
452
|
}
|
|
453
|
+
function isImageToolMode(value) {
|
|
454
|
+
return value === "generate" || value === "edit";
|
|
455
|
+
}
|
|
300
456
|
function isImageSize(value) {
|
|
301
457
|
return value === "auto" || value === "1024x1024" || value === "1536x1024" || value === "1024x1536";
|
|
302
458
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-generation-tool.js","sourceRoot":"","sources":["../../../src/tools/builtins/image-generation-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"image-generation-tool.js","sourceRoot":"","sources":["../../../src/tools/builtins/image-generation-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/web/index.js
CHANGED
|
@@ -1580,18 +1580,22 @@ function formatExecToolResult(output, ok) {
|
|
|
1580
1580
|
}
|
|
1581
1581
|
function formatImageGenerationToolResult(output, ok) {
|
|
1582
1582
|
const error = typeof output.error === "string" ? output.error : undefined;
|
|
1583
|
+
const mode = output.mode === "edit" ? "edit" : "generate";
|
|
1583
1584
|
if (!ok || error)
|
|
1584
|
-
return [
|
|
1585
|
+
return [`image ${mode} failed`, error ?? formatReplData(output, 1200)].join("\n");
|
|
1585
1586
|
const provider = typeof output.provider === "string" ? output.provider : "openai";
|
|
1586
1587
|
const model = typeof output.model === "string" ? output.model : undefined;
|
|
1587
1588
|
const returnedImages = typeof output.returnedImages === "number" ? output.returnedImages : Array.isArray(output.images) ? output.images.length : undefined;
|
|
1588
1589
|
const size = typeof output.size === "string" ? output.size : undefined;
|
|
1589
1590
|
const quality = typeof output.quality === "string" ? output.quality : undefined;
|
|
1590
1591
|
const format = typeof output.outputFormat === "string" ? output.outputFormat : undefined;
|
|
1591
|
-
const
|
|
1592
|
+
const sourceImages = typeof output.sourceImages === "number" ? output.sourceImages : undefined;
|
|
1593
|
+
const lines = [`${mode === "edit" ? "edited" : "generated"} ${returnedImages ?? 0} image${returnedImages === 1 ? "" : "s"}`];
|
|
1592
1594
|
const details = [provider, model, size, quality && quality !== "auto" ? quality : undefined, format].filter((value) => Boolean(value));
|
|
1593
1595
|
if (details.length > 0)
|
|
1594
1596
|
lines.push(details.join(" · "));
|
|
1597
|
+
if (sourceImages !== undefined)
|
|
1598
|
+
lines.push(`source images: ${sourceImages}`);
|
|
1595
1599
|
const duration = imageGenerationDuration(output);
|
|
1596
1600
|
if (duration !== undefined)
|
|
1597
1601
|
lines.push(`duration: ${duration}ms`);
|