pi-clawbay 0.0.25 → 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 +89 -230
- 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,285 +61,155 @@ 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
|
}
|
|
83
69
|
return lines.join("\n");
|
|
84
70
|
}
|
|
85
|
-
async function requestImageGeneration(model, context, options) {
|
|
71
|
+
async function requestImageGeneration(model, context, options, onProgress) {
|
|
86
72
|
const apiKey = options?.apiKey ?? process.env.THECLAWBAY_API_KEY;
|
|
87
73
|
if (!apiKey) {
|
|
88
74
|
throw new Error("No API key for provider: theclawbay");
|
|
89
75
|
}
|
|
90
|
-
|
|
91
|
-
const
|
|
76
|
+
onProgress?.("🎨 Preparing image request…\n");
|
|
77
|
+
const body = await buildDirectImageRequestBody(model, context, options);
|
|
78
|
+
const payload = await fetchDirectImageGeneration(model, apiKey, body, options, onProgress);
|
|
79
|
+
onProgress?.("💾 Saving final image…\n");
|
|
92
80
|
const saved = saveGeneratedPng(payload.base64);
|
|
93
|
-
return { ...saved, revisedPrompt: payload.revisedPrompt
|
|
81
|
+
return { ...saved, revisedPrompt: payload.revisedPrompt };
|
|
94
82
|
}
|
|
95
|
-
async function
|
|
83
|
+
async function buildDirectImageRequestBody(model, context, options) {
|
|
96
84
|
const prompt = extractPrompt(context);
|
|
97
85
|
if (!prompt) {
|
|
98
86
|
throw new Error("gpt-image-2 requires a non-empty user prompt");
|
|
99
87
|
}
|
|
100
88
|
const body = {
|
|
101
|
-
model:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
input: [{ role: "user", content: [{ type: "input_text", text: prompt }] }],
|
|
106
|
-
tools: [
|
|
107
|
-
{
|
|
108
|
-
type: "image_generation",
|
|
109
|
-
model: model.id,
|
|
110
|
-
output_format: "png",
|
|
111
|
-
size: "1024x1024",
|
|
112
|
-
partial_images: HOSTED_IMAGE_PARTIAL_COUNT,
|
|
113
|
-
},
|
|
114
|
-
],
|
|
115
|
-
tool_choice: "auto",
|
|
116
|
-
parallel_tool_calls: true,
|
|
117
|
-
text: { verbosity: "low" },
|
|
118
|
-
include: ["reasoning.encrypted_content"],
|
|
119
|
-
...(options?.sessionId ? { prompt_cache_key: options.sessionId } : {}),
|
|
89
|
+
model: model.id,
|
|
90
|
+
prompt,
|
|
91
|
+
size: DIRECT_IMAGE_SIZE,
|
|
92
|
+
n: 1,
|
|
120
93
|
};
|
|
121
94
|
return (await options?.onPayload?.(body, model)) ?? body;
|
|
122
95
|
}
|
|
123
|
-
function
|
|
96
|
+
function buildDirectRequestHeaders(apiKey, options) {
|
|
124
97
|
return {
|
|
125
98
|
...(options?.headers ?? {}),
|
|
126
99
|
Authorization: `Bearer ${apiKey}`,
|
|
127
100
|
"Content-Type": "application/json",
|
|
128
|
-
"chatgpt-account-id": THECLAWBAY_CHATGPT_ACCOUNT_ID,
|
|
129
|
-
originator: "pi",
|
|
130
|
-
"OpenAI-Beta": "responses=experimental",
|
|
131
|
-
...(options?.sessionId ? { session_id: options.sessionId } : {}),
|
|
132
101
|
};
|
|
133
102
|
}
|
|
134
|
-
function
|
|
135
|
-
const requestModelId = getImageResponsesModelId();
|
|
136
|
-
return {
|
|
137
|
-
...model,
|
|
138
|
-
id: requestModelId,
|
|
139
|
-
name: requestModelId,
|
|
140
|
-
reasoning: true,
|
|
141
|
-
input: [...MODEL_INPUTS],
|
|
142
|
-
cost: OPENAI_KNOWN_COSTS[requestModelId] ?? model.cost,
|
|
143
|
-
thinkingLevelMap: { ...OPENAI_CODEX_THINKING_LEVEL_MAP },
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
function getImageResponsesModelId() {
|
|
147
|
-
return process.env.PI_CLAWBAY_IMAGE_RESPONSES_MODEL?.trim() || DEFAULT_IMAGE_RESPONSES_MODEL_ID;
|
|
148
|
-
}
|
|
149
|
-
async function fetchHostedImageGeneration(model, apiKey, body, options) {
|
|
150
|
-
let latestPartial;
|
|
103
|
+
async function fetchDirectImageGeneration(model, apiKey, body, options, onProgress) {
|
|
151
104
|
let lastError;
|
|
152
|
-
const maxRetries =
|
|
105
|
+
const maxRetries = getDirectImageMaxRetries();
|
|
153
106
|
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
await options?.onResponse?.({ status: response.status, headers: headersToRecord(response.headers) }, createHostedRequestModel(model));
|
|
161
|
-
if (!response.ok) {
|
|
162
|
-
const message = await response.text();
|
|
163
|
-
if (attempt < maxRetries && isRetryableHttpStatus(response.status)) {
|
|
164
|
-
lastError = new Error(message);
|
|
165
|
-
continue;
|
|
107
|
+
onProgress?.("🖌️ Generating image…\n");
|
|
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;
|
|
166
113
|
}
|
|
167
|
-
|
|
168
|
-
}
|
|
169
|
-
try {
|
|
170
|
-
return await readHostedImageGenerationStream(response);
|
|
171
|
-
}
|
|
172
|
-
catch (error) {
|
|
173
|
-
lastError = error;
|
|
174
|
-
if (error instanceof HostedImageGenerationStreamError && error.partial) {
|
|
175
|
-
latestPartial = error.partial;
|
|
176
|
-
}
|
|
177
|
-
if (error instanceof HostedImageGenerationStreamError && error.retryable && attempt < maxRetries && !options?.signal?.aborted) {
|
|
178
|
-
continue;
|
|
179
|
-
}
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
if (latestPartial && isPartialImageFallbackEnabled()) {
|
|
184
|
-
return { ...latestPartial, usedPartial: true };
|
|
185
|
-
}
|
|
186
|
-
throw lastError instanceof Error ? lastError : new Error("TheClawBay hosted image generation failed");
|
|
187
|
-
}
|
|
188
|
-
async function readHostedImageGenerationStream(response) {
|
|
189
|
-
let finalImage;
|
|
190
|
-
let latestPartial;
|
|
191
|
-
let completed = false;
|
|
192
|
-
for await (const event of parseTheClawBaySse(response)) {
|
|
193
|
-
const eventType = typeof event.type === "string" ? event.type : undefined;
|
|
194
|
-
if (eventType === "response.image_generation_call.partial_image" && typeof event.partial_image_b64 === "string") {
|
|
195
|
-
latestPartial = {
|
|
196
|
-
base64: event.partial_image_b64,
|
|
197
|
-
partialIndex: typeof event.partial_image_index === "number" ? event.partial_image_index : undefined,
|
|
198
|
-
};
|
|
114
|
+
onProgress?.(RETRY_PROGRESS_MESSAGE);
|
|
199
115
|
continue;
|
|
200
116
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
base64: event.item.result,
|
|
205
|
-
revisedPrompt: typeof event.item.revised_prompt === "string" ? event.item.revised_prompt : undefined,
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
continue;
|
|
117
|
+
await options?.onResponse?.({ status: response.status, headers: headersToRecord(response.headers) }, model);
|
|
118
|
+
if (response.ok) {
|
|
119
|
+
return readDirectImageGenerationResponse(await response.json());
|
|
209
120
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
if (completedImage) {
|
|
214
|
-
finalImage = completedImage;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
completed = true;
|
|
218
|
-
continue;
|
|
219
|
-
}
|
|
220
|
-
if (eventType === "response.failed") {
|
|
221
|
-
throw new HostedImageGenerationStreamError(readResponseFailureMessage(event, "TheClawBay hosted image generation failed"), {
|
|
222
|
-
partial: latestPartial,
|
|
223
|
-
retryable: isRetryableResponseFailure(event),
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
if (eventType === "error") {
|
|
227
|
-
throw new HostedImageGenerationStreamError(readResponseFailureMessage(event, "TheClawBay hosted image generation stream error"), {
|
|
228
|
-
partial: latestPartial,
|
|
229
|
-
retryable: true,
|
|
230
|
-
});
|
|
121
|
+
lastError = new Error(await readImageErrorMessage(response));
|
|
122
|
+
if (!shouldRetryDirectImageRequest(attempt, maxRetries, response.status, options)) {
|
|
123
|
+
throw lastError;
|
|
231
124
|
}
|
|
125
|
+
onProgress?.(RETRY_PROGRESS_MESSAGE);
|
|
232
126
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
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,
|
|
240
136
|
});
|
|
241
137
|
}
|
|
242
|
-
|
|
243
|
-
|
|
138
|
+
catch (error) {
|
|
139
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
244
140
|
}
|
|
245
|
-
throw new Error("TheClawBay hosted image generation response did not include an image");
|
|
246
141
|
}
|
|
247
|
-
function
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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) {
|
|
251
148
|
continue;
|
|
252
149
|
}
|
|
253
150
|
return {
|
|
254
|
-
base64: item.
|
|
151
|
+
base64: item.b64_json,
|
|
255
152
|
revisedPrompt: typeof item.revised_prompt === "string" ? item.revised_prompt : undefined,
|
|
256
153
|
};
|
|
257
154
|
}
|
|
258
|
-
|
|
155
|
+
throw new Error("TheClawBay direct image generation response did not include an image");
|
|
259
156
|
}
|
|
260
|
-
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() {
|
|
261
172
|
const value = process.env.PI_CLAWBAY_IMAGE_MAX_RETRIES?.trim();
|
|
262
173
|
if (!value) {
|
|
263
|
-
return
|
|
174
|
+
return DEFAULT_DIRECT_IMAGE_MAX_RETRIES;
|
|
264
175
|
}
|
|
265
176
|
const parsed = Number.parseInt(value, 10);
|
|
266
|
-
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;
|
|
267
178
|
}
|
|
268
|
-
function
|
|
269
|
-
|
|
270
|
-
|
|
179
|
+
function shouldRetryDirectImageRequest(attempt, maxRetries, status, options) {
|
|
180
|
+
if (attempt >= maxRetries || options?.signal?.aborted) {
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
return status === undefined || isRetryableHttpStatus(status);
|
|
271
184
|
}
|
|
272
185
|
function isRetryableHttpStatus(status) {
|
|
273
186
|
return status === 408 || status === 409 || status === 429 || status >= 500;
|
|
274
187
|
}
|
|
275
|
-
function isRetryableResponseFailure(event) {
|
|
276
|
-
const response = isRecord(event.response) ? event.response : undefined;
|
|
277
|
-
const error = isRecord(response?.error) ? response.error : undefined;
|
|
278
|
-
const code = typeof error?.code === "string" ? error.code : "";
|
|
279
|
-
const type = typeof error?.type === "string" ? error.type : "";
|
|
280
|
-
return code === "service_unavailable" || code === "proxy_request_failed" || type === "server_error";
|
|
281
|
-
}
|
|
282
|
-
async function* parseTheClawBaySse(response) {
|
|
283
|
-
if (!response.body) {
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
const reader = response.body.getReader();
|
|
287
|
-
const decoder = new TextDecoder();
|
|
288
|
-
let buffer = "";
|
|
289
|
-
try {
|
|
290
|
-
while (true) {
|
|
291
|
-
const { done, value } = await reader.read();
|
|
292
|
-
if (done) {
|
|
293
|
-
break;
|
|
294
|
-
}
|
|
295
|
-
buffer += decoder.decode(value, { stream: true });
|
|
296
|
-
let index = buffer.indexOf("\n\n");
|
|
297
|
-
while (index !== -1) {
|
|
298
|
-
const chunk = buffer.slice(0, index);
|
|
299
|
-
buffer = buffer.slice(index + 2);
|
|
300
|
-
const data = chunk
|
|
301
|
-
.split("\n")
|
|
302
|
-
.filter((line) => line.startsWith("data:"))
|
|
303
|
-
.map((line) => line.slice(5).trim())
|
|
304
|
-
.join("\n")
|
|
305
|
-
.trim();
|
|
306
|
-
if (data && data !== "[DONE]") {
|
|
307
|
-
yield JSON.parse(data);
|
|
308
|
-
}
|
|
309
|
-
index = buffer.indexOf("\n\n");
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
finally {
|
|
314
|
-
try {
|
|
315
|
-
await reader.cancel();
|
|
316
|
-
}
|
|
317
|
-
catch {
|
|
318
|
-
// Ignore stream cleanup errors.
|
|
319
|
-
}
|
|
320
|
-
try {
|
|
321
|
-
reader.releaseLock();
|
|
322
|
-
}
|
|
323
|
-
catch {
|
|
324
|
-
// Ignore stream cleanup errors.
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
188
|
function isRecord(value) {
|
|
329
189
|
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
330
190
|
}
|
|
331
|
-
function readResponseFailureMessage(event, fallback) {
|
|
332
|
-
const response = isRecord(event.response) ? event.response : undefined;
|
|
333
|
-
const error = isRecord(response?.error) ? response.error : undefined;
|
|
334
|
-
if (typeof error?.message === "string" && error.message.trim()) {
|
|
335
|
-
return error.message;
|
|
336
|
-
}
|
|
337
|
-
if (typeof event.message === "string" && event.message.trim()) {
|
|
338
|
-
return event.message;
|
|
339
|
-
}
|
|
340
|
-
return fallback;
|
|
341
|
-
}
|
|
342
191
|
export function streamSimpleTheClawBayImageGeneration(model, context, options) {
|
|
343
192
|
const stream = createAssistantMessageEventStream();
|
|
344
193
|
void (async () => {
|
|
345
194
|
const output = createEmptyAssistantMessage(model);
|
|
195
|
+
output.content.push({ type: "text", text: "" });
|
|
196
|
+
const appendTextDelta = (delta) => {
|
|
197
|
+
const block = output.content[0];
|
|
198
|
+
if (block?.type !== "text") {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
block.text += delta;
|
|
202
|
+
stream.push({ type: "text_delta", contentIndex: 0, delta, partial: output });
|
|
203
|
+
};
|
|
346
204
|
try {
|
|
347
|
-
const result = await requestImageGeneration(model, context, options);
|
|
348
|
-
const text = formatSuccessMessage(result.path, result.bytes, result.revisedPrompt, result.usedPartial);
|
|
349
|
-
output.content.push({ type: "text", text });
|
|
350
205
|
stream.push({ type: "start", partial: output });
|
|
351
206
|
stream.push({ type: "text_start", contentIndex: 0, partial: output });
|
|
352
|
-
|
|
353
|
-
|
|
207
|
+
const result = await requestImageGeneration(model, context, options, appendTextDelta);
|
|
208
|
+
const text = formatSuccessMessage(result.path, result.bytes, result.revisedPrompt);
|
|
209
|
+
appendTextDelta(text);
|
|
210
|
+
const block = output.content[0];
|
|
211
|
+
const content = block?.type === "text" ? block.text : text;
|
|
212
|
+
stream.push({ type: "text_end", contentIndex: 0, content, partial: output });
|
|
354
213
|
stream.push({ type: "done", reason: "stop", message: output });
|
|
355
214
|
stream.end();
|
|
356
215
|
}
|
|
@@ -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
|