commandcode-api-proxy 0.1.4 → 0.3.0
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 +59 -29
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +30 -1
- package/dist/config.js.map +1 -1
- package/dist/models.json +88 -23
- package/dist/proxy.js +18 -5
- package/dist/proxy.js.map +1 -1
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +162 -46
- package/dist/server.js.map +1 -1
- package/dist/setup/opencode.d.ts.map +1 -1
- package/dist/setup/opencode.js +20 -1
- package/dist/setup/opencode.js.map +1 -1
- package/dist/stream.d.ts +0 -17
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +0 -44
- package/dist/stream.js.map +1 -1
- package/dist/translate/anthropic.d.ts +10 -1
- package/dist/translate/anthropic.d.ts.map +1 -1
- package/dist/translate/anthropic.js +88 -20
- package/dist/translate/anthropic.js.map +1 -1
- package/dist/translate/models.d.ts +15 -0
- package/dist/translate/models.d.ts.map +1 -1
- package/dist/translate/models.js +48 -1
- package/dist/translate/models.js.map +1 -1
- package/dist/translate/openai.d.ts +31 -0
- package/dist/translate/openai.d.ts.map +1 -1
- package/dist/translate/openai.js +128 -38
- package/dist/translate/openai.js.map +1 -1
- package/dist/translate/types.d.ts +16 -2
- package/dist/translate/types.d.ts.map +1 -1
- package/dist/upstream.d.ts +3 -10
- package/dist/upstream.d.ts.map +1 -1
- package/dist/upstream.js +166 -42
- package/dist/upstream.js.map +1 -1
- package/package.json +17 -15
package/dist/server.js
CHANGED
|
@@ -12,6 +12,7 @@ import { validateOpenAIChatRequest, validateAnthropicRequest, ValidationError, }
|
|
|
12
12
|
// ──────────────────────────────────────────
|
|
13
13
|
let config;
|
|
14
14
|
let modelList = getDefaultModels();
|
|
15
|
+
let corsOrigin = "*";
|
|
15
16
|
function updateModelList(models) {
|
|
16
17
|
if (models.length > 0)
|
|
17
18
|
modelList = models;
|
|
@@ -19,11 +20,39 @@ function updateModelList(models) {
|
|
|
19
20
|
// ──────────────────────────────────────────
|
|
20
21
|
// Request body parser
|
|
21
22
|
// ──────────────────────────────────────────
|
|
23
|
+
const MAX_BODY_BYTES = 10 * 1024 * 1024; // 10 MiB
|
|
24
|
+
export class BodyParseError extends Error {
|
|
25
|
+
status;
|
|
26
|
+
constructor(status, message) {
|
|
27
|
+
super(message);
|
|
28
|
+
this.status = status;
|
|
29
|
+
this.name = "BodyParseError";
|
|
30
|
+
}
|
|
31
|
+
}
|
|
22
32
|
function parseBody(req) {
|
|
23
33
|
return new Promise((resolve, reject) => {
|
|
24
34
|
const chunks = [];
|
|
25
|
-
|
|
35
|
+
let size = 0;
|
|
36
|
+
let tooLarge = false;
|
|
37
|
+
req.on("data", (chunk) => {
|
|
38
|
+
if (tooLarge)
|
|
39
|
+
return;
|
|
40
|
+
size += chunk.length;
|
|
41
|
+
if (size > MAX_BODY_BYTES) {
|
|
42
|
+
tooLarge = true;
|
|
43
|
+
// Tear down the underlying socket so the client stops uploading the
|
|
44
|
+
// rest of an oversized body. Without this the connection lingers
|
|
45
|
+
// until the client finishes (or its own timeout fires) — wasting
|
|
46
|
+
// bandwidth and a request slot.
|
|
47
|
+
req.destroy();
|
|
48
|
+
reject(new BodyParseError(413, "Request body too large"));
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
chunks.push(chunk);
|
|
52
|
+
});
|
|
26
53
|
req.on("end", () => {
|
|
54
|
+
if (tooLarge)
|
|
55
|
+
return;
|
|
27
56
|
const raw = Buffer.concat(chunks).toString("utf-8");
|
|
28
57
|
if (!raw)
|
|
29
58
|
return resolve(null);
|
|
@@ -31,10 +60,13 @@ function parseBody(req) {
|
|
|
31
60
|
resolve(JSON.parse(raw));
|
|
32
61
|
}
|
|
33
62
|
catch {
|
|
34
|
-
reject(new
|
|
63
|
+
reject(new BodyParseError(400, "Invalid JSON body"));
|
|
35
64
|
}
|
|
36
65
|
});
|
|
37
|
-
req.on("error",
|
|
66
|
+
req.on("error", (err) => {
|
|
67
|
+
if (!tooLarge)
|
|
68
|
+
reject(err);
|
|
69
|
+
});
|
|
38
70
|
});
|
|
39
71
|
}
|
|
40
72
|
// ──────────────────────────────────────────
|
|
@@ -55,16 +87,19 @@ function extractApiKey(req) {
|
|
|
55
87
|
}
|
|
56
88
|
// If the client sent "proxy-managed" or no key, fall back to the proxy's configured key
|
|
57
89
|
if (!key || key === "proxy-managed" || key === "placeholder") {
|
|
58
|
-
logger.debug(`client key sentinel, using config key (
|
|
90
|
+
logger.debug(`client key sentinel, using config key (length: ${config.apiKey?.length ?? 0})`);
|
|
59
91
|
return config.apiKey;
|
|
60
92
|
}
|
|
61
|
-
logger.debug(`using client's own key (
|
|
93
|
+
logger.debug(`using client's own key (length: ${key.length})`);
|
|
62
94
|
return key;
|
|
63
95
|
}
|
|
64
96
|
// ──────────────────────────────────────────
|
|
65
97
|
// Response helpers
|
|
66
98
|
// ──────────────────────────────────────────
|
|
67
99
|
function sendJson(res, status, data) {
|
|
100
|
+
// Client may have disconnected mid-request; never write to a dead socket.
|
|
101
|
+
if (res.headersSent || res.writableEnded || res.destroyed)
|
|
102
|
+
return;
|
|
68
103
|
res.writeHead(status, {
|
|
69
104
|
"Content-Type": "application/json",
|
|
70
105
|
...corsHeaders(),
|
|
@@ -84,15 +119,21 @@ const ANTHROPIC_STATUS_ERROR_MAP = {
|
|
|
84
119
|
529: "overloaded_error",
|
|
85
120
|
};
|
|
86
121
|
function sendAnthropicError(res, status, type, message) {
|
|
122
|
+
if (res.headersSent || res.writableEnded || res.destroyed)
|
|
123
|
+
return;
|
|
87
124
|
res.writeHead(status, { "Content-Type": "application/json", ...corsHeaders() });
|
|
88
125
|
res.end(JSON.stringify({ type: "error", error: { type, message } }));
|
|
89
126
|
}
|
|
90
127
|
function corsHeaders() {
|
|
91
|
-
|
|
92
|
-
|
|
128
|
+
const origin = corsOrigin;
|
|
129
|
+
const headers = {
|
|
93
130
|
"Access-Control-Allow-Methods": "GET, POST, OPTIONS",
|
|
94
131
|
"Access-Control-Allow-Headers": "Content-Type, Authorization, x-api-key",
|
|
95
132
|
};
|
|
133
|
+
// Empty CORS_ORIGIN disables the header entirely (browser blocks cross-origin).
|
|
134
|
+
if (origin)
|
|
135
|
+
headers["Access-Control-Allow-Origin"] = origin;
|
|
136
|
+
return headers;
|
|
96
137
|
}
|
|
97
138
|
// ──────────────────────────────────────────
|
|
98
139
|
// Helpers
|
|
@@ -108,6 +149,58 @@ function abortOnClientDisconnect(req, res) {
|
|
|
108
149
|
function destroyStreamOnClientDisconnect(req, stream) {
|
|
109
150
|
req.on("close", () => stream.destroy());
|
|
110
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Write a chunk to `res`, returning a Promise that resolves once the
|
|
154
|
+
* underlying socket has drained (when backpressure applies). Returns
|
|
155
|
+
* `false` if the response is no longer writable.
|
|
156
|
+
*/
|
|
157
|
+
function writeSSE(res, chunk) {
|
|
158
|
+
if (res.writableEnded || res.destroyed)
|
|
159
|
+
return Promise.resolve(false);
|
|
160
|
+
if (res.write(chunk))
|
|
161
|
+
return Promise.resolve(true);
|
|
162
|
+
return new Promise((resolve) => {
|
|
163
|
+
res.once("drain", () => resolve(!res.writableEnded && !res.destroyed));
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Drive the upstream CC stream through `encoder`, writing formatted SSE
|
|
168
|
+
* records to `res`. Applies client-side backpressure (pauses the upstream
|
|
169
|
+
* when `res` buffers fill), and isolates encoder errors so they terminate
|
|
170
|
+
* the stream cleanly instead of crashing the process.
|
|
171
|
+
*/
|
|
172
|
+
async function pumpStream(stream, res, encode, onEnd, onError) {
|
|
173
|
+
const writable = (chunk) => writeSSE(res, chunk);
|
|
174
|
+
try {
|
|
175
|
+
for await (const event of stream) {
|
|
176
|
+
let chunks;
|
|
177
|
+
try {
|
|
178
|
+
chunks = encode(event);
|
|
179
|
+
}
|
|
180
|
+
catch (err) {
|
|
181
|
+
// Encoder blew up — turn it into a stream error so the catch below
|
|
182
|
+
// handles it uniformly instead of crashing the proxy.
|
|
183
|
+
stream.destroy(err);
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
for (const chunk of chunks) {
|
|
187
|
+
if (!(await writable(chunk)))
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
for (const chunk of onEnd()) {
|
|
192
|
+
if (!(await writable(chunk)))
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
catch (err) {
|
|
197
|
+
logger.error("[stream] upstream streaming error:", err.message);
|
|
198
|
+
for (const chunk of onError(err)) {
|
|
199
|
+
if (!(await writable(chunk)))
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
111
204
|
// ──────────────────────────────────────────
|
|
112
205
|
// Route handlers
|
|
113
206
|
// ──────────────────────────────────────────
|
|
@@ -154,8 +247,10 @@ async function handleChatCompletions(req, res) {
|
|
|
154
247
|
try {
|
|
155
248
|
rawBody = await parseBody(req);
|
|
156
249
|
}
|
|
157
|
-
catch {
|
|
158
|
-
|
|
250
|
+
catch (err) {
|
|
251
|
+
const status = err instanceof BodyParseError ? err.status : 400;
|
|
252
|
+
const message = err instanceof BodyParseError ? err.message : "Invalid JSON body";
|
|
253
|
+
return sendOpenAIError(res, status, message);
|
|
159
254
|
}
|
|
160
255
|
let openAIReq;
|
|
161
256
|
try {
|
|
@@ -189,6 +284,8 @@ async function handleChatCompletions(req, res) {
|
|
|
189
284
|
apiBase: config.ccApiBase,
|
|
190
285
|
apiKey,
|
|
191
286
|
ccVersion: config.ccVersion,
|
|
287
|
+
timeoutMs: config.upstreamTimeoutMs,
|
|
288
|
+
idleTimeoutMs: config.idleTimeoutMs,
|
|
192
289
|
}, abort.signal);
|
|
193
290
|
const stream = result.stream;
|
|
194
291
|
if (isStream) {
|
|
@@ -198,26 +295,31 @@ async function handleChatCompletions(req, res) {
|
|
|
198
295
|
Connection: "keep-alive",
|
|
199
296
|
...corsHeaders(),
|
|
200
297
|
});
|
|
201
|
-
stream.
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
298
|
+
await pumpStream(stream, res, (event) => encoder.emit(event).map((c) => formatSSE(c)), () => encoder.finished
|
|
299
|
+
? []
|
|
300
|
+
: encoder.finishChunks("stop").map((c) => formatSSE(c)),
|
|
301
|
+
// Stream-level error (TCP failure, idle timeout, encoder throw).
|
|
302
|
+
// Always emit a uniform content+finish chunk pair via streamErrorChunks
|
|
303
|
+
// — mixing a non-chunk `{error:...}` envelope with valid chunks
|
|
304
|
+
// confused some clients (treating the envelope as a tool call named
|
|
305
|
+
// "error", or failing JSON parse).
|
|
306
|
+
(err) => encoder.streamErrorChunks(err).map((c) => formatSSE(c)));
|
|
307
|
+
// After pump completes, emit the [DONE] sentinel if we still can.
|
|
308
|
+
// `writableEnded` only flips when end() is called — `res.destroyed`
|
|
309
|
+
// catches the case where the client disconnected mid-stream and the
|
|
310
|
+
// socket was torn down underneath us.
|
|
311
|
+
if (!res.writableEnded && !res.destroyed) {
|
|
207
312
|
res.write(formatSSEDone());
|
|
208
313
|
res.end();
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
res.end();
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
destroyStreamOnClientDisconnect(req, stream);
|
|
314
|
+
}
|
|
315
|
+
// No destroyStreamOnClientDisconnect here — by the time pumpStream
|
|
316
|
+
// returns the stream has already ended or errored, so the call would
|
|
317
|
+
// be a no-op. Mid-stream disconnects are handled by the abort signal
|
|
318
|
+
// (see abortOnClientDisconnect + nodeReaderToStream's abortSignal
|
|
319
|
+
// listener).
|
|
219
320
|
}
|
|
220
321
|
else {
|
|
322
|
+
destroyStreamOnClientDisconnect(req, stream);
|
|
221
323
|
const events = await collectEvents(stream);
|
|
222
324
|
const response = buildNonStreamingResponse(events, model, encoder.id);
|
|
223
325
|
sendJson(res, 200, response);
|
|
@@ -232,8 +334,10 @@ async function handleMessages(req, res) {
|
|
|
232
334
|
try {
|
|
233
335
|
rawBody = await parseBody(req);
|
|
234
336
|
}
|
|
235
|
-
catch {
|
|
236
|
-
|
|
337
|
+
catch (err) {
|
|
338
|
+
const status = err instanceof BodyParseError ? err.status : 400;
|
|
339
|
+
const message = err instanceof BodyParseError ? err.message : "Invalid JSON body";
|
|
340
|
+
return sendAnthropicError(res, status, status === 413 ? "api_error" : "invalid_request_error", message);
|
|
237
341
|
}
|
|
238
342
|
let anthropicReq;
|
|
239
343
|
try {
|
|
@@ -255,7 +359,13 @@ async function handleMessages(req, res) {
|
|
|
255
359
|
const ccBody = anToCCRequest(anthropicReq);
|
|
256
360
|
const abort = abortOnClientDisconnect(req, res);
|
|
257
361
|
try {
|
|
258
|
-
const result = await sendToCC(ccBody, {
|
|
362
|
+
const result = await sendToCC(ccBody, {
|
|
363
|
+
apiBase: config.ccApiBase,
|
|
364
|
+
apiKey,
|
|
365
|
+
ccVersion: config.ccVersion,
|
|
366
|
+
timeoutMs: config.upstreamTimeoutMs,
|
|
367
|
+
idleTimeoutMs: config.idleTimeoutMs,
|
|
368
|
+
}, abort.signal);
|
|
259
369
|
const stream = result.stream;
|
|
260
370
|
if (isStream) {
|
|
261
371
|
res.writeHead(200, {
|
|
@@ -264,25 +374,28 @@ async function handleMessages(req, res) {
|
|
|
264
374
|
Connection: "keep-alive",
|
|
265
375
|
...corsHeaders(),
|
|
266
376
|
});
|
|
267
|
-
stream.
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}
|
|
377
|
+
await pumpStream(stream, res, (event) => encoder.emit(event).map((r) => formatAnthropicSSE(r.event, r.data)), () => encoder.finished
|
|
378
|
+
? []
|
|
379
|
+
: encoder
|
|
380
|
+
.finishRecords("end_turn")
|
|
381
|
+
.map((r) => formatAnthropicSSE(r.event, r.data)), (err) => {
|
|
382
|
+
const records = [
|
|
383
|
+
{
|
|
384
|
+
event: "error",
|
|
385
|
+
data: { type: "error", error: { type: "api_error", message: err.message } },
|
|
386
|
+
},
|
|
387
|
+
];
|
|
388
|
+
if (!encoder.finished)
|
|
389
|
+
records.push(...encoder.finishRecords("end_turn"));
|
|
390
|
+
return records.map((r) => formatAnthropicSSE(r.event, r.data));
|
|
282
391
|
});
|
|
283
|
-
|
|
392
|
+
if (!res.writableEnded && !res.destroyed)
|
|
393
|
+
res.end();
|
|
394
|
+
// No destroyStreamOnClientDisconnect here — see OpenAI streaming path
|
|
395
|
+
// for rationale (abort signal already covers mid-stream disconnect).
|
|
284
396
|
}
|
|
285
397
|
else {
|
|
398
|
+
destroyStreamOnClientDisconnect(req, stream);
|
|
286
399
|
const events = await collectEvents(stream);
|
|
287
400
|
const response = buildAnthropicResponse(events, model, encoder.messageId);
|
|
288
401
|
res.writeHead(200, { "Content-Type": "application/json", ...corsHeaders() });
|
|
@@ -298,8 +411,10 @@ async function handleCountTokens(req, res) {
|
|
|
298
411
|
try {
|
|
299
412
|
rawBody = await parseBody(req);
|
|
300
413
|
}
|
|
301
|
-
catch {
|
|
302
|
-
|
|
414
|
+
catch (err) {
|
|
415
|
+
const status = err instanceof BodyParseError ? err.status : 400;
|
|
416
|
+
const message = err instanceof BodyParseError ? err.message : "Invalid JSON body";
|
|
417
|
+
return sendAnthropicError(res, status, status === 413 ? "api_error" : "invalid_request_error", message);
|
|
303
418
|
}
|
|
304
419
|
const body = rawBody;
|
|
305
420
|
const parts = [];
|
|
@@ -366,6 +481,7 @@ function handleUpstreamError(res, err, format) {
|
|
|
366
481
|
}
|
|
367
482
|
export function createServer(cfg) {
|
|
368
483
|
config = cfg;
|
|
484
|
+
corsOrigin = cfg.corsOrigin;
|
|
369
485
|
// Start fetching model list in background (only if we have a key to use).
|
|
370
486
|
if (cfg.apiKey) {
|
|
371
487
|
fetchModelList(cfg.ccApiBase, cfg.apiKey)
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/setup/opencode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/setup/opencode.ts"],"names":[],"mappings":"AAyEA,wBAAsB,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAanF"}
|
package/dist/setup/opencode.js
CHANGED
|
@@ -1,20 +1,39 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import modelsData from "../models.json" with { type: "json" };
|
|
4
|
+
/** Every reasoning-effort tier CC/OpenCode know about, ordered low → max. */
|
|
5
|
+
const EFFORT_UNIVERSE = ["low", "medium", "high", "xhigh", "max"];
|
|
4
6
|
function buildProviderConfig() {
|
|
5
7
|
const contextWindows = modelsData.contextWindows ?? {};
|
|
6
8
|
const maxOutputTokens = modelsData.maxOutputTokens ?? {};
|
|
7
9
|
const modelNames = modelsData.modelNames ?? {};
|
|
10
|
+
const reasoningEfforts = modelsData.reasoningEfforts ?? {};
|
|
8
11
|
const models = {};
|
|
9
12
|
for (const id of modelsData.builtin) {
|
|
10
13
|
const key = id.split("/").pop() ?? id;
|
|
11
|
-
|
|
14
|
+
const entry = {
|
|
12
15
|
name: modelNames[id] ?? key,
|
|
13
16
|
limit: {
|
|
14
17
|
context: contextWindows[id] ?? 128_000,
|
|
15
18
|
output: maxOutputTokens[id] ?? 128_000,
|
|
16
19
|
},
|
|
17
20
|
};
|
|
21
|
+
// OpenCode's `/variants` picker lists a model's `variants`. OpenCode also
|
|
22
|
+
// auto-generates generic `WIDELY_SUPPORTED_EFFORTS` (low/medium/high) for any
|
|
23
|
+
// reasoning-capable openai-compatible model and mergeDeep's them with our
|
|
24
|
+
// config — which would surface effort levels the model doesn't actually
|
|
25
|
+
// support. Declare the full effort universe and `disabled:true` the ones
|
|
26
|
+
// this model rejects; OpenCode filters disabled variants out (pickBy).
|
|
27
|
+
const efforts = reasoningEfforts[id];
|
|
28
|
+
if (efforts && efforts.length > 0) {
|
|
29
|
+
entry.reasoning = true;
|
|
30
|
+
const variants = {};
|
|
31
|
+
for (const e of EFFORT_UNIVERSE) {
|
|
32
|
+
variants[e] = efforts.includes(e) ? { reasoningEffort: e } : { disabled: true };
|
|
33
|
+
}
|
|
34
|
+
entry.variants = variants;
|
|
35
|
+
}
|
|
36
|
+
models[key] = entry;
|
|
18
37
|
}
|
|
19
38
|
return {
|
|
20
39
|
npm: "@ai-sdk/openai-compatible",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/setup/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,UAAU,MAAM,eAAe,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE7D,SAAS,mBAAmB;IAC1B,MAAM,cAAc,GAA2B,UAAU,CAAC,cAAc,IAAI,EAAE,CAAC;IAC/E,MAAM,eAAe,GACjB,UAAsC,CAAC,eAA0C,IAAI,EAAE,CAAC;IAC5F,MAAM,UAAU,GACZ,UAAsC,CAAC,UAAqC,IAAI,EAAE,CAAC;IACvF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/setup/opencode.ts"],"names":[],"mappings":"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"}
|
package/dist/stream.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Transform, type TransformCallback } from "node:stream";
|
|
2
1
|
import type { CCEvent } from "./translate/types.js";
|
|
3
2
|
/**
|
|
4
3
|
* Result from parsing a single line of CC NDJSON data.
|
|
@@ -11,22 +10,6 @@ export interface ParsedChunk {
|
|
|
11
10
|
* Parse a single NDJSON line from the CC stream.
|
|
12
11
|
*/
|
|
13
12
|
export declare function parseCCLine(line: string): ParsedChunk;
|
|
14
|
-
/**
|
|
15
|
-
* Node.js Transform stream that takes raw NDJSON buffer chunks from the CC API
|
|
16
|
-
* and emits parsed CCEvent objects.
|
|
17
|
-
*
|
|
18
|
-
* Usage:
|
|
19
|
-
* ccStream.pipe(ndjsonParser)
|
|
20
|
-
* ndjsonParser.on('data', (event: CCEvent) => { ... })
|
|
21
|
-
* ndjsonParser.on('error', (err) => { ... })
|
|
22
|
-
* ndjsonParser.on('end', () => { ... })
|
|
23
|
-
*/
|
|
24
|
-
export declare class NDJSONParser extends Transform {
|
|
25
|
-
private buffer;
|
|
26
|
-
constructor();
|
|
27
|
-
_transform(chunk: Buffer, _encoding: BufferEncoding, callback: TransformCallback): void;
|
|
28
|
-
_flush(callback: TransformCallback): void;
|
|
29
|
-
}
|
|
30
13
|
/**
|
|
31
14
|
* Format an object as an SSE message string.
|
|
32
15
|
*/
|
package/dist/stream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA+BrD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAK3E"}
|
package/dist/stream.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Transform } from "node:stream";
|
|
2
1
|
/**
|
|
3
2
|
* Parse a single NDJSON line from the CC stream.
|
|
4
3
|
*/
|
|
@@ -31,49 +30,6 @@ export function parseCCLine(line) {
|
|
|
31
30
|
return { type: "ping" };
|
|
32
31
|
}
|
|
33
32
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Node.js Transform stream that takes raw NDJSON buffer chunks from the CC API
|
|
36
|
-
* and emits parsed CCEvent objects.
|
|
37
|
-
*
|
|
38
|
-
* Usage:
|
|
39
|
-
* ccStream.pipe(ndjsonParser)
|
|
40
|
-
* ndjsonParser.on('data', (event: CCEvent) => { ... })
|
|
41
|
-
* ndjsonParser.on('error', (err) => { ... })
|
|
42
|
-
* ndjsonParser.on('end', () => { ... })
|
|
43
|
-
*/
|
|
44
|
-
export class NDJSONParser extends Transform {
|
|
45
|
-
buffer = "";
|
|
46
|
-
constructor() {
|
|
47
|
-
super({ readableObjectMode: true, writableObjectMode: false });
|
|
48
|
-
}
|
|
49
|
-
_transform(chunk, _encoding, callback) {
|
|
50
|
-
this.buffer += chunk.toString("utf-8");
|
|
51
|
-
const lines = this.buffer.split("\n");
|
|
52
|
-
// Keep the last (possibly incomplete) line in the buffer
|
|
53
|
-
this.buffer = lines.pop() ?? "";
|
|
54
|
-
for (const line of lines) {
|
|
55
|
-
const result = parseCCLine(line);
|
|
56
|
-
if (result.type === "event" && result.event) {
|
|
57
|
-
this.push(result.event);
|
|
58
|
-
}
|
|
59
|
-
else if (result.type === "done") {
|
|
60
|
-
// Stream complete, will be handled by 'end' event
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
callback();
|
|
65
|
-
}
|
|
66
|
-
_flush(callback) {
|
|
67
|
-
// Process any remaining data in buffer
|
|
68
|
-
if (this.buffer.trim()) {
|
|
69
|
-
const result = parseCCLine(this.buffer);
|
|
70
|
-
if (result.type === "event" && result.event) {
|
|
71
|
-
this.push(result.event);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
callback();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
33
|
/**
|
|
78
34
|
* Format an object as an SSE message string.
|
|
79
35
|
*/
|
package/dist/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAExD,qDAAqD;IACrD,sCAAsC;IACtC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE1E,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnC,yEAAyE;QACzE,4EAA4E;QAC5E,uCAAuC;QACvC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACxD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACjF,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;aACtB,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;QAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,IAAa;IACjE,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QACjC,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IACD,OAAO,UAAU,SAAS,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AAClE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AnthropicRequest, AnthropicSSERecord, AnthropicResponse } from "../translate/anthropic-types.js";
|
|
1
|
+
import type { AnthropicRequest, AnthropicSSERecord, AnthropicStopReason, AnthropicResponse } from "../translate/anthropic-types.js";
|
|
2
2
|
import type { CCRequestBody, CCEvent } from "../translate/types.js";
|
|
3
3
|
export declare function toCCRequest(req: AnthropicRequest, configOverrides?: Partial<CCRequestBody["config"]>): CCRequestBody;
|
|
4
4
|
export declare class AnthropicStreamEncoder {
|
|
@@ -10,7 +10,9 @@ export declare class AnthropicStreamEncoder {
|
|
|
10
10
|
private pendingStart;
|
|
11
11
|
private started;
|
|
12
12
|
private pinged;
|
|
13
|
+
private sawFinish;
|
|
13
14
|
constructor(model: string);
|
|
15
|
+
get finished(): boolean;
|
|
14
16
|
emit(event: CCEvent): AnthropicSSERecord[];
|
|
15
17
|
private handleFinish;
|
|
16
18
|
private handleContent;
|
|
@@ -19,6 +21,13 @@ export declare class AnthropicStreamEncoder {
|
|
|
19
21
|
private closeCurrentBlock;
|
|
20
22
|
private makeDelta;
|
|
21
23
|
private makeMessageStart;
|
|
24
|
+
/**
|
|
25
|
+
* Build the closing records for a stream that ended without a `finish`
|
|
26
|
+
* event from the upstream (e.g. upstream connection dropped mid-response).
|
|
27
|
+
* Emits synthetic message_delta + message_stop so the Anthropic SDK sees
|
|
28
|
+
* a well-formed end-of-stream instead of a truncated response.
|
|
29
|
+
*/
|
|
30
|
+
finishRecords(stopReason?: AnthropicStopReason): AnthropicSSERecord[];
|
|
22
31
|
}
|
|
23
32
|
export declare function buildAnthropicResponse(events: CCEvent[], model: string, messageId: string): AnthropicResponse;
|
|
24
33
|
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/translate/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAMhB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/translate/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAMhB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EAGlB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAGV,aAAa,EAEb,OAAO,EACR,MAAM,sBAAsB,CAAC;AAkK9B,wBAAgB,WAAW,CACzB,GAAG,EAAE,gBAAgB,EACrB,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GACjD,aAAa,CAuDf;AAID,qBAAa,sBAAsB;IAUrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IATlC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,gBAAgB,CAAiD;IACzE,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEG,KAAK,EAAE,MAAM;IAI1C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,EAAE;IAsD1C,OAAO,CAAC,YAAY;IA2CpB,OAAO,CAAC,aAAa;IA4ErB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,gBAAgB;IAyBxB;;;;;OAKG;IACH,aAAa,CAAC,UAAU,GAAE,mBAAgC,GAAG,kBAAkB,EAAE;CAkBlF;AAID,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,EAAE,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAmEnB"}
|