@appkit/llamacpp-cli 1.13.0 → 1.14.1

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.
@@ -42,6 +42,8 @@ const fs = __importStar(require("fs/promises"));
42
42
  const path = __importStar(require("path"));
43
43
  const file_utils_1 = require("../utils/file-utils");
44
44
  const router_logger_1 = require("./router-logger");
45
+ const anthropic_converter_1 = require("./anthropic-converter");
46
+ const anthropic_stream_converter_1 = require("./anthropic-stream-converter");
45
47
  /**
46
48
  * Router HTTP server - proxies requests to backend llama.cpp servers
47
49
  */
@@ -237,22 +239,45 @@ class RouterServer {
237
239
  catch (error) {
238
240
  statusCode = 400;
239
241
  errorMsg = 'Invalid JSON in request body';
240
- this.sendError(res, statusCode, 'Bad Request', errorMsg);
242
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
243
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
244
+ res.end(JSON.stringify(anthropicError));
241
245
  await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg);
242
246
  return;
243
247
  }
244
248
  // Extract model name and prompt preview
245
249
  modelName = anthropicRequest.model || 'unknown';
246
250
  if (anthropicRequest.messages && anthropicRequest.messages.length > 0) {
247
- const userMsg = anthropicRequest.messages.find((m) => m.role === 'user');
251
+ const userMsg = anthropicRequest.messages.find(m => m.role === 'user');
248
252
  if (userMsg && typeof userMsg.content === 'string') {
249
253
  promptPreview = userMsg.content.slice(0, 50);
250
254
  }
251
255
  }
256
+ // Validate required fields
252
257
  if (!anthropicRequest.model) {
253
258
  statusCode = 400;
254
259
  errorMsg = 'Missing "model" field in request';
255
- this.sendError(res, statusCode, 'Bad Request', errorMsg);
260
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
261
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
262
+ res.end(JSON.stringify(anthropicError));
263
+ await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
264
+ return;
265
+ }
266
+ if (!anthropicRequest.max_tokens || anthropicRequest.max_tokens <= 0) {
267
+ statusCode = 400;
268
+ errorMsg = 'max_tokens is required and must be positive';
269
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
270
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
271
+ res.end(JSON.stringify(anthropicError));
272
+ await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
273
+ return;
274
+ }
275
+ if (!anthropicRequest.messages || anthropicRequest.messages.length === 0) {
276
+ statusCode = 400;
277
+ errorMsg = 'messages is required and must be non-empty';
278
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
279
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
280
+ res.end(JSON.stringify(anthropicError));
256
281
  await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
257
282
  return;
258
283
  }
@@ -261,7 +286,9 @@ class RouterServer {
261
286
  if (!server) {
262
287
  statusCode = 404;
263
288
  errorMsg = `No server found for model: ${modelName}`;
264
- this.sendError(res, statusCode, 'Not Found', errorMsg);
289
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
290
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
291
+ res.end(JSON.stringify(anthropicError));
265
292
  await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
266
293
  return;
267
294
  }
@@ -269,78 +296,55 @@ class RouterServer {
269
296
  if (server.status !== 'running') {
270
297
  statusCode = 503;
271
298
  errorMsg = `Server for model ${modelName} is not running (status: ${server.status})`;
272
- this.sendError(res, statusCode, 'Service Unavailable', errorMsg);
299
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
300
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
301
+ res.end(JSON.stringify(anthropicError));
273
302
  await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
274
303
  return;
275
304
  }
276
- // Convert Anthropic Messages format to OpenAI Chat Completions format
277
- const openAIMessages = [];
278
- // Add system message if present
279
- if (anthropicRequest.system) {
280
- // System can be a string or array of content blocks
281
- let systemContent = '';
282
- if (typeof anthropicRequest.system === 'string') {
283
- systemContent = anthropicRequest.system;
284
- }
285
- else if (Array.isArray(anthropicRequest.system)) {
286
- // Extract text from content blocks
287
- systemContent = anthropicRequest.system
288
- .filter((block) => block.type === 'text')
289
- .map((block) => block.text)
290
- .join('\n');
291
- }
292
- if (systemContent) {
293
- openAIMessages.push({
294
- role: 'system',
295
- content: systemContent
296
- });
297
- }
298
- }
299
- // Add user/assistant messages
300
- if (anthropicRequest.messages) {
301
- for (const msg of anthropicRequest.messages) {
302
- let content = '';
303
- // Content can be a string or array of content blocks
304
- if (typeof msg.content === 'string') {
305
- content = msg.content;
306
- }
307
- else if (Array.isArray(msg.content)) {
308
- // Extract text from content blocks
309
- content = msg.content
310
- .filter((block) => block.type === 'text')
311
- .map((block) => block.text)
312
- .join('\n');
313
- }
314
- openAIMessages.push({
315
- role: msg.role,
316
- content
317
- });
318
- }
319
- }
320
- const openAIRequest = {
321
- model: anthropicRequest.model,
322
- messages: openAIMessages,
323
- max_tokens: anthropicRequest.max_tokens || 1024,
324
- temperature: anthropicRequest.temperature,
325
- top_p: anthropicRequest.top_p,
326
- stream: false, // Always disable streaming for now - we don't handle SSE yet
327
- };
305
+ // Convert Anthropic request to OpenAI format
306
+ const openAIRequest = (0, anthropic_converter_1.fromMessagesRequest)(anthropicRequest);
307
+ // Generate message ID for response
308
+ const messageId = (0, anthropic_converter_1.generateMessageId)();
328
309
  // Proxy request to backend
329
- // Always use 127.0.0.1 as destination (0.0.0.0 is only valid as bind address)
330
310
  const backendHost = server.host === '0.0.0.0' ? '127.0.0.1' : server.host;
331
311
  const backendUrl = `http://${backendHost}:${server.port}/v1/chat/completions`;
332
- // Make request to backend
333
- const url = new url_1.URL(backendUrl);
334
- const options = {
335
- hostname: url.hostname,
336
- port: url.port,
337
- path: url.pathname,
338
- method: 'POST',
339
- headers: {
340
- 'Content-Type': 'application/json',
341
- },
342
- timeout: this.config.requestTimeout,
343
- };
312
+ // Handle streaming vs non-streaming
313
+ if (anthropicRequest.stream) {
314
+ await this.handleAnthropicStreaming(anthropicRequest, openAIRequest, backendUrl, messageId, res, timer, modelName, promptPreview, server);
315
+ }
316
+ else {
317
+ await this.handleAnthropicNonStreaming(openAIRequest, backendUrl, messageId, res, timer, modelName, promptPreview, server);
318
+ }
319
+ }
320
+ catch (error) {
321
+ console.error('[Router] Error handling Anthropic messages request:', error);
322
+ statusCode = 500;
323
+ errorMsg = error.message;
324
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
325
+ if (!res.headersSent) {
326
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
327
+ res.end(JSON.stringify(anthropicError));
328
+ }
329
+ await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
330
+ }
331
+ }
332
+ /**
333
+ * Handle non-streaming Anthropic Messages request
334
+ */
335
+ async handleAnthropicNonStreaming(openAIRequest, backendUrl, messageId, res, timer, modelName, promptPreview, server) {
336
+ const url = new url_1.URL(backendUrl);
337
+ const options = {
338
+ hostname: url.hostname,
339
+ port: url.port,
340
+ path: url.pathname,
341
+ method: 'POST',
342
+ headers: {
343
+ 'Content-Type': 'application/json',
344
+ },
345
+ timeout: this.config.requestTimeout,
346
+ };
347
+ return new Promise((resolve, reject) => {
344
348
  const backendReq = http.request(options, (backendRes) => {
345
349
  let responseData = '';
346
350
  backendRes.on('data', (chunk) => {
@@ -348,64 +352,163 @@ class RouterServer {
348
352
  });
349
353
  backendRes.on('end', async () => {
350
354
  try {
351
- const openAIResponse = JSON.parse(responseData);
355
+ const parsedResponse = JSON.parse(responseData);
356
+ // Check if backend returned an error
357
+ if (parsedResponse.error) {
358
+ const statusCode = backendRes.statusCode || 500;
359
+ const errorMsg = parsedResponse.error.message || 'Backend error';
360
+ console.error('[Router] Backend returned error:', errorMsg);
361
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
362
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
363
+ res.end(JSON.stringify(anthropicError));
364
+ await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, `${server.host}:${server.port}`, promptPreview);
365
+ reject(new Error(errorMsg));
366
+ return;
367
+ }
368
+ // Check if response has required fields for a completion
369
+ if (!parsedResponse.choices || !Array.isArray(parsedResponse.choices) || parsedResponse.choices.length === 0) {
370
+ const statusCode = 502;
371
+ const errorMsg = 'Invalid backend response: missing choices array';
372
+ console.error('[Router] Backend response missing choices:', responseData.slice(0, 500));
373
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
374
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
375
+ res.end(JSON.stringify(anthropicError));
376
+ await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, `${server.host}:${server.port}`, promptPreview);
377
+ reject(new Error(errorMsg));
378
+ return;
379
+ }
380
+ const openAIResponse = parsedResponse;
352
381
  // Convert OpenAI response to Anthropic format
353
- const anthropicResponse = {
354
- id: openAIResponse.id || `msg_${Date.now()}`,
355
- type: 'message',
356
- role: 'assistant',
357
- content: [{
358
- type: 'text',
359
- text: openAIResponse.choices?.[0]?.message?.content || ''
360
- }],
361
- model: openAIResponse.model || modelName,
362
- stop_reason: openAIResponse.choices?.[0]?.finish_reason === 'stop' ? 'end_turn' : 'max_tokens',
363
- stop_sequence: null,
364
- usage: {
365
- input_tokens: openAIResponse.usage?.prompt_tokens || 0,
366
- output_tokens: openAIResponse.usage?.completion_tokens || 0
367
- }
368
- };
369
- statusCode = 200;
382
+ const anthropicResponse = (0, anthropic_converter_1.toMessagesResponse)(openAIResponse, messageId);
370
383
  res.writeHead(200, { 'Content-Type': 'application/json' });
371
384
  res.end(JSON.stringify(anthropicResponse));
372
- await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), undefined, backendHost + ':' + server.port, promptPreview);
385
+ await this.logRequest(modelName, '/v1/messages', 200, timer.elapsed(), undefined, `${server.host}:${server.port}`, promptPreview);
386
+ resolve();
373
387
  }
374
388
  catch (error) {
375
- console.error('[Router] Error parsing backend response:', error);
389
+ console.error('[Router] Error processing backend response:', error);
376
390
  console.error('[Router] Raw response data:', responseData.slice(0, 1000));
377
- statusCode = 502;
378
- errorMsg = `Failed to parse backend response: ${error.message}`;
379
- this.sendError(res, statusCode, 'Bad Gateway', errorMsg);
380
- await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, backendHost + ':' + server.port, promptPreview);
391
+ const statusCode = 502;
392
+ const errorMsg = `Failed to process backend response: ${error.message}`;
393
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
394
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
395
+ res.end(JSON.stringify(anthropicError));
396
+ await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, `${server.host}:${server.port}`, promptPreview);
397
+ reject(error);
381
398
  }
382
399
  });
383
400
  });
384
401
  backendReq.on('error', async (error) => {
385
402
  console.error('[Router] Proxy request failed:', error);
386
- statusCode = 502;
387
- errorMsg = `Backend request failed: ${error.message}`;
388
- this.sendError(res, statusCode, 'Bad Gateway', errorMsg);
389
- await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, backendHost + ':' + server.port, promptPreview);
403
+ const statusCode = 502;
404
+ const errorMsg = `Backend request failed: ${error.message}`;
405
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
406
+ if (!res.headersSent) {
407
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
408
+ res.end(JSON.stringify(anthropicError));
409
+ }
410
+ await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, `${server.host}:${server.port}`, promptPreview);
411
+ reject(error);
390
412
  });
391
413
  backendReq.on('timeout', async () => {
392
414
  console.error('[Router] Proxy request timed out');
393
415
  backendReq.destroy();
394
- statusCode = 504;
395
- errorMsg = 'Request timeout';
396
- this.sendError(res, statusCode, 'Gateway Timeout', errorMsg);
397
- await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, backendHost + ':' + server.port, promptPreview);
416
+ const statusCode = 504;
417
+ const errorMsg = 'Request timeout';
418
+ const anthropicError = (0, anthropic_converter_1.createAnthropicError)(statusCode, errorMsg);
419
+ if (!res.headersSent) {
420
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
421
+ res.end(JSON.stringify(anthropicError));
422
+ }
423
+ await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, `${server.host}:${server.port}`, promptPreview);
424
+ reject(new Error('Request timeout'));
398
425
  });
399
426
  backendReq.write(JSON.stringify(openAIRequest));
400
427
  backendReq.end();
401
- }
402
- catch (error) {
403
- console.error('[Router] Error handling Anthropic messages request:', error);
404
- statusCode = 500;
405
- errorMsg = error.message;
406
- this.sendError(res, statusCode, 'Internal Server Error', errorMsg);
407
- await this.logRequest(modelName, '/v1/messages', statusCode, timer.elapsed(), errorMsg, undefined, promptPreview);
408
- }
428
+ });
429
+ }
430
+ /**
431
+ * Handle streaming Anthropic Messages request
432
+ */
433
+ async handleAnthropicStreaming(anthropicRequest, openAIRequest, backendUrl, messageId, res, timer, modelName, promptPreview, server) {
434
+ // Set SSE headers
435
+ res.writeHead(200, {
436
+ 'Content-Type': 'text/event-stream',
437
+ 'Cache-Control': 'no-cache',
438
+ 'Connection': 'keep-alive',
439
+ });
440
+ // Create stream converter
441
+ const estimatedTokens = (0, anthropic_converter_1.estimateInputTokens)(anthropicRequest);
442
+ const converter = new anthropic_stream_converter_1.AnthropicStreamConverter(messageId, anthropicRequest.model, estimatedTokens);
443
+ const url = new url_1.URL(backendUrl);
444
+ const options = {
445
+ hostname: url.hostname,
446
+ port: url.port,
447
+ path: url.pathname,
448
+ method: 'POST',
449
+ headers: {
450
+ 'Content-Type': 'application/json',
451
+ },
452
+ timeout: this.config.requestTimeout,
453
+ };
454
+ return new Promise((resolve, reject) => {
455
+ const backendReq = http.request(options, (backendRes) => {
456
+ let buffer = '';
457
+ backendRes.on('data', (chunk) => {
458
+ buffer += chunk.toString();
459
+ // Process complete SSE events
460
+ const lines = buffer.split('\n');
461
+ buffer = lines.pop() || ''; // Keep incomplete line in buffer
462
+ for (const line of lines) {
463
+ if (line.startsWith('data: ')) {
464
+ const data = line.slice(6);
465
+ if (data === '[DONE]') {
466
+ res.write('data: [DONE]\n\n');
467
+ continue;
468
+ }
469
+ try {
470
+ const chunk = JSON.parse(data);
471
+ const events = converter.process(chunk);
472
+ // Emit Anthropic SSE events
473
+ for (const event of events) {
474
+ res.write(`event: ${event.type}\n`);
475
+ res.write(`data: ${JSON.stringify(event)}\n\n`);
476
+ }
477
+ }
478
+ catch (error) {
479
+ console.error('[Router] Error parsing streaming chunk:', error);
480
+ }
481
+ }
482
+ }
483
+ });
484
+ backendRes.on('end', async () => {
485
+ res.end();
486
+ await this.logRequest(modelName, '/v1/messages', 200, timer.elapsed(), undefined, `${server.host}:${server.port}`, promptPreview);
487
+ resolve();
488
+ });
489
+ });
490
+ backendReq.on('error', async (error) => {
491
+ console.error('[Router] Streaming proxy request failed:', error);
492
+ const errorEvent = (0, anthropic_converter_1.createAnthropicError)(502, `Backend request failed: ${error.message}`);
493
+ res.write(`event: error\n`);
494
+ res.write(`data: ${JSON.stringify(errorEvent)}\n\n`);
495
+ res.end();
496
+ await this.logRequest(modelName, '/v1/messages', 502, timer.elapsed(), error.message, `${server.host}:${server.port}`, promptPreview);
497
+ reject(error);
498
+ });
499
+ backendReq.on('timeout', async () => {
500
+ console.error('[Router] Streaming proxy request timed out');
501
+ backendReq.destroy();
502
+ const errorEvent = (0, anthropic_converter_1.createAnthropicError)(504, 'Request timeout');
503
+ res.write(`event: error\n`);
504
+ res.write(`data: ${JSON.stringify(errorEvent)}\n\n`);
505
+ res.end();
506
+ await this.logRequest(modelName, '/v1/messages', 504, timer.elapsed(), 'Request timeout', `${server.host}:${server.port}`, promptPreview);
507
+ reject(new Error('Request timeout'));
508
+ });
509
+ backendReq.write(JSON.stringify(openAIRequest));
510
+ backendReq.end();
511
+ });
409
512
  }
410
513
  /**
411
514
  * Chat completions endpoint - route to backend server
@@ -1 +1 @@
1
- {"version":3,"file":"router-server.js","sourceRoot":"","sources":["../../src/lib/router-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router-server.js","sourceRoot":"","sources":["../../src/lib/router-server.ts"],"names":[],"mappings":"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"}