@providerkit/core 0.17.0 → 0.17.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.
- package/dist/image.d.ts +20 -0
- package/dist/image.d.ts.map +1 -0
- package/dist/image.js +167 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/presets.d.ts +21 -2
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +24 -2
- package/dist/presets.js.map +1 -1
- package/dist/providers/factory.d.ts.map +1 -1
- package/dist/providers/factory.js +1 -0
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/responses.d.ts +4 -0
- package/dist/providers/responses.d.ts.map +1 -1
- package/dist/providers/responses.js +2 -1
- package/dist/providers/responses.js.map +1 -1
- package/package.json +1 -1
- package/src/image.ts +193 -0
- package/src/index.ts +1 -0
- package/src/presets.ts +29 -2
- package/src/providers/factory.ts +1 -0
- package/src/providers/responses.ts +8 -1
package/dist/image.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ChatMessage } from "./types.ts";
|
|
2
|
+
/** What a backend accepts as an image. Every limit is measured on the backend. */
|
|
3
|
+
export interface ImageLimits {
|
|
4
|
+
/** Smallest side, in pixels. */
|
|
5
|
+
minSide: number;
|
|
6
|
+
/** Smallest area, in square pixels. */
|
|
7
|
+
minArea: number;
|
|
8
|
+
/** Largest decoded size — width × height × bytes per pixel — in bytes. */
|
|
9
|
+
maxDecodedBytes: number;
|
|
10
|
+
/** Most images in one request. The newest win; older ones become notes. */
|
|
11
|
+
maxImages: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The history with every image the limits refuse replaced by a note naming the
|
|
15
|
+
* reason. In a user turn the note takes the image's place; in a tool result it
|
|
16
|
+
* joins the result's text. Of the images that pass, only the newest
|
|
17
|
+
* `maxImages` stay, so the latest screenshot is the one the model sees.
|
|
18
|
+
*/
|
|
19
|
+
export declare function gateImages(messages: readonly ChatMessage[], limits: ImageLimits): ChatMessage[];
|
|
20
|
+
//# sourceMappingURL=image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAyC,MAAM,YAAY,CAAC;AAErF,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;CACnB;AAiID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,CAmC/F"}
|
package/dist/image.js
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
const MIB = 1024 * 1024;
|
|
2
|
+
const PNG_SIGNATURE = [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a];
|
|
3
|
+
/** By bit depth. */
|
|
4
|
+
const PNG_BYTES_PER_CHANNEL = { 1: 1, 2: 1, 4: 1, 8: 1, 16: 2 };
|
|
5
|
+
/** By color type. Grayscale and RGB may still carry transparency in a tRNS
|
|
6
|
+
* chunk, so each gets an alpha channel's room. */
|
|
7
|
+
const PNG_CHANNELS = { 0: 2, 2: 4, 3: 4, 4: 2, 6: 4 };
|
|
8
|
+
function view(bytes) {
|
|
9
|
+
return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
10
|
+
}
|
|
11
|
+
function ascii(bytes, start, end) {
|
|
12
|
+
return String.fromCharCode(...bytes.subarray(start, end));
|
|
13
|
+
}
|
|
14
|
+
function pngRaster(bytes) {
|
|
15
|
+
// Signature (8), IHDR length (4), "IHDR" (4), then the IHDR fields.
|
|
16
|
+
if (bytes.length < 26 || PNG_SIGNATURE.some((byte, i) => bytes[i] !== byte))
|
|
17
|
+
return undefined;
|
|
18
|
+
const data = view(bytes);
|
|
19
|
+
if (data.getUint32(8) !== 13 || ascii(bytes, 12, 16) !== "IHDR")
|
|
20
|
+
return undefined;
|
|
21
|
+
const bytesPerChannel = PNG_BYTES_PER_CHANNEL[bytes[24]];
|
|
22
|
+
const channels = PNG_CHANNELS[bytes[25]];
|
|
23
|
+
if (!bytesPerChannel || !channels)
|
|
24
|
+
return undefined;
|
|
25
|
+
return {
|
|
26
|
+
width: data.getUint32(16),
|
|
27
|
+
height: data.getUint32(20),
|
|
28
|
+
bytesPerPixel: bytesPerChannel * channels,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function gifRaster(bytes) {
|
|
32
|
+
if (bytes.length < 10)
|
|
33
|
+
return undefined;
|
|
34
|
+
const signature = ascii(bytes, 0, 6);
|
|
35
|
+
if (signature !== "GIF87a" && signature !== "GIF89a")
|
|
36
|
+
return undefined;
|
|
37
|
+
const data = view(bytes);
|
|
38
|
+
return { width: data.getUint16(6, true), height: data.getUint16(8, true), bytesPerPixel: 4 };
|
|
39
|
+
}
|
|
40
|
+
function jpegRaster(bytes) {
|
|
41
|
+
// Walk the segments after SOI to the first frame header (SOF).
|
|
42
|
+
if (bytes.length < 4 || bytes[0] !== 0xff || bytes[1] !== 0xd8)
|
|
43
|
+
return undefined;
|
|
44
|
+
const data = view(bytes);
|
|
45
|
+
let cursor = 2;
|
|
46
|
+
while (cursor + 4 <= bytes.length) {
|
|
47
|
+
if (bytes[cursor] !== 0xff)
|
|
48
|
+
return undefined;
|
|
49
|
+
const marker = bytes[cursor + 1];
|
|
50
|
+
// Standalone markers carry no length field.
|
|
51
|
+
if (marker === 0xd8 || marker === 0x01 || (marker >= 0xd0 && marker <= 0xd7)) {
|
|
52
|
+
cursor += 2;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
const length = data.getUint16(cursor + 2);
|
|
56
|
+
if (length < 2 || cursor + 2 + length > bytes.length)
|
|
57
|
+
return undefined;
|
|
58
|
+
// SOF0..SOF15, minus DHT (c4), JPG (c8) and DAC (cc), which share the range.
|
|
59
|
+
const isFrame = marker >= 0xc0 && marker <= 0xcf && ![0xc4, 0xc8, 0xcc].includes(marker);
|
|
60
|
+
if (isFrame) {
|
|
61
|
+
// Length (2), precision (1), height (2), width (2), components (1).
|
|
62
|
+
const components = bytes[cursor + 9] ?? 0;
|
|
63
|
+
if (length < 8 || components === 0 || length < 8 + 3 * components)
|
|
64
|
+
return undefined;
|
|
65
|
+
return {
|
|
66
|
+
width: data.getUint16(cursor + 7),
|
|
67
|
+
height: data.getUint16(cursor + 5),
|
|
68
|
+
bytesPerPixel: Math.ceil(bytes[cursor + 4] / 8) * components,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
cursor += 2 + length;
|
|
72
|
+
}
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
// No reader for WebP: its size can't be checked, and an image that can't be
|
|
76
|
+
// checked can fail the whole request, so it becomes a note like any other.
|
|
77
|
+
const RASTER_READERS = {
|
|
78
|
+
"image/png": pngRaster,
|
|
79
|
+
"image/jpeg": jpegRaster,
|
|
80
|
+
"image/gif": gifRaster,
|
|
81
|
+
};
|
|
82
|
+
function mb(bytes) {
|
|
83
|
+
return `${Number((bytes / MIB).toFixed(1))}MB`;
|
|
84
|
+
}
|
|
85
|
+
/** Why the backend would refuse this image, or undefined when it would take it. */
|
|
86
|
+
function refusal(image, limits) {
|
|
87
|
+
let bytes;
|
|
88
|
+
try {
|
|
89
|
+
bytes = Uint8Array.from(atob(image.data), (char) => char.charCodeAt(0));
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return "undecodable base64";
|
|
93
|
+
}
|
|
94
|
+
const raster = RASTER_READERS[image.mimeType]?.(bytes);
|
|
95
|
+
if (!raster)
|
|
96
|
+
return `unreadable dimensions for ${image.mimeType}`;
|
|
97
|
+
const { width, height } = raster;
|
|
98
|
+
const size = `${width}x${height}`;
|
|
99
|
+
if (Math.min(width, height) < limits.minSide) {
|
|
100
|
+
return `${size} below minimum side ${limits.minSide}px`;
|
|
101
|
+
}
|
|
102
|
+
if (width * height < limits.minArea)
|
|
103
|
+
return `${size} below minimum area ${limits.minArea}px`;
|
|
104
|
+
const decoded = width * height * raster.bytesPerPixel;
|
|
105
|
+
if (decoded > limits.maxDecodedBytes) {
|
|
106
|
+
return `${size} too large (decoded ~${mb(decoded)} > ${mb(limits.maxDecodedBytes)} cap)`;
|
|
107
|
+
}
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
function imagesOf(message) {
|
|
111
|
+
if (message.role === "tool")
|
|
112
|
+
return message.images ?? [];
|
|
113
|
+
if (message.role === "user" && typeof message.content !== "string") {
|
|
114
|
+
return message.content.filter((part) => part.type === "image");
|
|
115
|
+
}
|
|
116
|
+
return [];
|
|
117
|
+
}
|
|
118
|
+
function omitted(image, reason) {
|
|
119
|
+
return `[image omitted: ${image.mimeType}] (${reason})`;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* The history with every image the limits refuse replaced by a note naming the
|
|
123
|
+
* reason. In a user turn the note takes the image's place; in a tool result it
|
|
124
|
+
* joins the result's text. Of the images that pass, only the newest
|
|
125
|
+
* `maxImages` stay, so the latest screenshot is the one the model sees.
|
|
126
|
+
*/
|
|
127
|
+
export function gateImages(messages, limits) {
|
|
128
|
+
// One verdict per image, in conversation order: a reason, or undefined to
|
|
129
|
+
// keep it. Past the cap, the oldest images that pass give way.
|
|
130
|
+
const verdicts = messages.flatMap(imagesOf).map((image) => refusal(image, limits));
|
|
131
|
+
let surplus = verdicts.filter((reason) => reason === undefined).length - limits.maxImages;
|
|
132
|
+
for (let i = 0; surplus > 0; i++) {
|
|
133
|
+
if (verdicts[i] !== undefined)
|
|
134
|
+
continue;
|
|
135
|
+
verdicts[i] = `only the last ${limits.maxImages} images are attached per request`;
|
|
136
|
+
surplus--;
|
|
137
|
+
}
|
|
138
|
+
let next = 0;
|
|
139
|
+
return messages.map((message) => {
|
|
140
|
+
if (message.role === "user" && typeof message.content !== "string") {
|
|
141
|
+
const content = message.content.map((part) => {
|
|
142
|
+
if (part.type !== "image")
|
|
143
|
+
return part;
|
|
144
|
+
const reason = verdicts[next++];
|
|
145
|
+
return reason === undefined ? part : { type: "text", text: omitted(part, reason) };
|
|
146
|
+
});
|
|
147
|
+
return { ...message, content };
|
|
148
|
+
}
|
|
149
|
+
if (message.role === "tool" && message.images?.length) {
|
|
150
|
+
const images = [];
|
|
151
|
+
const notes = [];
|
|
152
|
+
for (const image of message.images) {
|
|
153
|
+
const reason = verdicts[next++];
|
|
154
|
+
if (reason === undefined)
|
|
155
|
+
images.push(image);
|
|
156
|
+
else
|
|
157
|
+
notes.push(omitted(image, reason));
|
|
158
|
+
}
|
|
159
|
+
if (notes.length === 0)
|
|
160
|
+
return message;
|
|
161
|
+
const content = [message.content, ...notes].filter(Boolean).join("\n");
|
|
162
|
+
return { ...message, content, images };
|
|
163
|
+
}
|
|
164
|
+
return message;
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export * from "./tool-args.ts";
|
|
|
11
11
|
export * from "./tools.ts";
|
|
12
12
|
export * from "./schema.ts";
|
|
13
13
|
export * from "./context.ts";
|
|
14
|
+
export * from "./image.ts";
|
|
14
15
|
export * from "./capability.ts";
|
|
15
16
|
export * from "./attribution.ts";
|
|
16
17
|
export * from "./presets.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export * from "./tool-args.js";
|
|
|
11
11
|
export * from "./tools.js";
|
|
12
12
|
export * from "./schema.js";
|
|
13
13
|
export * from "./context.js";
|
|
14
|
+
export * from "./image.js";
|
|
14
15
|
export * from "./capability.js";
|
|
15
16
|
export * from "./attribution.js";
|
|
16
17
|
export * from "./presets.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
|
package/dist/presets.d.ts
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
* (`https://<resource>.openai.azure.com`), so no static preset can carry it —
|
|
19
19
|
* point createOpenAIProvider's baseUrl at your resource instead.
|
|
20
20
|
*/
|
|
21
|
+
import type { ImageLimits } from "./image.ts";
|
|
21
22
|
export type PresetShape = "anthropic" | "openai" | "responses" | "gemini";
|
|
22
23
|
/**
|
|
23
24
|
* How the credential reaches the endpoint.
|
|
@@ -69,6 +70,9 @@ export interface ProviderPreset {
|
|
|
69
70
|
/** Default model chain when the caller names neither `model` nor `models`:
|
|
70
71
|
* the first answers, the rest take over (same key) when it fails. */
|
|
71
72
|
rotation?: readonly string[];
|
|
73
|
+
/** Responses shape: what the backend accepts as an image, for backends that
|
|
74
|
+
* fail a whole request over one image they won't take. */
|
|
75
|
+
imageLimits?: ImageLimits;
|
|
72
76
|
}
|
|
73
77
|
export declare const PROVIDER_PRESETS: {
|
|
74
78
|
readonly anthropic: {
|
|
@@ -425,6 +429,15 @@ export declare const PROVIDER_PRESETS: {
|
|
|
425
429
|
* model id was wrong. `session-id` is the header the official Codex client
|
|
426
430
|
* sends; the backend keys its prompt cache on it (cc-proxy, in daily use
|
|
427
431
|
* against this backend, 2026-09).
|
|
432
|
+
*
|
|
433
|
+
* The backend retires models without notice, and models.dev doesn't list
|
|
434
|
+
* this backend, so `refresh-presets` can't catch the drift. By 2026-10-01 the
|
|
435
|
+
* default here (gpt-5.3-codex) and two of the other three listed ids
|
|
436
|
+
* answered 400 "not supported when using Codex with a ChatGPT account": a
|
|
437
|
+
* caller who took the default failed on every call. This list is what the
|
|
438
|
+
* backend accepted that day. It checks the model before the quota, so an
|
|
439
|
+
* account with its window spent still tells the two apart: 400 for a
|
|
440
|
+
* rejected model, 429 for an accepted one.
|
|
428
441
|
*/
|
|
429
442
|
readonly chatgpt: {
|
|
430
443
|
readonly shape: "responses";
|
|
@@ -432,8 +445,8 @@ export declare const PROVIDER_PRESETS: {
|
|
|
432
445
|
readonly path: "/responses";
|
|
433
446
|
readonly sessionHeader: "session-id";
|
|
434
447
|
readonly auth: "oauth";
|
|
435
|
-
readonly defaultModel: "gpt-
|
|
436
|
-
readonly models: ["gpt-
|
|
448
|
+
readonly defaultModel: "gpt-6-sol";
|
|
449
|
+
readonly models: ["gpt-6-sol", "gpt-6.1-sol", "gpt-6-astra", "gpt-6-luna", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-5.5"];
|
|
437
450
|
};
|
|
438
451
|
/**
|
|
439
452
|
* A Grok subscription (SuperGrok, X Premium) — the backend the Grok CLI
|
|
@@ -458,6 +471,12 @@ export declare const PROVIDER_PRESETS: {
|
|
|
458
471
|
readonly "x-grok-client-identifier": "grok-shell";
|
|
459
472
|
readonly "x-grok-client-version": "0.2.93";
|
|
460
473
|
};
|
|
474
|
+
readonly imageLimits: {
|
|
475
|
+
readonly minSide: 8;
|
|
476
|
+
readonly minArea: 512;
|
|
477
|
+
readonly maxDecodedBytes: number;
|
|
478
|
+
readonly maxImages: 4;
|
|
479
|
+
};
|
|
461
480
|
};
|
|
462
481
|
/** Kimi's coding endpoint reached with a subscription token instead of a
|
|
463
482
|
* key — Kimi bills the two separately. */
|
package/dist/presets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB;6FACyF;IACzF,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;2EACuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;6CAMyC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;wCAEoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;oDAEgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;0EACsE;IACtE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB;6FACyF;IACzF,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;2EACuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;6CAMyC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;wCAEoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;oDAEgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;0EACsE;IACtE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;+DAC2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;IAyB3B;4CACwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiOxC;;;;;;;OAOG;;;;;;;;;IASH;;;;;;;;;;;;;OAaG;;;;;;;;;;;;;;;;;;;;;;;;IA6BH,4EAA4E;;;;;;;;IAQ5E,uEAAuE;;;;;;;;IAQvE,2DAA2D;;;;;;;;IAQ3D,uEAAuE;;;;;;;;IAQvE,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqClD;;;;;;;;;;;;;;;;;;;OAmBG;;;;;;;;;;IAmBH;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;;;IAkBH;+CAC2C;;;;;;;;;;;;;;CAcM,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE7D,0EAA0E;AAC1E,eAAO,MAAM,UAAU,EAAoC,gBAAgB,EAAE,CAAC"}
|
package/dist/presets.js
CHANGED
|
@@ -382,6 +382,15 @@ export const PROVIDER_PRESETS = {
|
|
|
382
382
|
* model id was wrong. `session-id` is the header the official Codex client
|
|
383
383
|
* sends; the backend keys its prompt cache on it (cc-proxy, in daily use
|
|
384
384
|
* against this backend, 2026-09).
|
|
385
|
+
*
|
|
386
|
+
* The backend retires models without notice, and models.dev doesn't list
|
|
387
|
+
* this backend, so `refresh-presets` can't catch the drift. By 2026-10-01 the
|
|
388
|
+
* default here (gpt-5.3-codex) and two of the other three listed ids
|
|
389
|
+
* answered 400 "not supported when using Codex with a ChatGPT account": a
|
|
390
|
+
* caller who took the default failed on every call. This list is what the
|
|
391
|
+
* backend accepted that day. It checks the model before the quota, so an
|
|
392
|
+
* account with its window spent still tells the two apart: 400 for a
|
|
393
|
+
* rejected model, 429 for an accepted one.
|
|
385
394
|
*/
|
|
386
395
|
chatgpt: {
|
|
387
396
|
shape: "responses",
|
|
@@ -389,8 +398,17 @@ export const PROVIDER_PRESETS = {
|
|
|
389
398
|
path: "/responses",
|
|
390
399
|
sessionHeader: "session-id",
|
|
391
400
|
auth: "oauth",
|
|
392
|
-
defaultModel: "gpt-
|
|
393
|
-
models: [
|
|
401
|
+
defaultModel: "gpt-6-sol",
|
|
402
|
+
models: [
|
|
403
|
+
"gpt-6-sol",
|
|
404
|
+
"gpt-6.1-sol",
|
|
405
|
+
"gpt-6-astra",
|
|
406
|
+
"gpt-6-luna",
|
|
407
|
+
"gpt-5.6-sol",
|
|
408
|
+
"gpt-5.6-terra",
|
|
409
|
+
"gpt-5.6-luna",
|
|
410
|
+
"gpt-5.5",
|
|
411
|
+
],
|
|
394
412
|
},
|
|
395
413
|
/**
|
|
396
414
|
* A Grok subscription (SuperGrok, X Premium) — the backend the Grok CLI
|
|
@@ -415,6 +433,10 @@ export const PROVIDER_PRESETS = {
|
|
|
415
433
|
"x-grok-client-identifier": "grok-shell",
|
|
416
434
|
"x-grok-client-version": "0.2.93",
|
|
417
435
|
},
|
|
436
|
+
// Measured by cc-proxy on 2026-07-20: an 8x8 image fails the whole request,
|
|
437
|
+
// 32x32 passes. Too small, over 5 MB decoded, WebP (its size can't be read)
|
|
438
|
+
// or older than the last four: each becomes a note instead.
|
|
439
|
+
imageLimits: { minSide: 8, minArea: 512, maxDecodedBytes: 5 * 1024 * 1024, maxImages: 4 },
|
|
418
440
|
},
|
|
419
441
|
/** Kimi's coding endpoint reached with a subscription token instead of a
|
|
420
442
|
* key — Kimi bills the two separately. */
|
package/dist/presets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"AAgBA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAClE;qEACiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf;4EACwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;8EAE0E;IAC1E,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;4CACwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;uDAGmD;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"AAgBA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAClE;qEACiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf;4EACwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;8EAE0E;IAC1E,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;4CACwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;uDAGmD;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,GAAG,QAAQ,CAwGjG"}
|
|
@@ -91,6 +91,7 @@ export function createPresetProvider(id, config) {
|
|
|
91
91
|
id,
|
|
92
92
|
headers,
|
|
93
93
|
...(preset.sessionHeader ? { sessionHeader: preset.sessionHeader } : {}),
|
|
94
|
+
...(preset.imageLimits ? { imageLimits: preset.imageLimits } : {}),
|
|
94
95
|
fetchImpl: config.fetchImpl,
|
|
95
96
|
});
|
|
96
97
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ChatMessage, Effort, Provider } from "../types.ts";
|
|
2
2
|
import { type ProviderFallbackConfig } from "../fallback.ts";
|
|
3
|
+
import { type ImageLimits } from "../image.ts";
|
|
3
4
|
export interface ResponsesConfig extends ProviderFallbackConfig {
|
|
4
5
|
apiKey: string;
|
|
5
6
|
model: string;
|
|
@@ -25,6 +26,9 @@ export interface ResponsesConfig extends ProviderFallbackConfig {
|
|
|
25
26
|
* user is told the model id does not exist when the path was the problem.
|
|
26
27
|
*/
|
|
27
28
|
path?: string;
|
|
29
|
+
/** What this backend accepts as an image. Each image it would refuse is
|
|
30
|
+
* replaced by a note naming the reason, instead of failing the request. */
|
|
31
|
+
imageLimits?: ImageLimits;
|
|
28
32
|
}
|
|
29
33
|
/**
|
|
30
34
|
* Flatten a history into `instructions` plus the input item list.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/providers/responses.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,WAAW,EAEX,MAAM,EAGN,QAAQ,EAIT,MAAM,aAAa,CAAC;AAGrB,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/providers/responses.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,WAAW,EAEX,MAAM,EAGN,QAAQ,EAIT,MAAM,aAAa,CAAC;AAGrB,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;mFAC+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;6EACyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;gFAC4E;IAC5E,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAiED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,QAAQ,SAAqB,GAC5B;IACD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB,CA2DA;AA2HD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAoUzE"}
|
|
@@ -15,6 +15,7 @@ import { streamSse, apiUrl } from "../transport.js";
|
|
|
15
15
|
import { toDataUri } from "../types.js";
|
|
16
16
|
import { isStrictSchema, withoutPatterns } from "../schema.js";
|
|
17
17
|
import { withConfiguredFallbacks } from "../fallback.js";
|
|
18
|
+
import { gateImages } from "../image.js";
|
|
18
19
|
const DEFAULT_BASE_URL = "https://api.openai.com";
|
|
19
20
|
const DEFAULT_PATH = "/v1/responses";
|
|
20
21
|
const MUSE_SPARK_CONTRIBUTOR = "muse-spark-1.3-contributor";
|
|
@@ -186,7 +187,7 @@ export function createResponsesProvider(config) {
|
|
|
186
187
|
const model = opts.model ?? config.model;
|
|
187
188
|
const museContributor = isMuseSparkContributor(model);
|
|
188
189
|
const requestTools = museContributor && opts.toolChoice === "none" ? [] : tools;
|
|
189
|
-
const { instructions, input } = toResponsesInput(messages, id);
|
|
190
|
+
const { instructions, input } = toResponsesInput(config.imageLimits ? gateImages(messages, config.imageLimits) : messages, id);
|
|
190
191
|
const request = {
|
|
191
192
|
model,
|
|
192
193
|
input,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/providers/responses.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/providers/responses.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/image.ts
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
// Keeping images a backend would refuse out of the request.
|
|
2
|
+
//
|
|
3
|
+
// Some backends fail the WHOLE request over one image they won't take — too
|
|
4
|
+
// small, too large, a format they can't size. The image is replaced with a
|
|
5
|
+
// note the model reads, `[image omitted: image/webp] (<reason>)`, so the turn
|
|
6
|
+
// still runs and the model knows something was there. Never a silent drop: a
|
|
7
|
+
// model answering about a screenshot it never saw is worse than one told why.
|
|
8
|
+
//
|
|
9
|
+
// Sizes come from the file header alone; nothing here decodes pixels. Ported
|
|
10
|
+
// from cc-proxy's Grok translator, where the limits were measured.
|
|
11
|
+
import type { ChatMessage, ContentPart, ImageMimeType, ImagePart } from "./types.ts";
|
|
12
|
+
|
|
13
|
+
/** What a backend accepts as an image. Every limit is measured on the backend. */
|
|
14
|
+
export interface ImageLimits {
|
|
15
|
+
/** Smallest side, in pixels. */
|
|
16
|
+
minSide: number;
|
|
17
|
+
/** Smallest area, in square pixels. */
|
|
18
|
+
minArea: number;
|
|
19
|
+
/** Largest decoded size — width × height × bytes per pixel — in bytes. */
|
|
20
|
+
maxDecodedBytes: number;
|
|
21
|
+
/** Most images in one request. The newest win; older ones become notes. */
|
|
22
|
+
maxImages: number;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface Raster {
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
/** Conservative: room for alpha whenever the format may carry it. */
|
|
29
|
+
bytesPerPixel: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
type RasterReader = (bytes: Uint8Array) => Raster | undefined;
|
|
33
|
+
|
|
34
|
+
const MIB = 1024 * 1024;
|
|
35
|
+
const PNG_SIGNATURE = [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a];
|
|
36
|
+
/** By bit depth. */
|
|
37
|
+
const PNG_BYTES_PER_CHANNEL: Record<number, number> = { 1: 1, 2: 1, 4: 1, 8: 1, 16: 2 };
|
|
38
|
+
/** By color type. Grayscale and RGB may still carry transparency in a tRNS
|
|
39
|
+
* chunk, so each gets an alpha channel's room. */
|
|
40
|
+
const PNG_CHANNELS: Record<number, number> = { 0: 2, 2: 4, 3: 4, 4: 2, 6: 4 };
|
|
41
|
+
|
|
42
|
+
function view(bytes: Uint8Array): DataView {
|
|
43
|
+
return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function ascii(bytes: Uint8Array, start: number, end: number): string {
|
|
47
|
+
return String.fromCharCode(...bytes.subarray(start, end));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function pngRaster(bytes: Uint8Array): Raster | undefined {
|
|
51
|
+
// Signature (8), IHDR length (4), "IHDR" (4), then the IHDR fields.
|
|
52
|
+
if (bytes.length < 26 || PNG_SIGNATURE.some((byte, i) => bytes[i] !== byte)) return undefined;
|
|
53
|
+
const data = view(bytes);
|
|
54
|
+
if (data.getUint32(8) !== 13 || ascii(bytes, 12, 16) !== "IHDR") return undefined;
|
|
55
|
+
const bytesPerChannel = PNG_BYTES_PER_CHANNEL[bytes[24]!];
|
|
56
|
+
const channels = PNG_CHANNELS[bytes[25]!];
|
|
57
|
+
if (!bytesPerChannel || !channels) return undefined;
|
|
58
|
+
return {
|
|
59
|
+
width: data.getUint32(16),
|
|
60
|
+
height: data.getUint32(20),
|
|
61
|
+
bytesPerPixel: bytesPerChannel * channels,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function gifRaster(bytes: Uint8Array): Raster | undefined {
|
|
66
|
+
if (bytes.length < 10) return undefined;
|
|
67
|
+
const signature = ascii(bytes, 0, 6);
|
|
68
|
+
if (signature !== "GIF87a" && signature !== "GIF89a") return undefined;
|
|
69
|
+
const data = view(bytes);
|
|
70
|
+
return { width: data.getUint16(6, true), height: data.getUint16(8, true), bytesPerPixel: 4 };
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function jpegRaster(bytes: Uint8Array): Raster | undefined {
|
|
74
|
+
// Walk the segments after SOI to the first frame header (SOF).
|
|
75
|
+
if (bytes.length < 4 || bytes[0] !== 0xff || bytes[1] !== 0xd8) return undefined;
|
|
76
|
+
const data = view(bytes);
|
|
77
|
+
let cursor = 2;
|
|
78
|
+
while (cursor + 4 <= bytes.length) {
|
|
79
|
+
if (bytes[cursor] !== 0xff) return undefined;
|
|
80
|
+
const marker = bytes[cursor + 1]!;
|
|
81
|
+
// Standalone markers carry no length field.
|
|
82
|
+
if (marker === 0xd8 || marker === 0x01 || (marker >= 0xd0 && marker <= 0xd7)) {
|
|
83
|
+
cursor += 2;
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
const length = data.getUint16(cursor + 2);
|
|
87
|
+
if (length < 2 || cursor + 2 + length > bytes.length) return undefined;
|
|
88
|
+
// SOF0..SOF15, minus DHT (c4), JPG (c8) and DAC (cc), which share the range.
|
|
89
|
+
const isFrame = marker >= 0xc0 && marker <= 0xcf && ![0xc4, 0xc8, 0xcc].includes(marker);
|
|
90
|
+
if (isFrame) {
|
|
91
|
+
// Length (2), precision (1), height (2), width (2), components (1).
|
|
92
|
+
const components = bytes[cursor + 9] ?? 0;
|
|
93
|
+
if (length < 8 || components === 0 || length < 8 + 3 * components) return undefined;
|
|
94
|
+
return {
|
|
95
|
+
width: data.getUint16(cursor + 7),
|
|
96
|
+
height: data.getUint16(cursor + 5),
|
|
97
|
+
bytesPerPixel: Math.ceil(bytes[cursor + 4]! / 8) * components,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
cursor += 2 + length;
|
|
101
|
+
}
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// No reader for WebP: its size can't be checked, and an image that can't be
|
|
106
|
+
// checked can fail the whole request, so it becomes a note like any other.
|
|
107
|
+
const RASTER_READERS: Partial<Record<ImageMimeType, RasterReader>> = {
|
|
108
|
+
"image/png": pngRaster,
|
|
109
|
+
"image/jpeg": jpegRaster,
|
|
110
|
+
"image/gif": gifRaster,
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
function mb(bytes: number): string {
|
|
114
|
+
return `${Number((bytes / MIB).toFixed(1))}MB`;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/** Why the backend would refuse this image, or undefined when it would take it. */
|
|
118
|
+
function refusal(image: ImagePart, limits: ImageLimits): string | undefined {
|
|
119
|
+
let bytes: Uint8Array;
|
|
120
|
+
try {
|
|
121
|
+
bytes = Uint8Array.from(atob(image.data), (char) => char.charCodeAt(0));
|
|
122
|
+
} catch {
|
|
123
|
+
return "undecodable base64";
|
|
124
|
+
}
|
|
125
|
+
const raster = RASTER_READERS[image.mimeType]?.(bytes);
|
|
126
|
+
if (!raster) return `unreadable dimensions for ${image.mimeType}`;
|
|
127
|
+
const { width, height } = raster;
|
|
128
|
+
const size = `${width}x${height}`;
|
|
129
|
+
if (Math.min(width, height) < limits.minSide) {
|
|
130
|
+
return `${size} below minimum side ${limits.minSide}px`;
|
|
131
|
+
}
|
|
132
|
+
if (width * height < limits.minArea) return `${size} below minimum area ${limits.minArea}px`;
|
|
133
|
+
const decoded = width * height * raster.bytesPerPixel;
|
|
134
|
+
if (decoded > limits.maxDecodedBytes) {
|
|
135
|
+
return `${size} too large (decoded ~${mb(decoded)} > ${mb(limits.maxDecodedBytes)} cap)`;
|
|
136
|
+
}
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function imagesOf(message: ChatMessage): ImagePart[] {
|
|
141
|
+
if (message.role === "tool") return message.images ?? [];
|
|
142
|
+
if (message.role === "user" && typeof message.content !== "string") {
|
|
143
|
+
return message.content.filter((part): part is ImagePart => part.type === "image");
|
|
144
|
+
}
|
|
145
|
+
return [];
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function omitted(image: ImagePart, reason: string): string {
|
|
149
|
+
return `[image omitted: ${image.mimeType}] (${reason})`;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* The history with every image the limits refuse replaced by a note naming the
|
|
154
|
+
* reason. In a user turn the note takes the image's place; in a tool result it
|
|
155
|
+
* joins the result's text. Of the images that pass, only the newest
|
|
156
|
+
* `maxImages` stay, so the latest screenshot is the one the model sees.
|
|
157
|
+
*/
|
|
158
|
+
export function gateImages(messages: readonly ChatMessage[], limits: ImageLimits): ChatMessage[] {
|
|
159
|
+
// One verdict per image, in conversation order: a reason, or undefined to
|
|
160
|
+
// keep it. Past the cap, the oldest images that pass give way.
|
|
161
|
+
const verdicts = messages.flatMap(imagesOf).map((image) => refusal(image, limits));
|
|
162
|
+
let surplus = verdicts.filter((reason) => reason === undefined).length - limits.maxImages;
|
|
163
|
+
for (let i = 0; surplus > 0; i++) {
|
|
164
|
+
if (verdicts[i] !== undefined) continue;
|
|
165
|
+
verdicts[i] = `only the last ${limits.maxImages} images are attached per request`;
|
|
166
|
+
surplus--;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
let next = 0;
|
|
170
|
+
return messages.map((message): ChatMessage => {
|
|
171
|
+
if (message.role === "user" && typeof message.content !== "string") {
|
|
172
|
+
const content = message.content.map((part): ContentPart => {
|
|
173
|
+
if (part.type !== "image") return part;
|
|
174
|
+
const reason = verdicts[next++];
|
|
175
|
+
return reason === undefined ? part : { type: "text", text: omitted(part, reason) };
|
|
176
|
+
});
|
|
177
|
+
return { ...message, content };
|
|
178
|
+
}
|
|
179
|
+
if (message.role === "tool" && message.images?.length) {
|
|
180
|
+
const images: ImagePart[] = [];
|
|
181
|
+
const notes: string[] = [];
|
|
182
|
+
for (const image of message.images) {
|
|
183
|
+
const reason = verdicts[next++];
|
|
184
|
+
if (reason === undefined) images.push(image);
|
|
185
|
+
else notes.push(omitted(image, reason));
|
|
186
|
+
}
|
|
187
|
+
if (notes.length === 0) return message;
|
|
188
|
+
const content = [message.content, ...notes].filter(Boolean).join("\n");
|
|
189
|
+
return { ...message, content, images };
|
|
190
|
+
}
|
|
191
|
+
return message;
|
|
192
|
+
});
|
|
193
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -11,6 +11,7 @@ export * from "./tool-args.ts";
|
|
|
11
11
|
export * from "./tools.ts";
|
|
12
12
|
export * from "./schema.ts";
|
|
13
13
|
export * from "./context.ts";
|
|
14
|
+
export * from "./image.ts";
|
|
14
15
|
export * from "./capability.ts";
|
|
15
16
|
export * from "./attribution.ts";
|
|
16
17
|
export * from "./presets.ts";
|
package/src/presets.ts
CHANGED
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
* (`https://<resource>.openai.azure.com`), so no static preset can carry it —
|
|
19
19
|
* point createOpenAIProvider's baseUrl at your resource instead.
|
|
20
20
|
*/
|
|
21
|
+
import type { ImageLimits } from "./image.ts";
|
|
22
|
+
|
|
21
23
|
export type PresetShape = "anthropic" | "openai" | "responses" | "gemini";
|
|
22
24
|
|
|
23
25
|
/**
|
|
@@ -71,6 +73,9 @@ export interface ProviderPreset {
|
|
|
71
73
|
/** Default model chain when the caller names neither `model` nor `models`:
|
|
72
74
|
* the first answers, the rest take over (same key) when it fails. */
|
|
73
75
|
rotation?: readonly string[];
|
|
76
|
+
/** Responses shape: what the backend accepts as an image, for backends that
|
|
77
|
+
* fail a whole request over one image they won't take. */
|
|
78
|
+
imageLimits?: ImageLimits;
|
|
74
79
|
}
|
|
75
80
|
|
|
76
81
|
export const PROVIDER_PRESETS = {
|
|
@@ -461,6 +466,15 @@ export const PROVIDER_PRESETS = {
|
|
|
461
466
|
* model id was wrong. `session-id` is the header the official Codex client
|
|
462
467
|
* sends; the backend keys its prompt cache on it (cc-proxy, in daily use
|
|
463
468
|
* against this backend, 2026-09).
|
|
469
|
+
*
|
|
470
|
+
* The backend retires models without notice, and models.dev doesn't list
|
|
471
|
+
* this backend, so `refresh-presets` can't catch the drift. By 2026-10-01 the
|
|
472
|
+
* default here (gpt-5.3-codex) and two of the other three listed ids
|
|
473
|
+
* answered 400 "not supported when using Codex with a ChatGPT account": a
|
|
474
|
+
* caller who took the default failed on every call. This list is what the
|
|
475
|
+
* backend accepted that day. It checks the model before the quota, so an
|
|
476
|
+
* account with its window spent still tells the two apart: 400 for a
|
|
477
|
+
* rejected model, 429 for an accepted one.
|
|
464
478
|
*/
|
|
465
479
|
chatgpt: {
|
|
466
480
|
shape: "responses",
|
|
@@ -468,8 +482,17 @@ export const PROVIDER_PRESETS = {
|
|
|
468
482
|
path: "/responses",
|
|
469
483
|
sessionHeader: "session-id",
|
|
470
484
|
auth: "oauth",
|
|
471
|
-
defaultModel: "gpt-
|
|
472
|
-
models: [
|
|
485
|
+
defaultModel: "gpt-6-sol",
|
|
486
|
+
models: [
|
|
487
|
+
"gpt-6-sol",
|
|
488
|
+
"gpt-6.1-sol",
|
|
489
|
+
"gpt-6-astra",
|
|
490
|
+
"gpt-6-luna",
|
|
491
|
+
"gpt-5.6-sol",
|
|
492
|
+
"gpt-5.6-terra",
|
|
493
|
+
"gpt-5.6-luna",
|
|
494
|
+
"gpt-5.5",
|
|
495
|
+
],
|
|
473
496
|
},
|
|
474
497
|
/**
|
|
475
498
|
* A Grok subscription (SuperGrok, X Premium) — the backend the Grok CLI
|
|
@@ -494,6 +517,10 @@ export const PROVIDER_PRESETS = {
|
|
|
494
517
|
"x-grok-client-identifier": "grok-shell",
|
|
495
518
|
"x-grok-client-version": "0.2.93",
|
|
496
519
|
},
|
|
520
|
+
// Measured by cc-proxy on 2026-07-20: an 8x8 image fails the whole request,
|
|
521
|
+
// 32x32 passes. Too small, over 5 MB decoded, WebP (its size can't be read)
|
|
522
|
+
// or older than the last four: each becomes a note instead.
|
|
523
|
+
imageLimits: { minSide: 8, minArea: 512, maxDecodedBytes: 5 * 1024 * 1024, maxImages: 4 },
|
|
497
524
|
},
|
|
498
525
|
/** Kimi's coding endpoint reached with a subscription token instead of a
|
|
499
526
|
* key — Kimi bills the two separately. */
|
package/src/providers/factory.ts
CHANGED
|
@@ -145,6 +145,7 @@ export function createPresetProvider(id: ProviderPresetId, config: PresetProvide
|
|
|
145
145
|
id,
|
|
146
146
|
headers,
|
|
147
147
|
...(preset.sessionHeader ? { sessionHeader: preset.sessionHeader } : {}),
|
|
148
|
+
...(preset.imageLimits ? { imageLimits: preset.imageLimits } : {}),
|
|
148
149
|
fetchImpl: config.fetchImpl,
|
|
149
150
|
});
|
|
150
151
|
break;
|
|
@@ -26,6 +26,7 @@ import type {
|
|
|
26
26
|
import { toDataUri } from "../types.ts";
|
|
27
27
|
import { isStrictSchema, withoutPatterns } from "../schema.ts";
|
|
28
28
|
import { withConfiguredFallbacks, type ProviderFallbackConfig } from "../fallback.ts";
|
|
29
|
+
import { gateImages, type ImageLimits } from "../image.ts";
|
|
29
30
|
|
|
30
31
|
export interface ResponsesConfig extends ProviderFallbackConfig {
|
|
31
32
|
apiKey: string;
|
|
@@ -52,6 +53,9 @@ export interface ResponsesConfig extends ProviderFallbackConfig {
|
|
|
52
53
|
* user is told the model id does not exist when the path was the problem.
|
|
53
54
|
*/
|
|
54
55
|
path?: string;
|
|
56
|
+
/** What this backend accepts as an image. Each image it would refuse is
|
|
57
|
+
* replaced by a note naming the reason, instead of failing the request. */
|
|
58
|
+
imageLimits?: ImageLimits;
|
|
55
59
|
}
|
|
56
60
|
|
|
57
61
|
const DEFAULT_BASE_URL = "https://api.openai.com";
|
|
@@ -331,7 +335,10 @@ export function createResponsesProvider(config: ResponsesConfig): Provider {
|
|
|
331
335
|
const model = opts.model ?? config.model;
|
|
332
336
|
const museContributor = isMuseSparkContributor(model);
|
|
333
337
|
const requestTools = museContributor && opts.toolChoice === "none" ? [] : tools;
|
|
334
|
-
const { instructions, input } = toResponsesInput(
|
|
338
|
+
const { instructions, input } = toResponsesInput(
|
|
339
|
+
config.imageLimits ? gateImages(messages, config.imageLimits) : messages,
|
|
340
|
+
id,
|
|
341
|
+
);
|
|
335
342
|
|
|
336
343
|
const request: Record<string, unknown> = {
|
|
337
344
|
model,
|