pi-clawbay 0.0.26 → 0.0.27
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/README.md +14 -13
- package/dist/image-generation.d.ts.map +1 -1
- package/dist/image-generation.js +71 -228
- package/dist/image-generation.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ A provider extension for [Pi Coding Agent](https://github.com/earendil-works/pi)
|
|
|
8
8
|
- **Gemini Models** - Dynamically discovered `gemini-*` models use Pi's native Google transport against TheClawBay's `/v1beta` route, including Pi-compatible thinking support by default
|
|
9
9
|
- **Single Provider** - Only `theclawbay` is registered; routing is selected per model
|
|
10
10
|
- **GPT-5.4 Split Options** - `gpt-5.4` and `gpt-5.4[1m]` for clearer cost/context choice
|
|
11
|
-
- **GPT Image 2** - Generate PNG images through TheClawBay's
|
|
11
|
+
- **GPT Image 2** - Generate PNG images through TheClawBay's direct OpenAI-compatible Images API
|
|
12
12
|
- **High Usage Headroom** - More capacity than standard subscriptions
|
|
13
13
|
- **Simple Setup** - Single API key
|
|
14
14
|
|
|
@@ -71,10 +71,10 @@ The extension keeps one Pi provider, `theclawbay`, and routes by model family:
|
|
|
71
71
|
- `baseUrl: "https://api.theclawbay.com/v1beta"`
|
|
72
72
|
- `reasoning: true` for the Gemini IDs that Pi's official Google provider marks as thinking-capable (`gemini-2.5-*`, `gemini-live-2.5-*`, `gemini-flash-latest`, `gemini-flash-lite-latest`, `gemini-3*-flash*`, and `gemini-3*-pro*`)
|
|
73
73
|
- Pi then uses its native Google SDK transport (`/v1beta/models/{model}:streamGenerateContent?alt=sse`) instead of the Codex transport. This is required because sending Gemini models to `https://api.theclawbay.com/backend-api/codex/responses` returns `404 upstream returned HTTP 404`.
|
|
74
|
-
- **Image generation** (`gpt-image-2`) uses TheClawBay's
|
|
75
|
-
- `https://api.theclawbay.com/
|
|
74
|
+
- **Image generation** (`gpt-image-2`) uses TheClawBay's direct OpenAI-compatible Images route:
|
|
75
|
+
- `https://api.theclawbay.com/v1/images/generations`
|
|
76
76
|
|
|
77
|
-
For GPT/Codex
|
|
77
|
+
For GPT/Codex text requests, the extension keeps the native Codex semantics that are needed for existing behavior:
|
|
78
78
|
|
|
79
79
|
- `Authorization: Bearer $THECLAWBAY_API_KEY`
|
|
80
80
|
- `chatgpt-account-id: theclawbay`
|
|
@@ -85,11 +85,12 @@ For GPT/Codex and hosted image requests, the extension keeps the native Codex se
|
|
|
85
85
|
- `include: ["reasoning.encrypted_content"]`
|
|
86
86
|
- `store: false`
|
|
87
87
|
|
|
88
|
-
For `gpt-image-2`, the request
|
|
88
|
+
For `gpt-image-2`, the request follows the current TheClawBay docs and sends a direct Images API payload:
|
|
89
89
|
|
|
90
|
-
- `
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
- `model: "gpt-image-2"`
|
|
91
|
+
- `prompt: <latest user prompt>`
|
|
92
|
+
- `size: "1024x1024"`
|
|
93
|
+
- `n: 1`
|
|
93
94
|
|
|
94
95
|
### Gemini Thinking
|
|
95
96
|
|
|
@@ -138,7 +139,7 @@ Why split it?
|
|
|
138
139
|
- `gpt-5.4[1m]` is configured with a `1,050,000` token context window.
|
|
139
140
|
- Current non-5.4 GPT-5/Codex variants default to `272,000` context and `128,000` max output tokens.
|
|
140
141
|
- Gemini variants discovered from `/v1/models` use Pi's Google transport with `1,048,576` context and `65,536` max output tokens.
|
|
141
|
-
- `gpt-image-2` uses the
|
|
142
|
+
- `gpt-image-2` uses the direct `/v1/images/generations` path with `1024x1024` PNG output, `272,000` context metadata, and `65,536` max output metadata.
|
|
142
143
|
|
|
143
144
|
### Example Model List
|
|
144
145
|
|
|
@@ -157,7 +158,7 @@ Current fallback list in this package, used only when live discovery and cache a
|
|
|
157
158
|
|
|
158
159
|
Live discovery may add newer GPT/Codex and Gemini models such as `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-3.1-pro-preview`, or `gemini-3-flash-preview` when TheClawBay exposes them for your account.
|
|
159
160
|
|
|
160
|
-
`gpt-image-2` is exposed because TheClawBay's latest
|
|
161
|
+
`gpt-image-2` is exposed because TheClawBay's latest docs list it as the direct image-generation model for `POST /v1/images/generations`. Other native image-generation models returned by discovery, such as `gpt-image-1.5`, remain hidden until this extension has a dedicated, tested flow for them.
|
|
161
162
|
|
|
162
163
|
## Usage
|
|
163
164
|
|
|
@@ -173,7 +174,7 @@ Use `/model` command in pi:
|
|
|
173
174
|
/model theclawbay/gpt-image-2
|
|
174
175
|
```
|
|
175
176
|
|
|
176
|
-
Gemini model IDs appear only when TheClawBay returns them from live discovery or the local discovery cache. When `gpt-image-2` is selected, Pi receives a normal assistant message event sequence and the generated PNG is saved locally. Set `PI_CLAWBAY_IMAGE_DIR` to override the output directory; otherwise images are saved under Pi's generated-files directory. Transient
|
|
177
|
+
Gemini model IDs appear only when TheClawBay returns them from live discovery or the local discovery cache. When `gpt-image-2` is selected, Pi receives a normal assistant message event sequence and the generated PNG is saved locally. Set `PI_CLAWBAY_IMAGE_DIR` to override the output directory; otherwise images are saved under Pi's generated-files directory. Transient direct image failures are retried up to 5 times by default.
|
|
177
178
|
|
|
178
179
|
### Commands
|
|
179
180
|
|
|
@@ -214,11 +215,11 @@ export default function (pi: ExtensionAPI) {
|
|
|
214
215
|
|--------------|------------------|----------|
|
|
215
216
|
| `theclawbay/gpt-*`, `theclawbay/*codex*` | `https://api.theclawbay.com/backend-api/codex` | Custom Codex Responses transport (`theclawbay-codex-responses`) |
|
|
216
217
|
| `theclawbay/gemini-*` | `https://api.theclawbay.com/v1beta` | Pi `google-generative-ai` transport |
|
|
217
|
-
| `theclawbay/gpt-image-2` | `https://api.theclawbay.com/
|
|
218
|
+
| `theclawbay/gpt-image-2` | `https://api.theclawbay.com/v1/images/generations` | Direct OpenAI-compatible Images API |
|
|
218
219
|
|
|
219
220
|
### Authentication
|
|
220
221
|
|
|
221
|
-
All model families use the same `THECLAWBAY_API_KEY` value. GPT/Codex and
|
|
222
|
+
All model families use the same `THECLAWBAY_API_KEY` value. GPT/Codex and direct image requests use Bearer token authentication:
|
|
222
223
|
|
|
223
224
|
```text
|
|
224
225
|
Authorization: Bearer THECLAWBAY_API_KEY
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-generation.d.ts","sourceRoot":"","sources":["../src/image-generation.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,GAAG,EAER,KAAK,2BAA2B,EAChC,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,mBAAmB,EACxB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"image-generation.d.ts","sourceRoot":"","sources":["../src/image-generation.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,GAAG,EAER,KAAK,2BAA2B,EAChC,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,mBAAmB,EACxB,MAAM,uBAAuB,CAAC;AAqB/B,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AA4ND,wBAAgB,qCAAqC,CACpD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,2BAA2B,CAkC7B"}
|
package/dist/image-generation.js
CHANGED
|
@@ -3,21 +3,10 @@ import { mkdirSync, writeFileSync } from "node:fs";
|
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { createAssistantMessageEventStream, } from "@earendil-works/pi-ai";
|
|
6
|
-
import {
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const ALLOW_PARTIAL_ENV = "PI_CLAWBAY_IMAGE_ALLOW_PARTIAL";
|
|
11
|
-
class HostedImageGenerationStreamError extends Error {
|
|
12
|
-
partial;
|
|
13
|
-
retryable;
|
|
14
|
-
constructor(message, options) {
|
|
15
|
-
super(message);
|
|
16
|
-
this.name = "HostedImageGenerationStreamError";
|
|
17
|
-
this.partial = options?.partial;
|
|
18
|
-
this.retryable = options?.retryable ?? false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
6
|
+
import { THECLAWBAY_IMAGES_GENERATIONS_URL } from "./constants.js";
|
|
7
|
+
const DEFAULT_DIRECT_IMAGE_MAX_RETRIES = 5;
|
|
8
|
+
const DIRECT_IMAGE_SIZE = "1024x1024";
|
|
9
|
+
const RETRY_PROGRESS_MESSAGE = "⚠️ Image service was temporarily busy. Retrying…\n";
|
|
21
10
|
export function getImageOutputDir() {
|
|
22
11
|
const overrideDir = process.env.PI_CLAWBAY_IMAGE_DIR?.trim();
|
|
23
12
|
if (overrideDir) {
|
|
@@ -72,11 +61,8 @@ function saveGeneratedPng(base64) {
|
|
|
72
61
|
writeFileSync(path, image, "binary");
|
|
73
62
|
return { path, bytes: image.byteLength };
|
|
74
63
|
}
|
|
75
|
-
function formatSuccessMessage(path, bytes, revisedPrompt
|
|
64
|
+
function formatSuccessMessage(path, bytes, revisedPrompt) {
|
|
76
65
|
const lines = [`Generated image saved to \`${path}\` (${bytes.toLocaleString()} bytes).`];
|
|
77
|
-
if (usedPartial) {
|
|
78
|
-
lines.push("Saved latest partial image because the final image was unavailable.");
|
|
79
|
-
}
|
|
80
66
|
if (revisedPrompt) {
|
|
81
67
|
lines.push(`Revised prompt: ${revisedPrompt}`);
|
|
82
68
|
}
|
|
@@ -88,263 +74,120 @@ async function requestImageGeneration(model, context, options, onProgress) {
|
|
|
88
74
|
throw new Error("No API key for provider: theclawbay");
|
|
89
75
|
}
|
|
90
76
|
onProgress?.("🎨 Preparing image request…\n");
|
|
91
|
-
const body = await
|
|
92
|
-
const payload = await
|
|
77
|
+
const body = await buildDirectImageRequestBody(model, context, options);
|
|
78
|
+
const payload = await fetchDirectImageGeneration(model, apiKey, body, options, onProgress);
|
|
93
79
|
onProgress?.("💾 Saving final image…\n");
|
|
94
80
|
const saved = saveGeneratedPng(payload.base64);
|
|
95
|
-
return { ...saved, revisedPrompt: payload.revisedPrompt
|
|
81
|
+
return { ...saved, revisedPrompt: payload.revisedPrompt };
|
|
96
82
|
}
|
|
97
|
-
async function
|
|
83
|
+
async function buildDirectImageRequestBody(model, context, options) {
|
|
98
84
|
const prompt = extractPrompt(context);
|
|
99
85
|
if (!prompt) {
|
|
100
86
|
throw new Error("gpt-image-2 requires a non-empty user prompt");
|
|
101
87
|
}
|
|
102
88
|
const body = {
|
|
103
|
-
model:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
input: [{ role: "user", content: [{ type: "input_text", text: prompt }] }],
|
|
108
|
-
tools: [
|
|
109
|
-
{
|
|
110
|
-
type: "image_generation",
|
|
111
|
-
model: model.id,
|
|
112
|
-
output_format: "png",
|
|
113
|
-
size: "1024x1024",
|
|
114
|
-
partial_images: HOSTED_IMAGE_PARTIAL_COUNT,
|
|
115
|
-
},
|
|
116
|
-
],
|
|
117
|
-
tool_choice: "auto",
|
|
118
|
-
parallel_tool_calls: true,
|
|
119
|
-
text: { verbosity: "low" },
|
|
120
|
-
include: ["reasoning.encrypted_content"],
|
|
121
|
-
...(options?.sessionId ? { prompt_cache_key: options.sessionId } : {}),
|
|
89
|
+
model: model.id,
|
|
90
|
+
prompt,
|
|
91
|
+
size: DIRECT_IMAGE_SIZE,
|
|
92
|
+
n: 1,
|
|
122
93
|
};
|
|
123
94
|
return (await options?.onPayload?.(body, model)) ?? body;
|
|
124
95
|
}
|
|
125
|
-
function
|
|
96
|
+
function buildDirectRequestHeaders(apiKey, options) {
|
|
126
97
|
return {
|
|
127
98
|
...(options?.headers ?? {}),
|
|
128
99
|
Authorization: `Bearer ${apiKey}`,
|
|
129
100
|
"Content-Type": "application/json",
|
|
130
|
-
"chatgpt-account-id": THECLAWBAY_CHATGPT_ACCOUNT_ID,
|
|
131
|
-
originator: "pi",
|
|
132
|
-
"OpenAI-Beta": "responses=experimental",
|
|
133
|
-
...(options?.sessionId ? { session_id: options.sessionId } : {}),
|
|
134
101
|
};
|
|
135
102
|
}
|
|
136
|
-
function
|
|
137
|
-
const requestModelId = getImageResponsesModelId();
|
|
138
|
-
return {
|
|
139
|
-
...model,
|
|
140
|
-
id: requestModelId,
|
|
141
|
-
name: requestModelId,
|
|
142
|
-
reasoning: true,
|
|
143
|
-
input: [...MODEL_INPUTS],
|
|
144
|
-
cost: OPENAI_KNOWN_COSTS[requestModelId] ?? model.cost,
|
|
145
|
-
thinkingLevelMap: { ...OPENAI_CODEX_THINKING_LEVEL_MAP },
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
function getImageResponsesModelId() {
|
|
149
|
-
return process.env.PI_CLAWBAY_IMAGE_RESPONSES_MODEL?.trim() || DEFAULT_IMAGE_RESPONSES_MODEL_ID;
|
|
150
|
-
}
|
|
151
|
-
async function fetchHostedImageGeneration(model, apiKey, body, options, onProgress) {
|
|
152
|
-
let latestPartial;
|
|
103
|
+
async function fetchDirectImageGeneration(model, apiKey, body, options, onProgress) {
|
|
153
104
|
let lastError;
|
|
154
|
-
const maxRetries =
|
|
105
|
+
const maxRetries = getDirectImageMaxRetries();
|
|
155
106
|
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
156
107
|
onProgress?.("🖌️ Generating image…\n");
|
|
157
|
-
const response = await
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
});
|
|
163
|
-
await options?.onResponse?.({ status: response.status, headers: headersToRecord(response.headers) }, createHostedRequestModel(model));
|
|
164
|
-
if (!response.ok) {
|
|
165
|
-
const message = await response.text();
|
|
166
|
-
if (attempt < maxRetries && isRetryableHttpStatus(response.status)) {
|
|
167
|
-
lastError = new Error(message);
|
|
168
|
-
onProgress?.("⚠️ Image service was temporarily busy. Retrying…\n");
|
|
169
|
-
continue;
|
|
170
|
-
}
|
|
171
|
-
throw new Error(message);
|
|
172
|
-
}
|
|
173
|
-
try {
|
|
174
|
-
return await readHostedImageGenerationStream(response, onProgress);
|
|
175
|
-
}
|
|
176
|
-
catch (error) {
|
|
177
|
-
lastError = error;
|
|
178
|
-
if (error instanceof HostedImageGenerationStreamError && error.partial) {
|
|
179
|
-
latestPartial = error.partial;
|
|
108
|
+
const response = await trySendDirectImageRequest(apiKey, body, options);
|
|
109
|
+
if (response instanceof Error) {
|
|
110
|
+
lastError = response;
|
|
111
|
+
if (!shouldRetryDirectImageRequest(attempt, maxRetries, undefined, options)) {
|
|
112
|
+
throw response;
|
|
180
113
|
}
|
|
181
|
-
|
|
182
|
-
onProgress?.("⚠️ Image service was temporarily busy. Retrying…\n");
|
|
183
|
-
continue;
|
|
184
|
-
}
|
|
185
|
-
break;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
if (latestPartial && isPartialImageFallbackEnabled()) {
|
|
189
|
-
return { ...latestPartial, usedPartial: true };
|
|
190
|
-
}
|
|
191
|
-
throw lastError instanceof Error ? lastError : new Error("TheClawBay hosted image generation failed");
|
|
192
|
-
}
|
|
193
|
-
async function readHostedImageGenerationStream(response, onProgress) {
|
|
194
|
-
let finalImage;
|
|
195
|
-
let latestPartial;
|
|
196
|
-
let completed = false;
|
|
197
|
-
for await (const event of parseTheClawBaySse(response)) {
|
|
198
|
-
const eventType = typeof event.type === "string" ? event.type : undefined;
|
|
199
|
-
if (eventType === "response.image_generation_call.partial_image" && typeof event.partial_image_b64 === "string") {
|
|
200
|
-
latestPartial = {
|
|
201
|
-
base64: event.partial_image_b64,
|
|
202
|
-
partialIndex: typeof event.partial_image_index === "number" ? event.partial_image_index : undefined,
|
|
203
|
-
};
|
|
204
|
-
onProgress?.("✨ Refining image…\n");
|
|
114
|
+
onProgress?.(RETRY_PROGRESS_MESSAGE);
|
|
205
115
|
continue;
|
|
206
116
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
base64: event.item.result,
|
|
211
|
-
revisedPrompt: typeof event.item.revised_prompt === "string" ? event.item.revised_prompt : undefined,
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
continue;
|
|
215
|
-
}
|
|
216
|
-
if (eventType === "response.completed") {
|
|
217
|
-
if (isRecord(event.response)) {
|
|
218
|
-
const completedImage = extractFinalImageFromResponse(event.response);
|
|
219
|
-
if (completedImage) {
|
|
220
|
-
finalImage = completedImage;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
completed = true;
|
|
224
|
-
continue;
|
|
117
|
+
await options?.onResponse?.({ status: response.status, headers: headersToRecord(response.headers) }, model);
|
|
118
|
+
if (response.ok) {
|
|
119
|
+
return readDirectImageGenerationResponse(await response.json());
|
|
225
120
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
retryable: isRetryableResponseFailure(event),
|
|
230
|
-
});
|
|
121
|
+
lastError = new Error(await readImageErrorMessage(response));
|
|
122
|
+
if (!shouldRetryDirectImageRequest(attempt, maxRetries, response.status, options)) {
|
|
123
|
+
throw lastError;
|
|
231
124
|
}
|
|
232
|
-
|
|
233
|
-
throw new HostedImageGenerationStreamError(readResponseFailureMessage(event, "TheClawBay hosted image generation stream error"), {
|
|
234
|
-
partial: latestPartial,
|
|
235
|
-
retryable: true,
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
if (finalImage) {
|
|
240
|
-
return { ...finalImage, usedPartial: false };
|
|
125
|
+
onProgress?.(RETRY_PROGRESS_MESSAGE);
|
|
241
126
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
127
|
+
throw lastError instanceof Error ? lastError : new Error("TheClawBay direct image generation failed");
|
|
128
|
+
}
|
|
129
|
+
async function trySendDirectImageRequest(apiKey, body, options) {
|
|
130
|
+
try {
|
|
131
|
+
return await fetch(THECLAWBAY_IMAGES_GENERATIONS_URL, {
|
|
132
|
+
method: "POST",
|
|
133
|
+
headers: buildDirectRequestHeaders(apiKey, options),
|
|
134
|
+
body: JSON.stringify(body),
|
|
135
|
+
signal: options?.signal,
|
|
246
136
|
});
|
|
247
137
|
}
|
|
248
|
-
|
|
249
|
-
|
|
138
|
+
catch (error) {
|
|
139
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
250
140
|
}
|
|
251
|
-
throw new Error("TheClawBay hosted image generation response did not include an image");
|
|
252
141
|
}
|
|
253
|
-
function
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
142
|
+
function readDirectImageGenerationResponse(response) {
|
|
143
|
+
if (!isRecord(response) || !Array.isArray(response.data)) {
|
|
144
|
+
throw new Error("TheClawBay direct image generation response did not include an image");
|
|
145
|
+
}
|
|
146
|
+
for (const item of response.data) {
|
|
147
|
+
if (!isRecord(item) || typeof item.b64_json !== "string" || item.b64_json.length === 0) {
|
|
257
148
|
continue;
|
|
258
149
|
}
|
|
259
150
|
return {
|
|
260
|
-
base64: item.
|
|
151
|
+
base64: item.b64_json,
|
|
261
152
|
revisedPrompt: typeof item.revised_prompt === "string" ? item.revised_prompt : undefined,
|
|
262
153
|
};
|
|
263
154
|
}
|
|
264
|
-
|
|
155
|
+
throw new Error("TheClawBay direct image generation response did not include an image");
|
|
265
156
|
}
|
|
266
|
-
function
|
|
157
|
+
async function readImageErrorMessage(response) {
|
|
158
|
+
const text = await response.text();
|
|
159
|
+
try {
|
|
160
|
+
const parsed = JSON.parse(text);
|
|
161
|
+
const error = isRecord(parsed) && isRecord(parsed.error) ? parsed.error : undefined;
|
|
162
|
+
if (typeof error?.message === "string" && error.message.trim()) {
|
|
163
|
+
return error.message;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
// Fall through to raw response text.
|
|
168
|
+
}
|
|
169
|
+
return text.trim() || `TheClawBay image generation failed with HTTP ${response.status}`;
|
|
170
|
+
}
|
|
171
|
+
function getDirectImageMaxRetries() {
|
|
267
172
|
const value = process.env.PI_CLAWBAY_IMAGE_MAX_RETRIES?.trim();
|
|
268
173
|
if (!value) {
|
|
269
|
-
return
|
|
174
|
+
return DEFAULT_DIRECT_IMAGE_MAX_RETRIES;
|
|
270
175
|
}
|
|
271
176
|
const parsed = Number.parseInt(value, 10);
|
|
272
|
-
return Number.isFinite(parsed) ? Math.max(0, Math.min(parsed, 5)) :
|
|
177
|
+
return Number.isFinite(parsed) ? Math.max(0, Math.min(parsed, 5)) : DEFAULT_DIRECT_IMAGE_MAX_RETRIES;
|
|
273
178
|
}
|
|
274
|
-
function
|
|
275
|
-
|
|
276
|
-
|
|
179
|
+
function shouldRetryDirectImageRequest(attempt, maxRetries, status, options) {
|
|
180
|
+
if (attempt >= maxRetries || options?.signal?.aborted) {
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
return status === undefined || isRetryableHttpStatus(status);
|
|
277
184
|
}
|
|
278
185
|
function isRetryableHttpStatus(status) {
|
|
279
186
|
return status === 408 || status === 409 || status === 429 || status >= 500;
|
|
280
187
|
}
|
|
281
|
-
function isRetryableResponseFailure(event) {
|
|
282
|
-
const response = isRecord(event.response) ? event.response : undefined;
|
|
283
|
-
const error = isRecord(response?.error) ? response.error : undefined;
|
|
284
|
-
const code = typeof error?.code === "string" ? error.code : "";
|
|
285
|
-
const type = typeof error?.type === "string" ? error.type : "";
|
|
286
|
-
return code === "service_unavailable" || code === "proxy_request_failed" || type === "server_error";
|
|
287
|
-
}
|
|
288
|
-
async function* parseTheClawBaySse(response) {
|
|
289
|
-
if (!response.body) {
|
|
290
|
-
return;
|
|
291
|
-
}
|
|
292
|
-
const reader = response.body.getReader();
|
|
293
|
-
const decoder = new TextDecoder();
|
|
294
|
-
let buffer = "";
|
|
295
|
-
try {
|
|
296
|
-
while (true) {
|
|
297
|
-
const { done, value } = await reader.read();
|
|
298
|
-
if (done) {
|
|
299
|
-
break;
|
|
300
|
-
}
|
|
301
|
-
buffer += decoder.decode(value, { stream: true });
|
|
302
|
-
let index = buffer.indexOf("\n\n");
|
|
303
|
-
while (index !== -1) {
|
|
304
|
-
const chunk = buffer.slice(0, index);
|
|
305
|
-
buffer = buffer.slice(index + 2);
|
|
306
|
-
const data = chunk
|
|
307
|
-
.split("\n")
|
|
308
|
-
.filter((line) => line.startsWith("data:"))
|
|
309
|
-
.map((line) => line.slice(5).trim())
|
|
310
|
-
.join("\n")
|
|
311
|
-
.trim();
|
|
312
|
-
if (data && data !== "[DONE]") {
|
|
313
|
-
yield JSON.parse(data);
|
|
314
|
-
}
|
|
315
|
-
index = buffer.indexOf("\n\n");
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
finally {
|
|
320
|
-
try {
|
|
321
|
-
await reader.cancel();
|
|
322
|
-
}
|
|
323
|
-
catch {
|
|
324
|
-
// Ignore stream cleanup errors.
|
|
325
|
-
}
|
|
326
|
-
try {
|
|
327
|
-
reader.releaseLock();
|
|
328
|
-
}
|
|
329
|
-
catch {
|
|
330
|
-
// Ignore stream cleanup errors.
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
188
|
function isRecord(value) {
|
|
335
189
|
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
336
190
|
}
|
|
337
|
-
function readResponseFailureMessage(event, fallback) {
|
|
338
|
-
const response = isRecord(event.response) ? event.response : undefined;
|
|
339
|
-
const error = isRecord(response?.error) ? response.error : undefined;
|
|
340
|
-
if (typeof error?.message === "string" && error.message.trim()) {
|
|
341
|
-
return error.message;
|
|
342
|
-
}
|
|
343
|
-
if (typeof event.message === "string" && event.message.trim()) {
|
|
344
|
-
return event.message;
|
|
345
|
-
}
|
|
346
|
-
return fallback;
|
|
347
|
-
}
|
|
348
191
|
export function streamSimpleTheClawBayImageGeneration(model, context, options) {
|
|
349
192
|
const stream = createAssistantMessageEventStream();
|
|
350
193
|
void (async () => {
|
|
@@ -362,7 +205,7 @@ export function streamSimpleTheClawBayImageGeneration(model, context, options) {
|
|
|
362
205
|
stream.push({ type: "start", partial: output });
|
|
363
206
|
stream.push({ type: "text_start", contentIndex: 0, partial: output });
|
|
364
207
|
const result = await requestImageGeneration(model, context, options, appendTextDelta);
|
|
365
|
-
const text = formatSuccessMessage(result.path, result.bytes, result.revisedPrompt
|
|
208
|
+
const text = formatSuccessMessage(result.path, result.bytes, result.revisedPrompt);
|
|
366
209
|
appendTextDelta(text);
|
|
367
210
|
const block = output.content[0];
|
|
368
211
|
const content = block?.type === "text" ? block.text : text;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-generation.js","sourceRoot":"","sources":["../src/image-generation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"image-generation.js","sourceRoot":"","sources":["../src/image-generation.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Uses a single `theclawbay` provider with per-model routing:
|
|
6
6
|
* - GPT/Codex: custom native Codex transport for prompt-cache hits
|
|
7
7
|
* - Gemini: Pi's native google-generative-ai transport against TheClawBay /v1beta
|
|
8
|
-
* - gpt-image-2:
|
|
8
|
+
* - gpt-image-2: direct OpenAI-compatible Images API
|
|
9
9
|
*
|
|
10
10
|
* Features:
|
|
11
11
|
* - /quota command to check detailed usage
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Uses a single `theclawbay` provider with per-model routing:
|
|
6
6
|
* - GPT/Codex: custom native Codex transport for prompt-cache hits
|
|
7
7
|
* - Gemini: Pi's native google-generative-ai transport against TheClawBay /v1beta
|
|
8
|
-
* - gpt-image-2:
|
|
8
|
+
* - gpt-image-2: direct OpenAI-compatible Images API
|
|
9
9
|
*
|
|
10
10
|
* Features:
|
|
11
11
|
* - /quota command to check detailed usage
|