@kenkaiiii/ggcoder 5.83.0 → 5.83.2
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.
|
@@ -12,13 +12,25 @@ export type GenerateImageAuth = {
|
|
|
12
12
|
accountId?: string;
|
|
13
13
|
}>;
|
|
14
14
|
};
|
|
15
|
+
/** Timing seams for the retry policy, so tests can check the exact waits. */
|
|
16
|
+
export type ImageRetryDeps = {
|
|
17
|
+
/** Wait `ms`, rejecting early when `signal` aborts. */
|
|
18
|
+
sleep: (ms: number, signal: AbortSignal) => Promise<void>;
|
|
19
|
+
/** Uniform in [0, 1): the jitter source. */
|
|
20
|
+
random: () => number;
|
|
21
|
+
/** Wall-clock ms, for an HTTP-date `Retry-After`. */
|
|
22
|
+
now: () => number;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Wait before retry number `retry` (1-based), as Codex computes it: the
|
|
26
|
+
* server's `Retry-After` (whole seconds or an HTTP date) when present,
|
|
27
|
+
* otherwise exponential backoff from 200ms with ±10% jitter.
|
|
28
|
+
*/
|
|
29
|
+
export declare function retryDelayMs(retry: number, retryAfter: string | null, deps: Pick<ImageRetryDeps, "random" | "now">): number;
|
|
15
30
|
declare const GenerateImageParams: z.ZodObject<{
|
|
16
31
|
prompt: z.ZodString;
|
|
17
|
-
model: z.ZodOptional<z.ZodEnum<{
|
|
18
|
-
"gpt-image-2.5-flare": "gpt-image-2.5-flare";
|
|
19
|
-
"gpt-image-2.5-sunburst": "gpt-image-2.5-sunburst";
|
|
20
|
-
}>>;
|
|
21
32
|
image: z.ZodOptional<z.ZodString>;
|
|
33
|
+
images: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
22
34
|
size: z.ZodOptional<z.ZodString>;
|
|
23
35
|
quality: z.ZodOptional<z.ZodEnum<{
|
|
24
36
|
low: "low";
|
|
@@ -34,10 +46,21 @@ declare const GenerateImageParams: z.ZodObject<{
|
|
|
34
46
|
webp: "webp";
|
|
35
47
|
}>>;
|
|
36
48
|
background: z.ZodOptional<z.ZodEnum<{
|
|
37
|
-
auto: "auto";
|
|
38
49
|
opaque: "opaque";
|
|
39
50
|
transparent: "transparent";
|
|
40
51
|
}>>;
|
|
41
52
|
}, z.core.$strip>;
|
|
42
|
-
export declare function createGenerateImageTool(cwd: string, auth: GenerateImageAuth): AgentTool<typeof GenerateImageParams>;
|
|
53
|
+
export declare function createGenerateImageTool(cwd: string, auth: GenerateImageAuth, retryDeps?: Partial<ImageRetryDeps>): AgentTool<typeof GenerateImageParams>;
|
|
54
|
+
type Dimensions = {
|
|
55
|
+
width: number;
|
|
56
|
+
height: number;
|
|
57
|
+
} | null;
|
|
58
|
+
/**
|
|
59
|
+
* Requested versus delivered size, for the agent to relay. The ChatGPT image
|
|
60
|
+
* backend can return a different size than asked (a user asked for 2048x2048
|
|
61
|
+
* and got 1254x1254), so a mismatch is reported plainly instead of the call
|
|
62
|
+
* reading as a clean success. Nothing is resized and nothing is re-requested:
|
|
63
|
+
* each request spends the user's image quota.
|
|
64
|
+
*/
|
|
65
|
+
export declare function sizeReport(requested: string | undefined, paths: readonly string[], dimensions: readonly Dimensions[], reportedSizes: ReadonlyArray<string | undefined>): string;
|
|
43
66
|
export {};
|
|
@@ -1,37 +1,107 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import os from "node:os";
|
|
1
3
|
import path from "node:path";
|
|
2
4
|
import { mkdir, writeFile, readFile } from "node:fs/promises";
|
|
3
5
|
import { z } from "zod";
|
|
6
|
+
import { CODEX_CLIENT_VERSION } from "@kenkaiiii/gg-ai";
|
|
4
7
|
import { resolvePath } from "./path-utils.js";
|
|
5
|
-
import { downscaleForPreview, shrinkToFit } from "../utils/image.js";
|
|
8
|
+
import { IMAGE_MEDIA_TYPES, convertImageFormat, downscaleForPreview, imageDimensions, shrinkToFit, } from "../utils/image.js";
|
|
6
9
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* Codex's own image endpoints, called the way the Codex CLI's image extension
|
|
11
|
+
* calls them (openai/codex `ext/image-generation/src/tool.rs` +
|
|
12
|
+
* `codex-api/src/endpoint/images.rs`, checked 2026-10-17 at 592964c0): a plain
|
|
13
|
+
* JSON POST to `images/generations` or `images/edits` under the ChatGPT Codex
|
|
14
|
+
* backend with `{ prompt, background, model, quality, size }` (edits add
|
|
15
|
+
* `images: [{ image_url }]`), answered with `data[].b64_json` PNG. ChatGPT OAuth tokens (auth.openai.com PKCE)
|
|
16
|
+
* are rejected by api.openai.com/v1/images/* (missing the
|
|
17
|
+
* `api.model.images.request` scope), but they work here.
|
|
18
|
+
*
|
|
19
|
+
* This used to go through `codex/responses` with a chat model driving the
|
|
20
|
+
* hosted `image_generation` tool. That broke twice over: the driving model
|
|
21
|
+
* (`gpt-5.5`) was retired, and the current Codex models are code-mode only,
|
|
22
|
+
* so they ignore the hosted tool and answer in text.
|
|
23
|
+
*/
|
|
24
|
+
const CODEX_IMAGES_BASE = "https://chatgpt.com/backend-api/codex/images";
|
|
25
|
+
/** The endpoint always answers in PNG; other formats are re-encoded locally. */
|
|
26
|
+
const RESPONSE_FORMAT = "png";
|
|
27
|
+
/**
|
|
28
|
+
* Codex's `IMAGE_MODEL`. Codex sends this fixed id on every request; the
|
|
29
|
+
* backend picks the generator, so there is no model choice to offer.
|
|
30
|
+
*/
|
|
31
|
+
const IMAGE_MODEL = "gpt-image-2";
|
|
32
|
+
/** Codex's `MAX_EDIT_IMAGES`: an edit takes one to five reference images. */
|
|
33
|
+
const MAX_EDIT_IMAGES = 5;
|
|
34
|
+
/**
|
|
35
|
+
* Codex's retry policy for image requests (codex-client `retry.rs`
|
|
36
|
+
* `run_with_retry`, with the provider's `DEFAULT_REQUEST_MAX_RETRIES` = 4 and a
|
|
37
|
+
* 200ms base delay): up to 4 retries (5 attempts) on a 5xx or a failed
|
|
38
|
+
* connection, never on a 4xx such as 429. The wait honours `Retry-After`;
|
|
39
|
+
* otherwise it doubles from 200ms with ±10% jitter (200, 400, 800, 1600ms).
|
|
40
|
+
*/
|
|
41
|
+
const MAX_RETRIES = 4;
|
|
42
|
+
const RETRY_BASE_DELAY_MS = 200;
|
|
43
|
+
function abortableSleep(ms, signal) {
|
|
44
|
+
return new Promise((resolve, reject) => {
|
|
45
|
+
if (signal.aborted) {
|
|
46
|
+
reject(signal.reason);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const onAbort = () => {
|
|
50
|
+
clearTimeout(timer);
|
|
51
|
+
reject(signal.reason);
|
|
52
|
+
};
|
|
53
|
+
const timer = setTimeout(() => {
|
|
54
|
+
signal.removeEventListener("abort", onAbort);
|
|
55
|
+
resolve();
|
|
56
|
+
}, ms);
|
|
57
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
const DEFAULT_RETRY_DEPS = {
|
|
61
|
+
sleep: abortableSleep,
|
|
62
|
+
random: Math.random,
|
|
63
|
+
now: Date.now,
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Wait before retry number `retry` (1-based), as Codex computes it: the
|
|
67
|
+
* server's `Retry-After` (whole seconds or an HTTP date) when present,
|
|
68
|
+
* otherwise exponential backoff from 200ms with ±10% jitter.
|
|
12
69
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
70
|
+
export function retryDelayMs(retry, retryAfter, deps) {
|
|
71
|
+
const value = retryAfter?.trim();
|
|
72
|
+
if (value) {
|
|
73
|
+
if (/^\d+$/.test(value))
|
|
74
|
+
return Number(value) * 1000;
|
|
75
|
+
const date = Date.parse(value);
|
|
76
|
+
if (Number.isFinite(date))
|
|
77
|
+
return Math.max(0, date - deps.now());
|
|
78
|
+
}
|
|
79
|
+
const jitter = 0.9 + deps.random() * 0.2;
|
|
80
|
+
return Math.floor(RETRY_BASE_DELAY_MS * 2 ** (retry - 1) * jitter);
|
|
81
|
+
}
|
|
16
82
|
const GenerateImageParams = z.object({
|
|
17
83
|
prompt: z.string().describe("Text description of the image to generate or the edit to apply"),
|
|
18
|
-
model: z
|
|
19
|
-
.enum(["gpt-image-2.5-flare", "gpt-image-2.5-sunburst"])
|
|
20
|
-
.optional()
|
|
21
|
-
.describe("Image model. Default: gpt-image-2.5-flare for fast, high-quality generation. " +
|
|
22
|
-
"Use gpt-image-2.5-sunburst when editing precision matters most."),
|
|
23
84
|
image: z
|
|
24
85
|
.string()
|
|
25
86
|
.optional()
|
|
26
87
|
.describe("Path to an existing image file to edit (use the path returned by a previous " +
|
|
27
88
|
"generate_image call, or a user-attached image path). When omitted, a new " +
|
|
28
|
-
"image is generated from scratch."),
|
|
89
|
+
"image is generated from scratch. Use `images` instead for several references."),
|
|
90
|
+
images: z
|
|
91
|
+
.array(z.string())
|
|
92
|
+
.min(1)
|
|
93
|
+
.max(MAX_EDIT_IMAGES)
|
|
94
|
+
.optional()
|
|
95
|
+
.describe(`Up to ${MAX_EDIT_IMAGES} image paths to edit from or combine (for example a subject ` +
|
|
96
|
+
"and a style reference). Do not pass both `image` and `images`."),
|
|
29
97
|
size: z
|
|
30
98
|
.string()
|
|
31
99
|
.optional()
|
|
32
|
-
.describe("Output resolution
|
|
33
|
-
"
|
|
34
|
-
"
|
|
100
|
+
.describe("Output resolution: `auto` (default) or WIDTHxHEIGHT with both edges multiples of " +
|
|
101
|
+
"16px, max edge 3840px, long:short ratio at most 3:1, and 655,360 to 8,294,400 " +
|
|
102
|
+
"total pixels. Common: 1024x1024, 1536x1024, 1024x1536. The ChatGPT image backend " +
|
|
103
|
+
"does not guarantee the requested size and may return a smaller image; the result " +
|
|
104
|
+
"always reports the size actually delivered."),
|
|
35
105
|
quality: z
|
|
36
106
|
.enum(["low", "medium", "high", "auto"])
|
|
37
107
|
.optional()
|
|
@@ -53,11 +123,11 @@ const GenerateImageParams = z.object({
|
|
|
53
123
|
.optional()
|
|
54
124
|
.describe("Output file format (default png)"),
|
|
55
125
|
background: z
|
|
56
|
-
.enum(["opaque", "
|
|
126
|
+
.enum(["opaque", "transparent"])
|
|
57
127
|
.optional()
|
|
58
|
-
.describe("
|
|
59
|
-
"
|
|
60
|
-
"
|
|
128
|
+
.describe("Use 'transparent' when the request calls for a transparent background, including " +
|
|
129
|
+
"background removal or a cutout (png or webp output). Default: opaque. For edits, " +
|
|
130
|
+
"keep existing transparency unless the user asks to change it."),
|
|
61
131
|
});
|
|
62
132
|
function defaultOutPath(cwd, format) {
|
|
63
133
|
const stamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
@@ -72,27 +142,29 @@ function mediaTypeFor(format) {
|
|
|
72
142
|
return "image/webp";
|
|
73
143
|
return "image/png";
|
|
74
144
|
}
|
|
75
|
-
export function createGenerateImageTool(cwd, auth) {
|
|
145
|
+
export function createGenerateImageTool(cwd, auth, retryDeps = {}) {
|
|
146
|
+
const retry = { ...DEFAULT_RETRY_DEPS, ...retryDeps };
|
|
76
147
|
return {
|
|
77
148
|
name: "generate_image",
|
|
78
|
-
description: "Generate or edit images
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"Use `out_path` to save to a specific location (defaults to .gg/generated/).",
|
|
149
|
+
description: "Generate or edit images with OpenAI's image generation, the same service Codex uses " +
|
|
150
|
+
"with a ChatGPT login. Works even when a different chat provider is active; only " +
|
|
151
|
+
"requires OpenAI to be connected. Only use this tool when the user explicitly asks to " +
|
|
152
|
+
"create, generate, or edit an image. Pass `image` (or up to five `images`) to edit " +
|
|
153
|
+
"existing files, such as a previous result or a user attachment. Set `background` to " +
|
|
154
|
+
"'transparent' for cutouts and transparent artwork. Generation can take a minute or " +
|
|
155
|
+
"more. Use `out_path` to save to a specific location (defaults to .gg/generated/).",
|
|
85
156
|
parameters: GenerateImageParams,
|
|
86
157
|
async execute(args, context) {
|
|
87
158
|
if (context.signal.aborted)
|
|
88
159
|
return "Image generation aborted before start.";
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
if (args.background === "transparent") {
|
|
92
|
-
return ("Transparent backgrounds
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
|
|
160
|
+
// JPEG has no alpha channel: a transparent result saved as JPEG would
|
|
161
|
+
// silently come back opaque, after spending the user's image quota.
|
|
162
|
+
if (args.background === "transparent" && args.output_format === "jpeg") {
|
|
163
|
+
return ("Transparent backgrounds need png or webp output; JPEG cannot store transparency. " +
|
|
164
|
+
"No request was sent. Use output_format png or webp.");
|
|
165
|
+
}
|
|
166
|
+
if (args.image && args.images) {
|
|
167
|
+
return "Pass either `image` or `images`, not both. No request was sent.";
|
|
96
168
|
}
|
|
97
169
|
// Resolve OpenAI credentials at execution time (lazy — token refresh
|
|
98
170
|
// happens on use, not at registration).
|
|
@@ -113,58 +185,58 @@ export function createGenerateImageTool(cwd, auth) {
|
|
|
113
185
|
? resolvePath(cwd, args.out_path)
|
|
114
186
|
: defaultOutPath(cwd, outputFormat);
|
|
115
187
|
try {
|
|
116
|
-
//
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
188
|
+
// Every field Codex sends, always: it pins quality and size to "auto"
|
|
189
|
+
// and background to opaque unless transparency is asked for.
|
|
190
|
+
const request = {
|
|
191
|
+
prompt: args.prompt,
|
|
192
|
+
background: args.background ?? "opaque",
|
|
193
|
+
model: IMAGE_MODEL,
|
|
194
|
+
quality: args.quality ?? "auto",
|
|
195
|
+
size: args.size ?? "auto",
|
|
121
196
|
};
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
197
|
+
const referencePaths = args.images ?? (args.image ? [args.image] : []);
|
|
198
|
+
if (referencePaths.length > 0) {
|
|
199
|
+
// Edit mode: each reference travels inline as a data URL of the
|
|
200
|
+
// original bytes, as Codex sends them (PromptImageMode::Original).
|
|
201
|
+
const references = [];
|
|
202
|
+
for (const reference of referencePaths) {
|
|
203
|
+
const imagePath = resolvePath(cwd, reference);
|
|
204
|
+
const refMediaType = IMAGE_MEDIA_TYPES[path.extname(imagePath).toLowerCase()];
|
|
205
|
+
if (!refMediaType) {
|
|
206
|
+
return `Cannot edit ${reference}: only PNG, JPEG, GIF, WebP and BMP images are supported.`;
|
|
207
|
+
}
|
|
208
|
+
let fileBuffer;
|
|
209
|
+
try {
|
|
210
|
+
fileBuffer = await readFile(imagePath);
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
return `Could not read the image at ${reference}. Check the path is correct.`;
|
|
214
|
+
}
|
|
215
|
+
references.push({
|
|
216
|
+
image_url: `data:${refMediaType};base64,${fileBuffer.toString("base64")}`,
|
|
217
|
+
});
|
|
141
218
|
}
|
|
142
|
-
|
|
143
|
-
const refMediaType = imagePath.toLowerCase().endsWith(".jpg") || imagePath.toLowerCase().endsWith(".jpeg")
|
|
144
|
-
? "image/jpeg"
|
|
145
|
-
: imagePath.toLowerCase().endsWith(".webp")
|
|
146
|
-
? "image/webp"
|
|
147
|
-
: "image/png";
|
|
148
|
-
inputContent.push({
|
|
149
|
-
type: "input_image",
|
|
150
|
-
image_url: `data:${refMediaType};base64,${fileBuffer.toString("base64")}`,
|
|
151
|
-
});
|
|
152
|
-
imageTool.action = "edit";
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
imageTool.action = "generate";
|
|
219
|
+
request.images = references;
|
|
156
220
|
}
|
|
157
|
-
|
|
158
|
-
//
|
|
159
|
-
//
|
|
160
|
-
|
|
161
|
-
//
|
|
221
|
+
const endpoint = `${CODEX_IMAGES_BASE}/${request.images ? "edits" : "generations"}`;
|
|
222
|
+
// One id for the whole tool call, like Codex's per-turn
|
|
223
|
+
// `x-codex-image-turn-id`, so every image of an `n` batch is grouped.
|
|
224
|
+
const turnId = randomUUID();
|
|
225
|
+
// One request per image, like the Codex CLI: each output is its own
|
|
226
|
+
// generation, and a later failure keeps the earlier ones.
|
|
162
227
|
const requestedCount = args.n ?? 1;
|
|
163
228
|
const imageBuffers = [];
|
|
229
|
+
// The size OpenAI's response says it produced, per image (when given).
|
|
230
|
+
const reportedSizes = [];
|
|
164
231
|
for (let index = 0; index < requestedCount && imageBuffers.length < requestedCount; index++) {
|
|
165
|
-
const generated = await
|
|
166
|
-
|
|
167
|
-
|
|
232
|
+
const generated = await callImageEndpoint(endpoint, request, { token, accountId, turnId }, context.signal, retry);
|
|
233
|
+
for (const png of generated.images.slice(0, requestedCount - imageBuffers.length)) {
|
|
234
|
+
// PNG output is saved byte for byte as OpenAI sent it (alpha and
|
|
235
|
+
// all); only another format is re-encoded. Never resized.
|
|
236
|
+
imageBuffers.push(outputFormat === RESPONSE_FORMAT ? png : await convertImageFormat(png, outputFormat));
|
|
237
|
+
reportedSizes.push(generated.reportedSize);
|
|
238
|
+
}
|
|
239
|
+
if (generated.images.length === 0)
|
|
168
240
|
break;
|
|
169
241
|
}
|
|
170
242
|
if (imageBuffers.length === 0) {
|
|
@@ -209,8 +281,13 @@ export function createGenerateImageTool(cwd, auth) {
|
|
|
209
281
|
const summary = savedPaths.length === 1
|
|
210
282
|
? `Generated image → ${primaryPath}`
|
|
211
283
|
: `Generated ${savedPaths.length} images → ${savedPaths.join(", ")}`;
|
|
284
|
+
const dimensions = await Promise.all(imageBuffers.map((buf) => imageDimensions(buf)));
|
|
285
|
+
const sizeText = sizeReport(args.size, savedPaths, dimensions, reportedSizes);
|
|
286
|
+
// The summary stays the FIRST text block, on its own: restored history
|
|
287
|
+
// reads the image paths from exactly that line (extractToolImagePaths).
|
|
212
288
|
const allContent = [
|
|
213
289
|
{ type: "text", text: summary },
|
|
290
|
+
{ type: "text", text: sizeText },
|
|
214
291
|
{
|
|
215
292
|
type: "image",
|
|
216
293
|
mediaType: detectedType,
|
|
@@ -225,54 +302,172 @@ export function createGenerateImageTool(cwd, auth) {
|
|
|
225
302
|
catch (err) {
|
|
226
303
|
if (context.signal.aborted)
|
|
227
304
|
return "Image generation aborted.";
|
|
305
|
+
if (err instanceof ImageAccessError)
|
|
306
|
+
return imageAccessMessage(token);
|
|
307
|
+
if (err instanceof ImageLimitError)
|
|
308
|
+
return imageLimitMessage(err.resetsAt);
|
|
228
309
|
const reason = err instanceof Error ? err.message : String(err);
|
|
229
310
|
return `Image generation failed: ${reason}`;
|
|
230
311
|
}
|
|
231
312
|
},
|
|
232
313
|
};
|
|
233
314
|
}
|
|
315
|
+
const formatDimensions = (d) => `${d.width}x${d.height}`;
|
|
316
|
+
/**
|
|
317
|
+
* Requested versus delivered size, for the agent to relay. The ChatGPT image
|
|
318
|
+
* backend can return a different size than asked (a user asked for 2048x2048
|
|
319
|
+
* and got 1254x1254), so a mismatch is reported plainly instead of the call
|
|
320
|
+
* reading as a clean success. Nothing is resized and nothing is re-requested:
|
|
321
|
+
* each request spends the user's image quota.
|
|
322
|
+
*/
|
|
323
|
+
export function sizeReport(requested, paths, dimensions, reportedSizes) {
|
|
324
|
+
const explicit = requested && requested !== "auto" ? requested : undefined;
|
|
325
|
+
const actual = dimensions.map((d) => (d ? formatDimensions(d) : undefined));
|
|
326
|
+
// What OpenAI's response claimed, when it disagrees with the pixels.
|
|
327
|
+
const claims = actual
|
|
328
|
+
.map((size, i) => {
|
|
329
|
+
const reported = reportedSizes[i];
|
|
330
|
+
return reported && size && reported !== size ? reported : undefined;
|
|
331
|
+
})
|
|
332
|
+
.filter((claim) => claim !== undefined);
|
|
333
|
+
const claimNote = claims.length > 0 ? ` OpenAI's response reported ${[...new Set(claims)].join(", ")}.` : "";
|
|
334
|
+
if (actual.some((size) => size === undefined)) {
|
|
335
|
+
return explicit
|
|
336
|
+
? `Requested ${explicit}, but the saved image could not be measured to confirm its size.`
|
|
337
|
+
: "The saved image could not be measured to report its size.";
|
|
338
|
+
}
|
|
339
|
+
const unique = [...new Set(actual)];
|
|
340
|
+
const delivered = unique.length === 1
|
|
341
|
+
? (unique[0] ?? "")
|
|
342
|
+
: actual.map((size, i) => `${paths[i] ?? `image ${i + 1}`}: ${size}`).join(", ");
|
|
343
|
+
if (!explicit)
|
|
344
|
+
return `Size: ${delivered} (size auto, chosen by OpenAI).${claimNote}`;
|
|
345
|
+
if (unique.length === 1 && unique[0] === explicit) {
|
|
346
|
+
return `Size: ${explicit}, as requested.${claimNote}`;
|
|
347
|
+
}
|
|
348
|
+
return (`Size mismatch: requested ${explicit}, but OpenAI returned ${delivered}.${claimNote} ` +
|
|
349
|
+
"The file was saved at its native size with no resizing. Tell the user. The ChatGPT " +
|
|
350
|
+
"image backend does not always honour the requested size, so asking again is unlikely " +
|
|
351
|
+
"to change it and would spend more of their image quota.");
|
|
352
|
+
}
|
|
234
353
|
/** Insert a numeric index before the extension for multi-image output. */
|
|
235
354
|
function insertIndex(filePath, index) {
|
|
236
355
|
const ext = path.extname(filePath);
|
|
237
356
|
const base = filePath.slice(0, filePath.length - ext.length);
|
|
238
357
|
return `${base}_${index}${ext}`;
|
|
239
358
|
}
|
|
359
|
+
/** OpenAI refused the image request outright (HTTP 403): the account has no access. */
|
|
360
|
+
class ImageAccessError extends Error {
|
|
361
|
+
}
|
|
362
|
+
/** The account's image quota is used up (HTTP 429 `usage_limit_reached`). */
|
|
363
|
+
class ImageLimitError extends Error {
|
|
364
|
+
resetsAt;
|
|
365
|
+
constructor(message,
|
|
366
|
+
/** Unix seconds when the limit resets, when OpenAI says. */
|
|
367
|
+
resetsAt) {
|
|
368
|
+
super(message);
|
|
369
|
+
this.resetsAt = resetsAt;
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
/** What to tell the agent when the image quota is used up. */
|
|
373
|
+
function imageLimitMessage(resetsAt) {
|
|
374
|
+
const when = resetsAt !== undefined && Number.isFinite(resetsAt)
|
|
375
|
+
? ` It resets at ${new Date(resetsAt * 1000).toISOString()}.`
|
|
376
|
+
: "";
|
|
377
|
+
return (`This ChatGPT account has reached its image generation limit.${when} ` +
|
|
378
|
+
"Tell the user; retrying before then will not help.");
|
|
379
|
+
}
|
|
240
380
|
/**
|
|
241
|
-
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
* The Codex backend requires `stream: true` and the ChatGPT OAuth token (which
|
|
246
|
-
* our auth.openai.com PKCE flow produces). The top-level model orchestrates the
|
|
247
|
-
* request; imageTool.model selects the GPT Image model separately.
|
|
381
|
+
* The ChatGPT plan from the access token's auth claim (`chatgpt_plan_type`), or
|
|
382
|
+
* undefined when the token is not a readable JWT. Only the plan name is read;
|
|
383
|
+
* nothing from the token is logged or returned.
|
|
248
384
|
*/
|
|
249
|
-
|
|
250
|
-
const
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
385
|
+
function chatgptPlan(token) {
|
|
386
|
+
const payload = token.split(".")[1];
|
|
387
|
+
if (!payload)
|
|
388
|
+
return undefined;
|
|
389
|
+
try {
|
|
390
|
+
const claims = JSON.parse(Buffer.from(payload, "base64url").toString("utf8"));
|
|
391
|
+
const auth = claims["https://api.openai.com/auth"];
|
|
392
|
+
if (auth && typeof auth === "object" && "chatgpt_plan_type" in auth) {
|
|
393
|
+
const plan = auth.chatgpt_plan_type;
|
|
394
|
+
return typeof plan === "string" ? plan : undefined;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
catch {
|
|
398
|
+
// Not a JWT we can read; fall through to the generic message.
|
|
399
|
+
}
|
|
400
|
+
return undefined;
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* What to tell the agent when OpenAI refuses image generation for the account.
|
|
404
|
+
* A free ChatGPT plan gets a bare 403 "Forbidden" for every image request, so
|
|
405
|
+
* say that plainly instead of passing the opaque status through.
|
|
406
|
+
*/
|
|
407
|
+
function imageAccessMessage(token) {
|
|
408
|
+
const lead = chatgptPlan(token) === "free"
|
|
409
|
+
? "Image generation is not included with a free ChatGPT plan, so OpenAI refused the request (403 Forbidden)."
|
|
410
|
+
: "OpenAI refused the image request (403 Forbidden). This ChatGPT account does not appear to include image generation in Codex.";
|
|
411
|
+
return (`${lead} It needs a ChatGPT login on a paid plan that includes Codex image generation. ` +
|
|
412
|
+
"Tell the user; retrying, or changing size, quality or format, will not help.");
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* POST one request to a Codex image endpoint and return the decoded images.
|
|
416
|
+
* Headers carry the same Codex client identity as chat (originator, user agent
|
|
417
|
+
* and `version`), since the ChatGPT backend gates features on that version.
|
|
418
|
+
*/
|
|
419
|
+
async function callImageEndpoint(url, request, auth, signal, retry) {
|
|
420
|
+
const body = JSON.stringify(request);
|
|
421
|
+
for (let attempt = 0;; attempt++) {
|
|
422
|
+
let response;
|
|
423
|
+
let text;
|
|
424
|
+
try {
|
|
425
|
+
response = await fetch(url, {
|
|
426
|
+
method: "POST",
|
|
427
|
+
headers: {
|
|
428
|
+
Accept: "application/json",
|
|
429
|
+
"Content-Type": "application/json",
|
|
430
|
+
Authorization: `Bearer ${auth.token}`,
|
|
431
|
+
...(auth.accountId ? { "chatgpt-account-id": auth.accountId } : {}),
|
|
432
|
+
originator: "codex_cli_rs",
|
|
433
|
+
"User-Agent": `codex_cli_rs/${CODEX_CLIENT_VERSION} (${os.type()} ${os.release()}; ${os.arch()})`,
|
|
434
|
+
version: CODEX_CLIENT_VERSION,
|
|
435
|
+
"x-codex-image-turn-id": auth.turnId,
|
|
436
|
+
},
|
|
437
|
+
body,
|
|
438
|
+
signal,
|
|
439
|
+
});
|
|
440
|
+
text = await response.text();
|
|
441
|
+
}
|
|
442
|
+
catch (err) {
|
|
443
|
+
// A failed connection or a body cut off mid-read. An abort is the
|
|
444
|
+
// user stopping the run, never something to retry.
|
|
445
|
+
if (signal.aborted || attempt >= MAX_RETRIES)
|
|
446
|
+
throw err;
|
|
447
|
+
await retry.sleep(retryDelayMs(attempt + 1, null, retry), signal);
|
|
448
|
+
continue;
|
|
449
|
+
}
|
|
450
|
+
if (response.status >= 500 && attempt < MAX_RETRIES) {
|
|
451
|
+
const wait = retryDelayMs(attempt + 1, response.headers.get("retry-after"), retry);
|
|
452
|
+
await retry.sleep(wait, signal);
|
|
453
|
+
continue;
|
|
454
|
+
}
|
|
455
|
+
return parseImageResponse(response.status, text, attempt + 1);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
/** Turn one image endpoint reply into images, or the error it describes. */
|
|
459
|
+
function parseImageResponse(status, text, attempts) {
|
|
460
|
+
const response = { status, ok: status >= 200 && status < 300 };
|
|
461
|
+
if (response.status === 403)
|
|
462
|
+
throw new ImageAccessError(text);
|
|
271
463
|
if (!response.ok) {
|
|
272
|
-
const text = await response.text();
|
|
273
464
|
let detail = text;
|
|
465
|
+
let errorType;
|
|
466
|
+
let resetsAt;
|
|
274
467
|
try {
|
|
275
468
|
const parsed = JSON.parse(text);
|
|
469
|
+
errorType = parsed.error?.type;
|
|
470
|
+
resetsAt = typeof parsed.error?.resets_at === "number" ? parsed.error.resets_at : undefined;
|
|
276
471
|
if (parsed.detail)
|
|
277
472
|
detail = parsed.detail;
|
|
278
473
|
else if (parsed.error?.message)
|
|
@@ -281,46 +476,25 @@ async function callImageGeneration(inputContent, imageTool, token, accountId, si
|
|
|
281
476
|
catch {
|
|
282
477
|
// Keep raw text
|
|
283
478
|
}
|
|
284
|
-
|
|
479
|
+
if (response.status === 429 && errorType === "usage_limit_reached") {
|
|
480
|
+
throw new ImageLimitError(detail, resetsAt);
|
|
481
|
+
}
|
|
482
|
+
const tries = attempts > 1 ? ` after ${attempts} attempts` : "";
|
|
483
|
+
throw new Error(`OpenAI Image API (${response.status})${tries}: ${detail}`);
|
|
285
484
|
}
|
|
286
|
-
|
|
287
|
-
|
|
485
|
+
let parsed;
|
|
486
|
+
try {
|
|
487
|
+
parsed = JSON.parse(text);
|
|
288
488
|
}
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
const decoder = new TextDecoder();
|
|
292
|
-
let buffer = "";
|
|
293
|
-
const imageBuffers = [];
|
|
294
|
-
while (true) {
|
|
295
|
-
const { done, value } = await reader.read();
|
|
296
|
-
if (done)
|
|
297
|
-
break;
|
|
298
|
-
buffer += decoder.decode(value, { stream: true });
|
|
299
|
-
const lines = buffer.split("\n");
|
|
300
|
-
buffer = lines.pop() ?? "";
|
|
301
|
-
for (const line of lines) {
|
|
302
|
-
if (!line.startsWith("data: "))
|
|
303
|
-
continue;
|
|
304
|
-
const data = line.slice(6);
|
|
305
|
-
if (data === "[DONE]")
|
|
306
|
-
continue;
|
|
307
|
-
try {
|
|
308
|
-
const evt = JSON.parse(data);
|
|
309
|
-
// The final image data arrives in `response.output_item.done` where
|
|
310
|
-
// item.type is "image_generation_call" and item.status is "completed"
|
|
311
|
-
// (or "generating" — both carry the result). We capture from either,
|
|
312
|
-
// preferring the last one with actual result data.
|
|
313
|
-
if (evt.type === "response.output_item.done" &&
|
|
314
|
-
evt.item?.type === "image_generation_call" &&
|
|
315
|
-
evt.item.result) {
|
|
316
|
-
imageBuffers.push(Buffer.from(evt.item.result, "base64"));
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
catch {
|
|
320
|
-
// Partial JSON — skip, the next chunk will complete it.
|
|
321
|
-
}
|
|
322
|
-
}
|
|
489
|
+
catch {
|
|
490
|
+
throw new Error("OpenAI Image API returned a response that is not JSON.");
|
|
323
491
|
}
|
|
324
|
-
|
|
492
|
+
const images = (parsed.data ?? [])
|
|
493
|
+
.map((item) => item.b64_json)
|
|
494
|
+
.filter((b64) => typeof b64 === "string" && b64.length > 0)
|
|
495
|
+
.map((b64) => Buffer.from(b64, "base64"));
|
|
496
|
+
// Codex's ImageResponse carries the size the backend says it produced.
|
|
497
|
+
const reportedSize = typeof parsed.size === "string" ? parsed.size : undefined;
|
|
498
|
+
return { images, ...(reportedSize ? { reportedSize } : {}) };
|
|
325
499
|
}
|
|
326
500
|
//# sourceMappingURL=generate-image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-image.js","sourceRoot":"","sources":["../../src/tools/generate-image.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-image.js","sourceRoot":"","sources":["../../src/tools/generate-image.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/image.d.ts
CHANGED
|
@@ -113,6 +113,20 @@ export declare function shrinkToFit(buffer: Buffer, mediaType: string): Promise<
|
|
|
113
113
|
* cosmetic and must never break the turn.
|
|
114
114
|
*/
|
|
115
115
|
export declare function downscaleForPreview(buffer: Buffer): Promise<Buffer>;
|
|
116
|
+
/**
|
|
117
|
+
* Pixel dimensions from the image header, or null when it cannot be read.
|
|
118
|
+
* Header only: no pixel decode, so it is cheap on large images.
|
|
119
|
+
*/
|
|
120
|
+
export declare function imageDimensions(buffer: Buffer): Promise<{
|
|
121
|
+
width: number;
|
|
122
|
+
height: number;
|
|
123
|
+
} | null>;
|
|
124
|
+
/**
|
|
125
|
+
* Re-encode an image as `format`. Unlike the preview helpers this is the saved
|
|
126
|
+
* file itself, so a failure propagates rather than silently keeping the
|
|
127
|
+
* original bytes under a mismatched extension.
|
|
128
|
+
*/
|
|
129
|
+
export declare function convertImageFormat(buffer: Buffer, format: "png" | "jpeg" | "webp"): Promise<Buffer>;
|
|
116
130
|
/**
|
|
117
131
|
* Inline previews (`details.imagePreviews`) for image blocks a tool returns
|
|
118
132
|
* without a file of its own (MCP servers). The chat only
|
package/dist/utils/image.js
CHANGED
|
@@ -464,6 +464,29 @@ export async function downscaleForPreview(buffer) {
|
|
|
464
464
|
return buffer;
|
|
465
465
|
}
|
|
466
466
|
}
|
|
467
|
+
/**
|
|
468
|
+
* Pixel dimensions from the image header, or null when it cannot be read.
|
|
469
|
+
* Header only: no pixel decode, so it is cheap on large images.
|
|
470
|
+
*/
|
|
471
|
+
export async function imageDimensions(buffer) {
|
|
472
|
+
try {
|
|
473
|
+
const sharp = await loadSharp();
|
|
474
|
+
const { width, height } = await sharp(buffer).metadata();
|
|
475
|
+
return width && height ? { width, height } : null;
|
|
476
|
+
}
|
|
477
|
+
catch {
|
|
478
|
+
return null;
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Re-encode an image as `format`. Unlike the preview helpers this is the saved
|
|
483
|
+
* file itself, so a failure propagates rather than silently keeping the
|
|
484
|
+
* original bytes under a mismatched extension.
|
|
485
|
+
*/
|
|
486
|
+
export async function convertImageFormat(buffer, format) {
|
|
487
|
+
const sharp = await loadSharp();
|
|
488
|
+
return sharp(buffer).toFormat(format).toBuffer();
|
|
489
|
+
}
|
|
467
490
|
/**
|
|
468
491
|
* Inline previews (`details.imagePreviews`) for image blocks a tool returns
|
|
469
492
|
* without a file of its own (MCP servers). The chat only
|
package/dist/utils/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/utils/image.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/utils/image.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenkaiiii/ggcoder",
|
|
3
|
-
"version": "5.83.
|
|
3
|
+
"version": "5.83.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Lean CLI coding agent for 12 LLM providers and local models, with OAuth for Anthropic, OpenAI and Gemini",
|
|
6
6
|
"license": "MIT",
|
|
@@ -115,9 +115,9 @@
|
|
|
115
115
|
"typescript-language-server": "^5.3.0",
|
|
116
116
|
"wrap-ansi": "^10.0.0",
|
|
117
117
|
"zod": "^4.4.3",
|
|
118
|
-
"@kenkaiiii/gg-agent": "5.83.
|
|
119
|
-
"@kenkaiiii/gg-ai": "5.83.
|
|
120
|
-
"@kenkaiiii/gg-core": "5.83.
|
|
118
|
+
"@kenkaiiii/gg-agent": "5.83.2",
|
|
119
|
+
"@kenkaiiii/gg-ai": "5.83.2",
|
|
120
|
+
"@kenkaiiii/gg-core": "5.83.2"
|
|
121
121
|
},
|
|
122
122
|
"optionalDependencies": {
|
|
123
123
|
"@huggingface/transformers": "4.2.0",
|